aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/release-notes-13152.md5
-rw-r--r--doc/release-notes-14023.md8
-rw-r--r--doc/release-notes-14282.md9
-rw-r--r--doc/release-notes-14296.md5
-rw-r--r--doc/release-notes-14454.md6
-rw-r--r--doc/release-notes-14468.md15
-rw-r--r--doc/release-notes-pr13381.md29
-rw-r--r--doc/release-notes.md140
8 files changed, 166 insertions, 51 deletions
diff --git a/doc/release-notes-13152.md b/doc/release-notes-13152.md
deleted file mode 100644
index ace56f4d1b..0000000000
--- a/doc/release-notes-13152.md
+++ /dev/null
@@ -1,5 +0,0 @@
-New RPC methods
-------------
-
-- `getnodeaddresses` returns peer addresses known to this node. It may be used to connect to nodes over TCP without using the DNS seeds.
-- `listwalletdir` returns a list of wallets in the wallet directory which is configured with `-walletdir` parameter.
diff --git a/doc/release-notes-14023.md b/doc/release-notes-14023.md
deleted file mode 100644
index 18ea6f26d0..0000000000
--- a/doc/release-notes-14023.md
+++ /dev/null
@@ -1,8 +0,0 @@
-Account API removed
--------------------
-
-The 'account' API was deprecated in v0.17 and has been fully removed in v0.18.
-The 'label' API was introduced in v0.17 as a replacement for accounts.
-
-See the release notes from v0.17 for a full description of the changes from the
-'account' API to the 'label' API.
diff --git a/doc/release-notes-14282.md b/doc/release-notes-14282.md
deleted file mode 100644
index 900ca04324..0000000000
--- a/doc/release-notes-14282.md
+++ /dev/null
@@ -1,9 +0,0 @@
-Low-level RPC changes
-----------------------
-
-`-usehd` was removed in version 0.16. From that version onwards, all new
-wallets created are hierarchical deterministic wallets. Version 0.18 makes
-specifying `-usehd` invalid config.
-
-`ischange` field of boolean type that shows if an address was used for change
-output was added to `getaddressinfo` method response.
diff --git a/doc/release-notes-14296.md b/doc/release-notes-14296.md
deleted file mode 100644
index f7c52baace..0000000000
--- a/doc/release-notes-14296.md
+++ /dev/null
@@ -1,5 +0,0 @@
-addwitnessaddress RPC method removed
-------------------------------------
-
-The `addwitnessaddress` RPC was added for segwit testing in version 0.13.0. It
-was deprecated in version 0.16.0. This version fully removes the RPC method.
diff --git a/doc/release-notes-14454.md b/doc/release-notes-14454.md
deleted file mode 100644
index dd2c6c7ced..0000000000
--- a/doc/release-notes-14454.md
+++ /dev/null
@@ -1,6 +0,0 @@
-Low-level RPC changes
-----------------------
-
-The `importmulti` RPC has been updated to support P2WSH, P2WPKH, P2SH-P2WPKH,
-P2SH-P2WSH. Each request now accepts an additional `witnessscript` to be used
-for P2WSH or P2SH-P2WSH.
diff --git a/doc/release-notes-14468.md b/doc/release-notes-14468.md
deleted file mode 100644
index fb0243aba8..0000000000
--- a/doc/release-notes-14468.md
+++ /dev/null
@@ -1,15 +0,0 @@
-Wallet `generate` RPC method deprecated
----------------------------------------
-
-The wallet's `generate` RPC method has been deprecated and will be fully
-removed in v0.19.
-
-`generate` is only used for testing. The RPC call reaches across multiple
-subsystems (wallet and mining), so is deprecated to simplify the wallet-node
-interface. Projects that are using `generate` for testing purposes should
-transition to using the `generatetoaddress` call, which does not require or use
-the wallet component. Calling `generatetoaddress` with an address returned by
-`getnewaddress` gives the same functionality as the old `generate` method.
-
-To continue using `generate` in v0.18, restart bitcoind with the
-`-deprecatedrpc=generate` configuration.
diff --git a/doc/release-notes-pr13381.md b/doc/release-notes-pr13381.md
new file mode 100644
index 0000000000..75faad9906
--- /dev/null
+++ b/doc/release-notes-pr13381.md
@@ -0,0 +1,29 @@
+RPC importprivkey: new label behavior
+-------------------------------------
+
+Previously, `importprivkey` automatically added the default empty label
+("") to all addresses associated with the imported private key. Now it
+defaults to using any existing label for those addresses. For example:
+
+- Old behavior: you import a watch-only address with the label "cold
+ wallet". Later, you import the corresponding private key using the
+ default settings. The address's label is changed from "cold wallet"
+ to "".
+
+- New behavior: you import a watch-only address with the label "cold
+ wallet". Later, you import the corresponding private key using the
+ default settings. The address's label remains "cold wallet".
+
+In both the previous and current case, if you directly specify a label
+during the import, that label will override whatever previous label the
+addresses may have had. Also in both cases, if none of the addresses
+previously had a label, they will still receive the default empty label
+(""). Examples:
+
+- You import a watch-only address with the label "temporary". Later you
+ import the corresponding private key with the label "final". The
+ address's label will be changed to "final".
+
+- You use the default settings to import a private key for an address that
+ was not previously in the wallet. Its addresses will receive the default
+ empty label ("").
diff --git a/doc/release-notes.md b/doc/release-notes.md
index 2044a50098..f5c139e3f1 100644
--- a/doc/release-notes.md
+++ b/doc/release-notes.md
@@ -53,8 +53,14 @@ the Linux kernel, macOS 10.10+, and Windows 7 and newer (Windows XP is not suppo
Bitcoin Core should also work on most other Unix-like systems but is not
frequently tested on them.
-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.
+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
+macOS "dark mode" is activated.
+
+In addition to previously-supported CPU platforms, this release's
+pre-compiled distribution also provides binaries for the RISC-V
+platform.
Notable changes
===============
@@ -69,9 +75,137 @@ nodes. The option will now by default be off for improved privacy and security
as well as reduced upload usage. The option can explicitly be turned on for
local-network debugging purposes.
-Example item
+Documentation
+-------------
+
+- A new short
+ [document](https://github.com/bitcoin/bitcoin/blob/master/doc/JSON-RPC-interface.md)
+ about the JSON-RPC interface describes cases where the results of an
+ RPC might contain inconsistencies between data sourced from different
+ subsystems, such as wallet state and mempool state. A note is added
+ to the [REST interface documentation](https://github.com/bitcoin/bitcoin/blob/master/doc/REST-interface.md)
+ indicating that the same rules apply.
+
+- A new [document](https://github.com/bitcoin/bitcoin/blob/master/doc/bitcoin-conf.md)
+ about the `bitcoin.conf` file describes how to use it to configure
+ Bitcoin Core.
+
+- A new document introduces Bitcoin Core's BIP174
+ [Partially-Signed Bitcoin Transactions (PSBT)](https://github.com/bitcoin/bitcoin/blob/master/doc/psbt.md)
+ interface, which is used to allow multiple programs to collaboratively
+ work to create, sign, and broadcast new transactions. This is useful
+ for offline (cold storage) wallets, multisig wallets, coinjoin
+ implementations, and many other cases where two or more programs need
+ to interact to generate a complete transaction.
+
+- The [output script descriptor](https://github.com/bitcoin/bitcoin/blob/master/doc/descriptors.md)
+ documentation has been updated with information about new features in
+ this still-developing language for describing the output scripts that
+ a wallet or other program wants to receive notifications for, such as
+ which addresses it wants to know received payments. The language is
+ currently used in the `scantxoutset` RPC and is expected to be adapted
+ to other RPCs and to the underlying wallet structure.
+
+Build system changes
+--------------------
+
+- A new `--disable-bip70` option may be passed to `./configure` to
+ prevent Bitcoin-Qt from being built with support for the BIP70 payment
+ protocol or from linking libssl. As the payment protocol has exposed
+ Bitcoin Core to libssl vulnerabilities in the past, builders who don't
+ need BIP70 support are encouraged to use this option to reduce their
+ exposure to future vulnerabilities.
+
+Deprecated or removed RPCs
+--------------------------
+
+- The `signrawtransaction` RPC is removed after being deprecated and
+ hidden behind a special configuration option in version 0.17.0.
+
+- The 'account' API is removed after being deprecated in v0.17. The
+ 'label' API was introduced in v0.17 as a replacement for accounts.
+ 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)
+ for a full description of the changes from the 'account' API to the
+ 'label' API.
+
+- The `addwitnessaddress` RPC is removed after being deprecated in
+ version 0.13.0.
+
+- The wallet's `generate` RPC method is deprecated and will be fully
+ removed in a subsequent major version. This RPC is only used for
+ testing, but its implementation reached across multiple subsystems
+ (wallet and mining), so it is being deprecated to simplify the
+ wallet-node interface. Projects that are using `generate` for testing
+ purposes should transition to using the `generatetoaddress` RPC, which
+ does not require or use the wallet component. Calling
+ `generatetoaddress` with an address returned by the `getnewaddress`
+ RPC gives the same functionality as the old `generate` RPC. To
+ continue using `generate` in this version, restart bitcoind with the
+ `-deprecatedrpc=generate` configuration option.
+
+New RPCs
+--------
+
+- A new `getnodeaddresses` RPC returns peer addresses known to this
+ node. It may be used to find nodes to connect to without using a DNS
+ seeder.
+
+- A new `listwalletdir` RPC returns a list of wallets in the wallet
+ directory (either the default wallet directory or the directory
+ configured by the `-walletdir` parameter).
+
+Updated RPCs
------------
+Note: some low-level RPC changes mainly useful for testing are described
+in the Low-level Changes section below.
+
+- The `getpeerinfo` RPC now returns an additional "minfeefilter" field
+ set to the peer's BIP133 fee filter. You can use this to detect that
+ you have peers that are willing to accept transactions below the
+ default minimum relay fee.
+
+- The mempool RPCs, such as `getrawmempool` with `verbose=true`, now
+ return an additional "bip125-replaceable" value indicating whether the
+ transaction (or its unconfirmed ancestors) opts-in to asking nodes and
+ miners to replace it with a higher-feerate transaction spending any of
+ the same inputs.
+
+- The `settxfee` RPC previously silently ignored attempts to set the fee
+ below the allowed minimums. It now prints a warning. The special
+ value of "0" may still be used to request the minimum value.
+
+- The `getaddressinfo` RPC now provides an `ischange` field indicating
+ whether the wallet used the address in a change output.
+
+- The `importmulti` RPC has been updated to support P2WSH, P2WPKH,
+ P2SH-P2WPKH, and P2SH-P2WSH. Requests for P2WSH and P2SH-P2WSH accept
+ an additional `witnessscript` parameter.
+
+Low-level changes
+=================
+
+RPC
+---
+
+- The `submitblock` RPC previously returned the reason a rejected block
+ was invalid the first time it processed that block but returned a
+ generic "duplicate" rejection message on subsequent occasions it
+ processed the same block. It now always returns the fundamental
+ reason for rejecting an invalid block and only returns "duplicate" for
+ valid blocks it has already accepted.
+
+- A new `submitheader` RPC allows submitting block headers independently
+ from their block. This is likely only useful for testing.
+
+Configuration
+-------------
+
+- The `-usehd` configuration option was removed in version 0.16. From
+ that version onwards, all new wallets created are hierarchical
+ deterministic wallets. This release makes specifying `-usehd` an
+ invalid configuration option.
+
Credits
=======