From 9c52399dfc05ef81d2b4a71aa884adc03413fc49 Mon Sep 17 00:00:00 2001 From: Andrzej Kubik <111915724+akubik-splunk@users.noreply.github.com> Date: Thu, 30 Mar 2023 11:57:18 +0200 Subject: [PATCH 1/6] Release lifecycle marking Initial proposal for rules for marking status of released version. --- specification/templates/CHANGELOG.md | 9 +++++++++ specification/versioning.md | 30 ++++++++++++++++++++++++++++ 2 files changed, 39 insertions(+) diff --git a/specification/templates/CHANGELOG.md b/specification/templates/CHANGELOG.md index 9b83eab..941abc7 100644 --- a/specification/templates/CHANGELOG.md +++ b/specification/templates/CHANGELOG.md @@ -17,6 +17,15 @@ and this repository adheres to [Semantic Versioning](https://semver.org/spec/v2. ## Version 0.1.0 - 2021-04-01 +### Life cycle status + +Use one of: +- *Latest* +- *Active* +- *Deprecated:* End of Support expected on 2024-04-01 +- *End of Support:* Support has ended on 2024-04-01 + + ### General - This release marks the first release of the repository. diff --git a/specification/versioning.md b/specification/versioning.md index 0d069cd..0492a48 100644 --- a/specification/versioning.md +++ b/specification/versioning.md @@ -77,3 +77,33 @@ until the end of that component’s existence: MUST be provided as the latest `PATCH` version for the latest `MINOR` version of the latest `MAJOR` and SHOULD NOT be provided for previous `PATCH` or `MINOR` releases. + +## Release life cycle management + +Each repository `MUST` use [GitHub releases mechanism](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases) to create snapshot of components +and features delivered to the users. If release is also distributed via other +distribution channels (e.g. CDN, Registries, AppStores) it `MUST` be described +according to following rules by any means available in the given software +distribution solution. + +Each release `MUST` clearly state the life cycle +status and described as: Active, Latest, Deprecated, End of Support. +At minimum the required information should be included in [CHAANGELOG.md](https://github.com/signalfx/gdi-specification/blob/main/specification/templates/CHANGELOG.md) +and equivalent mechanism provided by system used for distributing software. + +If new version is released previously released versions `MUST` be evaluated +according to stability guarantees and marked as: +- Latest release `SHOULD` be marked as **Latest** indicating that this is + version recommended to new and existing users +- If applicable latest release of previous `MAJOR` line that is still under + active development `MUST` be marked as **Active** indicating that previous + `MAJOR` line is under active development and users not ready to adopt + latest `MAJOR` version may use previous versions. +- Release which was superseded by newer version, thus has entered deprecation + period `MUST` be marked as **Deprecated** and `MUST` indicated planned + end of support date. This indicates that users should plan for upgrade to + latest or active version respectively before date given. +- Release which deprecation period has ended `MUST` be marked as + **End of support** and `MUST` indicate date on which the release was marked + as end of support. This indicates that support for given release is no longer + provided and the users should immediately upgrade to newer version. \ No newline at end of file From e3d8c5c1102ce02b2799a564d60ef7e7570178b5 Mon Sep 17 00:00:00 2001 From: Andrzej Kubik <111915724+akubik-splunk@users.noreply.github.com> Date: Thu, 30 Mar 2023 14:44:49 +0200 Subject: [PATCH 2/6] Update specification/versioning.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- specification/versioning.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/specification/versioning.md b/specification/versioning.md index 0492a48..bdf792f 100644 --- a/specification/versioning.md +++ b/specification/versioning.md @@ -80,11 +80,12 @@ until the end of that component’s existence: ## Release life cycle management -Each repository `MUST` use [GitHub releases mechanism](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases) to create snapshot of components -and features delivered to the users. If release is also distributed via other -distribution channels (e.g. CDN, Registries, AppStores) it `MUST` be described -according to following rules by any means available in the given software -distribution solution. +Each repository `MUST` use [GitHub releases mechanism](https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases) +to create a versioned snapshot of components and features +delivered to the users. If the release is also distributed via other +distribution channels (e.g. CDN, Registries, AppStores) it `MUST` state +its life cycle status according to following rules by any means available +in the given software distribution solution. Each release `MUST` clearly state the life cycle status and described as: Active, Latest, Deprecated, End of Support. From 85a4fd3bc6e31cda39fd30e25127a64b01df5749 Mon Sep 17 00:00:00 2001 From: Andrzej Kubik <111915724+akubik-splunk@users.noreply.github.com> Date: Thu, 30 Mar 2023 14:53:56 +0200 Subject: [PATCH 3/6] Update specification/versioning.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- specification/versioning.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/specification/versioning.md b/specification/versioning.md index bdf792f..fc90c95 100644 --- a/specification/versioning.md +++ b/specification/versioning.md @@ -89,7 +89,8 @@ in the given software distribution solution. Each release `MUST` clearly state the life cycle status and described as: Active, Latest, Deprecated, End of Support. -At minimum the required information should be included in [CHAANGELOG.md](https://github.com/signalfx/gdi-specification/blob/main/specification/templates/CHANGELOG.md) +At minimum the required information should be included in +[CHANGELOG.md](https://github.com/signalfx/gdi-specification/blob/main/specification/templates/CHANGELOG.md) and equivalent mechanism provided by system used for distributing software. If new version is released previously released versions `MUST` be evaluated From 414b731c0585268bcd7df1ced5d3fbd4aba262dc Mon Sep 17 00:00:00 2001 From: Andrzej Kubik <111915724+akubik-splunk@users.noreply.github.com> Date: Tue, 4 Apr 2023 15:34:14 +0200 Subject: [PATCH 4/6] Updates after review Active an Latest replaced with supported Changes made in both files: versioning.md and CHANGELOG.md --- specification/templates/CHANGELOG.md | 3 +-- specification/versioning.md | 10 +++++----- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/specification/templates/CHANGELOG.md b/specification/templates/CHANGELOG.md index 941abc7..81a2a70 100644 --- a/specification/templates/CHANGELOG.md +++ b/specification/templates/CHANGELOG.md @@ -20,8 +20,7 @@ and this repository adheres to [Semantic Versioning](https://semver.org/spec/v2. ### Life cycle status Use one of: -- *Latest* -- *Active* +- *Supported* - *Deprecated:* End of Support expected on 2024-04-01 - *End of Support:* Support has ended on 2024-04-01 diff --git a/specification/versioning.md b/specification/versioning.md index 0492a48..0d6b6f9 100644 --- a/specification/versioning.md +++ b/specification/versioning.md @@ -87,23 +87,23 @@ according to following rules by any means available in the given software distribution solution. Each release `MUST` clearly state the life cycle -status and described as: Active, Latest, Deprecated, End of Support. +status and described as: Supported, Deprecated, End of Support. At minimum the required information should be included in [CHAANGELOG.md](https://github.com/signalfx/gdi-specification/blob/main/specification/templates/CHANGELOG.md) and equivalent mechanism provided by system used for distributing software. If new version is released previously released versions `MUST` be evaluated according to stability guarantees and marked as: -- Latest release `SHOULD` be marked as **Latest** indicating that this is +- Latest release `SHOULD` be marked as **Supported** indicating that this is version recommended to new and existing users - If applicable latest release of previous `MAJOR` line that is still under - active development `MUST` be marked as **Active** indicating that previous + active development `MUST` be marked as **Supported** indicating that previous `MAJOR` line is under active development and users not ready to adopt latest `MAJOR` version may use previous versions. - Release which was superseded by newer version, thus has entered deprecation period `MUST` be marked as **Deprecated** and `MUST` indicated planned end of support date. This indicates that users should plan for upgrade to - latest or active version respectively before date given. + one of supported versions before date given. - Release which deprecation period has ended `MUST` be marked as **End of support** and `MUST` indicate date on which the release was marked as end of support. This indicates that support for given release is no longer - provided and the users should immediately upgrade to newer version. \ No newline at end of file + provided and the users should immediately upgrade to newer supported version. \ No newline at end of file From 4e4af470d84fb438cfb28e44260f352c49745509 Mon Sep 17 00:00:00 2001 From: Andrzej Kubik <111915724+akubik-splunk@users.noreply.github.com> Date: Tue, 4 Apr 2023 15:43:36 +0200 Subject: [PATCH 5/6] md lint fixes --- specification/templates/CHANGELOG.md | 10 ++++----- specification/versioning.md | 31 ++++++++++++++-------------- 2 files changed, 21 insertions(+), 20 deletions(-) diff --git a/specification/templates/CHANGELOG.md b/specification/templates/CHANGELOG.md index 81a2a70..ecf4f1a 100644 --- a/specification/templates/CHANGELOG.md +++ b/specification/templates/CHANGELOG.md @@ -17,13 +17,13 @@ and this repository adheres to [Semantic Versioning](https://semver.org/spec/v2. ## Version 0.1.0 - 2021-04-01 -### Life cycle status +### Life cycle status -Use one of: -- *Supported* -- *Deprecated:* End of Support expected on 2024-04-01 -- *End of Support:* Support has ended on 2024-04-01 +Use one of: +- *Supported* +- *Deprecated:* End of Support expected on 2024-04-01 +- *End of Support:* Support has ended on 2024-04-01 ### General diff --git a/specification/versioning.md b/specification/versioning.md index c9dbe6f..df71b43 100644 --- a/specification/versioning.md +++ b/specification/versioning.md @@ -86,25 +86,26 @@ delivered to the users. If the release is also distributed via other distribution channels (e.g. CDN, Registries, AppStores) it `MUST` state its life cycle status according to following rules by any means available in the given software distribution solution. - -Each release `MUST` clearly state the life cycle -status and described as: Supported, Deprecated, End of Support. + +Each release `MUST` clearly state the life cycle +status and described as: Supported, Deprecated, End of Support. At minimum the required information should be included in [CHAANGELOG.md](https://github.com/signalfx/gdi-specification/blob/main/specification/templates/CHANGELOG.md) -and equivalent mechanism provided by system used for distributing software. +and equivalent mechanism provided by system used for distributing software. -If new version is released previously released versions `MUST` be evaluated +If new version is released previously released versions `MUST` be evaluated according to stability guarantees and marked as: + - Latest release `SHOULD` be marked as **Supported** indicating that this is version recommended to new and existing users -- If applicable latest release of previous `MAJOR` line that is still under - active development `MUST` be marked as **Supported** indicating that previous - `MAJOR` line is under active development and users not ready to adopt +- If applicable latest release of previous `MAJOR` line that is still under + active development `MUST` be marked as **Supported** indicating that previous + `MAJOR` line is under active development and users not ready to adopt latest `MAJOR` version may use previous versions. -- Release which was superseded by newer version, thus has entered deprecation - period `MUST` be marked as **Deprecated** and `MUST` indicated planned - end of support date. This indicates that users should plan for upgrade to +- Release which was superseded by newer version, thus has entered deprecation + period `MUST` be marked as **Deprecated** and `MUST` indicated planned + end of support date. This indicates that users should plan for upgrade to one of supported versions before date given. -- Release which deprecation period has ended `MUST` be marked as - **End of support** and `MUST` indicate date on which the release was marked - as end of support. This indicates that support for given release is no longer - provided and the users should immediately upgrade to newer supported version. \ No newline at end of file +- Release which deprecation period has ended `MUST` be marked as + **End of support** and `MUST` indicate date on which the release was marked + as end of support. This indicates that support for given release is no longer + provided and the users should immediately upgrade to newer supported version. From 1f17e866534e9f7f273727577b6ddde45d09e329 Mon Sep 17 00:00:00 2001 From: Andrzej Kubik <111915724+akubik-splunk@users.noreply.github.com> Date: Thu, 6 Apr 2023 12:40:05 +0200 Subject: [PATCH 6/6] Update specification/templates/CHANGELOG.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Robert Pająk --- specification/templates/CHANGELOG.md | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/specification/templates/CHANGELOG.md b/specification/templates/CHANGELOG.md index ecf4f1a..67c2f93 100644 --- a/specification/templates/CHANGELOG.md +++ b/specification/templates/CHANGELOG.md @@ -17,13 +17,7 @@ and this repository adheres to [Semantic Versioning](https://semver.org/spec/v2. ## Version 0.1.0 - 2021-04-01 -### Life cycle status - -Use one of: - -- *Supported* -- *Deprecated:* End of Support expected on 2024-04-01 -- *End of Support:* Support has ended on 2024-04-01 +Status: **Deprecated** (End of Support expected on 2024-04-01) ### General