Author

Topic: Bitcoin Core Software Lifecycle (Read 55 times)

member
Activity: 97
Merit: 43
July 17, 2024, 12:43:15 AM
#1
I read some questions, ask for information like what Bitcoin Core version to use, should I upgrade my Bitcoin Core.

The answers are it's possible to use old versions because if you have private keys, you have coins. It is recommended to upgrade to newest versions if you are running business with Bitcoin payments, use scripts ...

The most recent version is the version the foremost experts on the software think you ought to be running, otherwise it wouldn't exist.  So unless you've got a really good reason to do otherwise, that's what you ought to be running.

Revisions of old major numbers are primarily useful for parties that are carrying patches against their nodes or require qualification for new versions that might have changed behavior in incompatible ways, so that they can more rapidly deploy fixes.  It might take them longer to forward port their patches to the new major version or to test it against their usage.  If you're in one of those situations you'll know it.


I find answers on Bitcoin Core website too.

Software Life Cycle

Please read the Maintenance Period and Schedule table if you are wondering should upgrade your Bitcoin Core wallet.

Quote
Software Life Cycle

This document describes the life-cycle of the Bitcoin Core software package released by the Bitcoin Core project. It is in line with standard maintenance policy across commercial software.

Major releases
We aim to make a major release every 6-7 months.

These will be numbered 22.0, 23.0 etc.

Maintenance releases
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.

Minor releases will be numbered 22.1, 22.2, 23.1, 23.2 etc.

Maintenance period
We maintain the major versions until their “Maintenance End”. We generally maintain the current and previous major release. For example, if the current release is 23.0, then 22.0 is also considered maintained. Once 24.0 is released, then 22.0 would be considered at its “Maintenance End”. 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. Once software has reached the “Maintenance End” period, it will only receive critical security fixes until the End-of-Life (EOL) date. 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. Generally, it is recommended to run the latest maintenance release (point release) of the current or previous major version.

Please note that minor versions get bugfixes, translation updates, and soft forks. Translation on Transifex is only open for the last two major releases.

For example, major version 22.0 was released on 2021-09-13 and we provided maintenance fixes (point releases) until 2022-11-15. Critical security issues would still be continued to be fixed until the EOL date of 2024-04-01. However, to take advantage of bug fixes, you would have to upgrade to a later major version.

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

VersionRelease dateMaintenance EndEnd of life
___________________________________________________________
28.xTBA*after v30.0after v31.0
27.x2024-04-16after v29.0after v30.0
26.x2023-12-06after v28.0after v29.0
25.x2023-05-182024-04-16after v28.0
24.x2022-11-242023-12-122024-04-02
23.x2022-04-252023-05-182023-12-01
22.x2021-09-132022-11-242023-04-01
0.21.x2021-01-152022-04-252022-10-01
0.20.x2020-06-032021-09-132022-02-01
0.19.x2019-11-242021-01-152021-08-01
0.18.x2019-05-022020-06-032021-02-01
0.17.x2018-10-032019-11-242020-08-01
0.16.x2018-02-262019-05-022020-02-01
0.15.x2017-09-152018-10-032019-08-01
0.14.x2017-03-082018-02-262019-02-01
0.13.x2016-08-232017-09-152018-08-01
0.12.x2016-02-232017-03-312018-02-28
0.11.x2015-07-122016-08-232017-08-01
0.10.x2015-02-162016-02-292017-02-28
0.9.x2014-03-192015-06-162016-02-28
0.8.x2013-02-192014-03-192015-12-31
___________________________________________________________
* We aim to make a major release every 6-7 months

TBA: to be announced


And more to read on that page.
Jump to: