~ubuntu-branches/debian/stretch/bitcoin/stretch

« back to all changes in this revision

Viewing changes to doc/release-process.md

  • Committer: Package Import Robot
  • Author(s): Anthony Towns
  • Date: 2016-10-21 17:13:13 UTC
  • mfrom: (1.3.2)
  • Revision ID: package-import@ubuntu.com-20161021171313-7eu2ltpbk0xag3q1
Tags: 0.13.0-0.1
* Non-maintainer upload.
* New upstream release.
* Allow compilation with gcc/g++ 6. (Closes: Bug#835963)
* Additional fixes for openssl 1.1 compatibility. (See Bug#828248)
* Check if -latomic is needed (it is on mips*).
* Remove reproducible build patch, since leveldb build system is
  no longer used in 0.13. (See Bug#791834)
* Update description since the blockchain is much more than "several GB"
  now. (Closes: Bug#835809)

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
Release Process
2
2
====================
3
3
 
4
 
* Update translations (ping wumpus, Diapolo or tcatm on IRC) see [translation_process.md](https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md#syncing-with-transifex)
 
4
Before every release candidate:
 
5
 
 
6
* Update translations (ping wumpus on IRC) see [translation_process.md](https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md#synchronising-translations).
 
7
 
 
8
Before every minor and major release:
 
9
 
5
10
* Update [bips.md](bips.md) to account for changes since the last release.
6
 
* Update hardcoded [seeds](/contrib/seeds)
7
 
 
8
 
* * *
9
 
 
10
 
###First time / New builders
 
11
* Update version in sources (see below)
 
12
* Write release notes (see below)
 
13
 
 
14
Before every major release:
 
15
 
 
16
* Update hardcoded [seeds](/contrib/seeds/README.md), see [this pull request](https://github.com/bitcoin/bitcoin/pull/7415) for an example.
 
17
 
 
18
### First time / New builders
 
19
 
11
20
Check out the source code in the following directory hierarchy.
12
21
 
13
 
        cd /path/to/your/toplevel/build
14
 
        git clone https://github.com/bitcoin/gitian.sigs.git
15
 
        git clone https://github.com/bitcoin/bitcoin-detached-sigs.git
16
 
        git clone https://github.com/devrandom/gitian-builder.git
17
 
        git clone https://github.com/bitcoin/bitcoin.git
18
 
 
19
 
###Bitcoin maintainers/release engineers, update (commit) version in sources
20
 
 
21
 
        pushd ./bitcoin
22
 
        contrib/verifysfbinaries/verify.sh
23
 
        configure.ac
24
 
        doc/README*
25
 
        doc/Doxyfile
26
 
        contrib/gitian-descriptors/*.yml
27
 
        src/clientversion.h (change CLIENT_VERSION_IS_RELEASE to true)
28
 
 
29
 
        # tag version in git
30
 
 
31
 
        git tag -s v(new version, e.g. 0.8.0)
32
 
 
33
 
        # write release notes. git shortlog helps a lot, for example:
34
 
 
35
 
        git shortlog --no-merges v(current version, e.g. 0.7.2)..v(new version, e.g. 0.8.0)
36
 
        popd
37
 
 
38
 
* * *
39
 
 
40
 
###Setup and perform Gitian builds
41
 
 
42
 
 Setup Gitian descriptors:
43
 
 
44
 
        pushd ./bitcoin
45
 
        export SIGNER=(your Gitian key, ie bluematt, sipa, etc)
46
 
        export VERSION=(new version, e.g. 0.8.0)
47
 
        git fetch
48
 
        git checkout v${VERSION}
49
 
        popd
50
 
 
51
 
  Ensure your gitian.sigs are up-to-date if you wish to gverify your builds against other Gitian signatures.
52
 
 
53
 
        pushd ./gitian.sigs
54
 
        git pull
55
 
        popd
56
 
 
57
 
  Ensure gitian-builder is up-to-date to take advantage of new caching features (`e9741525c` or later is recommended).
58
 
 
59
 
        pushd ./gitian-builder
60
 
        git pull
61
 
 
62
 
###Fetch and create inputs: (first time, or when dependency versions change)
63
 
 
64
 
        mkdir -p inputs
65
 
        wget -P inputs https://bitcoincore.org/cfields/osslsigncode-Backports-to-1.7.1.patch
66
 
        wget -P inputs http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz
67
 
 
68
 
 Register and download the Apple SDK: see [OS X readme](README_osx.txt) for details.
69
 
 
70
 
 https://developer.apple.com/devcenter/download.action?path=/Developer_Tools/xcode_6.1.1/xcode_6.1.1.dmg
71
 
 
72
 
 Using a Mac, create a tarball for the 10.9 SDK and copy it to the inputs directory:
73
 
 
74
 
        tar -C /Volumes/Xcode/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ -czf MacOSX10.9.sdk.tar.gz MacOSX10.9.sdk
75
 
 
76
 
###Optional: Seed the Gitian sources cache and offline git repositories
 
22
    cd /path/to/your/toplevel/build
 
23
    git clone https://github.com/bitcoin-core/gitian.sigs.git
 
24
    git clone https://github.com/bitcoin-core/bitcoin-detached-sigs.git
 
25
    git clone https://github.com/devrandom/gitian-builder.git
 
26
    git clone https://github.com/bitcoin/bitcoin.git
 
27
 
 
28
### Bitcoin maintainers/release engineers, update version in sources
 
29
 
 
30
Update the following:
 
31
 
 
32
- `configure.ac`:
 
33
    - `_CLIENT_VERSION_MAJOR`
 
34
    - `_CLIENT_VERSION_MINOR`
 
35
    - `_CLIENT_VERSION_REVISION`
 
36
    - Don't forget to set `_CLIENT_VERSION_IS_RELEASE` to `true`
 
37
- `src/clientversion.h`: (this mirrors `configure.ac` - see issue #3539)
 
38
    - `CLIENT_VERSION_MAJOR`
 
39
    - `CLIENT_VERSION_MINOR`
 
40
    - `CLIENT_VERSION_REVISION`
 
41
    - Don't forget to set `CLIENT_VERSION_IS_RELEASE` to `true`
 
42
- `doc/README.md` and `doc/README_windows.txt`
 
43
- `doc/Doxyfile`: `PROJECT_NUMBER` contains the full version
 
44
- `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
 
45
 
 
46
Write release notes. git shortlog helps a lot, for example:
 
47
 
 
48
    git shortlog --no-merges v(current version, e.g. 0.7.2)..v(new version, e.g. 0.8.0)
 
49
 
 
50
(or ping @wumpus on IRC, he has specific tooling to generate the list of merged pulls
 
51
and sort them into categories based on labels)
 
52
 
 
53
Generate list of authors:
 
54
 
 
55
    git log --format='%aN' "$*" | sort -ui | sed -e 's/^/- /'
 
56
 
 
57
Tag version (or release candidate) in git
 
58
 
 
59
    git tag -s v(new version, e.g. 0.8.0)
 
60
 
 
61
### Setup and perform Gitian builds
 
62
 
 
63
Setup Gitian descriptors:
 
64
 
 
65
    pushd ./bitcoin
 
66
    export SIGNER=(your Gitian key, ie bluematt, sipa, etc)
 
67
    export VERSION=(new version, e.g. 0.8.0)
 
68
    git fetch
 
69
    git checkout v${VERSION}
 
70
    popd
 
71
 
 
72
Ensure your gitian.sigs are up-to-date if you wish to gverify your builds against other Gitian signatures.
 
73
 
 
74
    pushd ./gitian.sigs
 
75
    git pull
 
76
    popd
 
77
 
 
78
Ensure gitian-builder is up-to-date:
 
79
 
 
80
    pushd ./gitian-builder
 
81
    git pull
 
82
    popd
 
83
 
 
84
### Fetch and create inputs: (first time, or when dependency versions change)
 
85
 
 
86
    pushd ./gitian-builder
 
87
    mkdir -p inputs
 
88
    wget -P inputs https://bitcoincore.org/cfields/osslsigncode-Backports-to-1.7.1.patch
 
89
    wget -P inputs http://downloads.sourceforge.net/project/osslsigncode/osslsigncode/osslsigncode-1.7.1.tar.gz
 
90
    popd
 
91
 
 
92
Create the OS X SDK tarball, see the [OS X readme](README_osx.md) for details, and copy it into the inputs directory.
 
93
 
 
94
### Optional: Seed the Gitian sources cache and offline git repositories
77
95
 
78
96
By default, Gitian will fetch source files as needed. To cache them ahead of time:
79
97
 
80
 
        make -C ../bitcoin/depends download SOURCES_PATH=`pwd`/cache/common
 
98
    pushd ./gitian-builder
 
99
    make -C ../bitcoin/depends download SOURCES_PATH=`pwd`/cache/common
 
100
    popd
81
101
 
82
102
Only missing files will be fetched, so this is safe to re-run for each build.
83
103
 
84
104
NOTE: Offline builds must use the --url flag to ensure Gitian fetches only from local URLs. For example:
85
 
```
86
 
./bin/gbuild --url bitcoin=/path/to/bitcoin,signature=/path/to/sigs {rest of arguments}
87
 
```
 
105
 
 
106
    pushd ./gitian-builder
 
107
    ./bin/gbuild --url bitcoin=/path/to/bitcoin,signature=/path/to/sigs {rest of arguments}
 
108
    popd
 
109
 
88
110
The gbuild invocations below <b>DO NOT DO THIS</b> by default.
89
111
 
90
 
###Build and sign Bitcoin Core for Linux, Windows, and OS X:
 
112
### Build and sign Bitcoin Core for Linux, Windows, and OS X:
91
113
 
92
 
        ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
93
 
        ./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
 
114
    pushd ./gitian-builder
 
115
    ./bin/gbuild --memory 3000 --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
 
116
    ./bin/gsign --signer $SIGNER --release ${VERSION}-linux --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
94
117
    mv build/out/bitcoin-*.tar.gz build/out/src/bitcoin-*.tar.gz ../
95
118
 
96
 
        ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
97
 
        ./bin/gsign --signer $SIGNER --release ${VERSION}-win-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
 
119
    ./bin/gbuild --memory 3000 --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
 
120
    ./bin/gsign --signer $SIGNER --release ${VERSION}-win-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
98
121
    mv build/out/bitcoin-*-win-unsigned.tar.gz inputs/bitcoin-win-unsigned.tar.gz
99
122
    mv build/out/bitcoin-*.zip build/out/bitcoin-*.exe ../
100
123
 
101
 
        ./bin/gbuild --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
102
 
        ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
 
124
    ./bin/gbuild --memory 3000 --commit bitcoin=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
 
125
    ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-unsigned --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
103
126
    mv build/out/bitcoin-*-osx-unsigned.tar.gz inputs/bitcoin-osx-unsigned.tar.gz
104
127
    mv build/out/bitcoin-*.tar.gz build/out/bitcoin-*.dmg ../
105
 
 
106
 
  Build output expected:
107
 
 
108
 
  1. source tarball (bitcoin-${VERSION}.tar.gz)
109
 
  2. linux 32-bit and 64-bit dist tarballs (bitcoin-${VERSION}-linux[32|64].tar.gz)
110
 
  3. windows 32-bit and 64-bit unsigned installers and dist zips (bitcoin-${VERSION}-win[32|64]-setup-unsigned.exe, bitcoin-${VERSION}-win[32|64].zip)
111
 
  4. OS X unsigned installer and dist tarball (bitcoin-${VERSION}-osx-unsigned.dmg, bitcoin-${VERSION}-osx64.tar.gz)
112
 
  5. Gitian signatures (in gitian.sigs/${VERSION}-<linux|{win,osx}-unsigned>/(your Gitian key)/
113
 
 
114
 
###Verify other gitian builders signatures to your own. (Optional)
115
 
 
116
 
  Add other gitian builders keys to your gpg keyring
117
 
 
118
 
        gpg --import ../bitcoin/contrib/gitian-downloader/*.pgp
119
 
 
120
 
  Verify the signatures
121
 
 
122
 
        ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-linux ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
123
 
        ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-win-unsigned ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
124
 
        ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-osx-unsigned ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
125
 
 
126
 
        popd
127
 
 
128
 
###Next steps:
 
128
    popd
 
129
 
 
130
Build output expected:
 
131
 
 
132
  1. source tarball (`bitcoin-${VERSION}.tar.gz`)
 
133
  2. linux 32-bit and 64-bit dist tarballs (`bitcoin-${VERSION}-linux[32|64].tar.gz`)
 
134
  3. windows 32-bit and 64-bit unsigned installers and dist zips (`bitcoin-${VERSION}-win[32|64]-setup-unsigned.exe`, `bitcoin-${VERSION}-win[32|64].zip`)
 
135
  4. OS X unsigned installer and dist tarball (`bitcoin-${VERSION}-osx-unsigned.dmg`, `bitcoin-${VERSION}-osx64.tar.gz`)
 
136
  5. Gitian signatures (in `gitian.sigs/${VERSION}-<linux|{win,osx}-unsigned>/(your Gitian key)/`)
 
137
 
 
138
### Verify other gitian builders signatures to your own. (Optional)
 
139
 
 
140
Add other gitian builders keys to your gpg keyring
 
141
 
 
142
    gpg --import bitcoin/contrib/gitian-keys/*.pgp
 
143
 
 
144
Verify the signatures
 
145
 
 
146
    pushd ./gitian-builder
 
147
    ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-linux ../bitcoin/contrib/gitian-descriptors/gitian-linux.yml
 
148
    ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-win-unsigned ../bitcoin/contrib/gitian-descriptors/gitian-win.yml
 
149
    ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-osx-unsigned ../bitcoin/contrib/gitian-descriptors/gitian-osx.yml
 
150
    popd
 
151
 
 
152
### Next steps:
129
153
 
130
154
Commit your signature to gitian.sigs:
131
155
 
132
 
        pushd gitian.sigs
133
 
        git add ${VERSION}-linux/${SIGNER}
134
 
        git add ${VERSION}-win-unsigned/${SIGNER}
135
 
        git add ${VERSION}-osx-unsigned/${SIGNER}
136
 
        git commit -a
137
 
        git push  # Assuming you can push to the gitian.sigs tree
138
 
        popd
139
 
 
140
 
  Wait for Windows/OS X detached signatures:
141
 
        Once the Windows/OS X builds each have 3 matching signatures, they will be signed with their respective release keys.
142
 
        Detached signatures will then be committed to the [bitcoin-detached-sigs](https://github.com/bitcoin/bitcoin-detached-sigs) repository, which can be combined with the unsigned apps to create signed binaries.
143
 
 
144
 
  Create (and optionally verify) the signed OS X binary:
145
 
 
146
 
        pushd ./gitian-builder
147
 
        ./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
148
 
        ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
149
 
        ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-osx-signed ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
150
 
        mv build/out/bitcoin-osx-signed.dmg ../bitcoin-${VERSION}-osx.dmg
151
 
        popd
152
 
 
153
 
  Create (and optionally verify) the signed Windows binaries:
154
 
 
155
 
        pushd ./gitian-builder
156
 
        ./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
157
 
        ./bin/gsign --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
158
 
        ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-win-signed ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
159
 
        mv build/out/bitcoin-*win64-setup.exe ../bitcoin-${VERSION}-win64-setup.exe
160
 
        mv build/out/bitcoin-*win32-setup.exe ../bitcoin-${VERSION}-win32-setup.exe
161
 
        popd
 
156
    pushd gitian.sigs
 
157
    git add ${VERSION}-linux/${SIGNER}
 
158
    git add ${VERSION}-win-unsigned/${SIGNER}
 
159
    git add ${VERSION}-osx-unsigned/${SIGNER}
 
160
    git commit -a
 
161
    git push  # Assuming you can push to the gitian.sigs tree
 
162
    popd
 
163
 
 
164
Wait for Windows/OS X detached signatures:
 
165
 
 
166
- Once the Windows/OS X builds each have 3 matching signatures, they will be signed with their respective release keys.
 
167
- Detached signatures will then be committed to the [bitcoin-detached-sigs](https://github.com/bitcoin-core/bitcoin-detached-sigs) repository, which can be combined with the unsigned apps to create signed binaries.
 
168
 
 
169
Create (and optionally verify) the signed OS X binary:
 
170
 
 
171
    pushd ./gitian-builder
 
172
    ./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
 
173
    ./bin/gsign --signer $SIGNER --release ${VERSION}-osx-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
 
174
    ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-osx-signed ../bitcoin/contrib/gitian-descriptors/gitian-osx-signer.yml
 
175
    mv build/out/bitcoin-osx-signed.dmg ../bitcoin-${VERSION}-osx.dmg
 
176
    popd
 
177
 
 
178
Create (and optionally verify) the signed Windows binaries:
 
179
 
 
180
    pushd ./gitian-builder
 
181
    ./bin/gbuild -i --commit signature=v${VERSION} ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
 
182
    ./bin/gsign --signer $SIGNER --release ${VERSION}-win-signed --destination ../gitian.sigs/ ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
 
183
    ./bin/gverify -v -d ../gitian.sigs/ -r ${VERSION}-win-signed ../bitcoin/contrib/gitian-descriptors/gitian-win-signer.yml
 
184
    mv build/out/bitcoin-*win64-setup.exe ../bitcoin-${VERSION}-win64-setup.exe
 
185
    mv build/out/bitcoin-*win32-setup.exe ../bitcoin-${VERSION}-win32-setup.exe
 
186
    popd
162
187
 
163
188
Commit your signature for the signed OS X/Windows binaries:
164
189
 
165
 
        pushd gitian.sigs
166
 
        git add ${VERSION}-osx-signed/${SIGNER}
167
 
        git add ${VERSION}-win-signed/${SIGNER}
168
 
        git commit -a
169
 
        git push  # Assuming you can push to the gitian.sigs tree
170
 
        popd
171
 
 
172
 
-------------------------------------------------------------------------
 
190
    pushd gitian.sigs
 
191
    git add ${VERSION}-osx-signed/${SIGNER}
 
192
    git add ${VERSION}-win-signed/${SIGNER}
 
193
    git commit -a
 
194
    git push  # Assuming you can push to the gitian.sigs tree
 
195
    popd
173
196
 
174
197
### After 3 or more people have gitian-built and their results match:
175
198
 
176
199
- Create `SHA256SUMS.asc` for the builds, and GPG-sign it:
 
200
 
177
201
```bash
178
202
sha256sum * > SHA256SUMS
 
203
```
 
204
 
 
205
The list of files should be:
 
206
```
 
207
bitcoin-${VERSION}-aarch64-linux-gnu.tar.gz
 
208
bitcoin-${VERSION}-arm-linux-gnueabihf.tar.gz
 
209
bitcoin-${VERSION}-i686-pc-linux-gnu.tar.gz
 
210
bitcoin-${VERSION}-x86_64-linux-gnu.tar.gz
 
211
bitcoin-${VERSION}-osx64.tar.gz
 
212
bitcoin-${VERSION}-osx.dmg
 
213
bitcoin-${VERSION}.tar.gz
 
214
bitcoin-${VERSION}-win32-setup.exe
 
215
bitcoin-${VERSION}-win32.zip
 
216
bitcoin-${VERSION}-win64-setup.exe
 
217
bitcoin-${VERSION}-win64.zip
 
218
```
 
219
The `*-debug*` files generated by the gitian build contain debug symbols
 
220
for troubleshooting by developers. It is assumed that anyone that is interested
 
221
in debugging can run gitian to generate the files for themselves. To avoid
 
222
end-user confusion about which file to pick, as well as save storage
 
223
space *do not upload these to the bitcoin.org server, nor put them in the torrent*.
 
224
 
 
225
- GPG-sign it, delete the unsigned file:
 
226
```
179
227
gpg --digest-algo sha256 --clearsign SHA256SUMS # outputs SHA256SUMS.asc
180
228
rm SHA256SUMS
181
229
```
185
233
- Upload zips and installers, as well as `SHA256SUMS.asc` from last step, to the bitcoin.org server
186
234
  into `/var/www/bin/bitcoin-core-${VERSION}`
187
235
 
 
236
- A `.torrent` will appear in the directory after a few minutes. Optionally help seed this torrent. To get the `magnet:` URI use:
 
237
```bash
 
238
transmission-show -m <torrent file>
 
239
```
 
240
Insert the magnet URI into the announcement sent to mailing lists. This permits
 
241
people without access to `bitcoin.org` to download the binary distribution.
 
242
Also put it into the `optional_magnetlink:` slot in the YAML file for
 
243
bitcoin.org (see below for bitcoin.org update instructions).
 
244
 
188
245
- Update bitcoin.org version
189
246
 
190
247
  - First, check to see if the Bitcoin.org maintainers have prepared a
202
259
 
203
260
- Announce the release:
204
261
 
205
 
  - Release sticky on bitcointalk: https://bitcointalk.org/index.php?board=1.0
206
 
 
207
 
  - Bitcoin-development mailing list
 
262
  - bitcoin-dev and bitcoin-core-dev mailing list
 
263
 
 
264
  - Bitcoin Core announcements list https://bitcoincore.org/en/list/announcements/join/
 
265
 
 
266
  - bitcoincore.org blog post
208
267
 
209
268
  - Update title of #bitcoin on Freenode IRC
210
269
 
211
 
  - Optionally reddit /r/Bitcoin, ... but this will usually sort out itself
212
 
 
213
 
- Notify BlueMatt so that he can start building [the PPAs](https://launchpad.net/~bitcoin/+archive/ubuntu/bitcoin)
214
 
 
215
 
- Add release notes for the new version to the directory `doc/release-notes` in git master
216
 
 
217
 
- Celebrate
 
270
  - Optionally twitter, reddit /r/Bitcoin, ... but this will usually sort out itself
 
271
 
 
272
  - Notify BlueMatt so that he can start building [the PPAs](https://launchpad.net/~bitcoin/+archive/ubuntu/bitcoin)
 
273
 
 
274
  - Add release notes for the new version to the directory `doc/release-notes` in git master
 
275
 
 
276
  - Celebrate