Skip to content

Commit a8c98f3

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 a8c98f3

File tree

2 files changed

+37
-48
lines changed

2 files changed

+37
-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: 13 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-7 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 maintenance "minor releases" that fix bugs (security and otherwise) within the major releases. These
22+
will be numbered 29.3, 30.1, etc. We do 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 past three major versions released. Once a major version falls outside that window, it becomes
32+
"End of Life". The threshold for backporting a change to a past major version increases as it ages. For example, if the
33+
last major release is 30.0, then 29.x and 28.x are also considered maintained. Once 31.0 is released, then 28.x becomes
34+
"End of Life".
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](/en/security-advisories/) page. We recommend running the latest
38+
maintenance release (point release) of the most 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_

0 commit comments

Comments
 (0)