0.18.1
P2P protocol and network code
- Add tests and documentation for blocksonly
- Avoid logging transaction decode errors to stderr
- fix: tor: Call `event_base_loopbreak` from the event's callback
- Make poll in InterruptibleRecv only filter for POLLIN events
Wallet
- Add -ignorepartialspends to list of ignored wallet options
RPC and other APIs
- Bugfix: fix pruneblockchain returned prune height
- Document iswitness flag and fix bug in converttopsbt
- Ensure that uncompressed public keys in a multisig always returns a legacy address
- Disallow extended encoding for non-witness transactions
- add 2nd arg to signrawtransactionwithkey examples
- signrawtransactionwithkey: report error when missing redeemScript/witnessScript
GUI
- fix the bug of OPEN CONFIGURATION FILE on Mac
- Show "No wallets available" in open menu instead of nothing
- Enable open wallet menu on setWalletController
- Set progressDialog to nullptr
- Fix open wallet menu initialization order
- Set `AA_EnableHighDpiScaling` attribute early
- Enable console line edit on setClientModel
- Assert QMetaObject::invokeMethod result
Build system
- Add test for GCC bug 90348
- Install bitcoin-wallet manpage
- build with -fstack-reuse=none
Tests and QA
- Pure python EC
- Add test for superfluous witness record in deserialization
- Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions
- Add test that addmultisigaddress fails for watchonly addresses
Documentation
- Remove text about txes always relayed from -whitelist
Miscellaneous
- Catch by reference not value in wallettool
- Replace fprintf with tfm::format
Among the changes, support was removed for Qt 4.
Due to issues with my local setup, this could not be tested with Qt 5 enabled
(currently not the default).
From the release notes for version 0.16.2:
Wallet
* #13622 c04a4a5 Remove mapRequest tracking that just effects Qt display. (TheBlueMatt)
* #12905 cfc6f74 [rpcwallet] Clamp walletpassphrase value at 100M seconds (sdaftuar)
* #13437 ed82e71 wallet: Erase wtxOrderd wtx pointer on removeprunedfunds (MarcoFalke)
RPC and other APIs
* #13451 cbd2f70 rpc: expose CBlockIndex::nTx in getblock(header) (instagibbs)
* #13507 f7401c8 RPC: Fix parameter count check for importpubkey (kristapsk)
* #13452 6b9dc8c rpc: have verifytxoutproof check the number of txns in proof structure (instagibbs)
* #12837 bf1f150 rpc: fix type mistmatch in listreceivedbyaddress (joemphilips)
* #12743 657dfc5 Fix csBestBlock/cvBlockChange waiting in rpc/mining (sipa)
GUI
* #12432 f78e7f6 [qt] send: Clear All also resets coin control options (Sjors)
* #12617 21dd512 gui: Show messages as text not html (laanwj)
* #12793 cf6feb7 qt: Avoid reseting on resetguisettigs=0 (MarcoFalke)
Build system
* #13544 9fd3e00 depends: Update Qt download url (fanquake)
* #12573 88d1a64 Fix compilation when compiler do not support __builtin_clz* (532479301)
Tests and QA
* #13061 170b309 Make tests pass after 2020 (bmwiedemann)
* #13192 79c4fff [tests] Fixed intermittent failure in p2p_sendheaders.py (lmanners)
* #13300 d9c5630 qa: Initialize lockstack to prevent null pointer deref (MarcoFalke)
* #13545 e15e3a9 tests: Fix test case streams_serializedata_xor Remove Boost dependency. (practicalswift)
* #13304 cbdabef qa: Fix wallet_listreceivedby race (MarcoFalke)
Miscellaneous
* #12887 2291774 Add newlines to end of log messages (jnewbery)
* #12859 18b0c69 Bugfix: Include for std::unique_ptr (luke-jr)
* #13131 ce8aa54 Add Windows shutdown handler (ken2812221)
* #13652 20461fc rpc: Fix that CWallet::AbandonTransaction would leave the grandchildren, etc. active (Empact)
From the release notes for version 0.16.3:
Consensus
* #14249 696b936 Fix crash bug with duplicate inputs within a transaction (TheBlueMatt, sdaftuar)
RPC and other APIs
* #13547 212ef1f Make signrawtransaction* give an error when amount is needed but missing (ajtowns)
Miscellaneous
* #13655 1cdbea7 bitcoinconsensus: invalid flags error should be set to bitcoinconsensus_err (afk11)
Documentation
* #1384411b9dbb correct the help output for -prune (hebasto)
This also fixes a denial-of-service vulnerability (CVE-2018-17144). It is
exploitable by miners and has been discovered in Bitcoin Core versions 0.14.0
up to 0.16.2. It is recommended to upgrade any of the vulnerable versions to
0.16.3 as soon as possible.
XXX pull-up (security fix)
Bitcoin is a decentralized P2P electronic cash system without a central
server or trusted parties. Users hold the crypto keys to their own money
and transact directly with each other, with the help of the network to
check for double-spending.