Bitcoin Core 0.20.0 released



Summary:

Bitcoin Core version 0.20.0 has been released with new features, bug fixes, and performance improvements. The release notes provide instructions on how to upgrade for older versions. Compatibility details are also provided specifying that Bitcoin Core is supported on Linux kernel operating systems, macOS 10.12+, and Windows 7 and newer. However, it is not recommended to use Bitcoin Core on unsupported systems.Known bugs are highlighted such as the absence of the generated ‘configure’ script which must be installed by running autotools and the need for users to run ‘BITCOIN_GENBUILD_NO_GIT=1 make’ instead of ‘make’ when building directly from a version of Bitcoin Core that has reached its EOL.Notable changes in this release include P2P and network changes, updated RPCs, build system updates, new settings, GUI changes, wallet changes, and documentation changes. For instance, the removal of BIP61 reject network messages from Bitcoin Core, updated RPCs, and new configuration parameters have been added to give certain RPC users permissions to only some RPC calls. Additionally, the wallet now by default uses bech32 addresses when using RPC and creates native segwit change outputs.Furthermore, Bitcoin Core's automatically-generated source code documentation is now available at https://doxygen.bitcoincore.org. The release notes also specify that OpenSSL is no longer used by Bitcoin Core and that BIP70 support has been fully removed from Bitcoin Core. Moreover, 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.The release notes also highlight the new `-asmap` configuration option that 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. Additionally, all custom settings configured when Bitcoin Core starts are now written to the `debug.log` file to assist troubleshooting. Finally, users are advised to report bugs using the issue tracker at GitHub and to subscribe to security and update notifications.Bitcoin Core version 0.20.0 brings a host of new updates for miners, with changes to block and transaction handling, P2P protocol and network code, wallet, RPCs and other APIs. The `bitcoin-cli` utility now accepts a `-stdinwalletpassphrase` parameter that can be used when calling the `walletpassphrase` and `walletpassphrasechange` RPCs to read the passphrase from standard input without echoing it to the terminal.Command line options prefixed with main/test/regtest network names are no longer allowed and now trigger "Invalid parameter" errors on startup. The `dumptxoutset` RPC outputs a serialized snapshot of the current UTXO set and a script is provided in the `contrib/devtools` directory for generating a snapshot of the UTXO set at a particular block height. The `generatetodescriptor` RPC allows testers using regtest mode to generate blocks that pay an arbitrary output script descriptor.The `verifychain` RPC default values are now static instead of depending on the command line options or configuration file. The `getblockchaininfo` RPC's `verificationprogress` field will no longer report values higher than 1. Tests have been improved, making it an error to use an unqualified `walletdir=path` setting in the config file if running on testnet or regtest networks. The build system now supports building with the Android Native Development Kit (NDK).In mining, there have been several changes to block and transaction handling such as introducing O(1) `OP_IF/NOTIF/ELSE/ENDIF` script implementation, removing REJECT code from CValidationState, and avoiding allocating memory for addrKnown where it is unnecessary. Several improvements have also been made to the P2P protocol and network code, including supplying and using asmap to improve IP bucketing in addrman, learning related scripts only if KeepDestination, and using a rolling bloom filter of recent block txs for AlreadyHave() check.The wallet has also seen many changes such as replacing %w by wallet name in -walletnotify script, making IsTrusted scan parents recursively, changing default address type to bech32, and removing deprecated fee bumping by totalFee. Improvements have been made to RPC and other APIs such as adding the RPC Whitelist Feature, exposing block height of wallet transactions, outputting a descriptor in createmultisig and addmultisigaddress, and updating validateaddress RPCExamples to bech32.Bitcoin Core has released version 0.20.1, which includes a list of changes and fixes that can be found on their website.


Updated on: 2023-06-14T02:09:19.769544+00:00