diff --git a/antora-playbook.yaml b/antora-playbook.yaml index 9dd2b782..edd2e794 100644 --- a/antora-playbook.yaml +++ b/antora-playbook.yaml @@ -101,6 +101,10 @@ ui: .hljs-string { color: #0f8532; } + /* Colors for maintenance policies */ + .development { color: #8A4FFF; } + .active { color: #28A745; } + .eol { color: #DC3545; } - path: partials/header-content.hbs diff --git a/src/site/antora/modules/ROOT/nav.adoc b/src/site/antora/modules/ROOT/nav.adoc index 17e8cd5e..bf81497b 100644 --- a/src/site/antora/modules/ROOT/nav.adoc +++ b/src/site/antora/modules/ROOT/nav.adoc @@ -48,4 +48,5 @@ * xref:release-notes.adoc[] * xref:release-review.adoc[] * {logging-services-url}/support.html[Support] +** xref:versioning.adoc[] * {logging-services-url}/security.html[Security] diff --git a/src/site/antora/modules/ROOT/pages/download.adoc b/src/site/antora/modules/ROOT/pages/download.adoc index 9fa57ea7..018524e7 100644 --- a/src/site/antora/modules/ROOT/pages/download.adoc +++ b/src/site/antora/modules/ROOT/pages/download.adoc @@ -28,3 +28,6 @@ Proceed to xref:manual/installation.adoc[]. Proceed to xref:release-notes.adoc[]. ==== +include::partial$supported-versions.adoc[leveloffset=+1] + +See xref:versioning.adoc[Version lifecycle and maintenance policy] for more information about the maintenance lifecycle of log4net versions. \ No newline at end of file diff --git a/src/site/antora/modules/ROOT/pages/versioning.adoc b/src/site/antora/modules/ROOT/pages/versioning.adoc new file mode 100644 index 00000000..e1ed33ba --- /dev/null +++ b/src/site/antora/modules/ROOT/pages/versioning.adoc @@ -0,0 +1,133 @@ +//// + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +//// + += Versioning and support policy + +include::partial$supported-versions.adoc[leveloffset=+1] + + +[#versioning-policy] +== Versioning policy + +Apache log4net follows +https://semver.org/spec/v2.0.0.html[semantic versioning], +with release numbers of the form: + +[source] +---- +..[-] +---- + +where: + +:: ++ +The major version number is incremented when **breaking changes** are introduced. ++ +Upgrading to a new major version typically requires code changes in your application. +For each new major release, a migration guide will be provided. ++ + +:: ++ +The minor version number is incremented when new features are added in a backward-compatible manner, such as: ++ +-- +* New methods or classes added to the public API of one of the components. +* New configuration attributes added to appenders, layouts, filters, etc. +* Functionality or methods/classes being deprecated. +* Behavioral changes introduced without breaking the public API. +-- ++ +Upgrading to a new minor version usually does not require code changes, +unless you rely on undocumented behavior that has changed. +To avoid accumulating such changes, we recommend upgrading minor versions regularly. ++ +When upgrading to a new minor version, review the corresponding +xref:release-notes.adoc[]: +behavioral changes are highlighted in the release description and listed in the “Changed” section. + +:: ++ +The patch version number is incremented when only backward-compatible bug fixes are introduced. ++ +Upgrading to a new patch release is the simplest upgrade path. ++ +[NOTE] +==== +The classification of a behavioral change as a minor or patch release may vary by interpretation: +what is considered a bug by one user may be viewed as a feature by another. +==== + +[#maintenance-policy] +== Version lifecycle and maintenance policy + +Minor releases of Apache log4net follow a defined lifecycle consisting of three phases: + +[development]#Active development#:: ++ +The version is under active development and may introduce new features. +Preview builds may be published during this phase; vulnerability reports are accepted and will be addressed. ++ +Versions in this phase are **not recommended** for production use. + +[active]#Active maintenance#:: ++ +The version is considered stable and suitable for production. +Vulnerability reports are accepted and will be addressed. ++ +Due to the limited resources of the Apache log4net project, **only the latest minor release of the latest major version** remains in Active. + +[eol]#End-of-life (EOL)#:: ++ +The version is no longer maintained, and **vulnerability reports are not accepted**. ++ +We will notice the end of support for a version when the first preview for a new major version is published. ++ +[cols="3h,1,1,1"] +|=== +| Maintenance phase | New features | Security/bug fixes | Security advisories + +| [development]#Active development# +| **Yes** +| **Yes** +| **Yes** + +| [development]#Active maintenance# +| **Yes** +| **Yes** +| **Yes** + +| [eol]#End-of-life (EOL)# +| No +| No +| No + +|=== + +[NOTE] +==== +We avoid using the term *support* to describe the maintenance phases, because +support remains available in **all** phases: + +* See {logging-services-url}/support.html#discussions-user[Community support] +for the community-run discussion channels that are offered on a best-effort basis. +* Although the ASF does not endorse any third-party commercial providers, +some companies may offer paid support for EOM or EOL versions. +See {logging-services-url}/support.html#commercial[Commercial support] +for a publicly maintained list of such providers. +==== \ No newline at end of file diff --git a/src/site/antora/modules/ROOT/partials/supported-versions.adoc b/src/site/antora/modules/ROOT/partials/supported-versions.adoc new file mode 100644 index 00000000..2c987a05 --- /dev/null +++ b/src/site/antora/modules/ROOT/partials/supported-versions.adoc @@ -0,0 +1,40 @@ +//// + Licensed to the Apache Software Foundation (ASF) under one or more + contributor license agreements. See the NOTICE file distributed with + this work for additional information regarding copyright ownership. + The ASF licenses this file to You under the Apache License, Version 2.0 + (the "License"); you may not use this file except in compliance with + the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +//// + +[#supported-versions] += Supported versions + +.Maintenance status of selected log4net versions +[cols="2h,2,3,2,2,4"] +|=== +| Version | Status | Latest release | First release | End-of-life | Notes + +| 3.x +| **[active]#Active#** +| 3.2.0 +| 2024-09-12 +| +| + +| 2.x +| **[eol]#End-of-life#** +| 2.0.17 +| 2020-09-06 +| 2024-09-12 +| Last release to support net20 and net45 + +|=== \ No newline at end of file