Author: Wladimir J. van der Laan 2018-10-03 10:29:26
Published on: 2018-10-03T10:29:26+00:00
Bitcoin Core is a client software used to mine and operate with bitcoin. The latest version, 0.17.0, has been released for multiple operating systems and platforms. This version includes new features, performance improvements, and bug fixes. Some of the notable changes include the addition of a new RPC command called "assumesvalid" which allows nodes to skip verification of certain blocks, as well as the inclusion of a new wallet format called descriptors. The release also includes updates to the build instructions for OpenBSD 6.3 and FreeBSD, renaming "OS X" to "macOS", and clarifying mempool txiter as a const_iterator.The first time you run version 0.15.0 or newer, your chainstate database will be converted to a new format, which can take from few minutes to half an hour depending on the speed of your machine. Upgrading directly from 0.7.x and earlier without redownloading the blockchain is not supported. Bitcoin Core is extensively tested on multiple operating systems using the Linux kernel, macOS 10.10+, and Windows 7 and newer (Windows XP is not supported).The new release includes several changes such as dynamic loading and creation of wallets, a replacement for the deprecated 'account' API, support for including additional configuration files, and a new flag 'avoidpartialspends' to help users avoid partial spends that can hurt privacy due to linking otherwise separate addresses. Additionally, configuration sections for testnet and regtest have been added, and the wallet option '-wallet=' now accepts full paths instead of requiring wallets to be located in the -walletdir directory.Bitcoin Core v0.17 has deprecated account-related RPC methods, and they will be fully removed in v0.18. The label RPC methods have been introduced as a replacement for account functionality. Labels can now be set on any address, not just receiving addresses, and can be deleted by reassigning all addresses using the `setlabel` RPC method. However, labels do not have a balance, and there is no support for sending transactions from a label or determining which label a transaction was sent from.Bitcoin Core 0.19.0 has introduced several new RPCs and features, including PSBT-related RPCs such as `walletcreatefundedpsbt`, `walletprocesspsbt`, `finalizepsbt`, `combinepsbt` and `decodepsbt`. These RPCs provide a more flexible way to create, sign and broadcast transactions through Partially Signed Bitcoin Transactions (PSBT). Users can now create a PSBT using `walletcreatefundedpsbt`, add UTXO information using `walletprocesspsbt`, finalize any partial signatures using `finalizepsbt`, merge different versions of the same PSBT using `combinepsbt`, and diagnose information in a PSBT using `decodepsbt`.Bitcoin Core version 0.17.0 has a few minor improvements and bug fixes. The `signrawtransaction` is deprecated and will be removed in v0.18, while the `inactivehdmaster` property in the `dumpwallet` output has been corrected to `inactivehdseed`. Lastly, bare multisig outputs to our keys are no longer automatically treated as incoming payments unless they are explicitly watched, and the `validateaddress` RPC method has been deprecated and moved to `getaddressinfo`.The Bitcoin Core developers have released a new update, version 0.16.1, fixing more than 20 bugs and vulnerabilities in the software. The update includes fixes for CVE-2018-12356, a bug that affects Bitcoin Core's JSON-RPC interface, and CVE-2018-12357, a bug that can be exploited to crash the daemon. Among the other fixes, the update removes accounts from wallet_importprunedfunds.py, avoids read/write to default datadir, extracts rpc_timewait as test param, and adds emojis to test_runner path and wallet filename. Furthermore, the update includes miscellaneous contributions, such as replacing developer keys with PGP fingerprints, enabling automatic detection of undefined names in Python test scripts, and adding systemd service to bitcoind in Debian package.Lastly, there have been some low-level RPC changes. For example, the new RPC `scantxoutset` can be used to scan the UTXO set for entries that match certain output descriptors. The `createrawtransaction` RPC now accepts an array or dictionary for the `outputs` parameter, allowing clients to specify the order of transaction outputs. Support for Python 2 has been discontinued for all test files and tools. The change log also includes fixes for consensus, mining, block and transaction handling. The transaction index database will *not* be deleted automatically when switching from running `-txindex` to running without the flag. The release includes improved logging tools such as debug.log which provides anchor points for debugging p2p_sendheaders.
Updated on: 2023-05-20T17:55:36.511744+00:00