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
Now that 0.18 branch has been split off, master is 0.18.99 (pre-0.19).
Also clean out release notes.
Tree-SHA512: ed5ca8bed37027aa852ba16f3f1e7fcd4ebaf74fa77a2a265cb33a9c710511019c577fae7a3b1e33259e245274d5cd4601d4774948396d0cf299b38ba634346a
interface, which is used to allow multiple programs to collaboratively
145
-
work to create, sign, and broadcast new transactions. This is useful
146
-
for offline (cold storage) wallets, multisig wallets, coinjoin
147
-
implementations, and many other cases where two or more programs need
148
-
to interact to generate a complete transaction.
149
-
150
-
- The [output script descriptor](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md)
151
-
documentation has been updated with information about new features in
152
-
this still-developing language for describing the output scripts that
153
-
a wallet or other program wants to receive notifications for, such as
154
-
which addresses it wants to know received payments. The language is
155
-
currently used in the `scantxoutset` RPC and is expected to be adapted
156
-
to other RPCs and to the underlying wallet structure.
157
-
158
-
Build system changes
159
-
--------------------
160
-
161
-
- A new `--disable-bip70` option may be passed to `./configure` to
162
-
prevent Bitcoin-Qt from being built with support for the BIP70 payment
163
-
protocol or from linking libssl. As the payment protocol has exposed
164
-
Bitcoin Core to libssl vulnerabilities in the past, builders who don't
165
-
need BIP70 support are encouraged to use this option to reduce their
166
-
exposure to future vulnerabilities.
167
-
168
-
Deprecated or removed RPCs
169
-
--------------------------
170
-
171
-
- The `signrawtransaction` RPC is removed after being deprecated and
172
-
hidden behind a special configuration option in version 0.17.0.
173
-
174
-
- The 'account' API is removed after being deprecated in v0.17. The
175
-
'label' API was introduced in v0.17 as a replacement for accounts.
176
-
See the [release notes from v0.17](https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.17.0.md#label-and-account-apis-for-wallet)
177
-
for a full description of the changes from the 'account' API to the
178
-
'label' API.
179
-
180
-
- The `addwitnessaddress` RPC is removed after being deprecated in
181
-
version 0.13.0.
182
-
183
-
- The wallet's `generate` RPC method is deprecated and will be fully
184
-
removed in a subsequent major version. This RPC is only used for
185
-
testing, but its implementation reached across multiple subsystems
186
-
(wallet and mining), so it is being deprecated to simplify the
187
-
wallet-node interface. Projects that are using `generate` for testing
188
-
purposes should transition to using the `generatetoaddress` RPC, which
189
-
does not require or use the wallet component. Calling
190
-
`generatetoaddress` with an address returned by the `getnewaddress`
191
-
RPC gives the same functionality as the old `generate` RPC. To
192
-
continue using `generate` in this version, restart bitcoind with the
193
-
`-deprecatedrpc=generate` configuration option.
194
-
195
-
New RPCs
196
-
--------
197
-
198
-
- The `getnodeaddresses` RPC returns peer addresses known to this
199
-
node. It may be used to find nodes to connect to without using a DNS
200
-
seeder.
201
-
202
-
- The `listwalletdir` RPC returns a list of wallets in the wallet
203
-
directory (either the default wallet directory or the directory
204
-
configured by the `-walletdir` parameter).
205
-
206
-
- The `getrpcinfo` returns runtime details of the RPC server. At the
207
-
moment, it returns an array of the currently active commands and how
208
-
long they've been running.
209
-
210
-
Updated RPCs
211
-
------------
212
-
213
-
Note: some low-level RPC changes mainly useful for testing are described
214
-
in the Low-level Changes section below.
215
-
216
-
- The `getpeerinfo` RPC now returns an additional `minfeefilter` field
217
-
set to the peer's BIP133 fee filter. You can use this to detect that
218
-
you have peers that are willing to accept transactions below the
219
-
default minimum relay fee.
220
-
221
-
- The mempool RPCs, such as `getrawmempool` with `verbose=true`, now
222
-
return an additional "bip125-replaceable" value indicating whether the
223
-
transaction (or its unconfirmed ancestors) opts-in to asking nodes and
224
-
miners to replace it with a higher-feerate transaction spending any of
225
-
the same inputs.
226
-
227
-
- The `settxfee` RPC previously silently ignored attempts to set the fee
228
-
below the allowed minimums. It now prints a warning. The special
229
-
value of "0" may still be used to request the minimum value.
230
-
231
-
- The `getaddressinfo` RPC now provides an `ischange` field indicating
232
-
whether the wallet used the address in a change output.
233
-
234
-
- The `importmulti` RPC has been updated to support P2WSH, P2WPKH,
235
-
P2SH-P2WPKH, and P2SH-P2WSH. Requests for P2WSH and P2SH-P2WSH accept
236
-
an additional `witnessscript` parameter.
237
-
238
-
- The `importmulti` RPC now returns an additional `warnings` field for
239
-
each request with an array of strings explaining when fields are being
240
-
ignored or are inconsistent, if there are any.
241
-
242
-
- The `getaddressinfo` RPC now returns an additional `solvable` boolean
243
-
field when Bitcoin Core knows enough about the address's scriptPubKey,
244
-
optional redeemScript, and optional witnessScript in order for the
245
-
wallet to be able to generate an unsigned input spending funds sent to
246
-
that address.
247
-
248
-
- The `getaddressinfo`, `listunspent`, and `scantxoutset` RPCs now
249
-
return an additional `desc` field that contains an output descriptor
250
-
containing all key paths and signing information for the address
251
-
(except for the private key). The `desc` field is only returned for
252
-
`getaddressinfo` and `listunspent` when the address is solvable.
253
-
254
-
- The `importprivkey` RPC will preserve previously-set labels for
255
-
addresses or public keys corresponding to the private key being
256
-
imported. For example, if you imported a watch-only address with the
257
-
label "cold wallet" in earlier releases of Bitcoin Core, subsequently
258
-
importing the private key would default to resetting the address's
259
-
label to the default empty-string label (""). In this release, the
260
-
previous label of "cold wallet" will be retained. If you optionally
261
-
specify any label besides the default when calling `importprivkey`,
262
-
the new label will be applied to the address.
263
-
264
-
- See the [Mining](#mining) section for changes to `getblocktemplate`.
265
-
266
-
- The `getmininginfo` RPC now omits `currentblockweight` and `currentblocktx`
267
-
when a block was never assembled via RPC on this node.
268
-
269
-
- The `getrawtransaction` RPC & REST endpoints no longer check the
270
-
unspent UTXO set for a transaction. The remaining behaviors are as
271
-
follows: 1. If a blockhash is provided, check the corresponding block.
272
-
2. If no blockhash is provided, check the mempool. 3. If no blockhash
273
-
is provided but txindex is enabled, also check txindex.
274
-
275
-
- The `unloadwallet` RPC is now synchronous, meaning it will not return
276
-
until the wallet is fully unloaded.
277
-
278
-
REST changes
69
+
Example item
279
70
------------
280
71
281
-
- A new `/rest/blockhashbyheight/` endpoint is added for fetching the
282
-
hash of the block in the current best blockchain based on its height
283
-
(how many blocks it is after the Genesis Block).
284
-
285
-
Graphical User Interface (GUI)
286
-
------------------------------
287
-
288
-
- A new Window menu is added alongside the existing File, Settings, and
289
-
Help menus. Several items from the other menus that opened new
290
-
windows have been moved to this new Window menu.
291
-
292
-
- In the Send tab, the checkbox for "pay only the required fee"
293
-
has been removed. Instead, the user can simply decrease the value in
294
-
the Custom Feerate field all the way down to the node's configured
295
-
minimum relay fee.
296
-
297
-
- In the Overview tab, the watch-only balance will be the only
298
-
balance shown if the wallet was created using the `createwallet` RPC
299
-
and the `disable_private_keys` parameter was set to true.
300
-
301
-
- The launch-on-startup option is no longer available on macOS if
302
-
compiled with macosx min version greater than 10.11 (use
303
-
CXXFLAGS="-mmacosx-version-min=10.11"
304
-
CFLAGS="-mmacosx-version-min=10.11" for setting the deployment
305
-
sdk version)
306
-
307
-
Tools
308
-
----
309
-
310
-
- A new `bitcoin-wallet` tool is now distributed alongside Bitcoin
311
-
Core's other executables. Without needing to use any RPCs, this tool
312
-
can currently create a new wallet file or display some basic
313
-
information about an existing wallet, such as whether the wallet is
314
-
encrypted, whether it uses an HD seed, how many transactions it
315
-
contains, and how many address book entries it has.
316
72
317
73
Low-level changes
318
74
=================
319
75
320
-
RPC
321
-
---
322
-
323
-
- The `submitblock` RPC previously returned the reason a rejected block
324
-
was invalid the first time it processed that block but returned a
325
-
generic "duplicate" rejection message on subsequent occasions it
326
-
processed the same block. It now always returns the fundamental
327
-
reason for rejecting an invalid block and only returns "duplicate" for
328
-
valid blocks it has already accepted.
329
-
330
-
- A new `submitheader` RPC allows submitting block headers independently
331
-
from their block. This is likely only useful for testing.
332
-
333
-
Configuration
334
-
-------------
335
-
336
-
- The `-usehd` configuration option was removed in version 0.16. From
337
-
that version onwards, all new wallets created are hierarchical
338
-
deterministic wallets. This release makes specifying `-usehd` an
339
-
invalid configuration option.
340
-
341
-
Network
342
-
-------
343
-
344
-
- This release allows peers that your node automatically disconnected
345
-
for misbehavior (e.g. sending invalid data) to reconnect to your node
346
-
if you have unused incoming connection slots. If your slots fill up,
347
-
a misbehaving node will be disconnected to make room for nodes without
348
-
a history of problems (unless the misbehaving node helps your node in
349
-
some other way, such as by connecting to a part of the Internet from
350
-
which you don't have many other peers). Previously, Bitcoin Core
351
-
banned the IP addresses of misbehaving peers for a period of time
352
-
(default of 1 day); this was easily circumvented by attackers with
353
-
multiple IP addresses. If you manually ban a peer, such as by using
354
-
the `setban` RPC, all connections from that peer will still be
355
-
rejected.
356
-
357
-
Security
358
-
--------
359
-
360
-
- This release changes the Random Number Generator (RNG) used from
361
-
OpenSSL to Bitcoin Core's own implementation, although entropy
362
-
gathered by Bitcoin Core is fed out to OpenSSL and then read back in
363
-
when the program needs strong randomness. This moves Bitcoin Core a
364
-
little closer to no longer needing to depend on OpenSSL, a dependency
365
-
that has caused security issues in the past.
366
-
367
-
Changes for particular platforms
368
-
--------------------------------
369
-
370
-
- On macOS, Bitcoin Core now opts out of application CPU throttling
371
-
("app nap") during initial blockchain download, when catching up from
372
-
over 100 blocks behind the current chain tip, or when reindexing chain
373
-
data. This helps prevent these operations from taking an excessively
374
-
long time because the operating system is attempting to conserve
0 commit comments