|
1 |
| -*After branching off for a major version release of Bitcoin Core, use this |
2 |
| -template to create the initial release notes draft.* |
| 1 | +Please edit the release notes here: |
3 | 2 |
|
4 |
| -*The release notes draft is a temporary file that can be added to by anyone. See |
5 |
| -[/doc/developer-notes.md#release-notes](/doc/developer-notes.md#release-notes) |
6 |
| -for the process.* |
7 |
| - |
8 |
| -*Create the draft, named* "*version* Release Notes Draft" |
9 |
| -*(e.g. "0.20.0 Release Notes Draft"), as a collaborative wiki in:* |
10 |
| - |
11 |
| -https://github.com/bitcoin-core/bitcoin-devwiki/wiki/ |
| 3 | +https://github.com/bitcoin-core/bitcoin-devwiki/wiki/0.20.0-Release-Notes-Draft |
12 | 4 |
|
13 | 5 | *Before the final release, move the notes back to this git repository.*
|
14 |
| - |
15 |
| -*version* Release Notes Draft |
16 |
| -=============================== |
17 |
| - |
18 |
| -Bitcoin Core version *version* is now available from: |
19 |
| - |
20 |
| - <https://bitcoincore.org/bin/bitcoin-core-*version*/> |
21 |
| - |
22 |
| -This release includes new features, various bug fixes and performance |
23 |
| -improvements, as well as updated translations. |
24 |
| - |
25 |
| -Please report bugs using the issue tracker at GitHub: |
26 |
| - |
27 |
| - <https://github.com/bitcoin/bitcoin/issues> |
28 |
| - |
29 |
| -To receive security and update notifications, please subscribe to: |
30 |
| - |
31 |
| - <https://bitcoincore.org/en/list/announcements/join/> |
32 |
| - |
33 |
| -How to Upgrade |
34 |
| -============== |
35 |
| - |
36 |
| -If you are running an older version, shut it down. Wait until it has completely |
37 |
| -shut down (which might take a few minutes for older versions), then run the |
38 |
| -installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac) |
39 |
| -or `bitcoind`/`bitcoin-qt` (on Linux). |
40 |
| - |
41 |
| -Upgrading directly from a version of Bitcoin Core that has reached its EOL is |
42 |
| -possible, but it might take some time if the datadir needs to be migrated. Old |
43 |
| -wallet versions of Bitcoin Core are generally supported. |
44 |
| - |
45 |
| -Compatibility |
46 |
| -============== |
47 |
| - |
48 |
| -Bitcoin Core is supported and extensively tested on operating systems using |
49 |
| -the Linux kernel, macOS 10.12+, and Windows 7 and newer. It is not recommended |
50 |
| -to use Bitcoin Core on unsupported systems. |
51 |
| - |
52 |
| -Bitcoin Core should also work on most other Unix-like systems but is not |
53 |
| -as frequently tested on them. |
54 |
| - |
55 |
| -From Bitcoin Core 0.20.0 onwards, macOS versions earlier than 10.12 are no |
56 |
| -longer supported. Additionally, Bitcoin Core does not yet change appearance |
57 |
| -when macOS "dark mode" is activated. |
58 |
| - |
59 |
| -In addition to previously supported CPU platforms, this release's pre-compiled |
60 |
| -distribution provides binaries for the RISC-V platform. |
61 |
| - |
62 |
| -Notable changes |
63 |
| -=============== |
64 |
| - |
65 |
| -P2P and network changes |
66 |
| ------------------------ |
67 |
| - |
68 |
| -#### Removal of reject network messages from Bitcoin Core (BIP61) |
69 |
| - |
70 |
| -The command line option to enable BIP61 (`-enablebip61`) has been removed. |
71 |
| - |
72 |
| -This feature has been disabled by default since Bitcoin Core version 0.18.0. |
73 |
| -Nodes on the network can not generally be trusted to send valid ("reject") |
74 |
| -messages, so this should only ever be used when connected to a trusted node. |
75 |
| -Please use the recommended alternatives if you rely on this deprecated feature: |
76 |
| - |
77 |
| -* Testing or debugging of implementations of the Bitcoin P2P network protocol |
78 |
| - should be done by inspecting the log messages that are produced by a recent |
79 |
| - version of Bitcoin Core. Bitcoin Core logs debug messages |
80 |
| - (`-debug=<category>`) to a stream (`-printtoconsole`) or to a file |
81 |
| - (`-debuglogfile=<debug.log>`). |
82 |
| - |
83 |
| -* Testing the validity of a block can be achieved by specific RPCs: |
84 |
| - - `submitblock` |
85 |
| - - `getblocktemplate` with `'mode'` set to `'proposal'` for blocks with |
86 |
| - potentially invalid POW |
87 |
| - |
88 |
| -* Testing the validity of a transaction can be achieved by specific RPCs: |
89 |
| - - `sendrawtransaction` |
90 |
| - - `testmempoolaccept` |
91 |
| - |
92 |
| -* Wallets should not use the absence of "reject" messages to indicate a |
93 |
| - transaction has propagated the network, nor should wallets use "reject" |
94 |
| - messages to set transaction fees. Wallets should rather use fee estimation |
95 |
| - to determine transaction fees and set replace-by-fee if desired. Thus, they |
96 |
| - could wait until the transaction has confirmed (taking into account the fee |
97 |
| - target they set (compare the RPC `estimatesmartfee`)) or listen for the |
98 |
| - transaction announcement by other network peers to check for propagation. |
99 |
| - |
100 |
| -The removal of BIP61 REJECT message support also has the following minor RPC |
101 |
| -and logging implications: |
102 |
| - |
103 |
| -* `testmempoolaccept` and `sendrawtransaction` no longer return the P2P REJECT |
104 |
| - code when a transaction is not accepted to the mempool. They still return the |
105 |
| - verbal reject reason. |
106 |
| - |
107 |
| -* Log messages that previously reported the REJECT code when a transaction was |
108 |
| - not accepted to the mempool now no longer report the REJECT code. The reason |
109 |
| - for rejection is still reported. |
110 |
| - |
111 |
| -Updated RPCs |
112 |
| ------------- |
113 |
| - |
114 |
| -- `testmempoolaccept` and `sendrawtransaction` no longer return the P2P REJECT |
115 |
| - code when a transaction is not accepted to the mempool. See the Section |
116 |
| - _Removal of reject network messages from Bitcoin Core (BIP61)_ for details on |
117 |
| - the removal of BIP61 REJECT message support. |
118 |
| - |
119 |
| -- A new descriptor type `sortedmulti(...)` has been added to support multisig scripts where the public keys are sorted lexicographically in the resulting script. |
120 |
| - |
121 |
| -- `walletprocesspsbt` and `walletcreatefundedpsbt` now include BIP 32 derivation paths by default for public keys if we know them. This can be disabled by setting `bip32derivs` to `false`. |
122 |
| - |
123 |
| -Build System |
124 |
| ------------- |
125 |
| - |
126 |
| -- OpenSSL is no longer used by Bitcoin Core. The last usage of the library |
127 |
| -was removed in #17265. |
128 |
| - |
129 |
| -- glibc 2.17 or greater is now required to run the release binaries. This |
130 |
| -retains compatibility with RHEL 7, CentOS 7, Debian 8 and Ubuntu 14.04 LTS. |
131 |
| -Further details can be found in #17538. |
132 |
| - |
133 |
| -New RPCs |
134 |
| --------- |
135 |
| - |
136 |
| -New settings |
137 |
| ------------- |
138 |
| - |
139 |
| -- RPC Whitelist system. It can give certain RPC users permissions to only some RPC calls. |
140 |
| -It can be set with two command line arguments (`rpcwhitelist` and `rpcwhitelistdefault`). (#12763) |
141 |
| - |
142 |
| -- A new `-asmap` configuration option has been added to enable IP-to-ASN mapping |
143 |
| - for bucketing of the network peers to diversify the network connections. The |
144 |
| - legacy /16 prefix mapping remains the default. See [issue |
145 |
| - #16599](https://github.com/bitcoin/bitcoin/issues/16599), [PR |
146 |
| - #16702](https://github.com/bitcoin/bitcoin/pull/16702), and the `bitcoind |
147 |
| - help` for more information. This option is experimental and subject to changes |
148 |
| - or removal in future releases. |
149 |
| - |
150 |
| -Updated settings |
151 |
| ----------------- |
152 |
| - |
153 |
| -Importing blocks upon startup via the `bootstrap.dat` file no longer occurs by default. The file must now be specified with `-loadblock=<file>`. |
154 |
| - |
155 |
| -- The `-debug=db` logging category has been renamed to `-debug=walletdb`, to distinguish it from `coindb`. |
156 |
| - `-debug=db` has been deprecated and will be removed in the next major release. |
157 |
| - |
158 |
| -GUI changes |
159 |
| ------------ |
160 |
| - |
161 |
| -- The "Start Bitcoin Core on system login" option has been removed on macOS. |
162 |
| - |
163 |
| -Wallet |
164 |
| ------- |
165 |
| - |
166 |
| -- The wallet now by default uses bech32 addresses when using RPC, and creates native segwit change outputs. |
167 |
| -- The way that output trust was computed has been fixed in #16766, which impacts confirmed/unconfirmed balance status and coin selection. |
168 |
| - |
169 |
| -- The RPC gettransaction, listtransactions and listsinceblock responses now also |
170 |
| -includes the height of the block that contains the wallet transaction, if any. |
171 |
| - |
172 |
| -- RPC `getaddressinfo` changes: |
173 |
| - |
174 |
| - - the `label` field has been deprecated in favor of the `labels` field and |
175 |
| - will be removed in 0.21. It can be re-enabled in the interim by launching |
176 |
| - with `-deprecatedrpc=label`. |
177 |
| - |
178 |
| - - the `labels` behavior of returning an array of JSON objects containing name |
179 |
| - and purpose key/value pairs has been deprecated in favor of an array of |
180 |
| - label names and will be removed in 0.21. The previous behavior can be |
181 |
| - re-enabled in the interim by launching with `-deprecatedrpc=labelspurpose`. |
182 |
| - |
183 |
| -Low-level changes |
184 |
| -================= |
185 |
| - |
186 |
| -Command line |
187 |
| ------------- |
188 |
| - |
189 |
| -Command line options prefixed with main/test/regtest network names like |
190 |
| -`-main.port=8333` `-test.server=1` previously were allowed but ignored. Now |
191 |
| -they trigger "Invalid parameter" errors on startup. |
192 |
| - |
193 |
| -Tests |
194 |
| ------ |
195 |
| - |
196 |
| -- It is now an error to use an unqualified `walletdir=path` setting in the config file if running on testnet or regtest |
197 |
| - networks. The setting now needs to be qualified as `chain.walletdir=path` or placed in the appropriate `[chain]` |
198 |
| - section. (#17447) |
199 |
| - |
200 |
| -- `-fallbackfee` was 0 (disabled) by default for the main chain, but 0.0002 by default for the test chains. Now it is 0 |
201 |
| - by default for all chains. Testnet and regtest users will have to add `fallbackfee=0.0002` to their configuration if |
202 |
| - they weren't setting it and they want it to keep working like before. (#16524) |
203 |
| - |
204 |
| -Credits |
205 |
| -======= |
206 |
| - |
207 |
| -Thanks to everyone who directly contributed to this release: |
208 |
| - |
209 |
| - |
210 |
| -As well as to everyone that helped with translations on |
211 |
| -[Transifex](https://www.transifex.com/bitcoin/bitcoin/). |
0 commit comments