|
|
|
|
@@ -24,39 +24,28 @@ shut down (which might take a few minutes for older versions), then run the
|
|
|
|
|
installer (on Windows) or just copy over `/Applications/Bitcoin-Qt` (on Mac)
|
|
|
|
|
or `bitcoind`/`bitcoin-qt` (on Linux).
|
|
|
|
|
|
|
|
|
|
The first time you run version 0.15.0, your chainstate database will be converted to a
|
|
|
|
|
new format, which will take anywhere from a few minutes to half an hour,
|
|
|
|
|
depending on the speed of your machine.
|
|
|
|
|
The first time you run version 0.15.0 or newer, your chainstate database
|
|
|
|
|
will be converted to a new format, which will take anywhere from a few minutes
|
|
|
|
|
to half an hour, depending on the speed of your machine.
|
|
|
|
|
|
|
|
|
|
Note that the block database format also changed in version 0.8.0 and there is no
|
|
|
|
|
automatic upgrade code from before version 0.8 to version 0.15.0. Upgrading
|
|
|
|
|
directly from 0.7.x and earlier without redownloading the blockchain is not supported.
|
|
|
|
|
However, as usual, old wallet versions are still supported.
|
|
|
|
|
|
|
|
|
|
Downgrading warning
|
|
|
|
|
-------------------
|
|
|
|
|
|
|
|
|
|
The chainstate database for this release is not compatible with previous
|
|
|
|
|
releases, so if you run 0.15 and then decide to switch back to any
|
|
|
|
|
older version, you will need to run the old release with the `-reindex-chainstate`
|
|
|
|
|
option to rebuild the chainstate data structures in the old format.
|
|
|
|
|
|
|
|
|
|
If your node has pruning enabled, this will entail re-downloading and
|
|
|
|
|
processing the entire blockchain.
|
|
|
|
|
|
|
|
|
|
Compatibility
|
|
|
|
|
==============
|
|
|
|
|
|
|
|
|
|
Bitcoin Core is supported and extensively tested on operating systems using
|
|
|
|
|
the Linux kernel, macOS 10.10+, and Windows 7 and newer. It is not recommended
|
|
|
|
|
the Linux kernel, macOS 10.10+, and Windows 7 and newer. It is not recommended
|
|
|
|
|
to use Bitcoin Core on unsupported systems.
|
|
|
|
|
|
|
|
|
|
Bitcoin Core should also work on most other Unix-like systems but is not
|
|
|
|
|
frequently tested on them.
|
|
|
|
|
as frequently tested on them.
|
|
|
|
|
|
|
|
|
|
From 0.17.0 onwards, macOS <10.10 is no longer supported. 0.17.0 is
|
|
|
|
|
From 0.17.0 onwards, macOS <10.10 is no longer supported. 0.17.0 is
|
|
|
|
|
built using Qt 5.9.x, which doesn't support versions of macOS older than
|
|
|
|
|
10.10. Additionally, Bitcoin Core does not yet change appearance when
|
|
|
|
|
10.10. Additionally, Bitcoin Core does not yet change appearance when
|
|
|
|
|
macOS "dark mode" is activated.
|
|
|
|
|
|
|
|
|
|
In addition to previously-supported CPU platforms, this release's
|
|
|
|
|
@@ -207,6 +196,9 @@ New RPCs
|
|
|
|
|
moment, it returns an array of the currently active commands and how
|
|
|
|
|
long they've been running.
|
|
|
|
|
|
|
|
|
|
- `deriveaddresses` returns one or more addresses corresponding to an
|
|
|
|
|
[output descriptor](/doc/descriptors.md).
|
|
|
|
|
|
|
|
|
|
Updated RPCs
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
@@ -275,6 +267,23 @@ in the Low-level Changes section below.
|
|
|
|
|
- The `unloadwallet` RPC is now synchronous, meaning it will not return
|
|
|
|
|
until the wallet is fully unloaded.
|
|
|
|
|
|
|
|
|
|
- The `importmulti` RPC now supports importing of addresses from descriptors. A
|
|
|
|
|
"desc" parameter can be provided instead of the "scriptPubKey" in a request, as
|
|
|
|
|
well as an optional range for ranged descriptors to specify the start and end
|
|
|
|
|
of the range to import. More information about descriptors can be found
|
|
|
|
|
[here](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md).
|
|
|
|
|
|
|
|
|
|
- The `listunspent` RPC has been modified so that it also returns `witnessScript`,
|
|
|
|
|
the witness script in the case of a P2WSH or P2SH-P2WSH output.
|
|
|
|
|
|
|
|
|
|
- The RPC `createwallet` now has an optional `blank` argument that can be used
|
|
|
|
|
to create a blank wallet. Blank wallets do not have any keys or HD seed.
|
|
|
|
|
They cannot be opened in software older than 0.18. Once a blank wallet has a
|
|
|
|
|
HD seed set (by using `sethdseed`) or private keys, scripts, addresses, and
|
|
|
|
|
other watch only things have been imported, the wallet is no longer blank and
|
|
|
|
|
can be opened in 0.17.x. Encrypting a blank wallet will also set a HD seed
|
|
|
|
|
for it.
|
|
|
|
|
|
|
|
|
|
REST changes
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
@@ -305,7 +314,7 @@ Graphical User Interface (GUI)
|
|
|
|
|
sdk version)
|
|
|
|
|
|
|
|
|
|
Tools
|
|
|
|
|
----
|
|
|
|
|
-----
|
|
|
|
|
|
|
|
|
|
- A new `bitcoin-wallet` tool is now distributed alongside Bitcoin
|
|
|
|
|
Core's other executables. Without needing to use any RPCs, this tool
|
|
|
|
|
@@ -314,6 +323,14 @@ Tools
|
|
|
|
|
encrypted, whether it uses an HD seed, how many transactions it
|
|
|
|
|
contains, and how many address book entries it has.
|
|
|
|
|
|
|
|
|
|
Dependencies
|
|
|
|
|
------------
|
|
|
|
|
|
|
|
|
|
- The minimum required version of QT (when building the GUI) has been increased
|
|
|
|
|
from 5.2 to 5.5.1 (the [depends
|
|
|
|
|
system](https://github.com/bitcoin/bitcoin/blob/master/depends/README.md)
|
|
|
|
|
provides 5.9.7)
|
|
|
|
|
|
|
|
|
|
Low-level changes
|
|
|
|
|
=================
|
|
|
|
|
|
|
|
|
|
@@ -330,6 +347,19 @@ RPC
|
|
|
|
|
- A new `submitheader` RPC allows submitting block headers independently
|
|
|
|
|
from their block. This is likely only useful for testing.
|
|
|
|
|
|
|
|
|
|
- The `signrawtransactionwithkey` and `signrawtransactionwithwallet` RPCs have been
|
|
|
|
|
modified so that they also optionally accept a `witnessScript`, the witness script in the
|
|
|
|
|
case of a P2WSH or P2SH-P2WSH output. This is compatible with the change to `listunspent`.
|
|
|
|
|
|
|
|
|
|
- Descriptors with key origin information imported through `importmulti` will
|
|
|
|
|
have their key origin information stored in the wallet for use with creating
|
|
|
|
|
PSBTs.
|
|
|
|
|
|
|
|
|
|
- If `bip32derivs` of both `walletprocesspsbt` and `walletcreatefundedpsbt` is
|
|
|
|
|
set to true but the key metadata for a public key has not been updated yet,
|
|
|
|
|
then that key will have a derivation path as if it were just an independent
|
|
|
|
|
key (i.e. no derivation path and its master fingerprint is itself)
|
|
|
|
|
|
|
|
|
|
Configuration
|
|
|
|
|
-------------
|
|
|
|
|
|
|
|
|
|
@@ -354,6 +384,13 @@ Network
|
|
|
|
|
the `setban` RPC, all connections from that peer will still be
|
|
|
|
|
rejected.
|
|
|
|
|
|
|
|
|
|
Wallet
|
|
|
|
|
-------
|
|
|
|
|
|
|
|
|
|
- The key metadata will need to be upgraded the first time that the HD seed is
|
|
|
|
|
available. For unencrypted wallets this will occur on wallet loading. For
|
|
|
|
|
encrypted wallets this will occur the first time the wallet is unlocked.
|
|
|
|
|
|
|
|
|
|
Security
|
|
|
|
|
--------
|
|
|
|
|
|
|
|
|
|
|