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
Copy file name to clipboardExpand all lines: doc/release-notes.md
+75-4Lines changed: 75 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -62,6 +62,64 @@ distribution provides binaries for the RISC-V platform.
62
62
Notable changes
63
63
===============
64
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
+
65
123
Build System
66
124
------------
67
125
@@ -84,11 +142,10 @@ It can be set with two command line arguments (`rpcwhitelist` and `rpcwhitelistd
84
142
Updated settings
85
143
----------------
86
144
87
-
Updated RPCs
88
-
------------
145
+
Importing blocks upon startup via the `bootstrap.dat` file no longer occurs by default. The file must now be specified with `-loadblock=<file>`.
89
146
90
-
Note: some low-level RPC changes mainly useful for testing are described in the
91
-
Low-level Changes section below.
147
+
- The `-debug=db` logging category has been renamed to `-debug=walletdb`, to distinguish it from `coindb`.
148
+
`-debug=db` has been deprecated and will be removed in the next major release.
92
149
93
150
GUI changes
94
151
-----------
@@ -101,6 +158,20 @@ Wallet
101
158
- The wallet now by default uses bech32 addresses when using RPC, and creates native segwit change outputs.
102
159
- The way that output trust was computed has been fixed in #16766, which impacts confirmed/unconfirmed balance status and coin selection.
103
160
161
+
- The RPC gettransaction, listtransactions and listsinceblock responses now also
162
+
includes the height of the block that contains the wallet transaction, if any.
163
+
164
+
- RPC `getaddressinfo` changes:
165
+
166
+
- the `label` field has been deprecated in favor of the `labels` field and
167
+
will be removed in 0.21. It can be re-enabled in the interim by launching
168
+
with `-deprecatedrpc=label`.
169
+
170
+
- the `labels` behavior of returning an array of JSON objects containing name
171
+
and purpose key/value pairs has been deprecated in favor of an array of
172
+
label names and will be removed in 0.21. The previous behavior can be
173
+
re-enabled in the interim by launching with `-deprecatedrpc=labelspurpose`.
0 commit comments