Skip to content

Commit 4b5bb81

Browse files
committed
Update the release lifecycle page to reflect current practices
We only make a difference between maintained versions and end of life versions. To reflect this practice, update the lifecycle page to drop the confusing EOM status. While at it, update the versioning and maintenance sections to more closely reflect the current practices of the project.
1 parent 3a2961f commit 4b5bb81

File tree

2 files changed

+38
-48
lines changed

2 files changed

+38
-48
lines changed
Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,24 @@
1-
| 31.x | TBA* | after v33.0 | after v34.0 |
2-
| 30.x | 2025-10-10 | after v32.0 | after v33.0 |
3-
| 29.x | 2025-04-14 | after v31.0 | after v32.0 |
4-
| 28.x | 2024-10-02 | 2025-10-10 | after v31.0 |
5-
| 27.x | 2024-04-16 | 2025-04-14 | 2025-10-10 |
6-
| 26.x | 2023-12-06 | 2024-10-02 | 2025-04-14 |
7-
| 25.x | 2023-05-18 | 2024-04-16 | 2024-10-02 |
8-
| 24.x | 2022-11-24 | 2023-12-12 | 2024-04-02 |
9-
| 23.x | 2022-04-25 | 2023-05-18 | 2023-12-01 |
10-
| 22.x | 2021-09-13 | 2022-12-14 | 2023-04-01 |
11-
| 0.21.x | 2021-01-15 | 2022-04-25 | 2022-10-01 |
12-
| 0.20.x | 2020-06-03 | 2021-09-13 | 2022-02-01 |
13-
| 0.19.x | 2019-11-24 | 2021-01-15 | 2021-08-01 |
14-
| 0.18.x | 2019-05-02 | 2020-06-03 | 2021-02-01 |
15-
| 0.17.x | 2018-10-03 | 2019-11-24 | 2020-08-01 |
16-
| 0.16.x | 2018-02-26 | 2019-05-02 | 2020-02-01 |
17-
| 0.15.x | 2017-09-15 | 2018-10-03 | 2019-08-01 |
18-
| 0.14.x | 2017-03-08 | 2018-02-26 | 2019-02-01 |
19-
| 0.13.x | 2016-08-23 | 2017-09-15 | 2018-08-01 |
20-
| 0.12.x | 2016-02-23 | 2017-03-31 | 2018-02-28 |
21-
| 0.11.x | 2015-07-12 | 2016-08-23 | 2017-08-01 |
22-
| 0.10.x | 2015-02-16 | 2016-02-29 | 2017-02-28 |
23-
| 0.9.x | 2014-03-19 | 2015-06-16 | 2016-02-28 |
24-
| 0.8.x | 2013-02-19 | 2014-03-19 | 2015-12-31 |
1+
| 31.x | TBA* | after v34.0 |
2+
| 30.x | 2025-10-10 | after v33.0 |
3+
| 29.x | 2025-04-14 | after v32.0 |
4+
| 28.x | 2024-10-02 | after v31.0 |
5+
| 27.x | 2024-04-16 | 2025-10-10 |
6+
| 26.x | 2023-12-06 | 2025-04-14 |
7+
| 25.x | 2023-05-18 | 2024-10-02 |
8+
| 24.x | 2022-11-24 | 2024-04-02 |
9+
| 23.x | 2022-04-25 | 2023-12-01 |
10+
| 22.x | 2021-09-13 | 2023-04-01 |
11+
| 0.21.x | 2021-01-15 | 2022-10-01 |
12+
| 0.20.x | 2020-06-03 | 2022-02-01 |
13+
| 0.19.x | 2019-11-24 | 2021-08-01 |
14+
| 0.18.x | 2019-05-02 | 2021-02-01 |
15+
| 0.17.x | 2018-10-03 | 2020-08-01 |
16+
| 0.16.x | 2018-02-26 | 2020-02-01 |
17+
| 0.15.x | 2017-09-15 | 2019-08-01 |
18+
| 0.14.x | 2017-03-08 | 2019-02-01 |
19+
| 0.13.x | 2016-08-23 | 2018-08-01 |
20+
| 0.12.x | 2016-02-23 | 2018-02-28 |
21+
| 0.11.x | 2015-07-12 | 2017-08-01 |
22+
| 0.10.x | 2015-02-16 | 2017-02-28 |
23+
| 0.9.x | 2014-03-19 | 2016-02-28 |
24+
| 0.8.x | 2013-02-19 | 2015-12-31 |

_posts/en/pages/2016-01-15-lifecycle.md

Lines changed: 14 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -16,44 +16,33 @@ This document describes the life-cycle of the Bitcoin Core software package rele
1616

1717
Bitcoin Core releases are versioned as follows: MAJOR.MINOR, and release candidates are suffixed with rc1, rc2 etc.
1818

19-
## Major releases
19+
We aim to make a major release every 6 months. These will be numbered 29.0, 30.0 etc.
2020

21-
We aim to make a major release every 6-7 months.
22-
23-
These will be numbered 22.0, 23.0 etc.
24-
25-
## Maintenance releases
26-
27-
We will provide maintenance "minor releases" that fix bugs within the major releases. As a general rule we do not introduce major new features in a maintenance release (except for consensus rules). However, we may add minor features where necessary, and we will back-port consensus rule changes such as soft forks.
28-
29-
Minor releases will be numbered 22.1, 22.2, 23.1, 23.2 etc.
21+
We will provide minor ("maintenance") releases that fix bugs (security and otherwise) for each major release. These
22+
will be numbered 29.3, 30.1, etc. We will not introduce major new features in maintenance releases (besides consensus
23+
rules change, see below).
3024

3125
## Consensus rules
3226

3327
Proposals to change consensus rules are always shipped first in maintenance versions such as 22.2, 23.1 etc. This makes it easier for enterprise users to assess and test the proposal because of its smaller changeset compared to a major release. It also allows users who follow a more conservative upgrade path to adopt consensus rule changes in a more timely manner.
3428

3529
## Maintenance period
3630

37-
We maintain the major versions until their "Maintenance End". We generally maintain the current and previous major release.
38-
For example, if the current release is 23.0, then 22.0 is also considered maintained.
39-
Once 24.0 is released, then 22.0 would be considered at its "Maintenance End".
40-
As a major release ages, issues have to be increasingly critical to be backported to it, and an increasing amount or severity of issues is required to warrant a new minor release.
41-
Once software has reached the "Maintenance End" period, it will only receive critical security fixes until the End-of-Life (EOL) date.
42-
After EOL, users must upgrade to a later version to receive security updates, even though the community may provide fixes for critical issues on a best effort basis.
43-
Generally, it is recommended to run the latest maintenance release (point release) of the current or previous major version.
44-
45-
Please note that minor versions get bugfixes, translation updates, and soft forks. Translation on [Transifex][bitcoin-transifex-link] is only open for the last two major releases.
31+
We always maintain the latest three major versions. When a new major version is released, the oldest one falls out of
32+
the maintenance window and becomes "End of Life". For example, if the last major release is 30.0, then 29.x and 28.x are
33+
also considered maintained. Once 31.0 is released, 28.x becomes "End of Life". The threshold for backporting a change
34+
to an older major version increases as it ages.
4635

47-
For example, major version 22.0 was released on 2021-09-13 and we provided maintenance fixes (point releases) until 2022-12-14.
48-
Critical security issues would still be continued to be fixed until the EOL date of 2023-04-01.
49-
However, to take advantage of bug fixes, you would have to upgrade to a later major version.
36+
Major versions that are "End of Life" do not, as a general rule, receive security fixes. For more about our policy on
37+
security fixes, see our [security advisories][] page. We recommend running the latest maintenance release of the most
38+
recent major version you are able to upgrade to.
5039

5140
## Schedule
5241

5342
Once EOL is reached, you will need to upgrade to a newer version.
5443

55-
| Version | Release Date | Maintenance End | End of Life |
56-
|---------|--------------|-----------------|-------------|
44+
| Version | Release Date | End of Life |
45+
|---------|--------------|-------------|
5746
{% include posts/maintenance-table.md %}
5847

5948
\* _We aim to make a major release every 6-7 months_
@@ -82,3 +71,4 @@ For this reason, Bitcoin Core deviates from SemVer for changes to consensus rule
8271

8372
[SemVer]: https://semver.org/
8473
[bitcoin-transifex-link]: https://explore.transifex.com/bitcoin/bitcoin/
74+
[security advisories]: /en/security-advisories

0 commit comments

Comments
 (0)