diff --git a/docs/admin/installation.md b/docs/admin/installation.md index 4b677c03..f24614d8 100644 --- a/docs/admin/installation.md +++ b/docs/admin/installation.md @@ -3,6 +3,11 @@ title: 'Installation' license: 'CC-BY-SA-4.0' --- +Forgejo publishes a stable release every three months and a long term +support (LTS) release every year. Patch releases are published more +frequently and provide fixes for bugs and security +vulnerabilities. See also how [the Forgejo versioning scheme](../../user/versions) works. + This guide covers the installation of Forgejo [with Docker](../installation-docker/) or [from binary](../installation-binary/). Both of these methods are created diff --git a/docs/admin/upgrade.md b/docs/admin/upgrade.md index 8ab40e4b..d6651118 100644 --- a/docs/admin/upgrade.md +++ b/docs/admin/upgrade.md @@ -1,18 +1,17 @@ --- title: 'Upgrade guide' license: 'CC-BY-SA-4.0' -origin_url: 'https://forgejo.gna.org/Hostea/admin-guide/src/branch/master/README.md' --- This guide helps Forgejo admins perform upgrades safely and provides guidance to troubleshoot problems. It also covers upgrades from Gitea back to version 1.2.0. ## Release life cycle -Each Forgejo version undergoes the following states: +Each Forgejo release undergoes the following states: -- **Experimental** (current development version): receives new features, should not be used in production -- **Stable** (latest major version): receives full support, bugfixes and security fixes -- **Old Stable** (previous major version): receives only critical security support +- **Stable** (latest release): receives full support, bugfixes and security fixes for three months. +- **Long term support (LTS)** (the version published the first quarter of every year): receives only critical bugfixes and security support for one year. +- **Experimental** (current development version): receives new features, should not be used in production. To be notified in advance of security releases, watch or subscribe to the RSS feed of the [security-announcements repository](https://codeberg.org/forgejo/security-announcements/issues). The details of the vulnerability will not be revealed, only the expected release date, for administrators to plan ahead and better secure their instance. diff --git a/docs/developer/RELEASE.md b/docs/developer/RELEASE.md index 9d83266f..4454dfb2 100644 --- a/docs/developer/RELEASE.md +++ b/docs/developer/RELEASE.md @@ -3,16 +3,53 @@ title: Release management license: 'CC-BY-SA-4.0' --- +## Release cycle + +Forgejo stable releases are published on a fixed schedule, every quarter. + +| **Date** | **Version** | **Release date** | **End Of Life** | +| -------- | ---------------------- | ---------------- | ----------------- | +| 2024 Q1 | 7.0.0+LTS-gitea-1.22.0 | 17 April 2024 | **16 April 2025** | +| 2024 Q2 | X.Y.Z+gitea-A.B.C | 17 July 2024 | 16 October 2024 | +| 2024 Q3 | X.Y.Z+gitea-A.B.C | 16 October 2024 | 15 January 2025 | +| 2024 Q4 | X.Y.Z+gitea-A.B.C | 15 January 2025 | 16 April 2025 | +| 2025 Q1 | X.Y.Z+LTS-gitea-A.B.C | 16 April 2025 | **15 April 2026** | +| 2025 Q2 | X.Y.Z+gitea-A.B.C | 16 July 2025 | 15 October 2025 | +| 2025 Q3 | X.Y.Z+gitea-A.B.C | 15 October 2025 | 14 January 2026 | +| 2025 Q4 | X.Y.Z+gitea-A.B.C | 14 January 2026 | 15 April 2026 | +| 2026 Q1 | X.Y.Z+LTS-gitea-A.B.C | 15 April 2026 | **14 April 2027** | +| 2026 Q2 | X.Y.Z+gitea-A.B.C | 15 July 2026 | 14 October 2026 | + +### Stable release support + +Bug fixes and security fixes are backported to the latest stable release. + +### Long Term Support (LTS) + +The first quarter release of the year is LTS. Critical bug fixes and security fixes are backported to the latest LTS release. + +### Experimental releases + +Experimental releases are published daily in [forgejo-experimental](https://codeberg.org/forgejo-experimental/) organization. They are built from the tip of the branch of each stable release. For instance: + +- `forgejo` is `X.Y-test` where `X.Y` is the major and minor number of the next stable release. +- `v8.0/forgejo` is `8.0-test` +- `v7.0/forgejo` is `7.0-test` + ## Release numbering The Forgejo release numbers are compliant with [Semantic Versioning](https://semver.org/). They are followed by the Gitea release number with which it is compatible. For instance: -- Forgejo **v7.0.0+gitea-1.22.0** is compatible with Gitea **v1.22.0**. +- Forgejo **v7.1.0+gitea-1.22.0** is compatible with Gitea **v1.22.0**. + +Long term support releases have the `LTS` string in their metadata. For instance: + +- Forgejo **v7.0.0+LTS-gitea-1.22.0** is a long term support release compatible with Gitea **v1.22.0**. The release candidates are composed by adding the `-rc` suffix. For instance: -- Forgejo **v7.0.0-rc0+gitea-1.22.0** -- Forgejo **v7.0.0-rc1+gitea-1.22.0** +- Forgejo **v7.1.0-rc0+gitea-1.22.0** +- Forgejo **v7.1.0-rc1+gitea-1.22.0** - etc. ## Stable release process @@ -30,6 +67,10 @@ The TL;DR: to publish a vX.Y.Z release is to: - Set the milestone of this issue to `Forgejo vX.Y.Z` - Close the milestone when the release is complete +### Feature freeze + +- Two weeks before the release date only bug fixes can be merged + ### Cutting a release When a new `vX.Y.Z` release is ready to enter the release candidate stages: diff --git a/docs/user/versions.md b/docs/user/versions.md index ba321de7..639ab979 100644 --- a/docs/user/versions.md +++ b/docs/user/versions.md @@ -61,6 +61,10 @@ The structure of the version number is `..+gitea-..` is conformant to [Semantic Versioning 2.0.0](https://semver.org/#semantic-versioning-200) - `gitea-` is the Gitea version this Forgejo release is compatible with +### Long Term Support (LTS) versions + +The structure is the same as stable versions, with the `LTS` string added to the metadata: `..+LTS-gitea-`. + ### Experimental and pre-release versions The structure of the version number is `..-+gitea-`, where: