Software Update: Bitcoin Core 0.20.0

Spread the love

Blockchains and cryptocurrencies have now become an integral part of the news in whatever form. The founder of the technology and at the same time best known is Bitcoin. The Bitcoin network consists of several nodes† And to run a node, you can use Bitcoin Core, which is popularly known as the Satoshi client. The Core development team has released Bitcoin Core 0.20.0. The release notes look like this:

Notable changes

P2P and network changes – Removal of BIP61 reject network messages from Bitcoin Core

The -enablebip61 command line option to enable BIP61 has been removed. (#17004) This feature has been disabled by default since Bitcoin Core version 0.18.0. Nodes on the network can not generally be trusted to send valid messages (including reject messages), so this should only ever be used when connected to a trusted node.

The removal of BIP61 reject message support also has the following minor RPC and logging implications:

  • testmempoolaccept and sendrawtransaction no longer return the P2P reject code when a transaction is not accepted to the mempool. They still return the verbal reject reason.
  • Log messages that previously reported the reject code when a transaction was not accepted to the mempool now no longer report the reject code. The reason for rejection is still reported.

Updated RPCs

  • The RPCs which accept descriptors now accept the new sortedmulti(…) descriptor type which supports multisig scripts where the public keys are sorted lexicographically in the resulting script. (#17056)
  • The walletprocesspsbt and walletcreatefundedpsbt RPCs now include BIP32 derivation paths by default for public keys if we know them. This can be disabled by setting the bip32derivs parameter to false. (#17264)
  • The bumpfee RPC’s parameter totalFee, which was deprecated in 0.19, has been removed. (#18312)
  • The bumpfee RPC will return a PSBT when used with wallets that have private keys disabled. (#16373)
  • The getpeerinfo RPC now includes a mapped_as field to indicate the mapped Autonomous System used for diversifying peer selection. See the -asmap configuration option described below in New Settings. (#16702)
  • The createmultisig and addmultisigaddress RPCs now return an output script descriptor for the newly created address. (#18032)

Build System

  • OpenSSL is no longer used by Bitcoin Core. (#17265)
  • BIP70 support has been fully removed from Bitcoin Core. The –enable-bip70 option remains, but it will throw an error during configure. (#17165)
  • glibc 2.17 or greater is now required to run the release binaries. This retains compatibility with RHEL 7, CentOS 7, Debian 8 and Ubuntu 14.04 LTS. (#17538)
  • The source code archives that are provided with gitian builds no longer contain any autotools artifacts. Therefore, to build from such source, a user should run the ./autogen.sh script from the root of the unpacked archive. This implies that autotools and other required packages are installed on the user’s system. (#18331)

New settings

  • New rpcwhitelist and rpcwhitelistdefault configuration parameters allow giving certain RPC users permissions to only some RPC calls. (#12763)
  • A new -asmap configuration option has been added to diversify the node’s network connections by mapping IP addresses Autonomous System Numbers (ASNs) and then limiting the number of connections made to any single ASN. See issue #16599, PR #16702, and the bitcoind help for more information. This option is experimental and subject to removal or breaking changes in future releases, so the legacy /16 prefix mapping of IP addresses remains the default. (#16702)

Updated settings

  • All custom settings configured when Bitcoin Core starts are now written to the debug.log file to assist troubleshooting. (#16115)
  • Importing blocks upon startup via the bootstrap.dat file no longer occurs by default. The file must now be specified with -loadblock=. (#17044)
  • The -debug=db logging category has been renamed to -debug=walletdb to distinguish it from coindb. The -debug=db option has been deprecated and will be removed in the next major release. (#17410)
  • The -walletnotify configuration parameter will now replace any %w in its argument with the name of the wallet generating the notification. This is not supported on Windows. (#13339)

Removed settings

  • The -whitelistforcerelay configuration parameter has been removed after it was discovered that it was rendered ineffective in version 0.13 and hasn’t actually been supported for almost four years. (#17985)

GUI changes

  • The “Start Bitcoin Core on system login” option has been removed on macOS. (#17567)
  • In the Peers window, the details for a peer now displays a Mapped AS field to indicate the mapped Autonomous System used for diversifying peer selection. See the -asmap configuration option in New Settings, above. (#18402)
  • A “known bug” announced in the release notes of version 0.18 has been fixed. The issue affected anyone who simultaneously used multiple Bitcoin Core wallets and the GUI coin control feature. (#18894)
  • For watch-only wallets, creating a new transaction in the Send screen or fee bumping an existing transaction in the Transactions screen will automatically copy a Partially-Signed Bitcoin Transaction (PSBT) to the system clipboard. This can then be pasted into an external program such as HWI for signing. Future versions of Bitcoin Core should support a GUI option for finalizing and broadcasting PSBTs, but for now the debug console may be used with the finalizepsbt and sendrawtransaction RPCs. (#16944, #17492)

wallet

  • The wallet now by default uses bech32 addresses when using RPC, and creates native segwit change outputs. (#16884)
  • The way that output trust was computed has been fixed, which affects confirmed/unconfirmed balance status and coin selection. (#16766)
  • The gettransaction, listtransactions and listssinceblock RPC responses now also include the height of the block that contains the wallet transaction, if any. (#17437)
  • The getaddressinfo RPC has had its label field deprecated (re-enable for this release using the configuration parameter -deprecatedrpc=label). The labels field is altered from returning JSON objects to returning a JSON array of label names (re-enable previous behavior for this release using the configuration parameter -deprecatedrpc=labelspurpose). Backwards compatibility using the deprecated configuration parameters is expected to be dropped in the 0.21 release. (#17585, #17578)

Documentation changes

  • Bitcoin Core’s automatically-generated source code documentation is now available at (#17596)

Version number 0.20.0
Release status Final
Operating systems Windows 7, Linux, macOS, Windows Server 2012, Windows 8, Windows 10, Windows Server 2016
Website Bitcoin Core
Download
License type Conditions (GNU/BSD/etc.)
You might also like