From 99c54fc06a8c5b518ad9cd7399b4105f3fd13834 Mon Sep 17 00:00:00 2001 From: Sam Curren Date: Tue, 7 Nov 2023 15:42:57 -0700 Subject: [PATCH 1/2] LTS Signed-off-by: Sam Curren --- concepts/0799-long-term-support/README.md | 40 +++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 concepts/0799-long-term-support/README.md diff --git a/concepts/0799-long-term-support/README.md b/concepts/0799-long-term-support/README.md new file mode 100644 index 000000000..2e1781462 --- /dev/null +++ b/concepts/0799-long-term-support/README.md @@ -0,0 +1,40 @@ +# 0799 Aries Long Term Support Releases +- Authors: [Sam Curren](telegramsam@gmail.com) +- Status: [PROPOSED](/README.md#proposed) +- Since: 2023-11-07 +- Start Date: 2023-11-07 +- Tags: [concept](/tags.md#concept) + +Long Term Support Releases of Aries projects will assist those using the software to integrate within their development processes. + +These LTS details are guides for Aries code projects. Details specific to each project will be found within the relevant repositories. + +## Motivation + +Long Term Support releases allow stable use of projects without frequent code updates. Designating LTS releases frees projects to develop features without worry of disrupting those seeking feature stable deployments. + +It is recommended, when possible, to designate an LTS release when a project reaches compliance with an Interop Profile, AIP or other. + +## LTS Release Tagging + +- No Specific version number scheme for LTS releases are set Aries-wide. Each project can use any version numbering they desire. +- An LTS Release is specified by including the letters LTS after the version number. +- The README.md file within each repository must indicate which version is an LTS release, with a link to the release or branch of the LTS + +## LTS Support Timeline + +- Each LTS release MUST be supported for at least 9 months AFTER the next LTS release is designated. +- When the next LTS release is designated, the prior LTS release must clearly indicate the End of Support Date at least 9 months in future. +- If a support term in excess of the minimum 9 months is chosen and and End of Support Date published, that period MUST be honored for that release. +- Projects may may designate an LTS release with any candance desired by the project. +- Frequent LTS relases may result in multiple LTS releases receiving support. Seeking community input for LTS release timing may decrease support efforts. + +## LTS Release Updates + +- Each LTS release MUST be updated for security updates for the duration of its support lifetime. +- Each LTS release MAY include bugfixes that impact usability of the release. +- Updates MUST NOT include API updates, programatic interface changes, or major logic changes. + +## References +This policy is inspired by the Fabric LTS Policy https://hyperledger.github.io/fabric-rfcs/text/0005-lts-release-strategy.html + From 5a6eda81053f9fbb20b817b36dd0e174fe858465 Mon Sep 17 00:00:00 2001 From: Sam Curren Date: Tue, 12 Dec 2023 16:26:47 -0700 Subject: [PATCH 2/2] Feedback incorporated Signed-off-by: Sam Curren --- concepts/0799-long-term-support/README.md | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/concepts/0799-long-term-support/README.md b/concepts/0799-long-term-support/README.md index 2e1781462..bbb78ceb1 100644 --- a/concepts/0799-long-term-support/README.md +++ b/concepts/0799-long-term-support/README.md @@ -7,32 +7,36 @@ Long Term Support Releases of Aries projects will assist those using the software to integrate within their development processes. -These LTS details are guides for Aries code projects. Details specific to each project will be found within the relevant repositories. - ## Motivation Long Term Support releases allow stable use of projects without frequent code updates. Designating LTS releases frees projects to develop features without worry of disrupting those seeking feature stable deployments. -It is recommended, when possible, to designate an LTS release when a project reaches compliance with an Interop Profile, AIP or other. +## Project LTS Releases +- Details specific to each project will be found within the relevant repositories. +- Projects SHOULD create an LTS policy within the code repository for the project. +- Projects MAY alter any of these suggestions to match the needs of the project. ## LTS Release Tagging -- No Specific version number scheme for LTS releases are set Aries-wide. Each project can use any version numbering they desire. -- An LTS Release is specified by including the letters LTS after the version number. +- No Specific version number scheme for LTS releases are set Aries-wide. Each project can use any version numbering they desire. Projects must have a way to indicate patch releases. - The README.md file within each repository must indicate which version is an LTS release, with a link to the release or branch of the LTS +- Each LTS release MUST include detailed release notes detailing the changes from the last LTS release, including complex details or gotchas. +- It is recommended, when possible, to designate an LTS release when a project reaches compliance with an Interop Profile, including an AIP. ## LTS Support Timeline - Each LTS release MUST be supported for at least 9 months AFTER the next LTS release is designated. - When the next LTS release is designated, the prior LTS release must clearly indicate the End of Support Date at least 9 months in future. +- A branch SHOULD be created to ease bugfixes and the maintenance of LTS patch releases. - If a support term in excess of the minimum 9 months is chosen and and End of Support Date published, that period MUST be honored for that release. - Projects may may designate an LTS release with any candance desired by the project. - Frequent LTS relases may result in multiple LTS releases receiving support. Seeking community input for LTS release timing may decrease support efforts. ## LTS Release Updates -- Each LTS release MUST be updated for security updates for the duration of its support lifetime. +- Each LTS release MUST be updated for security updates via patch releases for the duration of its support lifetime. - Each LTS release MAY include bugfixes that impact usability of the release. +- LTS patch releases MUST include detailed release notes. - Updates MUST NOT include API updates, programatic interface changes, or major logic changes. ## References