Skip to content

Commit b2da596

Browse files
committed
Merge #1200: Update the release lifecycle page to reflect current practices
84ddcf0 Update the release lifecycle page to reflect current practices (Antoine Poinsot) Pull request description: This updates the release lifecycle page to more closely reflect our actual releases. This started as an effort to drop the superfluous EOM status, but ended up as a rewrite of the Versioning, Maintenance and Schedule sections since all were depending on each other. We only make a distinction between maintained and EOL versions. The EOM status adds unnecessary complexity and is misleading, so remove it. This also cleans up the Versioning section, which was using three major heading (Versioning, Major releases and Maintenance releases) for a small amount of content all on the same topic of how the software we release is versioned. This also cleans up a redundant statement about backporting consensus changes and removes an unnecessary statement about the distinction between minor and major features for backports (which we don't even follow nowadays as far as i know). Then we rewrite the maintenance version, which was making a distinction between "maintenance end" and "end of life" that we do not follow in practice, and overall makes it clearer and more concise. In this section i also remove some confused language about how we handle security fixes, which is not consistent with our practice, in favour of a general sentence that EOL versions do not receive security fixes and a link to our Security Advisories page which gives more details on this topic. Wherever i touched i also updated the examples to use newer versions. In some cases i also switched from pointing to the exact major release (X.0) to the major version (X.Y) which is more accurate and also what we already do on the security advisories page. ACKs for top commit: murchandamus: ACK 84ddcf0 willcl-ark: LGTM. ACK 84ddcf0 sedited: ACK 84ddcf0 Tree-SHA512: 16644e5d6572251a7721a28e099d1265b65af03505ad09b8ebff92602ef7f854888897913386d789a727b08bbf962fd0509eec4d0bb0f05deb5f88343dafe195
2 parents 45b907e + 84ddcf0 commit b2da596

11 files changed

+47
-57
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/meetings/2018-05-17-meeting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ getting quite long.
5050
## 0.16.1
5151

5252
**Background:** Bitcoin Core developers have begun preparing a new
53-
0.16.1 [maintenance release](/en/lifecycle/#maintenance-releases) with
53+
0.16.1 [maintenance release](/en/lifecycle/#versioning) with
5454
bugfixes and backports of important features.
5555

5656
**Discussion

_posts/en/meetings/2018-05-24-meeting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ sentences. If you believe any quote was taken out of context, please
237237
and we will correct the mistake.
238238

239239
[current high-priority PRs]: https://github.com/bitcoin/bitcoin/projects/8
240-
[maintenance release]: /en/lifecycle/#maintenance-releases
240+
[maintenance release]: /en/lifecycle/#versioning
241241
[key-value database]: https://en.wikipedia.org/wiki/Key-value_database
242242
[UHF model]: https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2018-May/015967.html
243243

_posts/en/meetings/2018-07-12-meeting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ and we will correct the mistake.
216216
[log coin selection]: {{log}}#l-194
217217

218218
[last meeting]: /en/meetings/2018/07/05/
219-
[maintenance releases]: /en/lifecycle/#maintenance-releases
219+
[maintenance releases]: /en/lifecycle/#versioning
220220
[backport]: https://en.wikipedia.org/wiki/Backporting
221221
[docs repo]: https://github.com/bitcoin-core/docs
222222
[srd]: /en/meetings/2018/06/21/#coin-selection

_posts/en/meetings/2018-07-26-meeting.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -176,7 +176,7 @@ and we will correct the mistake.
176176
[bcco #581]: https://github.com/bitcoin-core/bitcoincore.org/issues/581
177177
[alt meet time]: /en/meetings/2018/07/05/#alternating-meeting-time
178178
[time poll results]: https://civs.cs.cornell.edu/cgi-bin/results.pl?id=E_a80f9a69d20aab2a
179-
[maintenance release]: /en/lifecycle/#maintenance-releases
179+
[maintenance release]: /en/lifecycle/#versioning
180180
[tag 0.17]: https://github.com/bitcoin/bitcoin/milestone/33
181181

182182
{% include link-to-issues.md issues="13426" %}

_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 generally receive security fixes. For more about our policy on security
37+
fixes, see our [security advisories][] page. We recommend running the latest maintenance release of the most recent
38+
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

_posts/en/posts/2018-06-15-release-0.16.1.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,4 +45,4 @@ our best to help you.
4545
[release notes]: /en/releases/0.16.1/
4646
[IRC]: https://en.bitcoin.it/wiki/IRC_channels
4747
[download page]: /en/download
48-
[maintenance release]: /en/lifecycle/#maintenance-releases
48+
[maintenance release]: /en/lifecycle/#versioning

_posts/en/posts/2018-07-29-release-0.16.2.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@ our best to help you.
4343
[release notes]: /en/releases/0.16.2/
4444
[IRC]: https://en.bitcoin.it/wiki/IRC_channels
4545
[download page]: /en/download
46-
[maintenance release]: /en/lifecycle/#maintenance-releases
46+
[maintenance release]: /en/lifecycle/#versioning
4747
[tx-as-internal-node]: https://bitslog.wordpress.com/2018/06/09/leaf-node-weakness-in-bitcoin-merkle-tree-design/
4848

4949
{% include references.md %}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ Bitcoin CoreはMAJOR.MINORという形式でバージョン管理され、その
2222

2323
メジャーリリースには、22.0、23.0といった番号が付けられます。
2424

25-
## メンテナンスリリース {#maintenance-releases}
25+
## メンテナンスリリース {#versioning}
2626

2727
メジャーリリースのバグを修正するメンテンナンスの「マイナーリリース」を提供します。一般的なルールとして、メンテナンスリリースでは(コンセンサスルールを除いて)重要な新しい機能を導入していません。ただし、必要に応じてマイナーな機能を追加したり、ソフトフォークなどによるコンセンサスルールの変更をバックポートすることがあります。
2828

_posts/ja/posts/2018-06-15-release-0.16.1.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,4 @@ opcodeが使われている場合、そのトランザクションのリレー
3333
[リリースノート]: /ja/releases/0.16.1/
3434
[IRC]: https://en.bitcoin.it/wiki/IRC_channels
3535
[ダウンロードページ]: /ja/download
36-
[メンテナンスリリース]: /en/lifecycle/#maintenance-releases
36+
[メンテナンスリリース]: /en/lifecycle/#versioning

0 commit comments

Comments
 (0)