You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- Create a release notes draft wiki for collaborative editing at https://github.com/bitcoin-core/bitcoin-devwiki/wiki as seen for releases 0.17.0 and 0.18.0.
- As per http://www.erisian.com.au/bitcoin-core-dev/log-2019-03-28.html#l-342, for the period during which the notes are being edited on the wiki, the version on the branch should be wiped and replaced with a link to the wiki which should be used for all announcements until final.
- Before final, remove the "Needs release note" label from relevant PRs/issues and merge the release notes from the wiki into the branch.
- Create a pinned meta-issue dedicated to testing the release candidate and communicate it in release announcements where useful. The former is done in practice (e.g. #15555, #14902) and the latter addresses the discussion here: https://x0f.org/web/statuses/101753569204220416.
- Adapt and merge the updates in bitcoin/bitcoin#15692.
- Update the version numbers in all the examples.
- Reorganise the headers in the Branch Updates section.
Copy file name to clipboardExpand all lines: doc/release-process.md
+42-15Lines changed: 42 additions & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,38 +1,59 @@
1
1
Release Process
2
2
====================
3
3
4
-
Before every release candidate:
4
+
## Branch updates
5
+
6
+
### Before every release candidate
5
7
6
8
* Update translations (ping wumpus on IRC) see [translation_process.md](https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md#synchronising-translations).
7
9
* Update manpages, see [gen-manpages.sh](https://github.com/bitcoin/bitcoin/blob/master/contrib/devtools/README.md#gen-manpagessh).
8
10
* Update release candidate version in `configure.ac` (`CLIENT_VERSION_RC`).
9
11
10
-
Before every minor and major release:
12
+
### Before every major and minor release
11
13
12
14
* Update [bips.md](bips.md) to account for changes since the last release.
13
15
* Update version in `configure.ac` (don't forget to set `CLIENT_VERSION_RC` to `0`).
14
-
* Write release notes (see below).
16
+
* Write release notes (see "Write the release notes" below).
15
17
* Update `src/chainparams.cpp` nMinimumChainWork with information from the getblockchaininfo rpc.
16
18
* Update `src/chainparams.cpp` defaultAssumeValid with information from the getblockhash rpc.
17
19
- The selected value must not be orphaned so it may be useful to set the value two blocks back from the tip.
18
20
- Testnet should be set some tens of thousands back from the tip due to reorgs there.
19
21
- This update should be reviewed with a reindex-chainstate with assumevalid=0 to catch any defect
20
22
that causes rejection of blocks in the past history.
21
23
22
-
Before every major release:
24
+
### Before every major release
23
25
24
26
* Update hardcoded [seeds](/contrib/seeds/README.md), see [this pull request](https://github.com/bitcoin/bitcoin/pull/7415) for an example.
25
27
* Update [`src/chainparams.cpp`](/src/chainparams.cpp) m_assumed_blockchain_size and m_assumed_chain_state_size with the current size plus some overhead.
26
28
* Update `src/chainparams.cpp` chainTxData with statistics about the transaction count and rate. Use the output of the RPC `getchaintxstats`, see
27
29
[this pull request](https://github.com/bitcoin/bitcoin/pull/12270) for an example. Reviewers can verify the results by running `getchaintxstats <window_block_count> <window_last_block_hash>` with the `window_block_count` and `window_last_block_hash` from your output.
28
-
* Update version of `contrib/gitian-descriptors/*.yml`: usually one'd want to do this on master after branching off the release - but be sure to at least do it before a new major release.
29
30
* In `configure.ac` and `build_msvc/bitcoin_config.h` on _the master branch_:
30
31
- update `CLIENT_VERSION_MINOR` version
31
32
* In `configure.ac` and `build_msvc/bitcoin_config.h` on _a new release branch_ (see [this commit](https://github.com/bitcoin/bitcoin/commit/742f7dd972fca3dd4a33cfff90bf901b71a687e7)):
32
33
- update `CLIENT_VERSION_MINOR` version
33
34
- set `CLIENT_VERSION_REVISION` to `0`
34
35
- set `CLIENT_VERSION_IS_RELEASE` to `true`
35
36
37
+
#### Before branch-off
38
+
39
+
- Clear the release notes and move them to the wiki (see "Write the release notes" below).
40
+
41
+
#### After branch-off (on master)
42
+
43
+
- Update the version of `contrib/gitian-descriptors/*.yml`.
44
+
45
+
#### After branch-off (on the major release branch)
46
+
47
+
- Update the versions and the link to the release notes draft in `doc/release-notes.md`.
48
+
49
+
#### Before final release
50
+
51
+
- Merge the release notes from the wiki into the branch.
52
+
- Ensure the "Needs release note" label is removed from all relevant pull requests and issues.
53
+
54
+
55
+
## Building
56
+
36
57
### First time / New builders
37
58
38
59
If you're using the automated script (found in [contrib/gitian-build.py](/contrib/gitian-build.py)), then at this point you should run it with the "--setup" command. Otherwise ignore this.
@@ -45,22 +66,26 @@ Check out the source code in the following directory hierarchy.
### Bitcoin maintainers/release engineers, suggestion for writing release notes
69
+
### Write the release notes
49
70
50
-
Write release notes. git shortlog helps a lot, for example:
71
+
Open a draft of the release notes for collaborative editing at https://github.com/bitcoin-core/bitcoin-devwiki/wiki.
51
72
52
-
git shortlog --no-merges v(current version, e.g. 0.7.2)..v(new version, e.g. 0.8.0)
73
+
For the period during which the notes are being edited on the wiki, the version on the branch should be wiped and replaced with a link to the wiki which should be used for all announcements until `-final`.
74
+
75
+
Write the release notes. `git shortlog` helps a lot, for example:
76
+
77
+
git shortlog --no-merges v(current version, e.g. 0.19.2)..v(new version, e.g. 0.20.0)
53
78
54
79
(or ping @wumpus on IRC, he has specific tooling to generate the list of merged pulls
55
-
and sort them into categories based on labels)
80
+
and sort them into categories based on labels).
56
81
57
82
Generate list of authors:
58
83
59
-
git log --format='- %aN' v(current version, e.g. 0.16.0)..v(new version, e.g. 0.16.1) | sort -fiu
84
+
git log --format='- %aN' v(current version, e.g. 0.20.0)..v(new version, e.g. 0.20.1) | sort -fiu
@@ -323,9 +348,11 @@ bitcoin.org (see below for bitcoin.org update instructions).
323
348
324
349
- This repo
325
350
326
-
- Archive release notes for the new version to `doc/release-notes/` (branch `master` and branch of the release)
351
+
- Archive the release notes for the new version to `doc/release-notes/` (branch `master` and branch of the release)
352
+
353
+
- Create a [new GitHub release](https://github.com/bitcoin/bitcoin/releases/new) with a link to the archived release notes
327
354
328
-
- Create a [new GitHub release](https://github.com/bitcoin/bitcoin/releases/new) with a link to the archived release notes.
355
+
- Create a pinned meta-issue for testing the release candidate (see [this issue](https://github.com/bitcoin/bitcoin/issues/15555) for an example) and provide a link to it in the release announcements where useful
0 commit comments