File vertcoin.changes of Package vertcoin

-------------------------------------------------------------------
Mon Oct 02 09:59:12 UTC 2023 - marec@detebe.org

- Update to version 23.2.0:
  * doc: update release notes for 23.2
  * doc: update manual pages for 23.2
  * build: bump version to 23.2
  * debian: vertcoin logo is public domain
  * doc: update release notes for 23.2rc1
  * doc: update manual pages for 23.2rc1
  * build: bump version to 23.2rc1
  * update nMinimumChainWork, defaultAssumeValid, chainTxData
  * vtc: don't build tests
  * vtc: guix builds linux using -fPIE, windows using --disable-shared
  * Vertcoin Core branding
  * Seed files for Vertcoin Core
  * Vertcoin Core qt locale updates
  * rpc: Fix invalid bech32 handling
  * doc: update release notes for 23.2
  * doc: update manual pages for 23.2
  * build: bump version to 23.2 final
  * doc: add initial release notes for v23.2
  * doc: update manual pages for v23.2rc1
  * doc: update version in bips.md to v23.2
  * build: bump version to v23.2rc1
  * net_processing: Boost inv trickle rate
  * txmempool: have CompareDepthAndScore sort missing txs first
  * p2p: Avoid prematurely clearing download state for other peers
  * depends: fix compiling bdb with clang-16 on aarch64
  * bdb: disable Werror for format-security
  * build: suppress array-bounds errors in libxkbcommon
  * vtc: startup verification
  * vtc: Scrypt-N, Lyra2RE, Lyra2REv2, Lyra2REv3, Verthash PoW
  * depends: fix systemtap download URL
  * 23.x Add missing includes to fix gcc-13 compile error
  * Add missing includes to fix gcc-13 compile error
  * addrdb: Only call Serialize() once
  * hash: add HashedSourceWriter
  * ci: Use `macos-ventura-xcode:14.1` image for "macOS native" task
  * ci: Make `getopt` path architecture agnostic
  * ci: Improve naming related to "macOS 12 native x86_64" task
  * ci, refactor: Add `MACOS_NATIVE_TASK_TEMPLATE`
  * vtc: feerates, max money, versionbits
  * vtc: Kimoto Gravity Well (KGW) difficulty-readjustment algorithm
  * vtc: reduce getheaders spam by serializing getheaders requests per peer
  * vtc: ban nodes that keep requesting the same headers
  * vtc: use GMP for kimoto gravity well arithmetic
  * vtc: validation
  * vtc: chainparams
  * doc: update release notes for 23.1
  * doc: update manual pages for 23.1
  * build: bump version to 23.1 final
  * qt: 23.1rc2 translations update
  * doc: add release notes for 23.1rc2
  * doc: Update manual pages for 23.1rc2
  * build: Bump version to 23.1rc2
  * doc: add 23.0 relase notes
  * Fixes bitcoin#26490 by preventing notifications
  * guix: use --build={arch}-guix-linux-gnu in cross toolchain
  * qt: 23.1rc1 translations update
  * doc: update version number in bips.md to v23.1
  * doc: Update manual pages for 23.1rc1
  * build: Bump version to 23.1rc1
  * doc: mention BIP86 in doc/bips.md
  * rpc: add non-regression test about deriveaddresses crash when index is 2147483647
  * rpc: fix crash in deriveaddresses when derivation index is 2147483647
  * Adjust `.tx/config` for new Transifex CLI
  * doc: remove brew install sqlite from macOS docs
  * Revert "build: Use Homebrew's sqlite package if it is available"
  * Prevent data race for `pathHandlers`
  * Disallow encryption of watchonly wallets
  * build, qt: bump Qt5 version to 5.15.3
  * guix: patch NSIS to remove .reloc sections from install stubs
  * p2p: always set nTime for self-advertisements
  * tests: Use descriptor that requires both legacy and segwit
  * tests: Calculate input weight more accurately
  * windeploy: Renewed windows code signing certificate
  * test: ensure createmultisig and addmultisigaddress are not returning any warning for expected cases
  * rpc: fix inappropriate warning for address type p2sh-segwit in createmultisig and addmultisigaddress
  * rpc: Capture potentially large UniValue by ref for rpcdoccheck
  * doc: Update manual pages for 23.0
  * build: Bump to final
  * doc: Update manual pages for 23.0rc5
  * qt: 23.0rc5 translations update
  * build: Bump rc to 23.0rc5
  * guix: fix GCC 10.3.0 + mingw-w64 setjmp/longjmp issues
  * doc: Update manual pages for 23.0rc4
  * qt: 23.0rc4 translations update
  * build: Bump rc to 23.0rc4
  * RPC: Switch getblockfrompeer back to standard param name blockhash
  * Add DEBUG_LOCKCONTENTION documentation to the developer notes
  * Put lock logging behind DEBUG_LOCKCONTENTION preprocessor directive
  * build: Fix "ERR: Unsigned tarballs do not exist"
  * guix: fix vmov alignment issues with gcc 10.3.0 & mingw-w64
  * wallet: Postpone NotifyWalletLoaded() for encrypted wallets
  * wallet, refactor: Add wallet::NotifyWalletLoaded() function
  * doc: Update manual pages for 23.0rc3
  * qt: 23.0rc3 translations update
  * build: Bump rc to 23.0rc3
  * util: Add inotify_rm_watch to syscall sandbox (AllowFileSystem)
  * build: Fix Boost.Process test for Boost 1.78
  * build: Fix Boost.Process detection on macOS arm64
  * util: add linkat to syscall sandbox (AllowFileSystem)
  * contrib: fix signet miner (sighash mismatch)
  * rpc: Exclude descriptor when address is excluded
  * ci: Temporarily use clang-13 to work around clang-14 TSan bug
  * doc, init: add links to doc/cjdns.md
  * doc: update i2p.md with cjdns, improve local addresses section
  * doc: update tor.md with cjdns and getnodeaddresses, fix tor grep,
  * doc: create initial doc/cjdns.md for cjdns how-to documentation
  * Clarify in -maxtimeadjustment that only outbound peers influence time data
  * options: flip listenonion to false if not listening
  * doc, guix: Include arm64-apple-darwin into codesigned archs
  * gui: restore Send for external signer
  * refactor: helper function signWithExternalSigner()
  * move-only: helper function to present PSBT
  * doc: Drop a note about Intel-based Macs
  * guix: Use "win64" for Windows artifacts consistently
  * guix: Drop "-signed" suffix for signed macOS .dmg files
  * guix: Use $HOST instead of generic osx{64} for macOS artifacts
  * Update signapple for platform identifier fix
  * test: set segwit height back to 0 on regtest
  * rpc: rename getdeploymentinfo status-next to status_next
  * init, doc: improve -onlynet help and tor/i2p documentation
  * doc: Update manual pages for rc2
  * build: Bump to 23.0rc2
  * build, mac: Include arch in codesignature tarball
  * guix: use latest signapple
  * qt: Avoid crash on startup if int specified in settings.json
  * test: Add tests for GetArg methods / settings.json type coercion
  * guix: use same commit for codesigning time-machine
  * qt: Pull translations for 0.23rc1
  * doc: Generate manual pages for 23.0rc1
  * build: Bump version to 23.0rc1
  * net: only assume all local addresses if listening on any
  * net: fix GetListenPort() to derive the proper port
  * net: pass Span by value to CaptureMessage()
  * net: make CaptureMessage() mockable
  * timedata: rename variables to match the coding style
  * timedata: make it possible to reset the state
  * qt: Pre-branch translation updates for 23.x
  * fuzz: FuzzedFileProvider::write should not return negative value
  * doc: update maintainer list in REVIEWERS
  * Avoid implicit-integer-sign-change in bech32.cpp
  * test: Remove no longer needed suppressions
  * p2p: Avoid InitError when downgrading peers.dat
  * Update nMinimumChainWork, defaultAssumeValid for 23.x
  * Update chainTxData for 23.x
  * Update m_assumed_* chain parameters for 23.x
  * doc: Explain that feedback needs to be addressed
  * qt: English (source) translations update
  * Add missed word to error message
  * doc: Move peer-review paragraph to right section
  * doc: Add link to release-process.md in CONTRIBUTING.md
  * test: Fix intermittent Tsan issue
  * tests: Tests for inactive HD chains
  * tests: Test upgrading wallet with privkeys disabled
  * doc: Mention missing BIP157 in bips.md
  * doc: Update bips.md for 23.x
  * build: upgrade depends Boost to 1.77.0
  * lint: remove no-longer used exceptions from lint-format-strings.py
  * build: pass win32-dll to LT_INIT()
  * contrib: address gen-manpages feedback from #24263
  * Output license info when binaries are passed -version
  * refactor: shift CopyrightHolders() and LicenseInfo() to clientversion.cpp
  * net: Update hardcoded seeds for 23.x
  * contrib: make-seeds updates for 23.x
  * ci: Force `--enable-external-signer` to prevent future regressions
  * qt: Update translation source file
  * build: Fix Boost.Process check for Boost 1.73 and older
  * Replace "can not" with "cannot" in docs, user messages, and tests
  * test: Fix Wambiguous-reversed-operator compiler warnings
  * util: Add SaturatingAdd helper
  * cli: describe quality/recency filtering in -addrinfo
  * rpc: describe quality/recency filtering in getnodeaddresses
  * Use `GetAllOutputTypes` in `getblock` RPC function
  * doc: Rework generate* doc
  * Fixup style of VerifyDB
  * Avoid implicit-integer-sign-change in VerifyLoadedChainstate
  * wallet: Add external-signer-support specific error message
  * build: Fix a non-portable use of `test`
  * build, refactor: Replace tabs with spaces
  * test: Remove suppression no longer needed with headers-only Boost.Test
  * ci: use Ubuntu Jammy for Windows CI
  * tracing: misc follow-ups to 22902
  * build: remove boost dep from libmultiprocess
  * test: Run symlink regression tests on Windows
  * ci: add missing sqlite_cflags to MSAN fuzz job
  * ci: remove boost_cxxflags from MSAN CIs
  * Do not use `LocalTestingSetup` in getarg_tests test file.
  * Rename wallet-tool to bitcoin-wallet in code comment
  * Mention -signet in bitcoin-wallet help output
  * bench: Avoid deprecated use of volatile +=
  * util: Add missing rseq to syscall sandbox
  * build, qt: (Re-)sign package
  * build, qt: Align frameworks with macOS codesign tool requirements
  * User-facing content fixups from transifex translator feedback
  * test: Add functional test for symlinked blocks directory
  * test: Add fs_tests/create_directories unit test
  * util: Work around libstdc++ create_directories issue
  * wallet: Don't generate keys when privkeys disabled when upgrading
  * index: check muhash is in sync on coinstatsindex launch
  * index: remove txindex references from base index
  * doc: Fix typos
  * Improve -netinfo help based on feedback from users and devs
  * Add tr() descriptor unit tests
  * Bugfix: make ToPrivateString work with x-only keys
  * build: Point Guix to recent commit on the master branch
  * build: Fix gcc-cross-x86_64-w64-mingw32-10.3.0 in Guix
  * Primitives: Correct CTransaction deserialization docstring
  * fuzz: Split script formatting from script fuzz target
  * rpc: Fix implicit-integer-sign-change in verifychain
  * Bugfix: set x-only flag when inferring pk() inside tr()
  * Release process: fix broken link to Guix building docs
  * test: remove `import socket` in test_ipv6_local
  * Remove outdated comment on CFeeRate
  * build: Add Boost.Process usage check
  * build: correct depends FreeBSD C{XX}FLAGS
  * build: add NetBSD support to depends
  * util: Add missing unlinkat to syscall sandbox
  * test: Add fs_tests/rename unit test
  * util: Revert back MoveFileExW call for MinGW-w64
  * build: remove -f from clang cp invocation
  * build: remove unused include dir from clang package
  * Move `GetAllOutputTypes` function from `rpc/rawtransaction.cpp` to `rpc/util.{h|cpp}`
  * test: refactor: remove unneeded bytes<->hex conversions in `byte_to_base58`
  * [doc] package deduplication
  * [doc] clarify inaccurate comment about replacements paying higher feerate
  * [validation] look up transaction by txid
  * Print enable_fuzz_binary in configure
  * build: remove native B2 package
  * build: header-only Boost
  * build: use header-only Boost unit test
  * improved getcoins.py
  * release-process: Specify remote name in "git fetch"
  * scripted-diff: Rename ShowModalDialogAndDeleteOnClose
  * qt: Revert 7fa91e831227e556bd8a7ae3da64bd59d4f30d5f partially
  * qt: Delay shutdown while a modal dialog is active
  * qt: Disable tray icon menu when a modal dialog is active
  * qt, refactor: Use local QAction instances for the tray icon menu
  * qt: Override BitcoinApplication::event() to handle QEvent::Quit
  * refactor: Avoid unsigned integer overflow in core_write
  * net: remove unused CNetAddr::GetHash()
  * net: include the port when deciding a relay destination
  * net: add CServiceHash constructor so the caller can provide the salts
  * net: open p2p connections to nodes that listen on non-default ports
  * ci: Follow Cirrus CI docs
  * doc: cleanup doc on need of Developer Account to obtain macOS SDK
  * build: add support for OpenBSD to depends
  * build: add a default build tar in depends
  * Test that OP_1-OP_16 (but not lower/higher) start witness programs
  * util: use stronger-guarantee rename method
  * RPC: Return external_signer in getwalletinfo
  * test: Remove unused integer sanitizer suppressions
  * Add missing thread safety lock assertions in validation.h
  * Add missing thread safety lock assertions in validation.cpp
  * util: Drop no longer needed StripRedundantLastElementsOfPath() function
  * Use ArgsManager::GetPathArg() for "-walletdir" option
  * Use ArgsManager::GetPathArg() for "-blocksdir" option
  * Use ArgsManager::GetPathArg() for "-datadir" option
  * util: Add ArgsManager::GetPathArg() function
  * scripted-diff: Rename nReadPos to m_read_pos in streams.h
  * Make CDataStream work properly on 64-bit systems
  * streams: Fix read-past-the-end and integer overflows
  * fuzz: Avoid unsigned integer overflow in FormatParagraph
  * Fix unintended unsigned integer overflow in strencodings
  * Update doc to match new default wallet type
  * ci: Bump fuzz tasks to jammy
  * Revert "ci: Run fuzzer task for the master branch only"
  * qt, refactor: Drop BitcoinGUI::{send,receive}CoinsMenuAction members
  * qt: Make show_hide_action dependent on the main window actual state
  * qt: Drop BitcoinGUI::toggleHideAction member
  * qt, refactor: Fill up trayIconMenu before connections
  * qt, refactor: Replace BitcoinGUI::trayIconActivated with a lambda
  * qt, refactor: Replace BitcoinGUI::macosDockIconActivated with a lambda
  * build, refactor: Drop redundant `$(package)_download_file` assignments
  * test: Call ceildiv helper with integer
  * Fix integer sanitizer suppressions in validation.cpp
  * docs: Move explanation of hardened key syntax closer to KEY section
  * build: Fix `make deploy` for Windows when building out of source tree
  * build, refactor: Reuse expat package version in its download path
  * build, refactor: Use conventional version notation for boost package
  * util: Avoid buggy std::filesystem:::create_directories() call
  * Add bitcoin_config.h to build_msvc/.gitignore
  * doc: Swap gen-manpages and update RC steps in release process
  * doc: Fix gen-manpages, rewrite in Python
  * test: Remove unused valgrind suppressions
  * test: Exclude broken feature_init for now
  * test: Properly skip feature_syscall_sandbox in valgrind
  * Squashed 'src/minisketch/' changes from 89629eb2c7..7eeb778fef
  * bench: Represents paths with fs::path instead of std::string
  * Re-enable walletinit_verify_walletdir_no_trailing2 test disabled in #20744
  * Re-enable util_datadir check disabled in #20744
  * rpc/blockchain: rename getdeploymentinfo tip/active_chain_tip to blockindex
  * Remove broken and unused CDataStream methods
  * test: Create fresh CDataStream each time
  * test: Inline expected_xor
  * qt: Update source translations
  * init: Remove confusing '(possible integer overflow?)' from error message
  * qt: Update transifex resource blob to 23.0
  * build: remove Boost::system usage
  * build: remove boost::filesystem usage
  * refactor: replace boost::filesystem with std::filesystem
  * build: add support for std::filesystem
  * depends: fix capnp's descriptor for make download
  * doc: Install only "-posix" MinGW compiler when possible
  * ci: Drop no longer needed `update-alternatives`
  * build, qt: Specify QMAKE_CXX explicitly
  * build: remove unneeded getentropy detection (HAVE_GETENTROPY)
  * random: use arc4random on OpenBSD
  * test: Avoid testing negative block heights
  * validation: use stronger EXCLUSIVE_LOCKS_REQUIRED()
  * Fix unsigned integer overflow in LoadMempool
  * refactor: Fixup uint64_t-cast style in touched line
  * ci: Use dash when building depends in centos build
  * scripted-diff: Rename DOCKER_EXEC to CI_EXEC
  * ci: Bump CentOS 8 image
  * build: Replace `which` command with `command -v`
  * test: speedup interface_rest.py by whitelisting peers (immediate tx relay)
  * test: use MiniWallet for rest_interface.py
  * test: activate all index types in feature_init.py
  * index: Don't commit without valid m_best_block_index
  * Fix implicit-integer-sign-change in bloom
  * zmq: Fix implicit-integer-sign-change
  * Fix unsigned integer overflow in tapscript validation weight calculation
  * test: Fix feature_init intermittent issues
  * test: Remove random line number feature from feature_init.py
  * refactor: Make MessageBoxFlags enum underlying type unsigned
  * lint: add creat and ba into ignore-words for lint-spelling
  * doc: Fix typos pointed out by lint-spelling
  * Replace lock with thread safety annotation in CBlockTreeDB::LoadBlockIndexGuts()
  * Fix race condition for SetBannedSetDirty() calls
  * Avoid calling BanMan::SweepBanned() twice in a row
  * Fix data race condition in BanMan::DumpBanlist()
  * Prevent possible concurrent CBanDB::Write() calls
  * test: Repair failfast option for test runner
  * test: Fix sanitizer suppresions in streams_tests
  * Add optimized sha256d64_arm_shani::Transform_2way
  * Implement sha256_arm_shani::Transform
  * Add sha256_arm_shani to build system
  * Rename SHANI to X86_SHANI to allow future implementation of ARM_SHANI
  * rpc/blockchain: a constant craving
  * trivial: comment tweaks
  * rpc documentation improvements
  * doc: getdeploymentinfo release notes tweaks
  * doc: fix wording of alertnotify
  * style: wrap long lines in CNode creation and add some comments
  * scripted-diff: rename CNode::cs_hSocket to CNode::m_sock_mutex
  * net: use Sock in CNode
  * fuzz: Speed up script fuzz target
  * Extract CTxIn::MAX_SEQUENCE_NONFINAL constant
  * fs: consistently use fsbridge for fopen()
  * fs: add missing <cassert> include
  * fs: consistently use fsbridge for {i,o}fstream
  * p2p, contrib: update i2p hardcoded seeds
  * p2p, contrib: add cjdns hardcoded seeds
  * test: add combined CJDNS/I2P/localhost/onion eviction protection tests
  * test: add tests for inbound eviction protection of CJDNS peers
  * test: fix off-by-one logic in an eviction protection test
  * doc: add arm macOS depends platform triplet
  * guix: add arm64-apple-darwin triplet
  * guix: use autoconf 2.71
  * contrib: support arm64 darwin in security checks
  * build: use macOS 11 SDK (Xcode 12.2)
  * p2p: extend inbound eviction protection by network to CJDNS peers
  * transaction decoding infer output descriptors
  * Guard CBlockIndex::nStatus/nFile/nDataPos/nUndoPos by cs_main
  * Remove/inline ReadRawBlockFromDisk(block_data, pindex, message_start)
  * Require IsBlockPruned() to hold mutex cs_main
  * Require CBlockIndex::IsValid() to hold cs_main
  * Require CBlockIndex::RaiseValidity() to hold cs_main
  * Require CBlockIndex::IsAssumedValid() to hold cs_main
  * Require CBlockIndex::GetUndoPos() to hold mutex cs_main
  * Require WriteUndoDataForBlock() to hold mutex cs_main
  * Require CBlockIndex::GetBlockPos() to hold mutex cs_main
  * doc: Fix rpc docs
  * test: add functional test for `-maxtipage` parameter
  * test: remove unused sanitizer suppressions
  * build: Disable valgrind when building zeromq package in depends
  * build: Disable libbsd when building zeromq package in depends
  * build: Update netbsd_kevent_void.patch
  * Avoid integer sanitizer warnings in chain.o
  * Remove unused checkFinalTx
  * wallet: Avoid dropping confirmed coins
  * tests: Test specifying input weights
  * rpc, wallet: Allow users to specify input weights
  * wallet: Allow user specified input size to override
  * wallet: add input weights to CCoinControl
  * refactor: replace RecursiveMutex m_chainstate_mutex with Mutex
  * refactor: add negative TS annotations for `m_chainstate_mutex`
  * Avoid unsigned integer overflow in bitcoin-tx
  * gui: use available space to display "Last Transaction" in peer details
  * gui: add "Addresses Rate-Limited" (m_addr_rate_limited) to peer details
  * gui: add "Addresses Processed" (m_addr_processed) to peer details
  * gui: add "Address Relay" (m_addr_relay_enabled) to peer details
  * doc: Update the used Qt version
  * build: Fix xargs warnings for Guix builds
  * script: redirecting stderr to stdout before pipelining into grep
  * refactor: replace RecursiveMutex `m_addr_local_mutex` with Mutex
  * p2p: add assertions and negative TS annotations for m_addr_local_mutex
  * test, bugfix: fix intermittent failure in getrawtransaction_tests
  * refactor tests to fix ubsan suppressions
  * build: force CRCCheck in Windows installer
  * test: add more wallet conflicts assertions
  * scripted-diff: rename cs_addrLocal -> m_addr_local_mutex
  * guix: ignore additioanl failing certvalidator test
  * build: point to latest commit on the master branch
  * Optimize CHECKSIGADD Script Validation
  * fs: Make compatible with boost 1.78
  * scripted-diff: rename m_cs_chainstate -> m_chainstate_mutex
  * Run coin.IsSpent only once in a row
  * build: add FreeBSD support to depends
  * refactor: replace RecursiveMutex g_maplocalhost_mutex with Mutex
  * scripted-diff: rename cs_mapLocalHost -> g_maplocalhost_mutex
  * qt,refactor: Use std::chrono in TrafficGraphWidget class
  * util: Fix mis-swapped `prettyIndent` and `indentLevel` arguments
  * Replace `struct update_lock_points` with lambda
  * document and clean up MaybeUpdateMempoolForReorg
  * build: specify hosts for qrencode package
  * [unit test] package parents are a mix
  * [validation] better handle errors in SubmitPackage
  * AcceptPackage fixups
  * [unit test] different witness in package submission
  * [doc] more detailed explanation for deduplication
  * [packages] return DIFFERENT_WITNESS for same-txid-different-witness tx
  * Revert "Add to spends only transcations from me"
  * refactor: replace RecursiveMutex `m_subver_mutex` with Mutex
  * scripted-diff: rename `cs_SubVer` -> `m_subver_mutex`
  * net, refactor: Drop tautological local variables
  * scripted-diff: Rename CNetMessage::m_command with CNetMessage::m_type
  * build: disable external signer on Windows
  * wallet: Refactor TopUp to be able to top up inactive chains too
  * Release notes for getdeploymentinfo rpc
  * rpc: getdeploymentinfo: include signalling info
  * rpc: getdeploymentinfo: include block hash/height
  * rpc: getdeploymentinfo: change stats to always refer to current period
  * rpc: getdeploymentinfo: allow specifying a blockhash other than tip
  * rpc: move softfork info from getblockchaininfo to getdeploymentinfo
  * refactor: replace RecursiveMutex `m_callbacks_mutex` with Mutex
  * scripted-diff: rename `m_cs_callbacks_pending` -> `m_callbacks_mutex`
  * doc: Rework 14707 release notes
  * doc: move-only release note snippets
  * interfaces: Remove unused is_final
  * qt: Treat unconfirmed txs as unconfirmed
  * test: rest /tx with an invalid/unknown txid
  * test: use MiniWallet for mempool_accept.py
  * Fix implicit-integer-sign-change in arith_uint256
  * [net processing] Rename PoissonNextSendInbound to NextInvToInbounds
  * [net processing] Move PoissonNextSendInbound to PeerManager
  * scripted-diff: replace PoissonNextSend with GetExponentialRand
  * [refactor] Use uint64_t and std namespace in PoissonNextSend
  * [move] Move PoissonNextSend to src/random and update comment
  * block_connected: re-use previous GetTimeMicros
  * block_connected: don't serialize block hash twice
  * build: Improve error message when pkg-config is not installed
  * refactor, qt: Use std::chrono for input_filter_delay constant
  * util: Restore GetIntArg saturating behavior
  * build: Point Guix to the current top of the "version-1.4.0" branch
  * [bugfix] prevent UnicodeDecodeError errors when opening log file in feature_init.py
  * scripted-diff: Rename functions to drop mention of boost
  * test: MiniWallet: support default `from_node` for creating txs
  * test: create txs with current `nVersion` (2) by default
  * test: refactor: add constant for sequence number `SEQUENCE_FINAL`
  * log: Remove GetAdjustedTime from IBD header progress estimation
  * fuzz: non-addrman fuzz tests: override-able check ratio
  * fuzz: addrman fuzz tests: override-able check ratio
  * test: non-addrman unit tests: override-able check ratio
  * test: addrman unit tests: override-able check ratio
  * bench: put addrman check ratio in a variable
  * fuzz: parse the command line arguments in fuzz tests
  * test: parse the command line arguments in unit tests
  * Remove cs_main lock annotation from ChainstateManager.m_blockman
  * Change type of `backup_file` parameter in RestoreWallet/restoreWallet
  * refactor: Block unsafe std::string fs::path conversion copy_file calls
  * fuzz: Limit fuzzed time to years 2000-2100
  * refactor, qt: Add SHUTDOWN_POLLING_DELAY constant
  * refactor, qt: Use std::chrono for non-zero arguments in QTimer methods
  * refactor, qt: Use std::chrono in ConfirmMessage parameter
  * refactor, qt: Use std::chrono for MODEL_UPDATE_DELAY constant
  * Add FastRange32 function and use it throughout the codebase
  * refactor: add thread safety lock assertion to WriteBlockIndexDB()
  * Move CBlockFileInfo::ToString method where class is declared
  * Add src/wallet/* code to wallet:: namespace
  * Add src/node/* code to node:: namespace
  * test: set ban after mocking time
  * scripted-diff: rename MapIntoRange to FastRange64
  * [moveonly] Move MapIntoRange() to separate util/fastrange.h
  * ci: Clone entire bitcoin-core/qa-assets repo only when run fuzzing
  * build: rename --enable-ebpf to --enable-usdt
  * fuzz: move FuzzedSock earlier in src/test/fuzz/util.h
  * reviewers: add tracing
  * scripted-diff: Rename touched member variables
  * Make blockstorage globals private members of BlockManager
  * doc: Clarify nPruneAfterHeight for signet
  * test: Load genesis block to allow flush
  * Move blockstorage-related unload to BlockManager::Unload
  * move-only: Create WriteBlockIndexDB helper
  * Move functions to BlockManager
  * doc: Fix typo in LoadBlockIndex
  * doc: Fix typo in getmempoolinfo
  * guix: use upstream python-requests (2.26.0)
  * build: use python-asn1crypto from upstream
  * guix: use uptream nsis-x86_64
  * guix: use GCC 10 (over GCC 8) to build releases
  * test: wait rather than assert presence of file in startupnotify test
  * test: use MiniWallet for mining_basic.py
  * doc: Mark proprietary array optional
  * depends: Fix typo
  * refactor: Remove pointless and confusing shift in RelayAddress
  * scripts: add CONTROL_FLOW to ELF security checks
  * build: build x86_64 Linux Boost with -fcf-protection=full
  * script rename control flow check to MACHO specific
  * test: Bundle all integer sanitizer suppressions of dependencies
  * build: add systemtap's sys/sdt.h as depends
  * Refactor: Uses c++ init convention for time variables
  * Refactor: Changes remaining time variable type from int to chrono
  * build: patch depends zeromq to fix building on NetBSD Current
  * Update test/sanitizer_suppressions/lsan
  * test: Cover eviction by timeout in addrman_evictionworks
  * test: Add test for multiplicity in addrman new tables
  * test: run feature_pruning.py without wallet compiled
  * ci: Update Cirrus CI task name
  * scripts: make security checks architecture independent
  * doc: remove CC_FOR_BUILD from OpenBSD build doc
  * build, qt: No need to set inapplicable QPA backend for Android
  * zeromq 4.3.4
  * build: use host_os instead of TARGET_OS in configure output
  * doc: Update license year range to 2022
  * Fixup style of moved code
  * Move BlockManager to node/blockstorage
  * Remove unused char serialize
  * Use spans of std::byte in serialize
  * span: Add BytePtr helper
  * doc: Fix dumptxoutset RPC help doc
  * rpc: Use EnsureAnyArgsman in rpc/blockchain
  * rpc: Add EnsureArgsman helper
  * build: use a static .tiff for macOS .dmg over generating
  * doc: fix undo data filename (s/undo???.dat/rev???.dat/)
  * Change 'Show' icon
  * rpc: Quote user supplied descriptor in error msg
  * scripted-diff: Insert missed copyright headers
  * scripted-diff: Bump copyright headers
  * script: Fix copyright_header.py
  * tracing: correctly scope utxocache:flush tracepoint
  * ci: Enable the gui in the TSan build
  * build: Drop redundant AC_SUBST macros
  * build: Drop redundant check of PKG_CHECK_MODULES presence
  * test: check that bitcoin-tx detects missing input amount for segwit transactions
  * Require that input amount is provided for bitcoin-tx witness transactions
  * test: enable txindex in feature_init
  * test: feature_init: retain debug.log and improve detection
  * test: feature_init: tweak all .ldb files of a certain type
  * test: add TestNode.wait_for_debug_log
  * test: introduce TestNode.debug_log_bytes
  * test: Add test for updating addrman entries
  * test: introduce utility function to retrieve an addrman
  * test: Remove unused AddrManTest class
  * test: Remove tests for internal helper functions
  * test: use AddrMan instead of AddrManTest where possible
  * test: Inline SimConnFail function
  * test: delete unused GetBucketAndEntry function
  * test: Update addrman_serialization unit test to use AddrMan's interface
  * addrman: Introduce a test-only function to lookup addresses
  * Include patches for Guix
  * doc: Remove outdated scriptChange TODO comment
  * doc: Remove fixed TODO from wallet/feebumper
  * doc: testnet3 was not reset and is doing BIP30 checks again
  * doc: Remove TODO from block fuzz test
  * doc: Remove TODO comment in tx_verify
  * test: check ban_duration and time_remaining after setting ban
  * test: use MiniWallet for p2p_compactblocks.py
  * wallettool: Check that the dumpfile checksum is the correct size
  * test: use MiniWallet for rpc_scantxoutset.py
  * test: introduce `address_to_scriptpubkey` helper
  * test: introduce `getnewdestination` helper for generating various address types
  * build, qt: Hardcode last modified timestamp in Qt RCC
  * doc: Drop outdated note
  * rpc: use peer_id, block_hash for FetchBlock
  * rpc: more detailed errors for getblockfrompeer
  * rpc: turn already downloaded into error in getblockfrompeer
  * rpc: clarify getblockfrompeer behavior when called multiple times
  * refactor: drop redundant hash argument from FetchBlock
  * rpc: allow empty JSON object result
  * test: Add missing suppressions for crypto_diff_fuzz_chacha20.cpp
  * test: add functional test for -startupnotify
  * build: Fix regression introduced in PR23603
  * test: Fix pep8 of touched file
  * test: Fix rpc_scantxoutset intermittent issue
  * Fix Racy ParseOpCode function initialization
  * init: Use clang-tidy named args syntax
  * style-only: Rename *Chainstate return values
  * docs: Make LoadChainstate comment more accurate
  * node/chainstate: Use MAX_FUTURE_BLOCK_TIME
  * util: move MapIntoRange() for reuse in fuzz tests
  * ci: use GCC 8 when building packages in native_qt5 CI
  * [test] compare filter and header with the result of the getblockfilter RPC
  * [rest] drop superfluous rpc serializations flags for block filters
  * [rest] add a more verbose error message for invalid header counts
  * [refactor] various style fix-ups
  * test: check for invalid listtransactions RPC parameters
  * scripted-diff: Rename interfaces::WalletClient to interfaces::WalletLoader
  * doc: Fix -changetype help text
  * gui: address type dropdown, add bech32m
  * wallet: add taprootEnabled() to interface
  * scripted-diff: Rename libbitcoin_server.a to libbitcoin_node.a
  * Change time variable type to std::chrono::seconds in src/net_processing.cpp
  * ci: Use Cirrus "greedy" flag to use idle CPU time when available
  * ci: Use system sqlite in native macOS task
  * ci: Bump the macOS image to the latest Monterey
  * test: fix intermittent timeouts in p2p_timeouts.py
  * scripts: match on exe type over str in symbol-check.py
  * scripts: match on exe type over str in security-check.py
  * Refactor the chacha20 differential fuzz test
  * ci: Disable s390x gui tests for now
  * refactor: Avoid integer overflow in ApplyStats when activating snapshot
  * Move AdditionOverflow to util, Add CheckedAdd with unit tests
  * Add dev doc to CCoinsStats::m_hash_type and make it const
  * style: Remove unused whitespace
  * wallet: Strictly match tx change type to improve privacy
  * Let test_runner.py start multiple jobs per timeslot
  * contrib: add achow101 to trusted keys
  * [doc] CPFP carve out and single-conflict RBF exemption
  * [doc] clarify RBF difference from BIP125
  * [doc] current rbf policy
  * refactor: Remove implicit-integer-sign-change suppressions in validation.cpp
  * test: check that pruneblockchain RPC fails for future block or timestamp
  * test: Combine addr generation helper functions
  * test: Fix intermittent issue in p2p_addr_relay.py
  * test: Fix intermittent test failure in feature_backwards_compatibility
  * test: previous releases: add v22.0
  * test: bump sandbox argument minimum version
  * test: previous releases: add v0.21.0
  * test: v0.20.1 backwards compatibility
  * test: backwards compatibility: misc fixes
  * test: Remove i686 from test/get_previous_releases.py
  * refactor: remove the wallet folder if the restore fails
  * refactor: Move restorewallet() RPC logic to the wallet section
  * Move pindexBestInvalid to ChainstateManager
  * Move m_failed_blocks to ChainstateManager
  * Move AcceptBlockHeader to ChainstateManager
  * Move FindForkInGlobalIndex from BlockManager to CChainState
  * test: re-organized array according to order of logs and included 2 more interruption events
  * Remove unnecessary cast in CKey::SignSchnorr
  * Remove --disable-openssl-tests for libsecp256k1 configure
  * Squashed 'src/secp256k1/' changes from be8d9c262f..0559fc6e41
  * test: include two more interruptions points
  * refactor: addrman_select test
  * refactor: addrman_evictionworks test
  * refactor: addrman_noevict test
  * refactor: addrman_selecttriedcollisions test
  * test: Improve "invalid_command" subtest in system_tests for Windows
  * test: Fix "non-zero exit code" subtest in system_tests for Windows
  * test: Fix "false" subtest in system_tests for Windows
  * test: Fix "echo" subtest in the system_tests for Windows
  * doc: add explanations for assert in index and magic numbers in test
  * refactor: Implement restorewallet() logic in the wallet section
  * qt: prevent negative values of progressPerHour
  * net: Drop only invalid entries when reading banlist.json
  * tests: Add missing assert_equal import to p2p_add_connections.py
  * p2p: Always serialize local timestamp for version msg
  * refactor: remove dependence on AddrManTest
  * refactor: check Good() in tried_collisions test
  * refactor: make AddrMan::Good return bool
  * style: Use 4 spaces for indendation, not 5
  * Disallow copies of CChain
  * refactor: remove unneeded calls to strprintf()
  * test: add tests for LoadBlockIndex when using multiple chainstates
  * validation: have LoadBlockIndex account for snapshot use
  * validation: don't modify genesis during snapshot load
  * build, android: Fix Android GUI not loading on Qt 5.15
  * build, qt: use static QAndroidPlatformIntegrationPlugin
  * rpc: Quote user supplied strings in error messages
  * test: call VerifyLoadedChainstate during ChainTestingSetup
  * wallet: Replace Assume with Assert where needed in coinselection
  * build: use __SIZEOF_INT128__ for checking __int128 availability
  * scripted-diff: Rename touched member variables
  * Use mockable time for peer connection time
  * refactor: Use type-safe std::chrono in net
  * Reduce size of strencodings decode tables
  * Fix implicit integer sign changes in strencodings
  * Add multisig tutorial
  * build: Use config_opts instead of passing a compiler flag directly
  * build, qt: Drop unused CROSS_COMPILE variable for Android builds
  * build, refactor: Re-use `qt_lib_suffix` variable
  * rpcwallet: mention labels are deactivated for ranged descriptors
  * rpc: Add warning to user about newkeypool command
  * rpc: output all hash preimages in 'decodepsbt'
  * psbt: implement hash preimages fields
  * validation, doc: remove TODO comment
  * build, qt: Drop support for `i686-linux-android` host
  * [fuzz] Add fuzzing harness to compare both implementations of ChaCha20
  * [fuzz] Add D. J. Bernstein's implementation of ChaCha20
  * test: fix test failures in test/functional/p2p_timeouts.py
  * validation, log: improve logging in FlushSnapshotToDisk()
  * validation, log: extract FlushSnapshotToDisk() function
  * doc: Remove TODO 'exclude peers with download permission'
  * test: Use byte unit 'M' for -maxuploadtarget functional test
  * Merge global xpubs in joinpsbts and combinepsbts
  * Add global xpub test vectors from BIP
  * Add global_xpubs to decodepsbt
  * Implement serializations for PSBT_GLOBAL_XPUB
  * Implement operator< for KeyOriginInfo and CExtPubKey
  * Separate individual HD Keypath serialization into separate functions
  * Store version bytes and be able to serialize them in CExtPubKey
  * moveonly: Move (Un)Serialize(To/From)Vector, (De)SerializeHDKeypaths to psbt module
  * Test for proprietary field
  * Output proprietary type info in decodepsbt
  * Implement PSBT proprietary type
  * Output psbt version in decodepsbt
  * Add GetVersion helper to PSBT
  * Implement PSBT versions
  * Types are compact size uints
  * fuzz: Move ISO8601 to one place
  * build: Include native_X.mk before X.mk
  * Use the imperative mood in example subject line
  * test: add feature_coinstatsindex.py --descriptors to test_runner.py
  * test: fix test feature_coinstatsindex.py for descriptor wallets
  * qa: replace assert with test framework assertion helpers in fee estimation test
  * qa: fee estimation with RBF test cleanups
  * qa: don't mine non standard txs in fee estimation test
  * qa: pass scriptsig directly to txins constructor in fee estimation test
  * qa: split coins in a single tx in fee estimation test
  * qa: use a single p2sh script in fee estimation test
  * test: Replace hashlib.new with named constructor
  * qa: remove a redundant condition in fee estimation test
  * qa: test descriptors with mixed xpubs and const pubkeys
  * Check descriptors returned by external signers
  * test: fancier Python for getblockfrompeer
  * Mempool Update Cut-Through Optimization
  * [TESTS] Increase limitancestorcount in tournament RPC test to showcase improved algorithm
  * Swap out hashlib.ripemd160 for own implementation
  * Add pure Python RIPEMD-160
  * test: feature_rbf.py: check specified wallet type availability
  * doc: Normalize RPC description whitespace
  * test: interface_bitcoin_cli.py: check specified wallet type availability
  * wallet: Properly set hd chain counters when loading
  * wallet: Parse hdKeypath if key_origin is not available
  * Add size check on meta.key_origin.path
  * rpc: Document that DEFAULT is for Taproot, ALL for everything else
  * psbt: Actually use SIGHASH_DEFAULT
  * psbt: Make sighash_type std::optional<int>
  * fuzz: Fix RPC internal bug detection
  * scripted-diff: Use named args in RPC docs
  * doc: Add missing optional to getblockfrompeer
  * Add createmultisig and addmultisigaddress warnings release note
  * Add warnings field to addmultisigaddress to warn about uncompressed keys
  * Add warnings field to createmultisig to warn about uncompressed keys
  * MOVEONLY: Move abortrescan from backup.cpp to transactions.cpp
  * Remove unused imports from rpc/wallet and reorder RPCs
  * MOVEONLY: Move rpcwallet to rpc/wallet
  * MOVEONLY: Move spending RPCs to spend.cpp
  * MOVEONLY: Move balance and utxo RPCs to coins.cpp
  * MOVEONLY: Move address related functions from rpcwallet to addresses.cpp
  * MOVEONLY: Move transaction related wallet RPCs to transactions.cpp
  * Remove CTxMemPool params from ATMP
  * style-only: Remove redundant scope in *Chainstate
  * Collapse the 2 cs_main locks in LoadChainstate
  * Remove all #include // for * comments
  * test/setup: Use LoadChainstate
  * node/chainstate: Add options for in-memory DBs
  * node/caches: Remove intermediate variables
  * node/caches: Extract cache calculation logic
  * validation: VerifyDB only needs Consensus::Params
  * node/chainstate: Decouple from ShutdownRequested
  * node/chainstate: Decouple from GetTime
  * init: Delay RPC block notif until warmup finished
  * Necessary improvements to make configure work without libevent installed
  * Coinbase receivedby rpcs release notes
  * Test including coinbase transactions in receivedby wallet rpcs
  * doc: Add missing optional to MempoolEntryDescription
  * mining, refactor: add m_mempool.cs thread safety lock assertions
  * Revert "Fixes Bug in Transaction generation in ComplexMempool benchmark"
  * p2p, refactor: drop unused DNSLookupFn param in LookupSubnet()
  * p2p, refactor: tidy up LookupSubNet()
  * build: Bump AX_PTHREAD macro to the latest version
  * test: remove unneeded sync_all() calls in wallet_listtransactions.py
  * Move -checkblocks LogPrintf to AppInitMain
  * node/chainstate: Reduce coupling of LogPrintf
  * node/chainstate: Decouple from concept of uiInterface
  * Remove unused (and broken) functionality in SpanReader
  * Split off VerifyLoadedChainstate
  * node/chainstate: Remove do/while loop
  * Move init logistics message for BAD_GENESIS_BLOCK to init.cpp
  * Move mempool nullptr Assert out of LoadChainstate
  * node/chainstate: Decouple from concept of NodeContext
  * node/chainstate: Decouple from ArgsManager
  * node/chainstate: Decouple from stringy errors
  * node/chainstate: Decouple from GetTimeMillis
  * node: Extract chainstate loading sequence
  * test: add interface_bitcoin_cli.py --descriptors to test_runner.py
  * test: fix test interface_bitcoin_cli.py for descriptor wallets
  * Include coinbase transactions in receivedby wallet rpcs
  * doc: Improve ZMQ documentation
  * [bugfix] update lockpoints correctly during reorg
  * MOVEONLY: update_lock_points to txmempool.h
  * doc: Merge release note snippets
  * ci: Make macOS native task sqlite only
  * p2p: Make timeout mockable and type safe, speed up test
  * rpc: Only allow specific types to be P2(W)SH wrapped in decodescript
  * Make Bech32 LocateErrors return error list rather than using out-arg
  * test: Remove false coinstatsindex test
  * tests: Add data-driven testcases to rpc_decodescript.py
  * Use SelectionResult in SelectCoins
  * Use SelectionResult in AttemptSelection
  * Use SelectionResult for waste calculation
  * Make an OutputGroup for preset inputs
  * Return SelectionResult from SelectCoinsSRD
  * Return SelectionResult from KnapsackSolver
  * Return SelectionResult from SelectCoinsBnB
  * Make member variables of SelectionResult private
  * scripted-diff: Use SelectionResult in coin selector tests
  * Introduce SelectionResult struct
  * build: Fix build for Android x86_64
  * build, qt: Use Android NDK r23 LTS
  * correct rpc address_type helptext
  * build: Bump Fonconfig version up to 2.12.6
  * cover DisconnectBlock with lock annotation
  * build: remove x-prefix comparisons
  * rpc: Add missing BlockUntilSyncedToCurrentChain to wallet RPCs
  * ci: Bump Qt to 5.15.2 in the native Windows task
  * doc: Update `build_msvc/README.md` for Qt 5.15.2
  * build, qt: Fix regression in rendering on macOS Big Sur
  * build: qt 5.15.2
  * build: add libxcb_util_wm 0.4.1
  * build: add libxcb_util_image 0.4.0
  * build: add libxcb_util_keysyms 0.4.0
  * build: add libxcb_util_render 0.3.9
  * build: add libxcb_util 0.4.0
  * build: libxcb 1.14
  * build: freetype 2.11.0
  * build: expat 2.4.1
  * build: xcb_proto 1.14.1
  * build: libXau 1.0.9
  * build: xproto 7.0.31
  * MOVEONLY: Move LoadWalletHelper to wallet/rpc/util
  * MOVEONLY: Move wallet encryption RPCs to encrypt.cpp
  * MOVEONLY: Move backupwallet and restorewallet to rpc/backup.cpp
  * MOVEONLY: Move rpcdump.cpp to wallet/rpc/backup.cpp
  * qt: Handle Android back key in the Node window
  * qt, android: Add GUIUtil::IsEscapeOrBack helper
  * test: fix: remove outdated TestNode.generate calls
  * contrib: add check for wget command in install_db4.sh
  * Generalize/simplify VectorReader into SpanReader
  * doc: Document optional result fields in validateaddress
  * fuzz: Rework rpc fuzz target
  * doc: Document optional result fields in getpeerinfo
  * Remove GetSpendHeight
  * clean up txmempool includes
  * change TestLockPointValidity to take a const reference
  * rpc: add missing scantxoutset examples
  * remove unnecessary casts and use braced initialization
  * rpc: getblockfrompeer
  * rpc: move Ensure* helpers to server_util.h
  * wallet: Replace confusing getAdjustedTime() with GetTime()
  * net: change CreateNodeFromAcceptedSocket() to take Sock
  * net: use Sock in CConnman::ListenSocket
  * net: add new method Sock::Accept() that wraps accept()
  * Remove calls to global Params() in tx_pool test
  * Remove AcceptToMemoryPoolWithTime
  * The evhttp_connection_get_peer function from libevent changes the type of the second parameter. Fixing the problem.
  * doc: use BIP125-replaceable
  * doc: Extract CreateTxDoc in rawtransaction
  * rpc: remove info about mallocinfo needing glibc 2.10+
  * fuzz: Rework FillNode
  * refactor: Set fSuccessfullyConnected in FillNode
  * fuzz: Avoid negative NodeId in ConsumeNode
  * refactor: Call type-solver earlier in decodescript
  * style: Remove whitespace
  * miner: Remove uncompiled MTP code
  * style: Add {} to if-bodies in node/miner
  * MOVEONLY: Move utility functions from rpcwallet to wallet/rpc/util
  * Introduce wallet/rpc/util
  * Use std::iota instead of manually pushing range
  * Use bounds-checked array lookups in Bech32 error detection code
  * Simplify encoding of e in GF(1024) tables to (1,0)
  * Replace GF1024 tables and syndrome constants with compile-time generated constexprs.
  * test: Bump shellcheck version to 0.8.0
  * Remove GetAdjustedTime from init.cpp
  * rpc: various fixups for dumptxoutset
  * Replace addrman.h include with forward decl in net.h
  * Break validation <-> txmempool circular dependency
  * [mempool] always assert coin spent
  * [refactor] put finality and maturity checking into a lambda
  * [mempool] only update lockpoints for non-removed entries
  * MOVEONLY: TestLockPointValidity to txmempool
  * Add RPC help for getblock verbosity level 3
  * Update release note for bech32 error detection
  * More Span simplifications
  * Replace MakeSpan helper with Span deduction guide
  * [unit test] package submission
  * [validation] de-duplicate package transactions already in mempool
  * [packages] add sanity checks for package vs mempool limits
  * p2p: Don't use timestamps from inbound peers
  * [validation] full package accept + mempool submission
  * [policy] require submitted packages to be child-with-unconfirmed-parents
  * [packages/doc] define and document package rules
  * test: Add test for block relay only eviction
  * refactor: Fix implicit-signed-integer-truncation in cuckoocache.h
  * [unit test] context-free package checks
  * [packages] add static IsChildWithParents function
  * build, qt: Ditch `no_sdk_version_check.patch`
  * doc: Fix typos in packages.md
  * test: Make more shell scripts verifiable by the `shellcheck` tool
  * [tracing] tracepoints to utxocache add, spent and uncache
  * [tracing] tracepoint for utxocache flushes
  * test: add feature_rbf.py --descriptors to test_runner.py
  * test: always rescan after importing private keys in `init_wallet` helper
  * test: Add edge case of pruning up to index height
  * index: Fix backwards search for bestblock
  * wallet: Split signmessage from rpcwallet
  * build: Fix x86_64 <-> arm64 cross-compiling for macOS
  * net: don't check if the listening socket is valid
  * doc: Tidy up nMinDiskSpace comment
  * contrib: Specify wb mode when creating mac sdk
  * ci: Always run merge_base_script first for consistency
  * ci: Revamp Android SDK cache, and update it timely
  * ci: Make macOS SDK cache independent, and update it timely
  *  test: add wallet_transactiontime_rescan.py --descriptors to test_runner.py
  * test: fix test wallet_transactiontime_rescan.py for descriptor wallets
  * test: refactor: use `set_node_times` helper in wallet_transactiontime_rescan.py
  * refactor: Use underlying type of isminetype for isminefilter
  * build: don't set PORT=no in config.site
  * Crash debug builds when mempool ConsensusScriptChecks fails
  * Revert "doc: Install Rosetta on M1-macOS for qt in depends"
  * build, qt, macOS: Don't pass -device-option when building natively
  * build, qt, macOS: Don't hard-code x86_64 as the arch when using qmake
  * scripted-diff: Drop Darwin version for better maintainability
  * refactor: replace RecursiveMutex m_added_nodes_mutex with Mutex
  * refactor: replace RecursiveMutex m_addr_fetches_mutex with Mutex
  * scripted-diff: rename node vector/mutex members in CConnman
  * refactor: remove RecursiveMutex cs_totalBytesRecv, use std::atomic instead
  * scripted-diff: rename `proxyType` to `Proxy`
  * net: respect -onlynet= when making outbound connections
  * build: patch qt to explicitly define previously implicit header include
  * script install_db4.sh added check for patch command
  * Report encoding type in bech32 error message
  * Improve Bech32 boost tests
  * Address review comments for Bech32 error validation
  * refactor: cast bool to int to silence compiler warning
  * qt: monospaced output in Console on macOS
  * wallet: Call load handlers without cs_wallet locked
  * Follow Transifex docs to prepare XLIFF source
  * build: don't check for deprecated qt5 package
  * build: don't check for deprecated berkeley-db4 package
  * script: preventing non-compatible sed binary.
  * test: run rpc-generateblock.py even with wallet disabled
  * configure.ac: remove Bashism
  * util: Add missing fstatfs to syscall sandbox
  * test: Remove sanitizer suppression implicit-signed-integer-truncation:netaddress.cpp
  * scripted-diff: Use clang-tidy syntax for C++ named arguments
  * doc: Use clang-tidy comments in crypto_tests
  * Bugfix: RPC/mining: Fail properly in estimatesmartfee if smart fee data is unavailable
  * Remove strtol in torcontrol
  * test: add check_node_connections in util
  * net: split CConnman::SocketHandler()
  * style: remove unnecessary braces
  * net: keep reference to each node during socket wait
  * net: dedup and RAII-fy the creation of a copy of CConnman::vNodes
  * test: add decodescript RPC test for P2TR output type
  * test: check for decodescript RPC 'type' results
  * test: add logging to rpc_decodescript.py
  * test: refactor: replace OP_1/OP_TRUE magic numbers by constants
  * test: refactor: take use of `create_block` txlist parameter
  * test: refactor: take use of `create_block` version parameter (or use default)
  * util: ParseByteUnits - Parse a string with suffix unit [k|K|m|M|g|G|t|T]
  * doc: Fix incorrect C++ named args
  * scripts: test for PE control flow instrumentation
  * build: use -fcf-protection=full when building Windows Boost in depends
  * scripted-diff: Rename m_last_send and m_last_recv
  * fuzz: Add minisketch fuzz test
  * Extract Taproot internal keyid with GetKeyFromDestination
  * Mention bech32m in -addresstype and -changetype help
  * Create a tr() descriptor bech32m DescriptorScriptPubKeyMan by default
  * doc: Pick better named args for MutableTransactionSignatureCreator
  * ci: Rework ci task names
  * refactor: Replace validation.h include with forward-decl in miner.h
  * style: Sort file list after rename
  * scripted-diff: Move miner to src/node
  * doc: Fix typos in endif header comments
  * policy: Treat taproot as always active
  * Store pubkeys in TRDescriptor::MakeScripts
  * build: add `--enable-lto` configuration option
  * build: remove D__STDC_FORMAT_MACROS from CPPFLAGS
  * build: require glibc 2.18+ for release builds
  * Improve fs::PathToString documentation
  * refactor: Make CWalletTx sync state type-safe
  * test: Force --nosandbox when --valgrind
  * test: Return the largest utxo in MiniWallet.get_utxo
  * ci: Drop --failfast in functional tests on native Windows CI task
  * Fix Arch linux dead link
  * build_msvc/bitcoin_config.h is generated using build_msvc/msvc-autogen.py
  * build: Drop unneeded dependencies for bitcoin-wallet tool
  * depends, wallet: fix typos
  * test: Enable SC2046 shellcheck rule
  * test: Enable SC2086 shellcheck rule
  * ci: Replace soon EOL hirsute with jammy
  * test: refactor: simplify `block_submit` in feature_nulldummy.py
  * test: refactor: rename NULLDUMMY-invalidation helper
  * test: simplify and document NULLDUMMY-invalidation helper
  * multiprocess: Add interfaces::Node::broadCastTransaction method
  * fuzz: replace every fuzzer-controlled loop with a LIMITED_WHILE loop
  * test: remove unnecessary block rehashing prior to solving
  * tests: implement BIP341 test vectors
  * tests: BIP341 test vector generation
  * tests: add deterministic signing mode to ECDSA
  * tests: abstract out precomputed BIP341 signature hash elements
  * tests: give feature_taproot access to sighash preimages
  * tests: add more fields to TaprootInfo
  * Make signing follow BIP340 exactly w.r.t. aux randomness
  * build: remove duplicate -fvisibility=hidden from Boost build
  * build: don't install Boost cmake config files
  * Use c++17 in clang-format
  * style: Use 4 spaces for indentation, not 5
  * test: Remove unused CDataStream copy
  * Sort file list after rename
  * scripted-diff: Move minisketchwrapper to src/node
  * build: consistently quote AC_CHECK_LIB() arguments
  * build: consistently quote AC_MSG_* arguments
  * build: consistently quote AC_CHECK_PROG() arguments
  * build: consistently quote arguments in AC_ARG_VAR()
  * build: consistently quote arguments in AM_CONDITIONAL()
  * build: consistently quote AC_DEFINE() arguments
  * build: consistently quote AC_MSG_CHECKING() arguments
  * build: consistently quote AC_PATH_TOOL arguments
  * build: AC_PATH_PROG(S) consistently quote arguments
  * build: cleanup AX_CHECK_PREPROC_FLAG() usage
  * build: AX_CHECK_PREPROC_FLAG() serial 6
  * build: cleanup AX_CHECK_COMPILE_FLAG() usage
  * build: AX_CHECK_COMPILE_FLAG() serial 6
  * build: cleanup AX_CHECK_LINK_FLAG() usage
  * build: AX_CHECK_LINK_FLAG serial 6
  * cli: hoist networks class data members to a constant
  * cli: add cjdns network to -addrinfo and -netinfo
  * test: Correct MyPy typing for subtest decorator
  * Add a brief overview of fuzzing/Bitcoin Core fuzzing
  * doc: Add minimum supported Android NDK version
  * doc: Move Android dependencies guide into `build-android.md`
  * build: Switch to llvm buinutils for Android builds
  * refactor: use `CWallet` const shared pointers in dump{privkey,wallet} RPCs
  * refactor: use const `LegacyScriptPubKeyMan` references in dump{privkey,wallet} RPCs
  * refactor: avoid multiple key->metadata lookups in dumpwallet RPC
  * scripted-diff: Bump copyright headers
  * scripted-diff: Remove redundant sync_all and sync_blocks
  * test: Properly set sync_fun in NodeNetworkLimitedTest
  * test: Use 4 spaces for indentation
  * [addrman] [tests] Remove AddrManUncorrupted subclass
  * [addrman] [tests] Remove AddrManCorrupted subclass
  * [addrman] [tests] Tidy up unused arguments in addrman test functions
  * [addrman] [tests] Remove deterministic argument and member from AddrManTest
  * [addrman] Remove AddrMan friends
  * span: Add std::byte helpers
  * refactor: Use ignore helper when unserializing an invalid pubkey
  * Use value_type in CDataStream where possible
  * Add file validation to savemempool RPC test
  * Add filename to savemempool RPC result
  * wallet: Fixed Grammatical error in bdb.h
  * fix `XOnlyPubKey::IsFullyValid` comment reference
  * test: MiniWallet: add P2TR support and use it per default
  * test: generate blocks to MiniWallet address in rpc_blockchain.py
  * test: Add txindex migration test
  * Remove `gArgs` from `wallet.h` and `wallet.cpp`
  * doc: remove redundant optionals from build-unix.md
  * doc: remove Boost build note from build-unix.md
  * doc: Suggest `keys.openpgp.org` as keyserver in SECURITY.md
  * ci: Enable ccache for "ARM64 Android APK" job
  * build: Fix `make apk` if ccache enabled
  * doc: remove mention of system univalue
  * ci: Do not print `git log` for empty COMMIT_RANGE
  * Remove the build_msvc/testconsensus project
  * doc: update SECURITY.md inline with recent changes to bitcoincore.org
  * doc: Mention that BerkeleyDB is for legacy wallet in build-unix
  * [test] call CheckPackage for package sanitization checks
  * MOVEONLY: move package unit tests to their own file
  * MOVEONLY: mempool checks to their own functions
  * scripted-diff: clean up MemPoolAccept aliases
  * Open streams_test_tmp file in temporary folder
  * document workspace members
  * [validation] cache iterators to mempool conflicts
  * [validation] Always call mempool.check() after processing a new transaction
  * [refactor] Don't call AcceptToMemoryPool() from outside validation.cpp
  * [validation] Add CChainState::ProcessTransaction()
  * [logging/documentation] Remove reference to AcceptToMemoryPool from error string
  * [validation] Remove comment about AcceptToMemoryPool()
  * contrib: recognize CJDNS seeds as such
  * net: take the first 4 random bits from CJDNS addresses in GetGroup()
  * net: relay CJDNS addresses even if we are not connected to CJDNS
  * net: don't skip CJDNS from GetNetworkNames()
  * net: take CJDNS into account in CNetAddr::GetReachabilityFrom()
  * test: extend feature_proxy.py to test CJDNS
  * test: remove default argument of feature_proxy.py:node_test()
  * net: recognize CJDNS addresses as such
  * net: don't skip CJDNS from GetNetworksInfo()
  * net: introduce a new config option to enable CJDNS
  * net: recognize CJDNS from ParseNetwork()
  * net: use -proxy for connecting to the CJDNS network
  * net: make it possible to connect to CJDNS addresses
  * [test] Don't set bypass_limits to true in txvalidation_tests.cpp
  * [test] Don't set bypass_limits to true in txvalidationcache_tests.cpp
  * Exit early for an empty vChecks in CCheckQueue::Add
  * Avoid excessive lock contention in CCheckQueue::Add
  * wallet: Make GetOldestKeyPoolTime return nullopt for blank wallets
  * wallet, refactor: Make GetOldestKeyPoolTime return type std::optional
  * Adds verification step to Schnorr and ECDSA signing
  * rpc: move fees object to match help
  * doc: add release note for fee field deprecation
  * test: add functional test for deprecatedrpc=fees
  * rpc: deprecate fee fields from mempool entries
  * doc: Add output script descriptors BIPs 380..386
  * refactor: Take Span in SetSeed
  * fuzz: Rework ConsumeScript
  * test: Avoid excessive locking of `cs_wallet`
  * test: Fix segfault in the psbt_wallet_tests/psbt_updater_test
  * util, refactor: Improve headers for bitcoin-wallet tool
  * refactor: get wallet path relative to wallet_dir
  * test: Implicitly sync after generate*, unless opted out
  * [test] tx processing before and after ibd
  * [net_processing] ignore all transactions during ibd
  * [validation/rpc] cache + use vsize calculated in PreChecks
  * [validation] re-introduce bool for whether a transaction is RBF
  * [validation/refactor] store precomputed txdata in workspace
  * [validation] case-based constructors for ATMPArgs
  * [MOVEONLY] reorder functions in addrman_impl.h and addrman.cpp
  * [addrman] Add Add_() inner function, fix Add() return semantics
  * ci: Build fuzz with libsqlite3-dev
  * [addrman] Rename Add_() to AddSingle()
  * [addrman] Add doxygen comment to AddrMan::Add()
  * test: MiniWallet: more deterministic coin selection for coinbase UTXOs (oldest first)
  * test: Add ios_base::width tsan suppression
  * test: add stress tests for initialization
  * test: add script_util helper for creating bare multisig scripts
  * Introduce new V4 format addrman
  * scripted-diff: disable unimplemented ArgsManager BOOL/INT/STRING flags
  * refactor: Add explicit DISALLOW_NEGATION ArgsManager flag to clarify flag usage
  * refactor: Split InterpretOption into Interpret{Key,Value} functions
  * refactor: use CWallet const shared pointers when possible
  * refactor: const shared_ptrs
  * util: Use FEATURE_LATEST for wallets created with bitcoin-wallet
  * walletdb: Use SQLiteDatabase for mock wallet databases
  * tests: Place into mapWallet in coinselector_tests
  * Fix bnb_search_test to use set equivalence for
  * Make AddrMan support multiple ports per IP
  * ci: Add vcpkg tools cache
  * fuzz: Add wallet fuzz test
  * refactor: Use local args instead of global gArgs in CWallet::Create
  * Make GenTxid boolean constructor private
  * remove unused CTxMemPool::info(const uint256& txid)
  * refactor: include a missing <limits> header in fs.cpp
  * doc: Fix CWalletTx::Confirmation doc
  * [mempool] delete exists(uint256) function
  * create explicit GenTxid::{Txid, Wtxid} ctors
  * wallet: fix segfault by avoiding invalid default-ctored `external_spk_managers` entry
  * build: Inline FUZZ_SUITE_LDFLAGS_COMMON
  * test: Replace log with assert_equal in wallet_abandonconflict
  * ubsan: add minisketch exceptions
  * Add thin Minisketch wrapper to pick best implementation
  * Add basic minisketch tests
  * Add minisketch dependency
  * Add MSVC build configuration for libminisketch
  * build: add minisketch build file and include it
  * build: add configure checks for minisketch
  * Squashed 'src/minisketch/' content from commit 89629eb2c7
  * refactor: remove references to deprecated values under std::allocator
  * ci: Improve vcpkg binary cache settings
  * ci, refactor: Rename VCPKG_TAG variable and vcpkg_cache script
  * ci: Disable syscall sandbox in valgrind functional tests
  * wallet: Use PACKAGE_NAME to mention our software
  * doc: Add note on deleting past-EOL release branches
  * test: add node.chain_path and node.debug_log_path
  * netinfo: print peer counts for all reachable networks
  * Address review comments from #22918
  * build: explicitly disable libsecp256k1 openssl based tests
  * Fix K1/K2 use in the comments in ChaCha20-Poly1305 AEAD
  * build: fix python detection post #23182
  * Make explicit the node param in init_wallet()
  * tests: Add feature_segwit.py --descriptors to test_runner.py
  * tests: restrict feature_segwit legacy wallet import tests
  * tests: Use descriptors for feature_segwit multisig setup
  * ci: Bump vcpkg release tag
  * Add missing gettimeofday to syscall sandbox
  * test: Remove unused node from mining_prioritisetransaction
  * log: improve addrman logging
  * test: Fix wallet_multisig_descriptor_psbt.py
  * tracing: drop block_connected hash.toString() arg
  * build: Remove unneeded share/man directory from libXau package
  * build: Remove unneeded share/man directory from freetype package
  * build: Remove empty var/cache/fontconfig directory from fontconfig
  * build: Remove unneeded share/doc directory from expat package
  * build: Drop non-existent share/pkgconfig directory
  * test: get and decode tx with a single `gettransaction` RPC call
  * Update REST docs with new accessors
  * Expose block filters over REST.
  * Add comment to COIN constant.
  * lint: enable mypy checking for missing imports
  * lint mypy 0.910
  * lint: install pyzmq (22.3.0) into linter environment
  * doc: remove pointlessly duplicated linter version / install info
  * tests: Use Descriptor wallets for generic wallet tests
  * tests: Use legacy change type in subtract fee from outputs test
  * tests: Use descriptors in psbt_wallet_tests
  * tests: Use DescriptorScriptPubKeyMan in coinselector_tests
  * tests, gui: Use DescriptorScriptPubKeyMan in GUI tests
  * bench: Use DescriptorScriptPubKeyMan for wallet things
  * bench: remove global testWallet from CoinSelection benchmark
  * tests: Remove global vCoins and testWallet from coinselector_tests
  * ci, refactor: Disable binaries for Android task explicitly
  * doc: update release notes for 22539
  * build: remove build stubs for external leveldb
  * test: check that bumpfee RPC fails for txs with descendants in mempool
  * Use absolute FQDN for DNS seed domains
  * test: Add check that newkeypool flushes change addresses too
  * scripted-diff: Prefix makefile variables with QT_
  * qt: Use only Qt translation primitives in GUI code
  * symbol-check: Check requested ELF interpreter
  * guix: Fix powerpc64(le) dynamic linker name
  * build: Drop -Wno-unused-local-typedef
  * build: remove -Wunused-variable
  * build: remove -Wswitch
  * build: use loop-analysis over range-loop-analysis
  * build: remove -Wsign-compare
  * test: bip125-replaceable in listsinceblock
  * bitcoin-tx: Reject non-integral and out of range multisig numbers
  * bitcoin-tx: Reject non-integral and out of range sequence ids
  * test: Check that bitcoin-tx accepts whitespace around sequence id and multisig numbers
  * rest: Return error when header count is not integral
  * Fix outdated comments referring to ::ChainActive()
  * scripts: remove pixie.py
  * scripts: only parse the binary once in security-check.py
  * scripts: use LIEF for ELF checks in security-check.py
  * scripts: only parse the binary once in symbol-check.py
  * scripts: use LIEF for ELF checks in symbol-check.py
  * test-*-check: Pass in *FLAGS and compile with them
  * Modify copyright header on Bech32 code
  * Add lots of comments to Bech32
  * Add release notes for validateaddress Bech32 error detection
  * Refactor and add more tests for validateaddress
  * Add boost tests for bech32 error detection
  * Add error_locations to validateaddress RPC
  * Add Bech32 error location function
  * More detailed error checking for base58 addresses
  * tests: Calculate fees more similarly to CFeeRate::GetFee
  * util: Add mincore and clone3 to syscall sandbox
  * Integrate univalue into our buildsystem
  * Squashed 'src/univalue/' changes from 98fadc0909..a44caf65fe
  * Fix typo and grammar
  * validation: put coins cache write log into bench debug log
  * blockstorage: use debug log category
  * validation: move header validation error logging to VALIDATION debug category
  * validation: include block hash when reporting prev block not found errors
  * bitcoin-tx: Avoid treating overflow as OP_0
  * tests: Test for assertion when feerate is rounded down
  * fees: Always round up fee calculated from a feerate
  * qt: hide Create Unsigned button behind an expert mode option
  * style: Fix whitespace in Parse* functions
  * refactor: Use C++11 range based for loop in ParseScript
  * doc: Fixup ToIntegral docs
  * Disable lock contention logging in checkqueue_tests
  * qt: Add Create Unsigned button to SendConfirmationDialog
  * GUI/Options: Restore "S" accelerator for "Start on system login" option
  * qt: Add helper to load font
  * ci: Reduce Windows memory for faster scheduling
  * p2p: Use mocktime for ping timeout
  * Replace stoul with ToIntegral in dbwrapper
  * refactor: move `update_*` structs from txmempool.h to .cpp file
  * refactor: use const reference for parents in `CTxMemPool::UpdateAncestorsOf`
  * test: Add ParseMoney and ParseScript tests
  * test: Replace satoshi_round with int() or Decimal()
  * test: Avoid RPC roundtrip in MiniWallet get_descriptor()
  * qt: Fix WalletControllerActivity progress dialog title
  * util: Add mremap syscall to AllowAddressSpaceAccess
  * test: Delete generate* calls from TestNode
  * test: Use generate* node RPC, not wallet RPC
  * test: Use generate* from TestFramework, not TestNode
  * test: listtranscations with externally generated addresses
  * Add to spends only transcations from me
  * Automatically add labels to detected receiving addresses
  * Return used destinations from ScriptPubKeyMan::MarkUnusedAddresses
  * Add CWallet::IsInternalScriptPubKeyMan
  * Fix intermittent test failures due to missing sync_all
  * Use self.generate not node.generate throughout tests
  * External input fund support cleanups
  * refactor: use `{Read,Write}BE32` helpers for BIP32 nChild (de)serialization
  * qt: never disable HD status icon
  * util: Conditionalize some syscalls in syscall name table
  * util: Add __NR_copy_file_range syscall constant for sandbox
  * p2p: improve checkaddrman logging with duration in milliseconds
  * [fuzz] Update comment in FillAddrman()
  * [fuzz] Make Fill() a free function in fuzz/addrman.cpp
  * [fuzz] Make RandAddr() a free function in fuzz/addrman.cpp
  * Make CAddrman::Select_ select buckets, not positions, first
  * [fuzz] Pass FuzzedDataProvider& into Fill() in addrman fuzz tests
  * [fuzz] Create a FastRandomContext in addrman fuzz tests
  * log, timer: add LOG_TIME_MILLIS_WITH_CATEGORY_MSG_ONCE macro
  * log, timer: allow not repeating log message on completion
  * multiprocess: add interfaces::ExternalSigner class
  * refactor: Block unsafe fs::path std::string conversion calls
  * refactor: Add fs::PathToString, fs::PathFromString, u8string, u8path functions
  * util: Make sure syscall numbers used in profile are defined
  * RPCConsole: Throw when overflowing size_t type for array indices
  * style: Sort
  * scripted-diff: Move bloom to src/common
  * refactor: Remove unused MakeUCharSpan
  * core_write: Rename calculate_fee to have_undo for clarity
  * release-notes: Add release note about getblock verbosity level 3.
  * rest: Add test for prevout fields in getblock
  * rpc: Add test for level 3 verbosity getblock rpc call.
  * rpc: Add level 3 verbosity to getblock RPC call.
  * rpc: Replace boolean argument for tx details with enum class.
  * wallet: resolve ambiguity of two ScriptPubKey managers providing same script
  * util: Define SECCOMP_RET_KILL_PROCESS if not provided by the headers
  * build: add python3.10 alias to AC_PATH_PROGS call in configure
  * build: no-longer fail default configure if BDB isn't available
  * sandbox: add copy_file_range to allowed filesystem syscalls
  * sandbox: add newfstatat to allowed filesystem syscalls
  * doc: add assumeutxo notes
  * [refactor] pass coinsview and height to check()
  * [mempool] simplify some check() logic
  * [validation/mempool] use Spend/AddCoin instead of UpdateCoins
  * MOVEONLY: remove single-use helper func CheckInputsAndUpdateCoins
  * [mempool] remove now-unnecessary code
  * [mempool] speed up check() by using coins cache and iterating in topo order
  * [bench] Benchmark CTxMemPool::check()
  * doc: Extract FundTxDoc
  * Remove unused ParseDouble and ParsePrechecks
  * Add an argparse abbreviated mode to --failfast
  * allow send rpc take external inputs and solving data
  * Tests for funding with external inputs
  * allow fundtx rpcs to work with external inputs
  * Test transactions conflicted by double spend in listtransactions
  * contrib: Ask for captcha in signet getcoins.py
  * refactor: Remove unused ParsePrechecks from ParseIntegral
  * [refactor/bench] make mempool_stress bench reusable and parameterizable
  * Add syscall sandboxing (seccomp-bpf)
  * test: check abandoned tx in listsinceblock
  * doc: Combine 23.0 release notes
  * build: make --enable-werror just -Werror
  * scripted-diff: rename DBErrors::RESCAN_REQUIRED to NEED_RESCAN
  * test: update assert_fee_amount() in test_framework/util.py
  * Replace use of locale dependent atoi(…) with locale-independent std::from_chars(…) (C++17)
  * Return false on corrupt tx rather than asserting
  * doc: Suggest using jom instead of nmake
  * doc: Replace a link to Qt precompiled binaries with compile instructions
  * consensus: use <cstdint> over <stdint.h> in amount.h
  * consensus: make COIN & MAX_MONEY constexpr
  * [MOVEONLY] consensus: move amount.h into consensus
  * Add rescan removal release note
  * Remove -rescan startup parameter
  * Corrupt wallet tx shouldn't trigger rescan of all wallets
  * Allow Coin Selection be able to take external inputs
  * Allow CInputCoin to also be constructed with COutPoint and CTxOut
  * rpc: improve TransactionDescriptionString() "generated" help
  * test: add listtransactions/listsinceblock "trusted" coverage
  * rpc: fix "trusted" description in TransactionDescriptionString
  * qt: Do not show unused widgets at startup
  * log: Adjust coin selection log string
  * test: Fix typos in tests
  * log: Avoid broken DEBUG_LOCKORDER log
  * Add release notes for fee est with replacement txs
  * qa: test fee estimation with replacement transactions
  * qa: split run_test into smaller parts
  * test: use miniwallet in test_rpc() function in feature_rbf.py
  * Re-include RBF replacement txs in fee estimation
  * qt, refactor: Drop intermediate BitcoinApplication::shutdownResult slot
  * qt: Do not exit and re-enter main event loop during shutdown
  * test: introduce script_util helper for creating P2PK scripts
  * Squashed 'src/crc32c/' changes from b5ef9be675..0d624261ef
  * test: * -> &
  * fuzz: Fix memory leak in system fuzz target
  * Revert "doc: Remove outdated comments"
  * doc: update developer docs for subtree renaming
  * Fix feature_segwit failure due to witness
  * Remove outdated dummy wallet -salvagewallet arg
  * [style] Run changed files through clang formatter.
  * scripted-diff: Rename CAddrInfo to AddrInfo
  * scripted-diff: Rename CAddrMan to AddrMan
  * [includes] Fix up included files
  * bloom: cleanup includes
  * bloom: use constexpr where appropriate
  * bloom: use Span instead of std::vector for `insert` and `contains`
  * psbt: sign without finalizing
  * [doc] Update comments
  * [refactor] Update GetAddr_() function signature
  * [move-only] Move constants to test-only header
  * [addrman] Change CAddrInfo access
  * [move-only] Move CAddrInfo to test-only header file
  * [net, addrman] Remove external dependencies on CAddrInfo objects
  * [addrman] Introduce CAddrMan::Impl to encapsulate addrman implementation.
  * [move-only] Match ordering of CAddrMan declarations and definitions
  * Include vout when copying transaction ID from coin selection
  * [test] Test that -blocksonly nodes still serve compact blocks.
  * [test] Test that getdata(CMPCT) is still sent on regular low bandwidth connections.
  * [test] Test that -blocksonly nodes do not send getdata(CMPCT) on a low bandwidth connection.
  * [test] Test that -blocksonly nodes do not request high bandwidth mode.
  * [net processing] Dont request compact blocks in blocks-only mode
  * doc: update doxygen documention of ComputeTimeSmart() and AddToWalletIfInvolvingMe() regarding rescanning_old_block parameter
  * test: add functional test to check transaction time determination during block rescanning
  * wallet: fix ComputeTimeSmart algorithm to use blocktime during old block rescanning
  * [move-only] Move CAddrMan function definitions to cpp
  * doc: Remove un-actionable TODO from chainparams.cpp
  * ci: Enable extended tests on native Windows
  * test: pep-8 touched test
  * test: Remove unused and confusing main parameter from script_util
  * update estimatesmartfee rpc to return max of estimateSmartFee, mempoolMinFee and minRelayTxFee.
  * test: pep-8
  * test: Use assert_equal over assert for easier debugging
  * build: Add ability to build qt in depends with -stdlib=libc++
  * GUI: Ask user to unlock wallet before signing psbt
  * Add test that walletprocesspsbt requires unlocked wallet when signing
  * wallet: enable SQLite extended result codes
  * ci: Enable feature_asmap.py test on native Windows
  * Ensure wallet is unlocked before signing in walletprocesspsbt
  * qt: Keep InitExecutor in main gui thread
  * test: use MiniWallet for p2p_filter.py
  * test: introduce helper to create random P2WPKH scriptPubKeys
  * test: MiniWallet: add `send_to` method to create arbitrary txouts
  * log: Avoid broken SELECTCOINS log
  * scripted-diff: Rename overloaded int GetArg to GetIntArg
  * test: Add missing re.escape() to feature_addrman test
  * qt: hyphenate usage of third-party modifier
  * Add release notes for keypool flush changes
  * Add test for flushing keypool with newkeypool
  * Make legacy wallet upgrades from non-HD to HD always flush the keypool
  * Fix outdated keypool size default
  * Add newkeypool RPC to flush the keypool
  * Run functional tests with all possible flags
  * gui: Paste button in Open URI dialog
  * Make GUI UTXO lock/unlock persistent
  * Add release note for lockunspent change
  * Update lockunspent tests for lock persistence
  * Allow lockunspent to store the lock in the wallet DB
  * Allow locked UTXOs to be store in the wallet database
  * doc: Remove outdated comments
  * doc: Add 23061 release notes
  * test: Remove Windows workaround in authproxy
  * test: avoid non-determinism in asmap-addrman test
  * doc: add release notes for removal of the -deprecatedrpc=addresses flag
  * refactor: minor styling, prefer snake case and same line if
  * refactor: share logic between ScriptPubKeyToUniv and ScriptToUniv
  * rpc: remove deprecated addresses and reqSigs from rpc outputs
  * ci: Add more functional tests to the native Windows task
  * ci: Increase the dynamic port range to the maximum on native Windows
  * test: check for block reject reasons in p2p_segwit.py [2/2]
  * test: check for block reject reasons in p2p_segwit.py [1/2]
  * test: fix reference to block processing test in p2p_segwit.py
  * test: Add -testactivationheight tests to rpc_blockchain
  * test: Add remaining scenarios of 0 waste
  * build: remove support for weak linking getauxval()
  * build: remove arm includes from getauxval() check
  * qt: ensure seperator when adding third-party transaction links
  * qt: improve text for open third-party tx url action
  * span, doc: provide span.h context and explain lifetimebound definition
  * net, doc: provide context for UnserializeV1Array()
  * log: Remove unnecessary timing logs for Callbacks bench
  * qt, refactor: simplify third-party tx url action through overload
  * log: call LogPrint only once with time data samples
  * [net processing] Do not request transaction relay from feeler connections
  * [test] Add testing for outbound feeler connections
  * ci: update minimum compiler requirements for std::filesystem
  * doc: update minimum compiler requirements for std::filesystem
  * Fix (inverse) meaning of -persistmempool
  * fuzz: Cleanup muhash fuzz target
  * Revert "test: Add missing suppression signed-integer-overflow:addrman.cpp"
  * qt: connection type translator comments
  * Add BECH32_INVALID_VERSION test
  * skip test_getaddressinfo() if wallet is disabled
  * Use C++11 member initializer in CTxMemPoolEntry
  * bench: fixed ubsan implicit conversion
  * bench: various args improvements
  * bench: clean up includes
  * bench: add usage description and documentation
  * bench: introduce -min_time argument
  * bench: make EvictionProtection.* work with any number of iterations
  * bench: change AddrManGood to AddrManAddThenGood
  * build: Restrict check for CRC32C intrinsic to aarch64
  * bench: remove unnecessary & incorrect  multiplication in MuHashDiv
  * bench: update nanobench from 4.3.4 to 4.3.6
  * doc: Fix RPC result documentation
  * fuzz: Move all addrman fuzz targets to one file
  * addrman: Replace assert with throw on corrupt data
  * Refactor: Turn the internal addrman check helper into a forced check
  * move-only: Move CAddrMan::Check to cpp file
  * Fix BlockAssembler::AddToBlock, CTxMemPool::PrioritiseTransaction logging
  * test: Check other fields are loaded correctly as well
  * test: Remove unused self.connect_nodes
  * test: pep8
  * test: Use MiniWallet in mempool_persist
  * test: Add MiniWallet get_descriptor function
  * add missing includes in policy/rbf
  * make MAX_BIP125_RBF_SEQUENCE constexpr
  * cli: Display all proxies in -getinfo
  * refactor: Remove unused validation includes
  * ci: Set --nocleanup for Windows functional tests
  * net: Avoid logging AlreadyHaveTx when disconnecting misbehaving peer
  * test: Add addrman deserialization error tests
  * test: Replace MiniWallet scan_blocks with rescan_utxos
  * test: fix confusing off-by-one nValue in feature_coinstatsindex.py
  * test: use test_framework.p2p P2P_SERVICES in functional tests
  * util: Introduce ToIntegral<T>(const std::string&) for locale independent parsing using std::from_chars(…) (C++17)
  * net: switch to signet DNS seed
  * wallet: Default new wallets to descriptor wallets
  * ci: Update valgrind config
  * ci: Update s390x config
  * doc: remove WSL install instructions and point to upstream
  * doc: test: unittest segfault gdb
  * Enable TLS in links in documentation
  * rpc, wallet: Descriptor wallets are no longer experimental
  * doc/release-notes: Add new listunspent fields
  * QA: Add tests for listunspent ancestor{count,size,fees} to mempool_packages
  * RPC: Add ancestor{count,size,fees} to listunspent output
  * multiprocess: Delay wallet client construction
  * multiprocess: Add new bitcoin-gui, bitcoin-qt, bitcoin-wallet init implementations
  * multiprocess: Make interfaces::Chain::isTaprootActive non-const
  * test: Activate all regtest softforks at height 1, unless overridden
  * Introduce -testactivationheight=name@height setting
  * test: Add extra_args argument to TestChain100Setup constructor
  * test: Remove version argument from build_next_block in p2p_segwit test
  * test: Remove unused ~TestChain100Setup
  * test: use MiniWallet for make_utxo helper in feature_rbf.py
  * test: scale amounts in test_doublespend_tree down by factor 10
  * test: scale amounts in test_doublespend_chain down by factor 10
  * doc: Remove stale comment for CPrivKey
  * build: set OSX_MIN_VERSION to 10.15
  * gui: add RPC setting
  * ci: use Debian Bullseye in ARM CI
  * Fix Qt test broken by #22219
  * fuzz: allow lower number of sources
  * fuzz: Use public interface to fill addrman tried tables
  * addrman: Improve performance of Good
  * test: validation: add unittest for UpdateTip behavior
  * test: refactor: separate CreateBlock in TestChain100Setup
  * test: refactor: declare NoMalleation const auto
  * move-only: unittest: add test/util/chainstate.h
  * validation: fix CheckBlockIndex for multiple chainstates
  * validation: insert assumed-valid block index entries into candidates
  * validation: set BLOCK_ASSUMED_VALID during snapshot load
  * chain: add BLOCK_ASSUMED_VALID for use with assumeutxo
  * validation: change UpdateTip for multiple chainstates
  * doc: add comment for g_best_block
  * ci: Enable more functional tests on Windows MSVC task
  * qa: Fix "RuntimeError: Event loop is closed" on Windows
  * Add test for addrman consistency check on restart with asmap
  * Add test for rpc addpeeraddress with "tried" argument
  * Allow passing "tried" to rpc addpeeraddress to call CAddrMan::Good()
  * doc: Fix walletdisplayaddress RPC doc
  * refactor: net: avoid duplicate map lookups to `mapLocalHost`
  * test: fix misleading fee unit in mempool_limit.py
  * doc: Add historical release notes for 22.0
  * doc: Update snap release process for new versioning scheme
  * fix typos in logging messages
  * replace: self.nodes[0] with node
  * test: use MiniWallet in mempool_limit.py
  * qt: fix bitcoin-qt app categorization on apple silicon
  * test: Set peertimeout in write_config
  * qt: add missing tooltips to options menu settings
  * qt: ensure translator comments end in full stop
  * wallet: refactor: avoid duplicate lookup on `mapValue["timesmart"]`
  * wallet: refactor: inline function WriteOrderPos()
  * p2p: Rename fBlocksOnly, Add test
  * test: Simplify p2p_blocksonly test with new miniwallet rescan_utxos method
  * Cleanup headers after #20788
  * wallet: refactor: inline function ReadOrderPos()
  * qt: Add cancel button to configuration options popup
  * [doc] improve RBF documentation
  * [policy/refactor] pass in relay fee instead of using global
  * doc: add glibc to dependencies.md
  * compat: remove glibc_compat.cpp
  * build: remove glibc-back-compat from build system
  * remove --enable-glibc-back-compat from CI and docs
  * build: improve check for ::(w)system
  * qt, wallet: Drop no longer used WalletController::getOpenWallets()
  * qt, wallet: Add LoadWalletsActivity class
  * qt, wallet, refactor: Move connection to QObject::deleteLater to ctor
  * qt, wallet: Move activity progress dialog from data member to local
  * doc: Added hyperlink for doc/build
  * util: remove libevent <= 2.0.18 back-compat code
  * test: pep-8 whitespace
  * test: Avoid intermittent test failure in feature_csv_activation.py
  * Raise InitError when peers.dat is invalid or corrupted
  * Inline ReadPeerAddresses
  * Move LoadAddrman from init to addrdb
  * bench: Fix 32-bit compilation failure in addrman bench
  * doc: Set PYTHONUTF8=1 for functional tests on Windows
  * cirrus: Enable tests on windows
  * ci: Switch multiprocess to i686 build
  * test: Add missing suppression signed-integer-overflow:addrman.cpp
  * test: Fix tests on Windows
  * build_msvc: Drop 32-bit build configurations
  * build_msvc: Make bitcoin-util ProjectGuid unique
  * doc: add missing copyright header to getuniquepath.cpp
  * build: Make <QtBaseDir> default name Qt and VS versions agnostic
  * ci: Fix merge_script in MSVC task
  * Make unexpected time type in BCLog::LogMsg() a compile-time error
  * Add util/types.h with ALWAYS_FALSE template
  * [net] Remove asmap argument from CNode::CopyStats()
  * [asmap] Make DecodeAsmap() a utility function
  * ci: Build and cache static Qt instead of downloading a pre-built one
  * [asmap] Remove SanityCheckASMap() from netaddress
  * ci: Add missed comments and test_bitcoin.exe command line option
  * [net] Remove CConnman::Options.m_asmap
  * Remove confusing CAddrDB
  * Fix addrdb includes
  * Move addrman includes from .h to .cpp
  * Enable clang-tidy bugprone-argument-comment and fix violations
  * qt, refactor: Allocate SendConfirmationDialog instances on heap
  * qt, refactor: Keep HelpMessageDialog in the main event loop
  * qt, refactor: Keep PSBTOperationsDialog in the main event loop
  * qt, refactor: Keep AskPassphraseDialog in the main event loop
  * qt, refactor: Keep EditAddressDialog in the main event loop
  * qt, refactor: Keep CoinControlDialog in the main event loop
  * qt, refactor: Keep OptionsDialog in the main event loop
  * qt: Add GUIUtil::ShowModalDialogAndDeleteOnClose
  * ci: Drop AppVeyor CI integration
  * ci: Add Windows task to Cirrus CI
  * log, timer: improve BCLog::LogMsg()
  * sync: inline lock contention logging macro to fix time duration
  * qt: Add "Copy address" item to the context menu in the Peers table
  * doc: Clarify that change_cost cannot be negative in GetSelectionWaste
  * consensus: don't call GetBlockPos in ReadBlockFromDisk without lock
  * netinfo: clarify client and server versions in header
  * addrman: Fix format string in deserialize error
  * Fixes Bug in Transaction generation in ComplexMempool benchmark
  * build: Update default platform toolset in msvc-autogen.py
  * doc: add disclaimer highlighting shortcomings of the basic multisig example
  * test, doc: basic M-of-N multisig minor cleanup and clarifications
  * wallet: AddWalletDescriptor requires cs_wallet lock
  * wallet: GetLabelAddresses requires cs_wallet lock
  * test: Remove useless overwrite
  * Add LIFETIMEBOUND to InitializeChainstate
  * Add LIFETIMEBOUND to CScript where needed
  * Use SelectCoinsSRD if it has less waste
  * Add SelectCoinsSRD function
  * tests: wallet_basic lock needed unspents
  * tests: wallet_txn explicilty specify inputs
  * tests: rpc_fundrawtx better test for UTXO inclusion with include_unsafe
  * tests: rpc_fundrawtx use specific inputs for unavailable change test
  * tests: rpc_fundrawtx lock to UTXO types
  * MOVEONLY: Expose BanMapToJson / BanMapFromJson
  * qt, refactor: Replace WalletFrame::addWallet with WalletFrame::addView
  * whitespace fixups after move and scripted-diff
  * scripted-diff: rename variables in policy/rbf
  * MOVEONLY: fee checks (Rules 3 and 4) to policy/rbf
  * MOVEONLY: check that fees > direct conflicts to policy/rbf
  * MOVEONLY: check for disjoint conflicts and ancestors to policy/rbf
  * MOVEONLY: BIP125 Rule 2 to policy/rbf
  * Make GetEntriesForConflicts return std::optional
  * policy: document we intentionally don't lower the dust threshold for Taproot
  * test: Rename bitcoin-util-test.py to util/test_runner.py
  * scripted-diff: Use generate* from TestFramework
  * test: Update test README and lint script
  * test: Always clear reject reason in IsStandard tx test
  * tests: Add TrimString(...) tests
  * Replace use of boost::trim_right with locale-independent TrimString
  * Replace use of boost::trim use with locale-independent TrimString
  * msvc: update bitcoin_config.h defines
  * sync: remove DEBUG_LOCKCONTENTION preprocessor directives
  * log, sync: improve lock contention logging and add time duration
  * log, timer: add timing macro in usec LOG_TIME_MICROS_WITH_CATEGORY
  * fuzz: Remove addrdb fuzz target
  * refactor: Detach wallet transaction methods (followup for move-only)
  * test, refactor: rpc_rawtransaction PEP8
  * refactor: separate the rpc_rawtransaction tests into functions
  * move-only: regroup similar rpc_rawtransaction tests together
  * test: remove no longer needed (ASCII art) comments
  * test: add and harmonize getrawtransaction logging
  * test: run 2nd getrawtransaction section with/without -txindex
  * refactor: txid to constant in rpc_rawtransaction to isolate tests
  * refactor: dedup/reorg createrawtransaction sequence number tests
  * Test src/node/transaction::GetTransaction() without -txindex
  * Remove CBanEntry::SetNull
  * Remove unused SERIALIZE_METHODS for CBanEntry
  * guix/prelude: Override VERSION with FORCE_VERSION
  * policy: unit test Segwit dust thresholds
  * ci: Fuzz with -ftrivial-auto-var-init=pattern
  * builder-keys: add kristapsk
  * build: fix unoptimized libraries in depends
  * release: remove gitian
  * doc: mention bech32m/BIP350 in doc/descriptors.md
  * Stricter BIP32 decoding and test vector 5
  * test: Check that non-signaling BIP125 tx can be replaced via parent
  * refactor: remove RecursiveMutex cs_nBlockSequenceId
  * Use waste metric for deciding which selection to use
  * tests: Test GetSelectionWaste
  * Add waste metric calculation function
  * scripted-diff: tests: Use KnapsackSolver directly
  * tests: Add KnapsackGroupOutputs helper function
  * tests: Use SelectCoinsBnB directly instead of AttemptSelection
  * Allow the long term feerate to be configured, default of 10 sat/vb
  * build, qt: Fix typo in QtInputSupport check
  * [fuzz] Add ConsumeAsmap() function
  * [addrman] Make m_asmap private
  * [net] Rename the copyStats arg from m_asmap to asmap
  * [addrman] Set m_asmap in CAddrMan initializer list
  * test: Avoid race after connect_nodes
  * [refactor] [addrman] Update constant comments
  * [move-only] Extract constants from addrman .h to .cpp
  * [addrman] Change addrman #define constants to be constexprs
  * [addrman] Move CAddrMan::Unserialize to cpp file
  * [addrman] Move CAddrMan::Serialize to cpp file
  * [test] checks descendants limtis for second generation Package descendants
  * qt: Add copy IP/Netmask action for banned peer
  * qt, refactor: Declare getWalletModel with const and noexcept qualifiers
  * qt, refactor: Drop redundant checks of walletModel
  * qt, refactor: Pass WalletModel object to WalletView constructor
  * ci: Re-enable verify-commits.py check
  * ci: Unconditionally set the global git author name in cirrys.yml
  * Set regtest.BIP65Height = 111 to speed up tests
  * Remove GetAddrName
  * Remove unused RecursiveMutex cs_addrName
  * test, doc: refer to the correct variable names in p2p_invalid_tx.py
  * Use `context.args` in `src/wallet/load.cpp`.
  * [net] Remove CConnMan::SetAsmap()
  * [init] Read/decode asmap before constructing addrman
  * Remove unused MaybeSetAddrName
  * MOVEONLY: getting mempool conflicts to policy/rbf
  * [validation] quit RBF logic earlier and separate loops
  * call SignalsOptInRBF instead of checking all inputs
  * [validation] default conflicting fees and size to 0
  * MOVEONLY: BIP125 max conflicts limit to policy/rbf.h
  * Fix build with Boost 1.77.0
  * external_signer: improve fingerprint matching logic (stop on first match)
  * refactor: replace QDateTime::toTime_t with QDateTime::toSecsSinceEpoch
  * refactor: replace QDateTime::fromTime_t with QDateTime::fromSecsSinceEpoch
  * Use `context.args` in `CWallet::Create` instead of `gArgs`.
  * Fix typo in bitcoin-cli.cpp
  * Consolidate XOnlyPubKey lookup hack
  * qt: Add missing mnemonics in menu bar options
  * doc: Remove incorrect INIT_PROTO_VERSION from nTime comment
  * test: fix failure in feature_nulldummy.py on single-core machines
  * test: refactor: use named args for block_submit in feature_nulldummy.py
  * test: add aarch64-apple-darwin platform entry to get_previous_releases
  * doc: remove outdated comment
  * refactor: Remove unused KeyIDHasher
  * script: Add commits signed with sipas expired key to allow-revsig-commits
  * the result of CWallet::IsHDEnabled() was initialized with true.
  * Drop us=... message in net debug for sending version message
  * refactor: move CAddress-without-nTime logic to net_processing
  * qt: Handle new added plurals in bitcoin_en.ts
  * doc: add info for debugging with relative paths
  * fuzz: Use LIMITED_WHILE instead of limit_max_ops
  * Add references for the generator/constant used in Bech32(m)
  * Avoid temporary vectors/uint256s in VerifyTaprootCommitment
  * Assert that IsComplete() in GetSpendData()
  * Remove default nHashTypeIn arguments to MutableTransactionSignatureCreator
  * Simplify SignTransaction precomputation loop
  * Improve comments in taproot signing logic
  * Remove txindex migration code
  * doc: Fix validation typo
  * Add missing includes and forward declarations, remove unused ones
  * fuzz: Avoid timeout in blockfilter fuzz target
  * ci: Make git available for all merge commits
  * scripted-diff: Rename template to avoid CI configuration parsing warning
  * doc: Mention the flat directory structure for uploads
  * ci: Run arm task on arm64 hardware
  * doc: Update GitHub documentation links
  * [net] Replace GetID() with id in TransportDeserializer constructor
  * [net] Don't return an optional from TransportDeserializer::GetMessage()
  * Use generate* from TestFramework
  * Add I2P network SetReachable/IsReachable unit test assertions
  * Improve doc/i2p.md regarding I2P router options/versions
  * test: Add generate* calls to test framework
  * [addrman] Clean up ctor
  * [addrman] inline Clear() into CAddrMan ctor
  * [addrman] Remove all public uses of CAddrMan.Clear() from the tests
  * test: fix bug in 22686
  * doc: link to managing-wallets from doc readme
  * guix: Don't include directory name in SHA256SUMS
  * log, sync: add LOCK logging category, apply it to lock contention
  * ci: Run fuzzer task for the master branch only
  * ci: Invalidate depends caches when sources have been changed
  * [tests] Remove CAddrMan.Clear() call from CAddrDB::Read()
  * [addrman] Don't call Clear() if parsing peers.dat fails
  * [addrman] Move peers.dat parsing to init.cpp
  * scripted-diff: replace clientInterface with m_client_interface in net
  * net: use clientInterface rather than uiInterface
  * test: use f-strings in mining_*.py tests
  * test: use f-strings in interface_*.py tests
  * test: use f-strings in feature_proxy.py
  * test: use f-strings in feature_segwit.py
  * test: use f-strings in feature_versionbits_warning.py
  * test: use f-strings in feature_settings.py
  * test: use f-strings in feature_pruning.py
  * test: use f-strings in feature_notifications.py
  * test: use f-strings in feature_minchainwork.py
  * test: use f-strings in feature_logging.py
  * test: use f-strings in feature_loadblock.py
  * test: use f-strings in feature_help.py
  * test: use f-strings in feature_filelock.py
  * test: use f-strings in feature_fee_estimation.py
  * test: use f-strings in feature_dersig.py
  * test: use f-strings in feature_dbcrash.py
  * test: use f-strings in feature_csv_activation.py
  * test: use f-strings in feature_config_args.py
  * test: use f-strings in feature_cltv.py
  * test: use f-strings in feature_blocksdir.py
  * test: use f-strings in feature_backwards_compatibility.py
  * test: use f-strings in feature_asmap.py
  * [MOVEONLY] [tests] Move addrman ser/deser tests to addrman_tests.cpp
  * windres: use PACKAGE_VERSION rather than building more version numbers
  * Start using init makeNode, makeChain, etc methods
  * refactor: remove ::vpwallets and related global variables
  * contrib: use hkps://keys.openpgp.org to retrieve builder keys
  * refactor: replace remaining binascii method calls
  * doc: Add missing PR 16333 release note
  * test: check for invalid `-prune` parameters
  * test: only use verbose for getrawmempool when necessary in functional tests
  * test: use getmempoolentry instead of getrawmempool in functional tests when appropriate
  * test: improve mempool_updatefrom efficiency by using getmempoolentry for specific txns
  * ci: Reorder scripts to make git available before depends_sources_cache
  * wallet: use PACKAGE_NAME instead of "Bitcoin" in rpcdump
  * wallet: use FormatFullVersion instead of CLIENT_BUILD in rpcdump
  * doc: add another signing flow for multisig with descriptor wallets and PSBTs
  * doc: M-of-N multisig using descriptor wallets and PSBTs, as well as a signing flow
  * test: add functional test for multisig flow with descriptor wallets and PSBTs
  * [addrman] Merge the two Add() functions
  * Document about wallet backup and restoration
  * qt, refactor: Replace `if` check with `assert`
  * qt, refactor: Drop redundant signalling in WalletView::setWalletModel
  * qt, refactor: Emit WalletView::encryptionStatusChanged signal directly
  * qt: Add WalletFrame::currentWalletSet signal
  * builder-keys: Add dongcarl
  * p2p: log addrman consistency checks
  * Display peers in -netinfo that we don't relay addresses to
  * Display peers in -netinfo that request we not relay transactions
  * test: Test for ApproximateBestSubset edge case with too little fees
  * wallet: Assert that enough was selected to cover the fees
  * wallet: Use GetSelectionAmount for target value calculations
  * builder-keys: add jamesob
  * test: added test for disabled wallet
  * [addrman] Make addrman consistency checks a runtime option
  * clientversion: No suffix #if CLIENT_VERSION_IS_RELEASE
  * qt: Add Load PSBT functionaliy with nowallet
  * qt, refactor: Fix indentation
  * qt: Add SubFeeFromAmount option
  * Change the wallet_backup.py test to use the restorewallet RPC command instead of restoring wallets manually.
  * Add a new RPC command: restorewallet
  * Simplify a few conditionals in -netinfo
  * Add addr_processed and addr_rate_limited stats to -netinfo
  * scripts: prevent GCC optimising test symbols in test-symbol-check
  * Specifies how to set the value of TORGROUP
  * contrib: return non-zero status if getcoins.py errors
  * contrib: catch bitcoin-cli RPC call errors in getcoins.py
  * contrib: refactor: introduce bitcoin-cli RPC call helper in getcoins.py
  * fuzz: Re-enable assert in banman again
  * Update i2p.md and tor.md regarding -onlynet config option
  * refactor: Reuse MakeUnorderedList where possible
  * refactor: Move MakeUnorderedList into util/string.h to make it reusable
  * scripted-diff: Rename JoinErrors in more general MakeUnorderedList
  * fuzz: add guide to fuzzing with Eclipser v1.x
  * fuzz: Avoid OOM in system fuzz target
  * [test] mempool package ancestor/descendant limits
  * [test] parameterizable fee for make_chain and create_child_with_parents
  * [test] helper function to increase transaction weight
  * extract/rename helper functions from rpc_packages.py
  * [policy] ancestor/descendant limits for packages
  * gui: ensure external signer option remains disabled without signers
  * guix-verify: Non-zero exit code when anything fails
  * release: Release with separate SHA256SUMS and sig files
  * [tests] Make deterministic addrman use nKey = 1
  * [addrman] Add deterministic argument to CAddrMan ctor
  * Add missing const to CAddrMan::Check_()
  * [mempool] check ancestor/descendant limits for packages
  * [refactor] pass size/count instead of entry to CalculateAncestorsAndCheckLimits
  * MOVEONLY: add helper function for calculating ancestors and checking limits
  * misc package validation doc improvements
  * test: Set regtest.BIP66Height = 102 to speed up tests
  * doc: Add packages that provide Qt Wayland plugin for Linux
  * test: Add missing include
  * Add cleaner errors for unsuccessful faucet transactions
  * [script] Update signet getcoins.py for custom network
  * [net_processing] Provide debug error if code assumptions change.
  * [docs] Add release notes for #21528
  * test: refactor: remove binascii from test_framework
  * p2p, rpc, test: address rate-limiting follow-ups
  * fuzz: check that ser+unser produces the same AddrMan
  * test: Check if specified config file cannot be opened
  * util: check MoneyRange() inside ParseMoney()
  * util: make ParseMoney return a std::optional<CAmount>
  * make ParseOutputType return a std::optional<OutputType>
  * util: Check if specified config file cannot be opened
  * qt: Fix regression in "Encrypt Wallet" menu item
  * p2p, rpc: address relay fixups
  * doc: update -addrinfo in release-notes.md and tor.md
  * Improve mempool_accept_wtxid.py
  * doc: Correct description of CAddrMan::Create()
  * doc: Update high-level addrman description
  * cli: Add progress bar for -getinfo
  * [GetTransaction] remove unneeded `cs_main` lock acquire
  * doc: Add release notes for 22570 (ignore banlist.dat)
  * consensus/params: simplify ValidDeployment check to avoid gcc warning
  * fuzz: move init code to the CAddrManDeterministic constructor
  * Expose ancestorsize and ancestorfees via getTransactionAncestry
  * test: refactor: remove `hex_str_to_bytes` helper
  * error if settings.json exists, but is unreadable
  * Close minor startup race between main and scheduler threads
  * [style] Small style improvements to DNS parameters
  * [test] Test the delay before querying DNS seeds
  * [test] Test the interactions between -forcednsseed and -dnsseed
  * [init] Disallow starting up with conflicting paramters for -dnsseed and -forcednsseed
  * [test] Test -forcednsseed causes querying DNS seeds
  * [test] Test the interactions between -connect and -dnsseed
  * [test] Test logic to query DNS seeds with block-relay-only connections
  * [test] Introduce test logic to query DNS seeds
  * Fix whitespace in touched files
  * Remove unused CSubNet serialize code
  * doc: add info to i2p.md about IBD time and multiple networks
  * Ignore banlist.dat
  * contrib, p2p: update I2P hardcoded seeds
  * [test] Use the new endpoint to improve tests
  * [RPC] Add field to getpeerinfo to indicate if addr relay is enabled
  * [test] Test that we intentionally select addr relay peers.
  * [net_processing] Remove RelayAddrsWithPeer function
  * [net_processing] Introduce new field to indicate if addr relay is enabled
  * [net_processing] Defer initializing m_addr_known
  * [test] Update p2p_addr_relay test to prepare
  * [net_processing] Introduce SetupAddressRelay
  * test: Add temporary sanitizer suppression implicit-signed-integer-truncation:netaddress.cpp
  * build: Fix macOS Apple Silicon build with miniupnpc and libnatpmp
  * macdeploy: alternative info to download the macOS SDK
  * Document faster throughput configuration
  * guix: Ensure EPOCH_SOURCE_DATE does not include GPG information
  * guix: Remove extra \r from all.SHA256SUMS line ending
  * guix, doc: Add a note that codesigners need to rebuild after tagging
  * test: use MiniWallet for simple doublespend test in feature_rbf.py
  * test: add addr-fetch timeout connection coverage in p2p_addrfetch.py
  * test: add assert_getpeerinfo method and coverage in p2p_addrfetch.py
  * test: assert logging categories are sorted in rpc and help
  * test: feature_rbf.py: make MiniWallet instance available for all sub-tests
  * tracing: Tracepoint for connected blocks
  * tracing: Tracepoints for in- and outbound P2P msgs
  * doc: document systemtap dependency
  * doc: Add initial USDT documentation
  * fuzz: silence a compiler warning about unused CBanEntry comparator
  * build: Fix undefined reference to __mulodi4
  * Fix typo in comment
  * test: add type annotations to util.get_rpc_proxy
  * test: use constants for CSV/CLTV activation heights in rpc_signrawtransaction
  * test: introduce `generate_to_height` helper, use in rpc_signrawtransaction
  * test: Disable automatic connections by default
  * p2p: refactor: tidy up `PeerManagerImpl::Misbehaving(...)`
  * test: check that CSV/CLTV are active in rpc_signrawtransaction
  * coinstats: Add comments for new coinstatsindex values
  * Index: Improve logging in coinstatsindex
  * rpc: Block until synced if coinstatsindex is used in gettxoutsetinfo
  * rpc: Add missing gettxoutsetinfo help docs
  * cli -addrinfo: drop torv2, torv3 becomes onion per GetNetworkName()
  * script, doc: guix touchups
  * Updated Readme, Corrected the codesign typo
  * Fix incorrect whitespace in addrman
  * Add missing GUARDED_BY to CAddrMan::insecure_rand
  * guix: Allow changing the base manifest in guix-verify
  * guix: Make all.SHA256SUMS rather than codesigned.SHA256SUMS
  * guix/build: Remove vestigial SKIPATTEST.TAG
  * guix/INSTALL: Misc fixups
  * log, refactor: use guard clause in LogCategoriesList()
  * log: sort LogCategoriesList and LogCategoriesString alphabetically
  * doc: GetTransaction()/getrawtransaction follow-ups to #22383
  * test: verify number of categories returned by logging RPC
  * refactor: move `GetTransaction(...)` to node/transaction.cpp
  * contrib: use newer config.guess & config.sub in install_db4.sh
  * depends: use latest config.guess and config.sub for sqlite
  * depends: use latest config.guess and config.sub for cctools
  * depends: use latest config.guess and config.sub for libevent
  * test: update logging and docstring in rpc_blockchain.py
  * test: replace magic values by constants in rpc_blockchain.py
  * test: assert on mediantime in getblockheader and getblockchaininfo
  * test: assert on the value of getblockchaininfo#time
  * fuzz: Actually use const addrman
  * refactor: Mark CAddrMan::GetAddr const
  * refactor: Mark CAddrMan::Select const
  * fuzz: Temporarily disable failing assert in banman fuzz test
  * cli: Implement human readable -getinfo.
  * doc: clean out release notes post branch-off
  * guix: Silence getent(1) invocation
  * test: check for RPC error 'Transaction already in block chain' (-27)
  * doc: Adjust commit message template for the guix.sigs repo
  * [addrman] Remove unused test_before_evict argument from Good()
  * build: Bump master version to 22.99.0
  * [net processing] Default initialize m_recent_confirmed_transactions
  * scripted-diff: Rename recentRejects
  * [net processing] Default initialize recentRejects
  * [net processing] Default initialize m_stale_tip_check_time
  * [net processing] Add Orphanage empty consistency check
  * mempool: apply rule of 5 to epochguard.h, fix compiler warnings
  * [addrman] Remove RemoveInvalid()
  * rpc: Return block time in getblockchaininfo
  * util: improves error messages on get_previous_releases script
  * fuzz: Extend addrman fuzz test with deserialize
  * Replace $(AT) with .SILENCE.
  * [Refactor] Rename scriptPubKey -> exec_script
  * ci: Bump Android NDK to r22 which supports std::filesystem
  * build: Add support for Android NDK r22+
  * refactor: remove unused assumeutxo methods
  * validation: add chainman ref to CChainState
  * test: add logging to wallet_listtransactions
  * test: remove unneeded/redundant code in wallet_listtransactions
  * test: speedup wallet_listtransactions by whitelisting peers (immediate tx relay)
  * test: remove unneeded initialization code in feature_rbf.py
  * Move pblocktree global to BlockManager
  * Move LoadBlockIndexDB to BlockManager
  * fuzz: Limit max ops in tx_pool fuzz targets
  * fuzz: Use ConsumeUInt256 helper to simplify rolling_bloom_filter fuzz test
  * fuzz: Speed up rolling_bloom_filter fuzz test
  * qt, refactor: Fix code styling of moved InitExecutor class
  * qt, refactor: Move InitExecutor class into its own module
  * scripted-diff: Rename BitcoinCore class to InitExecutor
  * qt: Add BitcoinCore::m_thread member
  * Squashed 'src/secp256k1/' changes from efad3506a8..be8d9c262f
  * fuzz: Speed up prevector fuzz target
  * doc: update enum naming in developer notes
  * test: fix segwit terminology (s/witness_program/witness_script/)
  * wallet, rpc: add listdescriptors private option
  * gui: Prompt to reset settings when settings.json cannot be read
  * [validation] Always include merkle root in coinbase commitment
  * [validation] Set witness script flag with p2sh for blocks
  * [p2p] remove redundant NODE_WITNESS checks
  * [p2p] remove unused segwitheight=-1 option
  * [test] remove or move tests using `-segwitheight=-1`
  * configure: keep relative paths in debug info
  * test: remove confusing `MAX_BLOCK_BASE_SIZE`
  * prefer to use txindex if available for GetTransaction
  * system: skip trying to set the locale on NetBSD
  * Change SignTransaction's input_errors to use bilingual_str
  * Use bilingual_str for address fetching functions
  * Add bilingual_str::clear()
  * wallet: Properly set fInMempool in mempool notifications
  * test: introduce `get_weight()` helper for CBlock
  * test: introduce `get_weight()` helper for CTransaction
  * torcontrol: Resolve Tor control plane address
  * [crypto] Fix K1/K2 use in ChaCha20-Poly1305 AEAD
  * Highlight DNS request part
  * doc: Add IPv6 address to zmq example
  * test: Add IPv6 test to zmq
  * zmq: Enable IPv6 on listening socket
  * test: Set BIP34Height = 2 for regtest
  * test: Create all blocks with version 4 or higher
  * test: Properly set BIP34 height in CreateNewBlock_validity unit test
  * refactor: Pass script verify flags as uint32_t
  * wallet test: Add test for subtract fee from recipient behavior
  * wallet test refactor: add CreateSyncedWallet function
  * qt: Refactor open date range to use std::optional
  * Avoid wallet code writing node settings file
  * Add FoundBlock.found member
  * Add ipc::Context and ipc::capnp::Context structs
  * gui: Unregister wallet notifications before unloading wallets
  * Index: Return early from failed coinstatsindex init
  * index: Use batch writing in coinstatsindex WriteBlock
  * scripted-diff: Fix coinstats data member names
  * doc: Drop no longer required notes for Windows builds
  * build: Try posix-specific CXX first for mingw32 host
  * qt, test: use regex search in apptests
  * qt, test: introduce FindInConsole function
  * gui: add Direction column to peers tab
  * index: Avoid unnecessary type casts in coinstatsindex
  * refactor: Make m_cs_fee_estimator non-recursive
  * refactor: Add non-thread-safe CBlockPolicyEstimator::_removeTx helper
  * Add thread safety annotations to CBlockPolicyEstimator public functions
  * Generate doxygen documentation for test sources
  * RPC/blockchain: getblockchaininfo: Include versionbits signalling details during LOCKED_IN
  * ci: Make Cirrus CI Windows build with --enable-werror
  * Fix Windows build with --enable-werror on Ubuntu Focal
  * net: do not advertise address where nobody is listening
  * refactor: net: subnet lookup: use single-result LookupHost()
  * doc: nChainTx needs to become a 64-bit earlier due to SegWit
  * Reduced number of validations in `tx_validationcache_tests` to keep the run time reasonable.
  * rpc: fix/add missing RPCExamples for "Util" RPCs
  * Bugfix: GUI: Check validity when QValidatedLineEdit::setText is called
  * Bugfix: GUI: Re-check validity after QValidatedLineEdit::setCheckValidator
  * Bugfix: GUI: Only apply invalid style to QValidatedLineEdit, not its tooltip

-------------------------------------------------------------------
Fri Dec 30 16:22:22 UTC 2022 - marec@detebe.org

- Update to version 22.1.0:
  * doc: update release notes and manual pages for 22.1
  * build: bump version to 22.1 - don't build test_bitcoin binary
  * doc: update release notes for 22.1rc2
  * doc: update manual pages for 22.1rc2
  * build: bump version to 22.1rc2
  * locale: missed branding after 22.1rc1 backports (#217)
  * depends: update qt 5.12 url to archive location
  * Fixes bitcoin#26490 by preventing notifications
  * Disallow encryption of watchonly wallets
  * trusted-keys: add keys for anyone with maintainer permissions (#216)
  * builder-keys: additional links and information (#214)
  * builder keys: only include Vertcoin developers (#213)
  * Reduce getheaders spam by serializing getheaders requests per peer
  * doc: update manual pages for 22.1rc1
  * build: begin using same version number as upstream (22.1)
  * verthash: modernize boost calls to support future boost releases (#210)
  * backports from upstream 22.1 (#208)
  * vtc review: missed branding items (#207)
  * Add key for numski (#198)
  * add builder key for KforG (#197)
  * Update keys.txt with fingerprint for cruelnovo (#196)
  * builder keys: add vertion (#195)
  * build: bump version to 19.0rc1
  * vtc: README files
  * vtc: locale branding
  * Close minor startup race between main and scheduler threads
  * vtc: update seeds from jk14's seeder and skip filtering by ASN
  * vtc: Windows code signing certificate
  * vtc: contrib, manpages branding
  * vtc: src and executable branding
  * vtc: qt, rpc branding
  * vtc: logo branding
  * vtc: guix builds using -fPIC, --disable-shared
  * vtc: add copyright string for Vertcoin developers
  * vtc: adjust ports
  * vtc: ban nodes that keep requesting the same headers
  * vtc: startup verification
  * vtc: Scrypt-N, Lyra2RE, Lyra2REv2, Lyra2REv3, Verthash PoW
  * vtc: Kimoto Gravity Well (KGW) difficulty-readjustment algorithm
  * vtc: use GMP for kimoto gravity well arithmetic
  * vtc: validation
  * vtc: feerates, max money, versionbits
  * vtc: chainparams
  * qt: Avoid crash on startup if int specified in settings.json
  * fs: Make compatible with boost 1.78
  * test: Call ceildiv helper with integer
  * ci: Replace soon EOL hirsute with jammy
  * build: patch qt to explicitly define previously implicit header include
  * tests: Calculate fees more similarly to CFeeRate::GetFee
  * tests: Test for assertion when feerate is rounded down
  * fees: Always round up fee calculated from a feerate
  * wallet: fix segfault by avoiding invalid default-ctored `external_spk_managers` entry
  * refactor: include a missing <limits> header in fs.cpp
  * consensus: don't call GetBlockPos in ReadBlockFromDisk without lock
  * the result of CWallet::IsHDEnabled() was initialized with true.
  * build, qt: Fix typo in QtInputSupport check
  * system: skip trying to set the locale on NetBSD
  * guix: Fix powerpc64(le) dynamic linker name
  * doc: Add 23061 release notes
  * Fix (inverse) meaning of -persistmempool
  * build: Restrict check for CRC32C intrinsic to aarch64
  * ci: Use dash when building depends in centos build
  * ci: Bump CentOS 8 image
  * build: fix depends zeromq dash compatibility
  * build: libXau 1.0.9
  * guix: ignore additioanl failing certvalidator test
  * build: explicitly disable libsecp256k1 openssl based tests
  * doc: clean out release-notes.md
  * doc: Add historical release notes for 22.0
  * Some small improvements to release notes
  * doc: Manual pages update for 22.0 final
  * build: Bump version to 22.0 final
  * doc: Move 22.0 release notes from wiki
  * guix/prelude: Override VERSION with FORCE_VERSION
  * doc: mention bech32m/BIP350 in doc/descriptors.md
  * doc: Manual pages update for rc3
  * doc: Stop nixing `-` in manual pages
  * Improve doc/i2p.md regarding I2P router options/versions
  * build: Bump version to 22.0rc3
  * Fix build with Boost 1.77.0
  * qt: Handle new added plurals in bitcoin_en.ts
  * qt: Pre-rc3 translations update
  * doc: Mention the flat directory structure for uploads
  * guix: Don't include directory name in SHA256SUMS
  * test: fix bug in 22686
  * clientversion: No suffix #if CLIENT_VERSION_IS_RELEASE
  * test: Test for ApproximateBestSubset edge case with too little fees
  * wallet: Assert that enough was selected to cover the fees
  * wallet: Use GetSelectionAmount for target value calculations
  * release: Release with separate SHA256SUMS and sig files
  * guix-verify: Non-zero exit code when anything fails
  * gui: ensure external signer option remains disabled without signers
  * qt: Fix regression in "Encrypt Wallet" menu item
  * consensus/params: simplify ValidDeployment check to avoid gcc warning
  * ci: Run fuzzer task for the master branch only
  * doc: Manual pages update for 22.0rc2
  * build: Bump RC to rc2
  * doc: add info to i2p.md about IBD time and multiple networks
  * contrib, p2p: update I2P hardcoded seeds
  * qt: Pre-rc2 translations update
  * guix: Ensure EPOCH_SOURCE_DATE does not include GPG information
  * guix: Remove extra \r from all.SHA256SUMS line ending
  * guix, doc: Add a note that codesigners need to rebuild after tagging
  * guix: Allow changing the base manifest in guix-verify
  * guix: Make all.SHA256SUMS rather than codesigned.SHA256SUMS
  * script, doc: guix touchups
  * Updated Readme, Corrected the codesign typo
  * guix/build: Remove vestigial SKIPATTEST.TAG
  * guix/INSTALL: Misc fixups
  * guix: Silence getent(1) invocation
  * qt: Pre-rc2 translations update
  * build: Bump version to 22.0.0rc1
  * doc/release-process: Add torrent creation details
  * guix/INSTALL: Guix installs init scripts in libdir
  * guix/INSTALL: Add coreutils/inotify-dir-recreate troubleshooting
  * guix: Adapt release-process.md to new Guix process
  * guix-attest: Produce and sign normalized documents
  * guix: Overhaul README
  * scripted-diff: Revert "fuzz: Add Temporary debug assert for oss-fuzz issue"
  * tests: Test for dumpwallet lock order issue
  * Reorder dumpwallet so that cs_main functions go first
  * Update assumed chain params
  * scripted-diff: remove ResetI2PPorts() (revert e0a2b390c14)
  * Test that descriptor wallet upgrade does nothing
  * guix: Bump to version-1.3.0 from upstream
  * guix: Pin kernel header version
  * Make IsSegWitOutput return true for taproot outputs
  * Improve tests using statistics
  * bench: fix 32-bit narrowing warning in bench/peer_eviction.cpp
  * Add logging and addr rate limiting statistics
  * Functional tests for addr rate limiting
  * Randomize the order of addr processing
  * Rate limit the processing of incoming addr messages
  * Change ScriptPubKeyMan::Upgrade to default to return true
  * addrman: detect on-disk corrupted nNew and nTried during unserialization
  * test: move rpc_rawtransaction tests to < 30s group
  * test: whitelist rpc_rawtransaction peers to speed up tests
  * test: Fix wallet_listdescriptors.py if bdb is not compiled
  * Move implementations of non-template fuzz helpers
  * refactor: move UpdateTip into CChainState
  * refactor: no mempool arg to GetCoinsCacheSizeState
  * refactor: move UpdateMempoolForReorg into CChainState
  * validation: make CChainState::m_mempool optional
  * build: use aarch64 Clang if cross-compiling for darwin on aarch64
  * init: remove straggling boost thread_group code
  * fix incorrect testmempoolaccept doc
  * test: Add functional test for AddrFetch connections
  * net, rpc: Enable AddrFetch connections for functional testing
  * [style] Clean up BroadcastTransaction()
  * [test] Allow rebroadcast for same-txid-different-wtxid transactions
  * [mempool] Allow rebroadcast for same-txid-different-wtxid transactions
  * [test] Test transactions are not re-added to unbroadcast set
  * [mempool] Only add a transaction to the unbroadcast set when it's added to the mempool
  * doc: mention that we enforce port=0 in I2P
  * addrman: reset I2P ports to 0 when loading from disk
  * test: ensure I2P ports are handled as expected
  * net: do not connect to I2P hosts on port!=0
  * net: distinguish default port per network
  * net: change I2P seeds' ports to 0
  * net: change assumed I2P port to 0
  * tree-wide: Rename gitian-keys to builder-keys
  * guix: Update various check_tools lists
  * guix: Check for a sane services database
  * p2p: earlier continuation when no remaining eviction candidates
  * p2p: process more candidates per protection iteration
  * p2p: iterate eviction protection only on networks having candidates
  * bench: add peer eviction protection benchmarks
  * [test] submit same txid different wtxid as mempool tx
  * [validation] distinguish same txid different wtxid in mempool
  * net: don't bind on 0.0.0.0 if binds are restricted to Tor
  * guix: Test security-check sanity before performing them
  * scripts: adjust test-symbol-check for guix release environment
  * scripts: more robustly test macOS symbol checks
  * build: Use and test PE binutils with --reloc-section
  * guix: Patch binutils to add security-related disable flags
  * devtools: Improve *-check.py tool detection
  * ci: skip running the Linux test-security-check target for now
  * lint: Run mypy with --show-error-codes
  * Avoid GCC 7.1 ABI change warning in guix build
  * refactor: move GetRandomNodeEvictionCandidates() to test utilities
  * doc: added info to bitcoin.conf doc
  * script: remove gitian reference from symbol-check.py
  * guix: add additional documentation to patches
  * lint: exclude Guix patches from spell-checking
  * guix: no-longer pass --enable-glibc-back-compat to Guix
  * build: remove glibc backcompat requirement for Linux symbol checks
  * test: add `bad-txns-prevout-null` test to mempool_accept.py
  * test: add `bad-txns-prevout-null` test case to invalid_txs.py
  * test: use script_util helpers for creating P2W{PKH,SH} scripts
  * test: use script_util helpers for creating P2SH scripts
  * build: remove --enable-determinism configure option
  * doc: Install Rosetta on M1-macOS for qt in depends
  * build: Add -Werror=implicit-fallthrough compile flag
  * Use C++17 [[fallthrough]] attribute, and drop -Wno-implicit-fallthrough
  * fuzz: Move CTxDestination fuzzing to script fuzz target
  * fuzz: Simplify CTxDestination fuzzing in the script target
  * fuzz: Improve ConsumeTxDestination
  * fuzz: Move ConsumeTxDestination to cpp file
  * doc: Remove unnecessary steps from translations update process
  * doc: Add steps for transifex to release process
  * guix: Also sort SHA256SUMS.part
  * ci: use Ubuntu 20.04 as the default Docker container
  * guix: Build depends/qt with our platform definition
  * guix: Rebase toolchain on glibc 2.24 (2.27 for riscv64)
  * Use DeploymentEnabled to hide VB deployments
  * doc: Move buried deployment doc to the enum that enumerates them
  * Translations update
  * build: Fix Boost Process compatibility with mingw-w64 compiler
  * wallet: erase spkmans rather than setting to nullptr
  * test: Add test for replacement relay fee check
  * qt: allow prompt icon to be colorized
  * Do not clone qa-assets git repository if not necessary
  * refactor: remove m_internal from DescriptorSPKman
  * tests: remove ComputeBlockVersion shortcut from versionbits tests
  * [refactor] Move ComputeBlockVersion into VersionBitsCache
  * [move-only] Move ComputeBlockVersion from validation to versionbits
  * [refactor] versionbits: make VersionBitsCache a full class
  * [refactor] rpc/blockchain.cpp: SoftForkPushBack
  * deploymentinfo: Add DeploymentName()
  * [move-only] Rename versionbitsinfo to deploymentinfo
  * scripted-diff: rename versionbitscache
  * [refactor] Add versionbits deployments to deploymentstatus.h
  * [refactor] Add deploymentstatus.h
  * versionbits: Use dedicated lock instead of cs_main
  * versionbits: correct doxygen comments
  * wallet: do not spam about non-existent spk managers
  * wallet: deactivate descriptor
  * test: wallet importdescriptors update existing
  * wallet: maintain SPK consistency on internal flag change
  * wallet: don't mute exceptions in importdescriptors
  * wallet: allow to import same descriptor twice
  * test: use script_util helpers for creating P2PKH scripts
  * test: wallet util: fix multisig P2SH-P2WSH script creation
  * qt: Emit dataChanged signal to dynamically re-sort Peers table
  * refactor: Make httpserver work queue a unique_ptr
  * doc: Remove unused section from release process
  * qt: Draw "eye" sign at the beginning of watch-only addresses
  * qt: Do not extend recent transaction width to address/label string
  * Remove unused wallet pointer from NotifyAddressBookChanged
  * Remove unused wallet pointer from NotifyTransactionChanged signal
  * ci: Upgrading pip version in macos environment
  * doc: Document minimum required libc++ version
  * doc: doc/README.md IRC updates
  * Avoid the use of P0083R3 std::set::merge
  * Mark print-% target as phony.
  * wallet, rpc: listdescriptors does not need unlocked
  * Pass in DescriptorCache to ToNormalizedString
  * Change DescriptorImpl::ToStringHelper to use an enum
  * Remove priv option for ToNormalizedString
  * wallet: Upgrade existing descriptor caches
  * wallet: Store last hardened xpub cache
  * descriptors: Cache last hardened xpub
  * Move DescriptorCache writing to WalletBatch
  * Refactor Cache merging and writing
  * Revert "Cache parent xpub inside of BIP32PubkeyProvider"
  * fuzz: Check banman roundtrip
  * doc: recommend `--disable-external-signer` in OpenBSD build guide
  * doc: update doc/benchmarking.md
  * bench: bench_bitcoin.cpp help fixups
  * bench: bench.h fixes and improvements
  * cli: Avoid truncating -rpcwaittimeout
  * script, doc: spelling update
  * doc: sort entries in doc/README.md#Miscellaneous alphabetically
  * doc: add basic I2P documentation
  * build: remove check for Boost Process header
  * build: remove workaround for Boost and std::atomic
  * build: set minimum required Boost to 1.64.0
  * wallet: Add error message to GetReservedDestination
  * Disallow bech32m addresses for legacy wallet things
  * Use BECH32M for tr() desc, WitV1Taproot, and WitUnknown CTxDests
  * Opportunistically use bech32m change addresses if available
  * Add OutputType::BECH32M
  * Limit LegacyScriptPubKeyMan address types
  * GUI: Always call parent changeEvent handler
  * GUI: Enable palette change adaptation on all platforms
  * test: Add missing sync_all to feature_coinstatsindex
  * test: Add missing syncwithvalidationinterfacequeue
  * test: Misc cleanup
  * test: Run pep-8
  * scripted-diff: Renames
  * add missing atomic include
  * Revert "test: Add temporary logging to debug #20975"
  * wallet: Add missing BlockUntilSyncedToCurrentChain
  * [test] Prevent intermittent issue
  * [test] Remove GetAddrStore class
  * [test] Update GetAddrStore callers to use AddrReceiver
  * [test] Add functionality to AddrReceiver
  * [test] Allow AddrReceiver to be used more generally
  * add dummy file param to fix jupyter
  * doc: Final merge of release notes snippets
  * style: remove () from assert in rpc_setban.py
  * doc: fix grammar in doc/files.md
  * test: ensure banlist can be read from disk after restart
  * banman: save the banlist in a JSON format on disk
  * test: doc: improve doc for `from_hex` helper (mention `to_hex` alternative)
  * scripted-diff: test: rename `FromHex` to `from_hex`
  * test: remove `ToHex` helper, use .serialize().hex() instead
  * test: introduce `tx_from_hex` helper for tx deserialization
  * fuzz: add missing ECCVerifyHandle to base_encode_decode
  * Taproot descriptor inference
  * Report address as solvable based on inferred descriptor
  * consensus refactor: extract ComputeTapleafHash, ComputeTaprootMerkleRoot
  * doc: add comment about CCoinsViewDBCursor constructor
  * move-only(ish): don't expose CCoinsViewDBCursor
  * refactor: Pass grind args vector as const reference
  * Remove gArgs from AppInitUtil
  * Remove unused OptionsCategory arg from AddCommand
  * Remove unused includes from bitcoin-util
  * test: Add bitcoin-util tests
  * build_msvc: Add bitcoin-util.exe
  * devtools: Integrate ARCH_MIN_GLIBC_VER table into MAX_VERSIONS in symbol-check.py
  * p2p: Add timeout for AddrFetch peers
  * fuzz: Assert roundtrip equality for `CPubKey`
  * refactor: wrap CCoinsViewCursor in unique_ptr
  * fuzz: Add Temporary debug assert for oss-fuzz issue
  * fuzz: Speed up crypto fuzz target
  * Added new test for future blocks reacceptance
  * Fixed inconsistencies between code and comments
  * build: Disable deprecated-copy warning only when external warnings are enabled
  * gui: misc external signer fixes and translation hints
  * refactor: make ExternalSigner NetworkArg() and m_chain private
  * refactor: reduce #ifdef ENABLE_EXTERNAL_SIGNER usage
  * build: enable external signer by default
  * refactor: clean up external_signer.h includes
  * fuzz: fix fuzz binary linking order
  * build: improve detection of eBPF support
  * build, qt: Do not install *.prl files
  * test: check rejected future block later accepted
  * build, qt: Fix wrong cross-compiling detection on macOS
  * build, qt: Force bootstrap while building linguist tools
  * build, qt: Drop translations.pro hack
  * build, qt: Drop lrelease dependency patch
  * build, qt: Add linguist_tools list
  * build: Use Qt top-level build facilities
  * test: kill process group to avoid dangling processes
  * guix-attest: Error out if SHA256SUMS is unexpected
  * Switch Appveyor CI to VS2019 stable image
  * devtools: Add xkb version to symbol-check
  * devtools: Fix verneed section parsing in pixie
  * refactor: Make CAddrMan::cs non-recursive
  * Add AssertLockHeld to CAddrMan private functions
  * Add thread safety annotations to CAddrMan public functions
  * refactor: Avoid recursive locking in CAddrMan::Clear
  * refactor: Apply consistent pattern for CAddrMan::Check usage
  * refactor: Avoid recursive locking in CAddrMan::Check
  * refactor: Fix CAddrMan::Check style
  * Make CAddrMan::Check private
  * refactor: Avoid recursive locking in CAddrMan::size
  * test: Drop excessive locking in CAddrManTest::SimConnFail
  * test: add combined I2P/onion/localhost eviction protection tests
  * test: add tests for inbound eviction protection of I2P peers
  * p2p: extend inbound eviction protection by network to I2P peers
  * test: add combined onion/localhost eviction protection coverage
  * p2p: remove unused m_is_onion member from NodeEvictionCandidate struct
  * p2p: remove unused CompareLocalHostTimeConnected()
  * p2p: remove unused CompareOnionTimeConnected()
  * p2p: update ProtectEvictionCandidatesByRatio() doxygen docs
  * p2p: make ProtectEvictionCandidatesByRatio() fully ratio-based
  * Bugfix: GUI: Use a different shortcut for "1 d&ay" banning, due to conflict with "&Disconnect"
  * test: remove combined onion/localhost eviction protection tests
  * p2p: add CompareNodeNetworkTime() comparator struct
  * p2p: add m_network to NodeEvictionCandidate struct
  * p2p, refactor: rename vEvictionCandidates to eviction_candidates
  * p2p, refactor: improve constness in ProtectEvictionCandidatesByRatio()
  * test: add ALL_NETWORKS to test utilities
  * test: speed up and simplify peer_eviction_test
  * fuzz: Call const member functions in addrman fuzz test only once
  * refactor: Remove chainparams arg from CChainState member functions
  * refactor: Remove ::Params() global from inside CChainState member functions
  * GUI: Add keyboard shortcuts for other context menus
  * GUI: Restore keyboard shortcuts for context menu entries
  * Add support for SIGHASH_DEFAULT in RPCs, and make it default
  * tests: check spending of P2TR
  * Basic Taproot signing logic in script/sign.cpp
  * Make GetInputUTXO safer: verify non-witness UTXO match
  * Construct and use PrecomputedTransactionData in PSBT signing
  * Construct and use PrecomputedTransactionData in SignTransaction
  * Don't nuke witness data when signing fails
  * Permit full precomputation in PrecomputedTransactionData
  * Add precomputed txdata support to MutableTransactionSignatureCreator
  * Add CKey::SignSchnorr function for BIP 340/341 signing
  * Use HandleMissingData also in CheckSchnorrSignature
  * Add TaprootSpendData data structure, equivalent to script map for P2[W]SH
  * build: Fix MSVC linker /SubSystem option for bitcoin-qt.exe
  * doc: update release notes with removal of tor v2 support
  * Fix gui segfault caused by bitcoin/bitcoin#22216
  * test: ensure I2P addresses are relayed
  * test: make CAddress in functional tests comparable
  * test: implement ser/unser of I2P addresses in functional tests
  * Update msvc and appveyor builds to use Qt5.12.11 binaries.
  * test: use NODE_* constants instead of magic numbers
  * p2p, refactor: rm redundant erase_size calculation in SelectNodeToEvict()
  * refactor: Pass block reference instead of pointer to PeerManagerImpl::BlockRequested
  * Allow tr() import only when Taproot is active
  * validation: Farewell, global Chainstate!
  * qt/test: Reset chainman in ~ChainstateManager instead
  * scripted-diff: tree-wide: Remove all review-only assertions
  * tree-wide: Remove stray review-only assertion
  * qt/test: Use existing chainman in ::TestGUI (can be scripted-diff)
  * scripted-diff: wallet/test: Use existing chainman
  * fuzz: Initialize a TestingSetup for test_one_input
  * scripted-diff: test: Use existing chainman in unit tests
  * test: Pass in CoinsTip to ValidateCheckInputsForAllFlags
  * test/miner_tests: Pass in chain tip to CreateBlockIndex
  * test/util: Use existing chainman in ::PrepareBlock
  * init: Use existing chainman
  * Rearrange fillPSBT arguments
  * Make SetupServerArgs callable without NodeContext
  * tests: Add test for compact block HB selection
  * net: relay I2P addresses even if not reachable (by us)
  * test: Run pep-8 on touched test
  * test: Use MiniWallet in test_no_inherited_signaling RBF test
  * test: Remove unused generate() from test
  * test: Add txin.sequence option to MiniWallet
  * Update REVIEWERS: I've found that I keep track of PRs in need of review without the need for DrahtBot's automated notification :)
  * scripts: check macOS SDK version is set
  * scripts: check minimum required Windows version is set
  * scripts: check minimum required macOS vesion is set
  * scripts: LIEF 0.11.5
  * doc: remove obsolete `okSafeMode` RPC guideline from developer notes
  * Reject invalid coin height and output index when loading assumeutxo
  * test: Use ConnmanTestMsg from test lib in denialofservice_tests
  * test: Add temporary coinstats suppressions
  * test: Correct outstanding -Werror=sign-compare errors
  * Rewrite guix-{attest,verify} for new hier
  * Make SHA256SUMS fragment right after build
  * zmq: use msg: prefix over errno= in zmqError
  * zmq: use std::string in zmqError()
  * macdeploy: cleanup .temp.dmg if present
  * macdeploy: remove qt4 related code
  * macdeploy: select the plugins we need, rather than excluding those we don't
  * macdeploy: fix framework printing when passing -verbose
  * macdeploy: remove unused plistlib import
  * Use latest signapple commit
  * test: MiniWallet: fix fee calculation for P2PK and check tx vsize
  * test: MiniWallet: force P2PK signature to have fixed size (71 bytes)
  * Add sync_blocks in wallet_orphanedreward.py.
  * build, qt: Fix compiling qt package in depends with GCC 11
  * test: doc: improve doc for chain_transaction() helper
  * test: refactor: dedup utility function chain_transaction()
  * Remove `Warning:`
  * qt: Handle peer addition/removal in a right way
  * addrman: remove invalid addresses when unserializing
  * fuzz: Increase branch coverage of the float fuzz target
  * fuzz: Remove confusing return keyword from CallOneOf
  * build, qt: Fix libraries linking order for Linux hosts
  * Do not load external signers wallets when unsupported
  * doc: update tor.md with removal of tor v2 support
  * p2p, rpc, fuzz: various tiny follow-ups
  * qt: Connect WalletView signal to BitcoinGUI slot directly
  * qt: Drop redundant OverviewPage::handleOutOfSyncWarningClicks slot
  * qt: Drop redundant WalletView::requestedSyncWarningInfo slot
  * qt: Save/restore column sizes of the tables in the Peers tab
  * test: Fix p2p_leak.py intermittent failure by lowering timeout
  * fuzz: reduce possible networks check
  * net: simplify CNetAddr::IsRoutable()
  * test: Remove unused node from feature_nulldummy
  * test: Add temporary logging to debug #20975
  * util: Properly handle -noincludeconf on command line
  * Protect last outbound HB compact block peer
  * [doc] explain why CheckBlock() is called before AcceptBlock()
  * scripted-diff: rename MarkBlockAs functions
  * [net processing] Tidy up MarkBlockAsReceived()
  * [net processing] Add IsBlockRequested() function
  * rpc: Add test for -rpcwaittimeout
  * test: convert docs into type annotations in test_framework/test_node.py
  * test: convert docs into type annotations in test_framework/wallet.py
  * test: convert docs into type annotations in test_framework/util.py
  * contrib: remove torv2 seed nodes
  * contrib: update generate-seeds.py to ignore torv2 addresses
  * [net processing] Remove QueuedBlock.hash
  * script: fix spelling linter raising spuriously on "invokable"
  * doc: Various validation doc fixups
  * scripted-diff: rename nPeersWithValidatedDownloads
  * [net processing] Remove CNodeState.nBlocksInFlightValidHeaders
  * [net processing] Remove QueuedBlock.fValidatedHeaders
  * [net processing] Remove unnecessary hash arg from MarkBlockAsInFlight()
  * p2p, refactor: extract OnionToString() from CNetAddr::ToStringIp()
  * p2p: remove torv2 from CNetAddr::ToStringIP()
  * p2p: remove torv2 in SetIP() and ADDR_TORV2_SIZE constant
  * p2p: remove pre-addrv2 onions from SerializeV1Array()
  * p2p: ignore torv2-in-ipv6 addresses in SetLegacyIPv6()
  * p2p: remove BIP155Network::TORV2 from GetBIP155Network()
  * rpc: Prefix rpcwaittimeout error with details on its nature
  * doc: Add release notes for the `-rpcwaittimeout` cli parameter
  * rpc: Add a `-rpcwaittimeout` parameter to limit time spent waiting
  * build, qt: Make QWindowsVistaStylePlugin available again (regression)
  * Randomize message processing peer order
  * CRegTestParams: Use `args` instead of `gArgs`.
  * MOVEONLY: context-free package policies
  * Testcase for wallet issue with orphaned rewards.
  * depends: Fix qt.mk for mac arm64
  * disallow_mempool_conflicts -> allow_bip125_replacement and check earlier
  * [refactor] comment/naming improvements
  * [rpc] reserve space in txns
  * [package] static_assert max package size >= max tx size
  * ci: Bump macOS image to big-sur-xcode-12.5
  * Fix issues when `walletdir` is root directory
  * qt: Translations update
  * test: remove sanitizer suppression for nanobench
  * test: update nanobench from release 4.0.0 to 4.3.4
  * qt, rpc: Do not accept command while executing another one
  * qt, rpc: Accept stop RPC even another command is executing
  * qt, rpc, refactor: Return early in RPCConsole::on_lineEdit_returnPressed
  * qt, rpc: Add "Executing…" message
  * test: feature_cltv.py: don't return tx copies in modification functions
  * test: drop unused node parameters in feature_cltv.py
  * test: fix typo in feature_cltv.py (s/ctlv/cltv/)
  * test: run mempool_reorg.py even with wallet disabled
  * doc: Fix external links (IRC, ...)
  * refactor: Switch serialize to uint8_t (1/n)
  * scripted-diff: rename GetSystemTimeInSeconds to GetTimeSeconds
  * net: cleanup newly added PeerManagerImpl::ProcessNewBlock
  * validation: change ProcessNewBlock() to take a CBlock reference
  * Use COINBASE_MATURITY constant in functional tests.
  * test: Fix IPv6 check on BSD systems
  * scripted-diff: Rename SelectCoinsMinConf to AttemptSelection
  * Move vin filling to before final fee setting
  * Set m_subtract_fee_outputs during recipients vector loop
  * Move variable initializations to where they are used
  * Move recipients vector checks to beginning of CreateTransaction
  * Rename nSubtractFeeFromAmount in CreateTransaction
  * Rename nValue and nValueToSelect
  * Remove extraneous scope in CreateTransactionInternal
  * Move cs_wallet lock in CreateTransactionInternal to top of function
  * qt: Drop BitcoinGUI* WalletFrame data member
  * qt: Move CreateWalletActivity connection from WalletFrame to BitcoinGUI
  * qt: Move WalletView connections from WalletFrame to BitcoinGUI
  * test: check anchors.dat when node starts for the first time
  * doc: add maxuploadtarget to bitcoin.conf example
  * p2p: AddrFetch - don't disconnect on self-announcements
  * addrman: use unordered_map instead of map
  * Additional test vector for hardened derivation with leading zeros
  * test: remove BasicTestingSetup from util_threadnames unit tests
  * test: remove BasicTestingSetup from uint256 unit tests
  * test: remove BasicTestingSetup from torcontrol unit tests
  * test: remove BasicTestingSetup from sync unit tests
  * test: remove BasicTestingSetup from reverse_lock unit tests
  * test: remove BasicTestingSetup from policy_fee unit tests
  * test: remove BasicTestingSetup from merkleblock tests
  * test: remove BasicTestingSetup from hash unit tests
  * test: remove BasicTestingSetup from compilerbug unit tests
  * test: remove BasicTestingSetup from bswap unit tests
  * test: remove BasicTestingSetup from bech32 unit tests
  * test: remove BasicTestingSetup from base64 unit tests
  * test: remove BasicTestingSetup from base32 unit tests
  * test: remove BasicTestingSetup from arith_uint256 unit tests
  * test: remove BasicTestingSetup from amount unit tests
  * test: remove BasicTestingSetup from allocator unit tests
  * p2p: remove torv2 from SetNetFromBIP155Network()
  * fuzz: rename CNetAddr/CService deserialize targets
  * p2p: drop onions from IsAddrV1Compatible(), no longer relay torv2
  * doc: improve note on choosing posix mingw32
  * p2p: remove torv2/ADDR_TORV2_SIZE from SetTor()
  * qt: Drop PeerTablePriv class
  * qt, refactor: Use default arguments for overridden functions
  * index: refactor-only: Reuse CChain ref
  * index: Add chainstate member to BaseIndex
  * bench: Use existing chainman in AssembleBlock
  * bench: Use existing NodeContext in DuplicateInputs
  * miner: Pass in chainman to RegenerateCommitments
  * rest: Add GetChainman function and use it
  * test: update feature_proxy to torv3
  * gui: send using external signer
  * gui: wallet creation detects external signer
  * node: add externalSigners to interface
  * gui: display address on external signer
  * wallet: add displayAddress to interface
  * gui: create wallet with external signer
  * gui: add external signer path to options dialog
  * depends: Bump Qt version to 5.12.11
  * English translations update
  * scripted-diff: Fix ellipsis after pr20773
  * Add src/qt/android/.gitignore
  * MOVEONLY: CWallet transaction code out of wallet.cpp/.h
  * depends: latest config.sub (2021-04-30)
  * depends: latest config.guess (2021-05-24)
  * build: don't use cf-protection when targeting arm-apple-darwin
  * fuzz: don't try and use fopencookie when building for Android
  * guix: Check for disk space availability before building
  * qt: add translator comments for peers table columns
  * Replace size/weight estimate tuple with struct for named fields
  * Mark `CheckTxInputs` `[[nodiscard]]` (out-param `txfee` only set if call is successful). Avoid UUM in fuzzing harness `coins_view`.
  * guix: Remove dest if OUTDIR mv fails
  * build: Use Qt archive of the same version as the compiled binaries
  * [fuzz] Occasional valid magic bytes for transport serialization test
  * [fuzz] Occasional valid checksum for transport serialization fuzz test
  * [fuzz] Add serialization to deserialization test
  * ci: Bump multiprocess memory
  * contrib: add torv3 seed nodes for testnet, drop v2 ones
  * doc: describe in fuzzing.md how to reproduce a CI crash
  * test: use MiniWallet (P2PK mode) for feature_dersig.py
  * Add roundtrip fuzz tests for CAddress serialization
  * Use addrv2 serialization in anchors.dat
  * Introduce well-defined CAddress disk serialization
  * Remove support for double serialization
  * Convert uses of double-serialization to {En,De}codeDouble
  * Convert existing float encoding tests
  * Add unit tests for serfloat module
  * Add platform-independent float encoder/decoder
  * Remove unused float serialization
  * tests: check derivation of P2TR
  * Add tr() descriptor (derivation only, no signing)
  * Add TaprootBuilder class
  * Add XOnlyPubKey::CreateTapTweak
  * Make consensus checking of tweaks in pubkey.* Taproot-specific
  * Separate WitnessV1Taproot variant in CTxDestination
  * Avoid dependence on CTxDestination index order
  * Change Solver() output for WITNESS_V1_TAPROOT
  * Make XOnlyPubKey act like byte container
  * move-only: Group and re-order CAddrMan members by access type
  * [policy] detect unsorted packages
  * [doc] add release note for package testmempoolaccept
  * [test] functional test for packages in RPCs
  * [rpc] allow multiple txns in testmempoolaccept
  * test: MiniWallet: introduce enum type for output mode
  * [policy] limit package sizes
  * [fuzz] add ProcessNewPackage call in tx_pool fuzzer
  * [test] unit tests for ProcessNewPackage
  * [test] make submit optional in CreateValidMempoolTransaction
  * [validation] package validation for test accepts
  * Factor feefilter logic out
  * rpc: simplify addpeeraddress and improve code constness
  * Remove `GetDataDir(bool fNetSpecific = true)` function
  * scripted-diff: Replace `GetDataDir(true)` calls with `gArgs.GetDataDirNet()` calls
  * scripted-diff: Replace `GetDataDir()` calls with `gArgs.GetDataDirNet()` calls
  * Make `ArgsManager.GetDataDirPath` private and drop needless suffix
  * scripted-diff: Change `ArgsManager.GetDataDirPath()` to `ArgsManager.GetDataDirBase()` in tests
  * Add `ArgsManager.GetDataDirBase()` and `ArgsManager.GetDataDirNet()` as an intended replacement for `ArgsManager.GetDataDirPath(net_identifier)`
  * build: Convert warnings into errors when testing for -fstack-clash-protection
  * refactor: Do not expose CAddrMan members as protected without need
  * test: addpeeraddress functional test coverage
  * qt: Improve GUI responsiveness
  * qt, macos: Fix GUIUtil::PolishProgressDialog bug
  * Make `m_cached_blocks_path` mutable. Make `ArgsManager::GetBlocksDirPath()` const.
  * rpc: fix code comment for bumpfee/psbtbumpfee output
  * rpc: fix docs for bumpfee psbt update
  * fuzz: Terminate immediately if a fuzzing harness ever tries to perform a DNS lookup (belts and suspenders)
  * Update Windows code signing certificate
  * Move COINBASE_MATURITY from `feature_nulldummy` test to `blocktools`.
  * Cleanup -includeconf error message
  * Fix crash when parsing command line with -noincludeconf=0
  * net: ignore block-relay-only peers when skipping DNS seed
  * txmempool: add thread safety annotations
  * qt: Make RPC console welcome message translation-friendly
  * [validation] explicit Success/Failure ctors for MempoolAcceptResult
  * [policy] Define packages
  * [refactor] add option to disable RBF
  * [coins/mempool] extend CCoinsViewMemPool to track temporary coins
  * [validation] make CheckSequenceLocks context-free
  * fuzz: Terminate immediately if a fuzzing harness ever tries to create a TCP socket (belt and suspenders)
  * fuzz: Speed up banman fuzz target
  * fuzz: Speed up transaction fuzz target
  * rpc/blockchain: Use existing blockman in gettxoutsetinfo
  * Have OutputGroup determine the value to use
  * guix: repro: Sort find output in libtool for gcc-8
  * Change SelectCoins_test to actually test SelectCoins
  * Remove CreateTransaction while loop and some related variables
  * Remove use_bnb and bnb_used
  * Do both BnB and Knapsack coin selection in SelectCoinsMinConf
  * Have KnapsackSolver actually use effective values
  * p2p: pass strings to NetPermissions::TryParse functions by const ref
  * Roll static tx fees into nValueToSelect instead of having it be separate
  * Move output reductions for fee to after coin selection
  * Remove -feefilter option
  * doc: release note for getnodeaddresses by network
  * test: improve getnodeaddresses coverage, test by network
  * rpc: enable filtering getnodeaddresses by network
  * p2p: allow CConnman::GetAddresses() by network, add doxygen
  * p2p: allow CAddrMan::GetAddr() by network, add doxygen
  * p2p: pull time call out of loop in CAddrMan::GetAddr_()
  * p2p: enable CAddrMan::GetAddr_() by network, add doxygen
  * wallet: make chain optional for CWallet::Create
  * CWallet::Create move chain init message up into calling code
  * refactor: Add CWallet:::AttachChain method
  * refactor: move first run detection to client code
  * net: Return IPv6 scope id in `CNetAddr::ToStringIP()`
  * build: Silent lupdate "unknown namespace/class" warnings
  * refactor: Make CFeeRate constructor architecture-independent
  * build: libevent 2.1.12-stable
  * doc: note that brew installed qt is not supported
  * rpc: Improve avoidpartialspends and avoid_reuse documentation
  * wallet: Increase OUTPUT_GROUP_MAX_ENTRIES to 100
  * qt, test: use qsignalspy instead of qeventloop
  * test: use P2PK-MiniWallet for feature_csv_activation.py
  * qt: Add shortcuts for console font resize buttons
  * qt: Add GUIUtil::AddButtonShortcut
  * test: MiniWallet: add P2PK support
  * wallet: refactor: dedup sqlite PRAGMA assignments
  * wallet: refactor: dedup sqlite PRAGMA integer reads
  * qt: English translations update
  * qt: Extract translations correctly from UTF-8 formatted source
  * fuzz: Add missing CheckTransaction before CheckTxInputs
  * fuzz: Sanity check result of CheckTransaction
  * fuzz: Add utxo_snapshot target
  * qt: Replace disambiguation strings with translator comments
  * qt, refactor: Revert explicit including QStringBuilder
  * qt, build: Optimize string concatenation
  * qt: make console buttons look clickable
  * validation: document lack of inherited signaling in RBF policy
  * test: Extend feature_rbf.py with no inherited signaling
  * test: Fix off-by-one in mockscheduler test RPC
  * doc: Fix OSS-Fuzz links
  * qt: Use native presentation of shortcut
  * docs: improve make with parallel jobs description.
  * Make cost_of_change part of CoinSelectionParams
  * Move some calculations to common code in SelectCoinsMinConf
  * scripted-diff: rename some variables
  * codesigning: Use SHA256 as digest for osslsigncode (Windows)
  * guix: Add codesigning functionality
  * guix: Package codesigning tools
  * guix: Reindent existing manifest.scm
  * Makefile.am: use APP_DIST_DIR instead of hard-coding dist
  * refactor: Replace memset calls with array initialization
  * qt: Align numbers in the "Peer Id" column to the right
  * ci: Bump cirrus fuzz CPUs to avoid timeout
  * build: add *~ to .gitignore
  * scripted-diff: update noban documentation in net_processing.cpp
  * scripted-diff: rename NetPermissionFlags enumerators
  * p2p, refactor: make NetPermissionFlags a uint32 enum class
  * fuzz: Remove incorrect float round-trip serialization test
  * wallet: Do not iterate a directory if having an error while accessing it
  * p2p: NetPermissions::HasFlag() pass flags param by value
  * scripted-diff: add NetPermissionFlags scopes where not already present
  * index: Avoid async shutdown on init error
  * fuzz: Run const CScript member functions only once
  * doc: Update bips.md for 0.21.1
  * fuzz: Avoid timeout in EncodeBase58
  * build: improve macro for testing -latomic requirement
  * rpc/wallet: use OMITTED_NAMED_ARG instead of Default(VNULL)
  * net: initialize nMessageSize to max uint32_t instead of -1
  * rpc/createwallet: omitted named arguments
  * net: use stronger AddLocal() for our I2P address
  * rpc: address:amount dictionaries are OBJ_USER_KEYS
  * rpc/getpeerinfo: bytesrecv_per_msg is a dynamic dictionary
  * rpc/gettxoutsetinfo: hash_or_height is a named argument
  * doc: Remove mention of priority estimation
  * refactor: Avoid magic value of all-zeros in assumeutxo base_blockhash
  * Fix assumeutxo crash due to invalid base_blockhash
  * refactor: Use type-safe assumeutxo hash
  * refactor: Remove unused code
  * move-only: Add util/hash_type
  * refactor: remove redundant fOnlySafe argument
  * fuzz: Limit max insertions in timedata fuzz test
  * build: Makes rcc output always deterministic
  * refactor: Remove useless extern keyword
  * refactor: feature_csv_activation.py: move tx helper functions to methods
  * test: use MiniWallet for feature_csv_activation.py
  * qt: enable wordWrap for peers-tab detail services
  * rpc/listaddressgroupings: redefine inner-most array as ARR_FIXED
  * rpc/createrawtransaction: redefine addresses as OBJ_USER_KEYS
  * rpc: include OBJ_USER_KEY in RPCArg constructor checks
  * test: fee rate values that cannot be represented as sat/vB
  * rpc: for sat/vB fee rates, limit ParseFixedPoint decimals to 3
  * rpc: enable passing decimals to AmountFromValue, add doxygen
  * test: ParseFixedPoint with 3 decimals for sat/vB fee rates
  * test: type error and out of range fee rates where missing
  * test: explicit fee rates with invalid amounts
  * refactor: Add TSA annotations to the WorkQueue class members
  * fuzz: Avoid excessively large min fee rate in tx_pool
  * fuzz: Remove strprintf test cases that are known to fail
  * fuzz: Limit ParseISO8601DateTime fuzzing to 32-bit
  * scripts: test for MACHO control flow instrumentation
  * build: build Boost with -fcf-protection when targeting Darwin
  * fuzz: Remove unused --enable-danger-fuzz-link-all option
  * gui: Add access to the Peers tab from the network icon
  * net: Clarify message header validation errors
  * fuzz: Add WRITE_ALL_FUZZ_TARGETS_AND_ABORT
  * test: minor fixes & improvements for files linter test
  * net: Sanitize message type for logging
  * test: improve zero-value explicit fee rate coverage
  * depends: Add missing -D_LIBCPP_DEBUG=1 to debug flags
  * test: use MiniWallet for p2p_blocksonly.py
  * ci: Properly pass msan cflags
  * fix permissions on 00_setup_env_native_fuzz_with_msan
  * streams: Accept URef obj for VectorReader unserialize
  * fuzz: Create a block template in tx_pool targets
  * doc: add OSS-Fuzz section to fuzzing.md doc
  * gui: rename "Peer Id" to "Peer" in tab column and details area
  * ci: Add msan fuzz config
  * ci: Use clang-12 in msan task
  * ci: Set BASE_SCRATCH_DIR early, so that it can be used in test configs
  * test: install lief in CI
  * contrib: consolidate PIE and NX security checks
  * contrib: use LIEF in PE symbol checks
  * contrib: use LIEF in macOS symbol checks
  * contrib: use f strings in symbol-check.py
  * contrib: add PE PIE check to security checks
  * contrib: use LIEF for PE security checks
  * contrib: use LIEF for macOS security checks
  * contrib: use f strings in security-check.py
  * guix: install LIEF in Guix container
  * gitian: install LIEF in gitian container
  * [net processing] Add internal _RelayTransactions()
  * fuzz: Limit toxic test globals to their respective scope
  * refactor: Replace &foo[0] with foo.data()
  * refactor: Avoid &foo[0] on C-Style arrays
  * refactor: Use only one temporary buffer in CreateObfuscateKey
  * refactor: Use CPubKey vector constructor where possible
  * script: Replace address-of idiom with vector data() method
  * guix-attest: Avoid incomplete sigdirs with ERR traps
  * fuzz: Add -fsanitize=integer suppression needed for RPC fuzzer
  * guix: Consistently use gcc-8 for $HOST
  * guix: Skip attesting to dist-archive
  * guix: Attest to inputs in inputs.SHA256SUMS
  * guix: Construct $OUTDIR in ${DISTSRC}/output
  * guix: Minor quoting fix in libexec/build.sh
  * guix-attest: Allow skipping GPG signing with NO_SIGN
  * guix-attest: Use ascii-armor signatures
  * guix-attest: Only use cross-platform flags for find+xargs
  * guix: Add guix-verify script
  * guix: Add guix-attest script
  * script: update REVIEWERS
  * bench: Remove duplicate constants
  * test: Use throwing variant accessor
  * test: Use loop to register RPCs
  * scripted-diff: Replace three dots with ellipsis in the UI strings
  * net: add I2P seeds to chainparamsseeds
  * contrib: add a few I2P seed nodes
  * contrib: parse I2P addresses in generate-seeds.py
  * doc: Add doc/release-notes/release-notes-0.21.1.md
  * Remove user input from URI error message
  * doc: Clarify that feerates are per virtual size
  * Remove Visual Studio 2017 reference from readme
  * qt: Make TransactionView aware of runtime palette change
  * qt: Make CoinControlDialog aware of runtime palette change
  * qt: Make OverviewPage aware of runtime palette change
  * qt: Make UnitDisplayStatusBarControl aware of runtime palette change
  * qt: Replace base class of ClickableLabel with ThemedLabel
  * qt: Use GUIUtil::ThemedLabel class
  * qt: Add GUIUtil::ThemedLabel class
  * qt: Make SignVerifyMessageDialog aware of runtime palette change
  * qt: Make SendCoinsEntry aware of runtime palette change
  * qt: Make RPCConsole aware of runtime palette change
  * qt: Make BitcoinGUI aware of runtime palette change
  * qt: Make PlatformStyle aware of runtime palette change
  * doc: add indexes/coinstats/db/ to files.md
  * doc: fix -coinstatsindex help, and test/rpc touchups
  * refactor: [index] Replace deprecated char with uint8_t in serialization
  * test: resolve bug in test/functional/interface_bitcoin_cli.py - Test -getinfo with -rpcwallet=unloaded wallet returns no balances
  * ci: Clarify that previous_releases task is using DEBUG
  * ci: Use clang in multiprocess task to avoid OOM
  * test: Add missing test for empty P2WSH redeem
  * scripted-diff: Clarify that feerates are per virtual size
  * build: use -stdlib++-isystem with Clang 10
  * guix: use Clang 10 for the macOS cross compile
  * build: no longer patch threading out of ld64
  * build: Xcode 12.1, macOS SDK 10.15.6
  * build: native cctools 973.0.1, ld64 609
  * build: Clang 10.0.1
  * build: libtapi 1100.0.11
  * doc: add coinstatsindex to bitcoin.conf
  * rpc: include_unsafe option for fundrawtransaction
  * [refactor] Remove unused ForEachNodeThen() template
  * scripted-diff: rename address relay fields
  * [net processing] Move addr relay data and logic into net processing
  * test: Fix feature_config_args.py intermittent issue
  * ci: Enable D_GLIBCXX_DEBUG for multiprocess task
  * test: add new python linter to check file names and permissions
  * qt: Use template function qOverload in signal-slot connections
  * fuzz: Reduce maintenance requirements by allowing RPC annotations also for conditionally available RPC commands (such as wallet commands) without the fragility of #ifdef forests
  * refactor: Replace std::bind with lambdas
  * refactor: Use appropriate thread constructor
  * test: Assert that exit code indicates failure
  * test: Fix intermittent issue in p2p_segwit.py
  * build: use -isysroot over --sysroot on macOS
  * refactor: Avoid sign-compare compiler warning in util/asmap
  * [tests] Speed up p2p_segwit.py
  * test: Run feature_cltv with MiniWallet
  * test: Hide tx rehash in helper
  * test: Remove new_tx reference
  * qt: Refactor to remove unnecessary block in DispatchNotifications
  * qt: Early subscribe core signals in transaction table model
  * qt: Refactor ShowProgress to DispatchNotifications
  * qt: Set flag after inital load on transaction table model
  * fuzz: Limit mocktime to MTP in tx_pool targets
  * fuzz: Use correct variant of ConsumeRandomLengthString instead of hardcoding a maximum size
  * fuzz: Allow to pass min/max to ConsumeTime
  * fuzz: RPC fuzzer post-merge follow-ups. Remove unused includes. Update list of fuzzed RPC commands.
  * doc: add release notes for 20867
  * rpc/util: multisig: only check redeemScript size is <= 520 for P2SH
  * test/functional: standardness sanity checks for P2(W)SH multisig
  * script: allow up to 20 keys in wsh() descriptors
  * script: match multisigs with up to MAX_PUBKEYS_PER_MULTISIG keys
  * fuzz: Add RPC interface fuzzing. Increase fuzzing coverage from 65% to 70%.
  * test: Fix intermittent issue in p2p_addr_relay.py
  * test: Use self.send_addr_msg
  * test: fix off-by-ones in rpc_fundrawtransaction
  * doc: IsFinalTx comment about nSequence & OP_CLTV
  * style: Add { } to multi-line if
  * move-only: Move functions to blockstorage
  * move-only: Move constants to blockstorage
  * refactor: Move block storage globals to blockstorage
  * refactor: Move pruning/reindex/importing globals to blockstorage
  * qt: peertableview alternating row colors
  * refactor + document coin selection strategy
  * [docs] add doxygen comments to wallet code
  * validation: remove nchaintx from assumeutxo metadata
  * doc/style followups in MempoolAcceptResult
  * test: Fix feature_notifications.py intermittent issue
  * Remove progress bar on modal overlay
  * qt: Avoid unnecessary translations
  * qt: Do not use QObject::tr plural syntax for numbers with a unit symbol
  * p2p: Limit m_block_inv_mutex
  * refactor: Make TraceThread a non-template free function
  * fuzz: Ensure prevout is consensus-valid
  * test: fix file permissions on various scripts
  * doc: IsSnapshotActive
  * validation: prepare VerifyDB for assumeutxo
  * refactor: rename active_chainstate in VerifyDB
  * libsecp256k1 no longer has --with-bignum= configure option
  * Squashed 'src/secp256k1/' changes from 3967d96bf1..efad3506a8
  * multiprocess: Add echoipc RPC method and test
  * multiprocess: Add comments and documentation
  * multiprocess: Add bitcoin-node process spawning support
  * multiprocess: Add Ipc interface implementation
  * multiprocess: Add Ipc and Init interface definitions
  * Update libmultiprocess library
  * test: Speed up mempool_spend_coinbase.py
  * test: Fix test cache issue
  * test: Create MiniWallet.create_self_transfer
  * qt: Do not clear console prompt when font resizing
  * qt, refactor: Drop redundant history cleaning in RPC console
  * qt: Untie irrelevant signal-slot parameters
  * [docs] format existing comments as doxygen
  * doc: note on SDK for macOS depends cross-compile
  * test: Add MiniWallet.sendrawtransaction
  * net: Avoid calling getnameinfo when formatting IPv6 addresses in CNetAddr::ToStringIP
  * net: Make IPv6ToString do zero compression as described in RFC 5952
  * cleaned up and added missing "include" statements for pubkey.cpp and pubkey.h
  * net, refactor: Fix style in CConnman::StopNodes
  * net: Combine two loops into one, and update comments
  * net: Restrict period when cs_vNodes mutex is locked
  * doc: add -addrinfo troubleshooting section to tor.md
  * test: Bump shellcheck version
  * net: remove unnecessary check of CNode::cs_vSend
  * refactor: init: mark fReset const
  * [validation] RewindBlockIndex no longer needed
  * [test] Add tests for addr relay in -blocksonly mode
  * [test] Add address relay tests involving outbound peers
  * [test] Add tests for getaddr behavior
  * [test] Extract sending an addr message into a helper
  * [test] Refactor the addr relay test to prepare for new tests
  * qt: Bump transifex slug for 22.x
  * Add bitcoin_en.xlf intermediate translation file to the repo
  * qt [experimental]: Add a translation comment and a disambiguation string
  * build: Add Qt lconvert tool to depends
  * build: Use XLIFF file to provide more context to Transifex translators
  * test: Add missing shift-base:nanobench.h suppression
  * ci: Use clang-12 for asan task
  * cli: use C++17 std::array class template argument deduction (CTAD)
  * doc: Fix doxygen comment silent merge conflict in descriptor.cpp
  * Re-add command to install vcpkg
  * rpc: gettxoutsetinfo rejects hash_serialized_2 for specific height
  * test: Add test for coinstatsindex behavior in reorgs
  * rpc: Allow gettxoutsetinfo and getblockstats for stale blocks
  * index, rpc: Add use_index option for gettxoutsetinfo
  * test: Test coinstatsindex robustness across restarts
  * test: Add tests for block_info in gettxoutsetinfo
  * rpc, index: Add verbose amounts tracking to Coinstats index
  * test: add coinstatsindex getindexinfo coverage, improve current tests
  * rpc: Add Coinstats index to getindexinfo
  * test: Add unit test for Coinstats index
  * test: Add functional test for Coinstats index
  * rpc: gettxoutsetinfo can be requested for specific blockheights
  * index: Coinstats index can be activated with command line flag
  * index: Add Coinstats index
  * refactor: Simplify ApplyStats and ApplyHash
  * refactor: Pass hash_type to CoinsStats in stats object
  * crypto: Make MuHash Remove method efficient
  * Update msvc build to use Qt5.12.10 binaries.
  * refactor: Add and use EnsureConnman in rpc code
  * Move common package version code to init/common
  * Move common logging start code to init/common
  * Move common logging GetArgs code to init/common
  * Move common logging AddArg code to init/common
  * Move common sanity check code to init/common
  * Move common global init code to init/common
  * remove executable flag for src/net_processing.cpp
  * refactor, qt: Simplify SendCoinsDialog::updateCoinControlState
  * refactor: Drop CCoinControl::SetNull
  * update docstring in feature_csv_activation.py
  * p2p: allow NetPermissions::ClearFlag() only with PF_ISIMPLICIT
  * test: add net permissions noban/download unit test coverage
  * Change ClearDataDirPathCache() to ArgsManager.ClearPathCache().
  * Change GetBlocksDir() to ArgsManager.GetBlocksDirPath().
  * scripted-diff: Modify unit tests to use the ArgsManager in the BasicTestingSetup class instead of implicitly relying on gArgs.
  * scripted-diff: Replace m_args with m_local_args in getarg_tests.cpp
  * BasicTestingSetup: Add ArgsManager.
  * Modify "util_datadir" unit test to not use gArgs.
  * rpc: Improve getblock error message for invalid data type.
  * doc: update bitcoin.conf maxconnections info
  * doc: update reduce-memory.md peer connections info
  * refactor: Mark member functions const
  * Move GetDataDir(fNetSpecific) implementation to ArgsManager.
  * Move StripRedundantLastElementsOfPath before ArgsManager class.
  * doc: update -maxconnections config option help
  * test: Run versionbits_sanity for all chains
  * Refactor ProcessNewBlock to reduce code duplication
  * test: Address outstanding versionbits_test feedback
  * test: Check that no versionbits are re-used
  * rpc: Check default value type againts argument type
  * rpc: Keep default argument value in correct type
  * qa: Test default include_mempool value of gettxout
  * doc: update -addnode config option help
  * doc: update addnode rpc help
  * build: Drop pointless sed commands
  * Remove no longer used contrib/bitcoin-qt.pro from the repo
  * fuzz: use ConsumeBool() instead of !ConsumeBool()
  * fuzz: split FuzzedSock interface and implementation
  * fuzz: make FuzzedSock::Wait() sometimes simulate an occurred event
  * fuzz: set errno from FuzzedSock::Wait() if it simulates a failure
  * style: remove extra white space
  * test: Remove intermittently failing and not very meaningful `BOOST_CHECK` in `cnetaddr_basic`
  * Add mainnet and testnet taproot activation params
  * Avoid use of low file descriptor ids (which may be in use) in FuzzedSock and StaticContentsSock
  * validation: fix ActivateSnapshot to use hardcoded nChainTx
  * p2p, bugfix: use NetPermissions::HasFlag() in CConnman::Bind()
  * qt, refactor: Use better QMenu::addAction overloaded function
  * qt: Do not assign Alt+<KEY> shortcuts to context menu actions
  * qt: Drop menu separator that separates nothing
  * qt, refactor: Make AddressBookPage::deleteAction a local variable
  * test: Reset mocktime in the common setup
  * rpc/rest: Take and reuse local Chain/ChainState obj
  * rpc: style: Improve BuriedForkDescPushBack signature
  * rpc: Remove unnecessary casting of block height
  * rpc: Tidy up local references (see commit message)
  * rest/rpc: Remove now-unused old Ensure functions
  * scripted-diff: rest/rpc: Use renamed EnsureAny*()
  * rpc: Add renamed EnsureAny*() functions
  * test: Fix TSan suppression
  * test: Use mocktime to avoid intermittent failure
  * ci: Only cache depends/sdk-sources for macos/apk task in cirrus
  * Revert "test: Add tsan supp for leveldb::DBImpl::DeleteObsoleteFiles"
  * doc: remove boostrap info from GUIX_COMMON_FLAGS doc
  * test: Remove spurious double lock tsan suppressions by bumping to clang-12
  * net: flag relevant Sock methods with [[nodiscard]]
  * external_signer: remove ExternalSignerException
  * external_signer: use const where appropriate
  * wallet: remove CWallet::GetExternalSigner()
  * external_signer: remove ignore_errors from Enumerate()
  * refactor: unify external wallet runtime errors
  * refactor: add missing includes to external signer code
  * refactor: move all signer code inside ENABLE_EXTERNAL_SIGNER #ifdefs
  * refactor: add [[noreturn]] attribute where applicable
  * tests: Skip SQLite fsyncs while testing
  * rpc: Add alt Ensure* functions acepting NodeContext
  * addrinfo: raise helpfully on server error or incompatible server version
  * ci: Fix macOS brew install command
  * build,boost: update download url.
  * doc: Fix name of script guix-build
  * chainparams: drop versionbits threshold to 90% for mainnnet and signet
  * versionbits: simplify state transitions
  * versionbits: Add explicit NEVER_ACTIVE deployments
  * fuzz: test versionbits delayed activation
  * tests: test versionbits delayed activation
  * versionbits: Add support for delayed activation
  * tests: clean up versionbits test
  * tests: test ComputeBlockVersion for all deployments
  * tests: pull ComputeBlockVersion test into its own function
  * build: mac_alias 2.2.0
  * build, qt: No longer need to set QT_RCC_TEST=1 for determinism
  * ci: Fix previous releases cache order
  * qt: Do not use QClipboard::Selection on Windows and macOS.
  * qt: Elide long strings in their middle in the Peers tab
  * Ignore guix builds
  * ci: Run self-hosted ci
  * ci: Make cirrus cache folders relative to cirrus base dir
  * ci: Restart docker before run
  * ci: [refactor] Create setting for ephemeral config in .cirrus.yml
  * fuzz: Extend psbt fuzz target a bit
  * doc: Use CONFIG_SITE instead of --prefix
  * doc: add cli -addrinfo release note
  * cli: add -addrinfo command
  * cli: create AddrinfoRequestHandler class
  * depends: Fix id_string invocations
  * doc: release notes for new listbanned fields
  * rpc: add help for enumeratesigners and walletdisplayaddress
  * ci: use --enable-external-signer instead of --with-boost-process
  * Move external signer out of wallet module
  * i2p: cancel the Accept() method if waiting on the socket errors
  * cirrus: Use SSD cluster for speedup
  * test: Remove option to make TestChain100Setup non-deterministic
  * test: Use compressed keys in TestChain100Setup
  * [test] check that mapFlagNames is up to date
  * [test] remove unnecessary OP_1s from invalid tests
  * [test] minor improvements / followups
  * [test] fix bug in ExcludeIndividualFlags
  * guix: Register garbage collector root for containers
  * guix: Update hint messages to mention guix-clean
  * doc: Fix typos from codespell lint
  * build: fix configuring when building depends with NO_BDB=1
  * rpc: improve getnodeaddresses help
  * rpc: simplify/constify getnodeaddresses code
  * rpc: add network field to rpc getnodeaddresses
  * Drop JSONRPCRequest constructors after #21366
  * test: increase listbanned unit test coverage
  * rpc: add time_remaining field to listbanned
  * rpc: add ban_duration field to listbanned
  * doc: improve listbanned help
  * rpc: swap position of banned_until and ban_created fields
  * fuzz: Fix uninitialized read in test
  * script: Add trusted key for hebasto
  * doc: Remove irrelevant link to GitHub
  * build: enable -Wdocumentation if suppressing external warnings
  * doc: fixup -Wdocumentation issues
  * build: suppress libevent warnings if supressing external warnings
  * Fix a typo in guix-build output
  * ci: increase CPU count of sanitizer job to increase memory limit
  * build: remove -Wdeprecated-register from NOWARN flags
  * guix: Record precious directories and add guix-clean
  * build: Remove spaces from variable-printing rules
  * blockstorage: [refactor] Use chainman reference where possible
  * move-only: Move *Disk functions to blockstorage
  * rest: Use existing NodeContext
  * rest: Pass in NodeContext to rest_block
  * rpc/rawtx: Use existing NodeContext
  * rpc/mining: Use existing NodeContext
  * rpc/blockchain: Use existing NodeContext
  * rpc/*,rest: Add review-only assertion to EnsureChainman
  * miner: Pass in previous CBlockIndex to RegenerateCommitments
  * guix: Build dmg as a static binary
  * depends: libdmg-hfsplus: Skip CMake RPATH patching
  * guix: Remove codesign_allocate+pagestuff from unsigned tarball
  * guix: Use clang-toolchain instead of clang
  * guix: Fallback to local build for substitute-enabled Guix users
  * guix: Add early health check for guix-daemon
  * guix: More thoroughly control native toolchain
  * guix: Supply --link-profile
  * guix: Add troubleshooting documentation entries
  * guix: Adapt guix-build to prelude, restructure hier
  * guix: Remove guix-build.sh filename extension
  * guix: Add source-able bash prelude and utils
  * test: Document why no symbol names can be used for suppressions
  * qt: Handle exceptions in SendCoinsDialog::sendButtonClicked slot
  * qt: Handle exceptions in TransactionView::bumpFee slot
  * qt: Handle exceptions in WalletModel::pollBalanceChanged slot
  * net: Deserialize hardcoded seeds from BIP155 blob
  * contrib: Add explicit port numbers for testnet seeds
  * contrib: Add a few TorV3 seed nodes
  * contrib: generate-seeds.py generates output in BIP155 format
  * test: Document race:validation_chainstatemanager_tests suppression
  * refactor: Remove negative lock annotations from globals
  * test: Replace blanket UBSan signed integer overflow suppression for txmempool.cpp with specific suppression
  * move-only: Move AbortNode to shutdown
  * move-only: Move ThreadImport to blockstorage
  * build, qt, refactor: Drop sed commands for win32-g++/qmake.conf
  * Fix assumeutxo crash due to missing base_blockhash
  * refactor: Prefer clean assert over UB in coinstats
  * Fix assumeutxo crash due to truncated file
  * test: Add missing suppression for signed-integer-overflow:txmempool.cpp
  * build: additional PKG_CHECK_MODULES calls in bitcoin_qt.m4
  * build: misc doc changes in bitcoin_qt.m4
  * build: set QT_*_CFLAGS & QT_*_LIBS in PKG_CHECK_MODULES() calls
  * build: use QT_*_LIBS rather than passing lib names
  * scripted-diff: replace Qt5 with ${qt_lib_prefix} in _BITCOIN_QT_CHECK_STATIC_LIBS
  * build: reorder libs in _BITCOIN_QT_CHECK_STATIC_LIBS (move-only)
  * Disable certain false positive warnings for libsecp256k1 msvc build
  * refactor: Move load block thread into ChainstateManager
  * Fix wrong wallet RPC context set after #21366
  * test: make sure non-IP peers get discouraged and disconnected
  * test: also check disconnect in denialofservice_tests/peer_discouragement
  * test: use pointers in denialofservice_tests/peer_discouragement
  * wallet: refactor: dedup sqlite statement deletions
  * wallet: refactor: dedup sqlite statement preparations
  * Doc: Copyright: Fix embedded font file location
  * guix: Create windeploy inside distsrc-*
  * contrib: Silence git-describe when looking for tag
  * guix: Use --cores instead of --max-jobs
  * [doc] correct comment about ATMPW
  * [doc] correct comment in chainparams
  * [doc] GetBestBlock() doesn't do nothing
  * [net] Changes to RunInactivityChecks
  * rpc: Fail to return undocumented return values
  * net: Avoid calling getnameinfo when formatting IPv4 addresses in CNetAddr::ToStringIP
  * net: Add IPv4ToString (we already have IPv6ToString)
  * [net processing] Make RelayAddress() a member function of PeerManagerImpl
  * [net processing] Take NodeId instead of CNode* as originator for RelayAddress()
  * qt: Handle exceptions in BitcoinGUI::addWallet slot
  * qt: Add GUIUtil::ExceptionSafeConnect function
  * qt: Add BitcoinApplication::handleNonFatalException function
  * qt: Make PACKAGE_BUGREPORT link clickable
  * test: check that _all_ invalid-CLTV txs are rejected after BIP65 activation
  * test: check that _all_ invalid-CLTV txs are allowed in a block pre-BIP65
  * test: prepare cltv_invalidate to test all failure reasons in feature_cltv.py
  * test: add tx modfication helper function in feature_cltv.py
  * [net processing] Refactor MaybeSendAddr()
  * [test] remove invalid test from tx_valid.json
  * build: set --build when configuring packages in depends
  * test: small cleanup in RPCNestedTests tests
  * node/ifaces: ChainImpl: Use an accessor for ChainMan
  * node/ifaces: NodeImpl: Use an accessor for ChainMan
  * validation: Make BlockManager::LookupBlockIndex const
  * node: Avoid potential UB by asserting assumptions
  * net_processing: Move comments to declarations
  * fuzz: [refactor] Use IsValidFlagCombination in signature_checker fuzz target
  * fuzz: Removed unused try-catch in coins_view
  * fuzz: [refactor] Use ConsumeScript in signature_checker fuzz target
  * build: split native_cctools
  * Clean up context dependent checks in descriptor parsing
  * refactor: move uncompressed-permitted logic into ParsePubkey*
  * refactor: split off subscript logic from ToStringHelper
  * Account for key cache indices in subexpressions
  * Make DescriptorImpl support multiple subscripts
  * refactor: move population of out.scripts from ExpandHelper to MakeScripts
  * Remove support for subdescriptors expanding to multiple scripts
  * remove unused class util::Ref and its unit test
  * refactor: replace util::Ref by std::any (C++17)
  * util: introduce helper AnyPtr to access std::any instances
  * doc: Merge release notes
  * rpc: Missing doc updates for bumpfee psbt update
  * [net processing] Fix overindentation in MaybeSendAddr()
  * [net processing] Refactor MaybeSendAddr() - early exits
  * [net processing] Change MaybeSendAddr() to take a reference
  * [net processing] Extract `addr` send functionality into MaybeSendAddr()
  * [net] Change addr send times fields to be guarded by new mutex
  * [net processing] Only call GetTime() once in SendMessages()
  * build: Enable safe warnings for msvc builds
  * test: remove qt byteswap compattests
  * net: add ifaddrs.h include
  * build: check if -lsocket is required with *ifaddrs
  * rand: only try and use freeifaddrs if available
  * cirrus: Add missing depends_sources_cache to Android task
  * cirrus: Only cache releases when needed
  * ci: Bump Android cross-build to Ubuntu Focal
  * ci: Build depends only once for Android build
  * ci: Set DEPENDS_DIR when setting BASE_ROOT_DIR
  * ci: Bump macOS VM image to the latest version
  * [test] no send feefilters when txrelay is turned off
  * remove incompatibility release note for darkmode on macos
  * build, qt: Fix static builds on macOS Big Sur
  * node/coinstats: Replace #include with fwd-declaration
  * miner: Add chainstate member to BlockAssembler
  * Revert "miner: Pass in chainstate to BlockAssembler::CreateNewBlock"
  * Revert "scripted-diff: Invoke CreateNewBlock with chainstate"
  * Revert "miner: Remove old CreateNewBlock w/o chainstate param"
  * remove unnecessary newline from initWarning() argument
  * fuzz: [refactor] Use PickValue where possible
  * Unconditionally check for fRelay field in test framework
  * test: Use deterministic chain in utxo set hash test
  * test: Remove wallet dependency of utxo set hash test
  * rpc: Improve gettxoutsetinfo help
  * p2p: Don't send FEEFILTER in blocksonly mode
  * qt: fix issue when disabling the auto-enabled blank wallet checkbox
  * doc: Add release notes for #18335 (rpc work queue exceeded error)
  * doc: Add release notes for -deprecatedrpc=addresses and bitcoin-tx
  * rpc: deprecate `addresses` and `reqSigs` from rpc outputs
  * qt, refactor: Drop redundant setEditTriggers(NoEditTriggers) calls
  * fuzz: Fix tx_pool target to properly fuzz immature outpoints
  * fuzz: Style fixups
  * build: miniupnpc 2.2.2
  * build: Remove unused header from the build system
  * contrib: Use -daemonwait in systemd init script
  * [net] remove fUpdateConnectionTime from FinalizeNode
  * refactor: return std::nullopt instead of {}
  * build: Do not build unused CoreWLAN stuff in depends for macOS
  * depends: fix Qt precompiled headers bug
  * depends: disable Qt Vulkan support on Android
  * CI: add Android APK build to cirrus
  * CI: add Android APK build script
  * Qt: add Android packaging support
  * test: remove duplicate assertions in util_tests
  * fuzz: cleanups for versionbits fuzzer
  * fuzz: Use ConsumeWeakEnum in addrman for service flags
  * [net] remove CConnman::AddNewAddresses
  * [net] remove CConnman::MarkAddressGood
  * [net] remove CConnman::SetServices
  * [net_processing] Keep addrman reference in PeerManager
  * [net] Construct addrman outside connman
  * test: add functional test for anchors.dat
  * test: add ParseUInt16() test coverage
  * tests: Add test for CNetAddr::ToString IPv6 address formatting (RFC 5952)
  * Add unit test coverage for our onion peer eviction protection
  * Protect onion+localhost peers in ProtectEvictionCandidatesByRatio()
  * Use EraseLastKElements() throughout SelectNodeToEvict()
  * Add m_inbound_onion to AttemptToEvictConnection()
  * Add unit tests for ProtectEvictionCandidatesByRatio()
  * Use std::unordered_set instead of std::vector in IsEvicted()
  * Move peer eviction tests to a separate test file
  * Extract ProtectEvictionCandidatesByRatio from SelectNodeToEvict
  *  Fix wrong(1024) divisor for 1000-based prefixes
  * Doc: Tell howto install clang-format on Debian/Ubuntu
  * build: Make Windows-specific targets available for Windows builds only
  * build: Make macOS-specific targets available for macOS builds only
  * fuzz: Add tx_pool fuzz targets
  * style-only: Remove whitespace
  * net: Simplify ProcessGetBlockData execution by removing send flag.
  * log: Clarify that block request below NODE_NETWORK_LIMITED_MIN_BLOCKS disconnects
  * qt: Improve URI/file handling message
  * refactor: Pass PeerManagerImpl members only once
  * refactor: post Optional<> removal cleanups
  * Rename CoinSelectionParams::effective_fee to m_effective_feerate
  * wallet: Move discard feerate fetching to CreateTransaction
  * wallet: Move long term feerate setting to CreateTransaction
  * test: add missing netaddress include headers
  * util: add missing braces and apply clang format to SplitHostPort()
  * util: add ParseUInt16(), use it in SplitHostPort()
  * p2p, refactor: pass and use uint16_t CService::port as uint16_t
  * doc: Update libnatpmp info in dependencies.md
  * wallet: Replace nFeeRateNeeded with effective_fee
  * wallet: Use existing feerate instead of getting a new one
  * test: give fundraw more time for test_transaction_too_large
  * test: add I2P test for a runaway SAM proxy
  * fuzz: add tests for the I2P Session public interface
  * i2p: use pointers to Sock to accommodate mocking
  * net: change ConnectSocketDirectly() to take a Sock argument
  * net: add connect() and getsockopt() wrappers to Sock
  * fuzz: avoid FuzzedSock::Recv() repeated errors with EAGAIN
  * fuzz: extend FuzzedSock::Recv() to support MSG_PEEK
  * fuzz: implement unimplemented FuzzedSock methods
  * test: add a test to ensure RecvUntilTerminator() limit works
  * i2p: limit the size of incoming messages
  * Always add -daemonwait to known command line arguments
  * Use PrecomputedTransactionData in signet check
  * Treat amount<0 also as missing data for P2WPKH/P2WSH
  * Make all SignatureChecker explicit about missing data
  * Add MissingDataBehavior and make TransactionSignatureChecker handle it
  * refactor: reuse test string with embedded null char in util_tests
  * test: add ParseUInt8() unit and fuzz test coverage
  * Update vcpkg checkout commit.
  * Add new format string placeholders for walletnotify to include relevant block information for transactions
  * net: fix hSocket param in netbase.h::ConnectSocketDirectly()
  * net: move Doxygen docs from netbase.cpp to netbase.h
  * tests: Add fuzzing harness for LoadMempool(...) and DumpMempool(...)
  * net: update incorrect Doxygen documentation in netbase.cpp
  * fuzz: Implement fuzzed_dns_lookup_function as lambda
  * rpc: remove scantxoutset EXPERIMENTAL warning
  * scripted-diff: remove Optional & nullopt
  * scripted-diff: Drop redundant QString calls
  * ci, gitian: Drop unneeded python3-dev package for macOS builds
  * doc: Update zlib info in dependencies.md
  * test: Drop unused get_machine function
  * test: Cleanup test files in test-{security,symbol}-check.py
  * Revert "qt: Use "fusion" style on macOS Big Sur with old Qt"
  * [net processing] Add ChainSyncTimeoutState default initializers
  * [net processing] Remove CNodeState ctor body
  * build: don't try and use -fstack-clash-protection on Windows
  * validation: Make DumpMempool(...) and LoadMempool(...) easier to test/fuzz/mock
  * tests: Set errno in FuzzedFileProvider. Implement seek(..., ..., SEEK_END).
  * tests: Add fuzzing harness for versionbits
  * bugfix: fix bech32_encode calls in gen_key_io_test_vectors.py
  * naming nits
  * Add signet support to gen_key_io_test_vectors.py
  * Use Bech32m encoding for v1+ segwit addresses
  * Add Bech32m test vectors
  * Implement Bech32m encoding/decoding
  * doc: Update dependencies.md with a new Qt version
  * build: Cleanup libxkbcommon_postprocess_cmds
  * build, qt: Drop redundant -lxcb-static flag
  * build, qt: Always test plugins/subdir before adding to search paths
  * test: use fewer blocks in wallet_groups and move sync call
  * doc: specify minimum HWI version
  * rpc: don't require wallet for enumeratesigners
  * doc: update developer notes for removal of MakeUnique
  * scripted-diff: remove MakeUnique<T>()
  * test: use 327 fewer blocks in feature_nulldummy
  * test, refactor: abstract the feature_nulldummy blockheight values
  * compat: remove memcpy -> memmove backwards compatibility alias
  * build: update qt qpaint non determinism patch for 5.12.10
  * build: update qt no-xlib patch for 5.12.10
  * build: update qt android jni static patch for 5.12.10
  * build: update qt lrelease patch for 5.12.10
  * build, qt: Fix lib paths in *.pc files
  * build: disable qt SDK version checking
  * build: Add QMacStyle support
  * build: revert to using Qts internal zlib
  * build: qt 5.12.10
  * build: Add xkbcommon 0.8.4
  * build: only pass -optimized-tools to qt in debug mode
  * build, qt: Fix regression introduced in #21363
  * doc: Update fuzzing docs for afl-clang-lto
  * fuzz: Bump FuzzedDataProvider.h
  * [net processing] Remove unused CNode.address member
  * wallet, rpc: update listdescriptors response format
  * [doc] Improve comment about protected peers
  * tests: Add fuzzing harness for Lookup(...)/LookupHost(...)/LookupNumeric(...)/LookupSubNet(...)
  * net: Make DNS lookup code testable
  * net_processing: Add review-only assertion to PeerManager
  * scripted-diff: net_processing: Use existing chainman
  * net_processing: Move some static functions to PeerManager
  * node/ifaces: ChainImpl: Use existing NodeContext member
  * node/ifaces: NodeImpl: Use existing NodeContext member
  * node: Use existing NodeContext
  * node/coinstats: Pass in BlockManager to GetUTXOStats
  * miner: Pass in blockman to ::RegenerateCommitments
  * miner: Remove old CreateNewBlock w/o chainstate param
  * scripted-diff: Invoke CreateNewBlock with chainstate
  * miner: Pass in chainstate to BlockAssembler::CreateNewBlock
  * validation: Remove extraneous LoadGenesisBlock function prototype
  * doc: Rename fuzz seed_dir to corpus_dir
  * doc: add signet to doc/bitcoin-conf.md
  * doc: add signet to share/examples/bitcoin.conf
  * build: Small libxcb.mk improvements
  * build: Clean remnants of QTBUG-34748 fix
  * test: add missing logging to wallet_groups.py
  * qt, refactor: Drop no longer used PeerTableModel::getRowByNodeId func
  * qt, refactor: Drop no longer used PeerTableModel::sort function
  * qt: Use PeerTableSortProxy for sorting peer table
  * qt: Add peertablesortproxy module
  * wallet: Mark replaced tx to not be in the mempool anymore
  * qt test: Don't bind to regtest port
  * qt: Do not translate file extensions
  * fuzz: fix gcc Woverloaded-virtual build warnings
  * Use C++11 member initializer in CNodeState
  * build, refactor: Fix indentation
  * build, qt: Make Qt static libs check regardless of plugindir
  * build, refactor: Rename internal _BITCOIN_QT_FIND_STATIC_PLUGINS macro
  * build, qt: Refactor internal _BITCOIN_QT_CHECK_STATIC_PLUGINS macro
  * Test that signrawtx works when a signed CSV and CLTV inputs are present
  * Introduce DeferringSignatureChecker and inherit with SignatureExtractor
  * rpc: refactor rpc wallet functions to take references instead of pointers
  * rpc: remove calls to CWallet.get()
  * fuzz: Avoid -Wreturn-type warnings
  * net: Replace enum CConnMan::NumConnections with enum class ConnectionDirection
  * bitcoind: Add -daemonwait option to wait for initialization
  * shutdown: Use RAII TokenPipe in shutdown
  * util: Add RAII TokenPipe
  * util: Make Assume() usable as unary expression
  * [net processing] Don't pass CConnman to RelayTransactions
  * [net processing] Move RelayTransaction into PeerManager
  * fuzz: Add missing include (test/util/setup_common.h)
  * build: compile libnatpmp with -DNATPMP_STATICLIB on Windows
  * build: use newer source for libnatpmp
  * doc: revamp macOS build doc
  * build, doc: Drop libbz2-dev from macOS cross-compiling dependencies
  * build, doc: Drop libcap-dev from macOS cross-compiling dependencies
  * validation: CVerifyDB::VerifyDB: Use locking annotation
  * guix: Remove libcap from manifest
  * validation: Use existing chain member in CChainState::LoadGenesisBlock
  * validation: Use existing chain member in CChainState::AcceptBlock
  * validation: Pass in chain to FindBlockPos+SaveBlockToDisk
  * validation: Use *this in CChainState::ActivateBestChainStep
  * validation: Pass in chainstate to CTxMemPool::check
  * Make tx relay data structure use std::chrono types
  * Make all Poisson delays use std::chrono types
  * Convert block/header sync timeouts to std::chrono types
  * Change all ping times to std::chrono types
  * wallet: Add IsAddressUsed / SetAddressUsed methods
  * interfaces: Stop exposing wallet destdata to gui
  * test: Add gui test for wallet receive requests
  * build: Fix fuzz-cuckoocache cross-compiling for Windows with DEBUG=1
  * test: HelpExampleCliNamed and HelpExampleRpcNamed
  * rpc: Add HelpExampleCliNamed and use it for `createwallet` doc
  * rpc: Add HelpExampleRpcNamed
  * Move MakeNoLogFileContext to common libtest_util, and use it in bench
  * guix: Update darwin native packages dependencies
  * doc: install qt5 when building on macOS
  * test: bring p2p_leak.py up to date.
  * fuzz: Add FUZZED_SOCKET_FAKE_LATENCY mode to FuzzedSock to allow for fuzzing timeout logic
  * fuzz: Add fuzzing harness for Socks5(...)
  * doc: Remove outdated comment
  * build: Make AM_CONDITIONAL([ENABLE_EXTERNAL_SIGNER]) unconditional
  * build, refactor: Fix indentation for if..then..fi
  * util: Avoid invalid integer negation in ValueFromAmount: make ValueFromAmount(const CAmount& n) well-defined also when n is std::numeric_limits<CAmount>::min()
  * util: Avoid invalid integer negation in FormatMoney: make FormatMoney(const CAmount& n) well-defined also when n is std::numeric_limits<CAmount>::min()
  * Make .gitignore ignore src/test/fuzz/fuzz.exe
  * tests: Add fuzzing harness for TorController
  * torcontrol: Move TorControlReply, TorControlConnection and TorController to improve testability
  * txorphanage: comment improvements
  * build: set Unicode true for NSIS installer
  * doc: Update build instructions for Fedora
  * validation: Use *this in CChainState::InvalidateBlock
  * validation: Move LoadBlockIndexDB to CChainState
  * validation: Move invalid block handling to CChainState
  * validation: Pass in chainstate to CVerifyDB::VerifyDB
  * validation: Remove global ::VersionBitsTip{State,SinceHeight,Statistics}
  * validation: Pass in chainstate to ::PruneBlockFilesManual
  * validation: Pass in chainstate to UpdateTip
  * net: Do not skip the I2P network from GetNetworkNames()
  * net: recognize I2P from ParseNetwork() so that -onlynet=i2p works
  * net: accept incoming I2P connections from CConnman
  * net: make outgoing I2P connections from CConnman
  * net: add I2P to the reachability map
  * init: introduce I2P connectivity options
  * net: implement the necessary parts of the I2P SAM protocol
  * net: extend Sock with a method to check whether connected
  * net: extend Sock with methods for robust send & read until terminator
  * lint: Fix spelling errors in comments
  * Correction for VerifyTaprootCommitment comments
  * net: extend Sock::Wait() to report a timeout
  * net: dedup MSG_NOSIGNAL and MSG_DONTWAIT definitions
  * net: move the constant maxWait out of InterruptibleRecv()
  * net: extend CNetAddr::SetSpecial() to support I2P
  * net: avoid unnecessary GetBindAddress() call
  * net: isolate the protocol-agnostic part of CConnman::AcceptConnection()
  * net: get the bind address earlier in CConnman::AcceptConnection()
  * net: check for invalid socket earlier in CConnman::AcceptConnection()
  * util: fix WriteBinaryFile() claiming success even if error occurred
  * util: fix ReadBinaryFile() returning partial contents
  * util: extract {Read,Write}BinaryFile() to its own files
  * guix, doc: Update default HOSTS value
  * guix: Add curl to required tool list
  * build: fix libnatpmp macos cross compile
  * zmq test: fix sync-up by matching notification to generated block
  * build: adds switch for disabling random base addresses in MSVC
  * Hoist repeated translated strings to RPCConsole struct members
  * RPCConsole::updateDetailWidget: convert strings to translated strings
  * rpc: document optional fields for getchaintxstats result
  * qt: Fix regression with initial sorting after pr205
  * net_processing: move AddToCompactExtraTransactions into PeerManagerImpl
  * scripted-diff: Update txorphanage naming convention
  * txorphanage: Move functions and data into class
  * txorphanage: Extract EraseOrphansForBlock
  * net_processing: drop AddOrphanTx
  * denialofservices_tests: check txorphanage's AddTx
  * txorphanage: Extract OrphanageAddTx
  * txorphanage: Extract GetOrphanTx
  * txorphanage: Extract HaveOrphanTx
  * txorphanage: Extract AddChildrenToWorkSet
  * txorphanage: Add lock annotations
  * txorphanage: Pass uint256 by reference instead of value
  * move-only: Add txorphanage module
  * script: Add explanatory comment to tc.sh
  * allow darkmode on macos build
  * Allow icon colorization on mac os to better support dark mode
  * test: remove unneeded node from feature_blockfilterindex_prune.py
  * test: improve assertions in feature_blockfilterindex_prune.py
  * gui: add "Last Block" (CNodeStats::nLastBlockTime) to peer details
  * gui: add "Last Tx" (CNodeStats::nLastTXTime) to peer details
  * qt: add RPCConsole::TimeDurationField helper, call systime only once
  * test: Add feature_taproot.py --previous_release
  * test: move releases download incantation to README
  * test: previous releases: add v0.20.1
  * rpc: Properly document submitblock return value
  * rpc: Properly document getblocktemplate return value
  * rpc: Properly document scantxoutset return value
  * rpc: Properly document gettxout return value
  * guix: Bump glibc and linux-headers
  * guix: Rebase on 95aca2991b (1.2.0-12.dffc918)
  * test: Replace accidentally placed bit-OR with logical-OR
  * build, doc: Fix configure script output indentation and typos
  * qt: Rename "Edit label" to "Edit address label"
  * Revert "qt: Remove Transactionview Edit Label Action"
  * build: Bump minimum Qt version to 5.9.5
  * wallet: fix doc typo in signer option
  * guix: Explicitly set umask in build container
  * qt: Disable requests context menu actions when appropriate
  * doc: add external-signer.md
  * rpc: send: support external signer
  * rpc: signerdisplayaddress
  * wallet: ExternalSigner: add GetDescriptors method
  * wallet: add GetExternalSigner()
  * test: external_signer wallet flag is immutable
  * rpc: add external_signer option to createwallet
  * rpc: signer: add enumeratesigners to list external signers
  * rpc: add external signer RPC files
  * wallet: add ExternalSignerScriptPubKeyMan
  * wallet: add external_signer flag
  * test: add external signer test
  * wallet: add -signer argument for external signer command
  * qt: Prevent the main window popup menu
  * wallet: listdescriptors uses normalized descriptor form
  * assumptions: check C++17 assumption with MSVC
  * assumptions: assume a C++17 compiler
  * qt: Add Copy Address Action to Payment Requests
  * guix: Passthrough SDK_PATH into container
  * qt: Make warning label look clickable
  * validation: Remove global ::{{Precious,Invalidate}Block,ResetBlockFailureFlags}
  * validation: Remove global ::LoadGenesisBlock
  * validation: Check chain tip is non-null in CheckFinalTx
  * build: make HAVE_O_CLOEXEC available outside LevelDB (bugfix)
  * init: only use pipe2 if availabile, check in configure
  * scripted-diff: Rename MakeFuzzingContext to MakeNoLogFileContext
  * scripted-diff: Rename PROVIDE_MAIN_FUNCTION -> PROVIDE_FUZZ_MAIN_FUNCTION
  * doc: Clarify that squashing should happen before review
  * qt, refactor: Use enum type as switch argument in TransactionTableModel
  * qt, refactor: Use enum type as switch argument in PeerTableModel
  * qt, refactor: Use enum type as switch argument in BanTableModel
  * qt, refactor: Use enum type as switch argument in AddressTableModel
  * guix: only download sources for hosts being built
  * contrib: run test-symbol check for RISCV
  * gui: Add monospaced font settings
  * qt: Choose monospaced font in C++ code rather in `*.ui` file
  * qt: Make GUIUtil::fixedPitchFont aware of embedded font
  * gui: Add Roboto Mono font
  * test: framework: add skip_if_no_external_signer
  * configure: add --enable-external-signer
  * test: Avoid connecting to real network when running tests
  * test: Assume node is running in subtests
  * test: Intermittent issue in feature_blockfilterindex_prune
  * ci: Avoid invoking curl on the host
  * guix: Update conservative space requirements
  * guix: Add support for powerpc64{,le}
  * build: Add /opt/homebrew to path to look for boost libraries
  * Fix fuzz binary compilation under windows
  * style-only: Make AcceptToMemoryPool signature readable
  * style-only: Make CheckSequenceLock signature readable
  * validation: Use *this in CChainState::LoadMempool
  * validation: Pass in chainstate to UpdateMempoolForReorg
  * validation: Pass in chainstate to CTxMemPool::removeForReorg
  * validation: Pass in chain to ::TestLockPointValidity
  * tree-wide: Fix erroneous AcceptToMemoryPool replacements
  * validation: Remove old AcceptToMemoryPool w/o chainstate param
  * scripted-diff: Invoke ::AcceptToMemoryPool with chainstate
  * test: Fix NODE_NETWORK_LIMITED_MIN_BLOCKS disconnection
  * test: Make test actually test something
  * test: pep8 touched test
  * validation: Pass in chainstate to ::AcceptToMemoryPool
  * validation: Pass in chainstate to ::LoadMempool
  * validation: Pass in chainstate to AcceptToMemoryPoolWithTime
  * validation: Add chainstate member to MemPoolAccept
  * validation: Pass in chainstate to ::CheckSequenceLocks
  * validation: Remove old CheckFinalTx w/o chain tip param
  * scripted-diff: Invoke ::CheckFinalTx with chain tip
  * validation: Pass in chain tip to ::CheckFinalTx
  * validation: Pass in coins tip to CheckInputsFromMempoolAndCache
  * validation: Pass in chainstate to IsCurrentForFeeEstimation
  * validation: Pass in coins cache to ::LimitMempoolSize
  * Avoid comparision of integers with different signs
  * guix: Jump forwards in time-machine and adapt
  * guix: Supply --keep-failed for debugging
  * log: Clarify log message when file does not exist
  * gui: display BIP152 high bandwidth relay in peer details
  * gui: display fRelayTxes in peer details
  * [tools] Allow argument/parameter bin packing in clang-format
  * [net] Move checks from GetLocalAddrForPeer to caller
  * [net] Change AdvertiseLocal to GetLocalAddrForPeer
  * qt: Remove Transactionview Edit Label Action
  * [doc] Add a note about where lock annotations should go.
  * [validation] Move the lock annotation from function definition to declaration
  * cli: update -netinfo help doc following the merge of 882ce251
  * cli: small -netinfo simplification and performance improvement
  * cli: improve -netinfo invalid argument error message
  * cli: warn in help that -netinfo is not intended to be a stable API
  * cli: enable -netinfo help to run without a remote server
  * test: Move P2WSH_OP_TRUE to shared test library
  * [test] Check user agent string from test framework connections
  * [test] Add P2P_SERVICES to p2p.py
  * [test] Move MY_RELAY to p2p.py
  * [test] Move MY_SUBVERSION to p2p.py
  * [test] Move MY_VERSION to p2p.py
  * [test] Move MIN_VERSION_SUPPORTED to p2p.py
  * doc: Rework internal and external links
  * util: Use std::chrono for time getters
  * time: add runtime sanity check
  * build: actually stop configure if Boost isn't available
  * build: explicitly install libboost-dev package
  * build: remove mostly pointless BOOST_PROCESS macro
  * test: disallow sendtoaddress/sendmany when private keys disabled
  * Disallow sendtoaddress and sendmany when private keys disabled
  * [doc / util] Use comments to clarify time unit for int64_t type.
  * [util] Introduce a SetMockTime that takes chrono time
  * [util] Change GetMockTime to return chrono type instead of int
  * [test] Throw error instead of segfaulting in failure scenario
  * [test] Introduce a unit test helper to create a valid mempool transaction.
  * guix: Passthrough BASE_CACHE into container
  * test: Speed up rpc_blockchain.py by removing miniwallet.generate()
  * test: Change address type from P2PKH to P2WSH in rpc_blockchain
  * test: Cache 25 mature coins for ADDRESS_BCRT1_P2WSH_OP_TRUE
  * test: Remove unused bug workaround
  * test: Start only the number of nodes that are needed
  * net: Log to net debug in MaybeDiscourageAndDisconnect except for noban and manual peers
  * Add "index/blockfilterindex -> validation -> index/blockfilterindex" to expected circular dependencies
  * Add functional test for blockfilterindex in prune-mode
  * Add debug startup parameter -fastprune for more effective pruning tests
  * Avoid pruning below the blockfilterindex sync height
  * faster HexStr => 13% faster blockToJSON
  * cli: Treat high detail levels as the maximum in -netinfo
  * scripted-diff: rename ping members
  * [net processing] Move ping data fields to net processing
  * [net processing] Move ping timeout logic to net processing
  * [net processing] Move send ping message logic into function
  * [net] Add RunInactivityChecks()
  * [net processing] Add Peer& arg to MaybeDiscourageAndDisconnect()
  * fuzz: Remove expensive and redundant muhash from crypto fuzz target
  * scripted-diff: Remove shadowing lock annotations
  * Add benchmark to write JSON into a string
  * Re-add dead code detection
  * net: remove CNode::m_inbound_onion defaults for explicitness
  * net: make CNode::m_inbound_onion public, drop getter, update tests
  * doc/bips: Add BIPs 43, 44, 49, and 84
  * [test] Use mocktime in test_seed_peers()
  * [refactor] Correct log message in net.cpp
  * doc: Guix is shipped in Debian and Ubuntu
  * doc: remove potentially confusing ChainstateManager comment
  * test: Add tests with maleated snapshot data
  * tests: add snapshot activation test
  * tests: add deterministic chain generation unittest fixture
  * move-onlyish: break out CreateUTXOSnapshot from dumptxoutset
  * txdb: don't reset during in-memory cache resize
  * simplify ChainstateManager::SnapshotBlockhash() return semantics
  * chainparams: add allowed assumeutxo values
  * build: consolidate reduced export checks
  * test: fix sign comparison warning in socket tests
  * build: add building libconsensus to end-of-configure output
  * build: remove ax_gcc_func_attribute macro
  * build: remove AX_GCC_FUNC_ATTRIBUTE test for dllimport
  * build: test for __declspec(dllexport) in configure
  * build: remove duplicate visibility attribute detection
  * [p2p] No delay in adding fixed seeds if -dnsseed=0 and peers.dat is empty. Add -fixedseeds arg.
  * fuzz: version handshake
  * Avoid accessing nullpointer in BaseIndex::GetSummary()
  * Allow blockfilter in conjunction with prune
  * test: add Sock unit tests
  * fuzz: Fail if message type is not fuzzed
  * fuzz: Count message type fuzzers before main()
  * contrib/init: (OpenRC) quote some unquoted variables.
  * contrib/init: (OpenRC) Do not fail if both rpcuser and rpcpassword are unset.
  * log: Move "Pre-allocating up to position 0x[...] in [...].dat" log message to debug category
  * log: Move "Leaving block file [...]: [...]" log message to debug category
  * style: rename hSocket to sock
  * net: use Sock in InterruptibleRecv() and Socks5()
  * net: add RAII socket and use it instead of bare SOCKET
  * net: move CloseSocket() from netbase to util/sock
  * net: move MillisToTimeval() from netbase to util/time
  * Deduplicate some block-to-JSON code.
  * ci: Re-run wine tests once if they fail
  * Add EditorConfig file.
  * validation: don't try to invalidate genesis block
  * zmq test: speedup test by whitelisting peers (immediate tx relay)
  * zmq test: fix flakiness by using more robust sync method
  * zmq test: accept arbitrary sequence start number in ZMQSubscriber
  * zmq test: dedup message reception handling in ZMQSubscriber
  * ci: Properly bump to focal for win cross build
  * wallet: load flags before everything else
  * test: remove unused function xor_bytes
  * script: Make LXC container size suitable for gitian builds
  * [refactor] improve style for touched code
  * [refactor] const ATMPArgs and non-const Workspace
  * [refactor] return MempoolAcceptResult
  * Change BOOST_CHECK to BOOST_CHECK_EQUAL to see mismatched values when a check fails.
  * test: remove unnecessary assignment in bdb
  * ci: use Ubuntu Focal for macOS cross build
  * [refactor] txmempool: split epoch logic into class
  * test: remove assert_blockchain_height
  * build: Disable --disable-fuzz-binary for guix builds
  * build: Disable --disable-fuzz-binary for gitian builds
  * test: Fix Windows cross build
  * doc: Fixup docs in fuzz/script_assets_test_minimizer.cpp
  * fuzz: Hide script_assets_test_minimizer
  * test: remove type: comments in favour of actual annotations
  * docs: correctly identify script type
  * gui: update to "Direction/Type" peer details name/tooltip
  * gui: add "Type" column to Peers main window
  * gui: allow ConnectionTypeToQString to prepend direction optionally
  * contrib/signet/miner: remove debug code
  * bitcoin-util: use AddCommand / GetCommand
  * contrib/signet/README.md: Update miner description
  * contrib/signet/miner: Automatic timestamp for first block
  * contrib/signet/miner: --grind-cmd is required for calibrate
  * contrib/signet: Fix typos
  * build: build fuzz tests by default.
  * test: fix timeout decrease in feature_assumevalid
  * [doc] clarify -peertimeout and -timeout descriptions
  * refactor: Treat ArgsManager::Flags as uint32_t explicitly
  * fix the unreachable code at feature_taproot
  * fuzz: Configure check for main function (take 2)
  * doc: Replace tabs for spaces
  * Introduce GetUniquePath(base) helper method to replace boost::filesystem::unique_path() which is not available in std::filesystem.
  * doc: Fix markdown formatting
  * wallet: Fix already-loading error message grammar
  * fuzz: Avoid extraneous copy of input data, using Span<>
  * depends: Include GUIX_ENVIRONMENT in id string
  * depends: Improve id string robustness
  * build: Proper quoting for var printing targets
  * gitian: remove execstack workaround for ricv64 & powerpc64le
  * build: use focal in gitian descriptors
  * netinfo: display only outbound block relay counts
  * netinfo: add i2p network
  * netinfo: add bip152 high-bandwidth to/from fields
  * netinfo: display manual peers count
  * netinfo: update to use peer connection types
  * Verify that all validation flags are backward compatible
  * [test] check verification flags are minimal/maximal
  * [test] Check for invalid flag combinations
  * [refactor] use CheckTxScripts, TrimFlags, FillFlags
  * Apply minimal validation flags to tx_invalid tests
  * [test] add BADTX setting for invalid txns that fail CheckTransaction
  * [test] fix two witness tests in invalid tests with empty vout
  * Apply maximal validation flags to tx_valid tests
  * [test] fix CSV test missing OP_ADD
  * [test] remove unnecessary OP_1s from CSV and CLTV tests
  * [refactor] clean up logic in testmempoolaccept
  * netinfo: add ConnectionTypeForNetinfo member helper function
  * doc: refer to BIPs 339/155 in feature negotiation
  * build: make macOS HOST in download-osx generic
  * util: Disallow negative mocktime
  * net: Avoid UBSan warning in ProcessMessage(...)
  * Add release notes for listdescriptors RPC
  * ci: remove boost thread installation
  * build: don't build or use Boost Thread
  * refactor: replace Boost shared_mutex with std shared_mutex in sigcache
  * refactor: replace Boost shared_mutex with std shared_mutex in cuckoocache tests
  * validation: Guard all chainstates with cs_main
  * init: use GetNetworkNames() in -onlynet help
  * rpc: use GetNetworkNames() in getnetworkinfo and getpeerinfo helps
  * net: create GetNetworkNames()
  * net: update NET_UNROUTABLE to not_publicly_routable in GetNetworkName()
  * scripted-diff: Remove setup_clean_chain if default is not changed
  * doc: Improve setup_clean_chain documentation
  * build: Add -Werror=mismatched-tags
  * doc: More precise -debug and -debugexclude doc
  * Drop boost/preprocessor dependencies
  * refactor: Move STRINGIZE macro to macros.h
  * Fix -Wmismatched-tags warnings
  * refactor: replace sizeof(a)/sizeof(a[0]) by std::size (C++17)
  * refactor: init vectors via std::{begin,end} to avoid pointer arithmetic
  * qt: Save/restore recentRequestsView table column sizes
  * qt: Drop buggy TableViewLastColumnResizingFixer class
  * qt: Move recentRequestsView properties settings to constructor
  * qt: Save/restore TransactionView table column sizes
  * qt: Move transactionView properties settings to constructor
  * qt, refactor: Drop intermediate assignment
  * refactor: iterate arrays via C++11 range-based for loops if idx is not needed
  * test: Add test for deterministic UTXO set hash results
  * test: Add test for gettxoutsetinfo RPC with MuHash
  * gui: display plain "Inbound" in peer details
  * rpc: Add hash_type MUHASH to gettxoutsetinfo
  * refactor: Separate hash and stats calculation in coinstats
  * fuzz: Avoid designated initialization (C++20) in fuzz tests
  * Remove pointer cast in CRPCTable::dumpArgMap
  * refactor: Add RPC server ExecuteCommands function
  * refactor: Replace JSONRPCRequest fHelp field with mode field
  * net_processing: simplify MaybeSetPeerAsAnnouncingHeaderAndIDs args
  * net_processing: move MaybeSetPeerAsAnnouncingHeadersAndIDs into PeerManagerImpl
  * net_processing: simplify ProcessGetData and FindTxForGetData args
  * net_processing: move FindTxForGetData and ProcessGetData to PeerManagerImpl
  * net_processing: simplify PeerManageImpl method args
  * net_processing: move MarkBlockAs*, TipMayBeStale, FindNextBlocksToDL to PeerManagerImpl
  * net_processing: simplify AlreadyHaveTx args
  * net_processing: move AlreadyHaveTx into PeerManageImpl
  * net_processing: move some globals into PeerManagerImpl
  * [addrman] Don't repeat "Bucketing method was updated" log multiple times
  * [addrman] Improve serialization comments
  * doc: Document use of make-tag script to make tags
  * refactor: remove boost::thread_group usage
  * peers-tab: bug fix right panel toggle
  * bitcoin-cli: Correct docs (no "generatenewaddress" exists)
  * rpc, test: document {previous,next}blockhash as optional
  * style-only: Remove redundant sentence in ActivateBestChain comment
  * style-only: Make TestBlockValidity signature readable
  * validation: Use accessible chainstate in ChainstateManager::ProcessNewBlock
  * validation: Use existing chainstate in ChainstateManager::ProcessNewBlockHeaders
  * validation: Move LoadExternalBlockFile to CChainState
  * validation: Remove global ::ActivateBestChain
  * validation: Pass in chainstate to ::NotifyHeaderTip
  * validation: Pass in chainstate to TestBlockValidity
  * validation: Make CChainState.m_blockman public
  * validation: Pass in blockman to ContextualCheckBlockHeader
  * validation: Move GetLastCheckpoint to BlockManager
  * validation: Move GetSpendHeight to BlockManager
  * validation: Move FindForkInGlobalIndex to BlockManager
  * validation: Remove global LookupBlockIndex
  * scripted-diff: Use BlockManager::LookupBlockIndex
  * validation: Move LookupBlockIndex to BlockManager
  * validation: Guard the active_chainstate with cs_main
  * Improve gui/src/qt README.md
  * fuzz: Disable shuffle when merge=1
  * rpc: Return total fee in mempool
  * rpc: Remove duplicate name and argNames from CRPCCommand
  * rpc: Use RPCHelpMan for check-rpc-mappings linter
  * rpc: [refactor] Use concise C++11 code in CRPCConvertTable constructor
  * net_processing: log txrelay flag from version message
  * net: use peer=N instead of from=N in debug log
  * net_processing: additional debug logging for ignored messages
  * net: make debug logging conditional on -debug=net
  * net, net_processing: log disconnect reasons with -debug=net
  * qt: Save/restore RPCConsole geometry only for window
  * wallet, rpc: add listdescriptors command
  * tests: Disable bdb dump test when no bdb
  * Fix wallet_send.py wallet setup to work with descriptors
  * Require legacy wallet for wallet_upgradewallet.py
  * Explicitly mark legacy wallet tests as such
  * Setup wallets for interface_zmq.py
  * Use MiniWallet in rpc_net.py
  * Setup wallets for interface_bitcoin_cli.py
  * Setup wallets with descriptors for feature_notifications
  * Have feature_filelock.py test both bdb and sqlite, depending on compiled
  * Disable upgrades tests that require BDB if BDB is not compiled
  * Disable wallet_descriptor.py bdb format check if BDB is not compiled
  * tests: Don't make any wallets unless wallet is required
  * Skip legacy wallet reliant tests if BDB is not compiled
  * tests: Set descriptors default based on compilation
  * doc: update tor.md manual config, move after automatic config
  * ci: Fuzz with integer sanitizer
  * Add information to "Confirm fee bump" window
  * refactor: remove straggling boost::mutex usage
  * fuzz: Add UBSan suppressions needed for fuzz tests to not warn under -fsanitize=integer
  * fuzz: Avoid -fsanitize=integer warnings in fuzzing harnesses
  * doc: update/improve automatic tor section of tor.md
  * doc: update -proxy, -onion and -onlynet info in tor.md
  * doc: update -onlynet help in src/init.cpp
  * raise helpMessageDialog
  * Fix docker args conditional
  * rpc: Add specific error code for "wallet already loaded"
  * gitian-linux: Extend noexec-stack workaround to powerpc
  * gitian-linux: Build binaries for 64-bit POWER
  * gitian-keys: Add signer aliases, some historical keys
  * refactor: Improve encapsulation between MuHash3072 and Num3072
  * Fix BlockToJsonVerbose benchmark
  * Better error messages for invalid addresses
  * Add documentation to contrib folder
  * Add Message Capture Test
  * Add capture parser
  * Call CaptureMessage at appropriate locations
  * Add CaptureMessage
  * fuzz: Avoid initializing version to less than MIN_PEER_PROTO_VERSION
  * fuzz: move-only FillNode implementation to cpp file
  * test: store subversion (user agent) as string in msg_version
  * doc: add instructions for generating RPC docs
  * gitian-keys: add CoinForensics key
  * [docs] Update developer notes to discourage very long lines
  * doc: add xorriso to macOS depends packages
  * Fix MSVC build after gui#176
  * util: Add ArgsManager::GetCommand() and use it in bitcoin-wallet
  * refactor: Move all command dependend checks to ExecuteWalletToolFunc
  * test: Add tests
  * wallet: [refactor] Pass ArgsManager to WalletAppInit
  * guix: Fix typo
  * guix: README: Add darwin HOSTS entry
  * guix: Check for macOS SDK before building anything
  * guix: Set ZERO_AR_DATE for darwin build determinism
  * build: Make xorrisofs reproducible with -volume_date
  * guix: Add support for darwin builds
  * build: Add var printing target to src/Makefile.am
  * fuzz: Initialize a full TestingSetup where appropriate
  * fuzz: Consolidate fuzzing TestingSetup initialization
  * zmq: deduplicate 'sequence' publisher message creation/sending
  * test: Work around libFuzzer deadlock
  * locks: Annotate CTxMemPool::check to require cs_main
  * test: check that getblockfilter RPC fails without block filter index
  * qt: drop workaround for QTBUG-42503 which was fixed in Qt 5.5.0
  * gitian: Properly quote arguments in wrappers
  * Support glibc-back-compat on 64-bit POWER
  * doc: Add developer documentation to isminetype
  * [net] Cleanup InactivityChecks() and add commenting about time
  * GUI: Write PSBTs to file with binary mode
  * [addrman] Improve variable naming/code style of touched code.
  * [addrman] Don't rebucket new table entries unnecessarily
  * [addrman] Rename asmap version to asmap checksum
  * [addrman] Improve variable naming/code style of touched code.
  * [addrman] Fix new table bucketing during unserialization
  * test: Fix get_previous_releases.py for aarch64
  * Change type definitions for "chain" and "setup_clean_chain" from type comments to Python 3.6+ types. Additionally, set type for "nodes".
  * Clean PushMessage and ProcessMessages
  * lint: Skip whitespace lint for guix patches
  * guix: Make nsis reproducible by respecting SOURCE-DATE-EPOCH
  * wallet: Add BerkeleyDB version sanity check at init time
  * zmq test: deduplicate test setup code (node restart, topics subscription)
  * rpc: document RPC_TRANSACTION_ALREADY_IN_CHAIN exception
  * Replace fs::absolute calls with AbsPathJoin calls
  * Fix 0.21.0 release note to specify correct option BIP 157 support
  * test: Clear forced -walletdir setting after wallet init_tests
  * log: Prefix log messages with function name if -logsourcelocations is set
  * build: fix RELOC_SECTION security check for bitcoin-util
  * build: improve macro for testing -latomic requirement
  * add std::atomic include to bitcoin-util.cpp
  * doc: Add historic 0.21.0 release notes
  * validation: remove redundant check on pindex
  * [net] InactivityCheck() takes a CNode reference
  * fuzz: Use mocktime in process_message* fuzz targets
  * Add include for std::bind.
  * rpc: Return wtxid from testmempoolaccept
  * doc, rpc: add missing signet mentions in network name lists
  * scripted-diff: Fix typo in stub manual pages
  * doc: Add manual page generation for bitcoin-util
  * [doc] for CheckInputsFromMempoolAndCache
  * lock annotations for MemPoolAccept functions
  * contrib/signet: Document miner script in README.md
  * contrib/signet: Add script for generating a signet chain
  * Add bitcoin-util command line utility
  * fuzz: Introduce CallOneOf helper to replace switch-case
  * contrib: embed C++11 patch in install_db4.sh
  * doc: update ConnectionType Doxygen documentation
  * gui: improve markup handling of connection type tooltip
  * gui: return inbound {full, block} relay type in peer details
  * test: add test for banning of non-IP addresses
  * net: allow CSubNet of non-IP networks
  * refactor, net: Increase CNode data member encapsulation
  * refactor, move-only: Relocate CNode private members
  * net_processing: move Peer definition to .cpp
  * net_processing: move PeerManagerImpl into cpp file
  * net_processing: split PeerManager into interface and implementation classes
  * net_processing: make more of PeerManager private
  * net, net_processing: move NetEventsInterface method docs to net.h
  * rpc: move getpeerinfo connection_type help to correct place
  * gui: improve connection type tooltip
  * gui: replace Direction with Connection Type in peer details
  * doc: Add explicit macdeployqtplus dependencies install step
  * Remove deprecated bumpfee behavior
  * guix: Print build params inside/outside of container
  * guix: Move DISTSRC determination to guix-build.sh
  * guix: Move OUTDIR determination+creation to guix-build.sh
  * guix: Add more sanity checks to guix-build.sh
  * guix: Add section headings to guix-build.sh
  * genbuild: Specify rev-parse length
  * docs: Point to contrib/guix/README.md in doc/guix.md
  * guix: Small updates to README wording
  * guix: Update HOSTS README entry for new architectures
  * guix: Remove README development environment section
  * guix: Add ADDITIONAL_GUIX_{COMMON,TIMEMACHINE}_FLAGS options
  * guix: Add SUBSTITUTE_URLS option
  * guix: Make guix honor MAX_JOBS setting
  * doc: Fix systemd spelling and link to doc/init.md
  * script: Add Documentation key to bitcoind.service
  * script: Improve robustness of bitcoind.service on startup
  * qt: Stop the effect of hidden widgets on the size of QStackedWidget
  * gui: create GUIUtil::ConnectionTypeToQString utility function
  * qt: Use "fusion" style on macOS Big Sur with old Qt
  * build: Fix Qt processing of configure script for depends with DEBUG=1
  * fuzz: Add missing muhash registration
  * test: Replace getmempoolentry with testmempoolaccept in MiniWallet
  * gitian: Remove codesign_allocate and pagestuff from MacOS build
  * gitian: use signapple to create the MacOS code signature
  * gitian: use signapple to apply the MacOS code signature
  * gitian: install signapple in gitian-osx-signer.yml
  * depends: Add comment about cache invalidation
  * depends: Fully determine path for darwin cctools
  * depends: Fully determine path for darwin_{CC,CXX}
  * depends: Quote to prevent word splitting in config.site
  * depends: Remove -fuse-ld line
  * depends: Pin clang search paths for darwin host
  * depends: Delay expansion of per-package vars
  * test: run mempool_compatibility.py even with wallet disabled
  * [test] Test the add_outbound_p2p_connection functionality
  * [test] P2PBlocksOnly - Test block-relay-only connections.
  * [test/refactor] P2PBlocksOnly - Extract transaction violation test into helper.
  * [test/refactor] P2PBlocksOnly - simplify transaction creation using blocktool helper.
  * [test] Add test framework support to create outbound connections.
  * [rpc/net] Introduce addconnection to test outbounds & blockrelay
  * fuzz: net permission flags in net processing
  * doc: Add release notes
  * doc: Add libnatpmp stuff
  * ci: Add libnatpmp-dev package to some builds
  * gui: Add NAT-PMP network option
  * net: Add -natpmp command line option
  * net: Add NAT-PMP to port mapping loop
  * net: Add libnatpmp support
  * gui: Apply port mapping changes on dialog exit
  * scripted-diff: Rename UPnP stuff
  * net: Add flags for port mapping protocols
  * net: Keep trying to use UPnP when -upnp=1
  * refactor: Replace magic number with named constant
  * refactor: Move port mapping code to its own module
  * net: Remove unused cs_feeFilter
  * Expose integral m_conn_type in CNodeStats, remove m_conn_type_string
  * net: Move SocketSendData lock annotation to header
  * net: Move CConnman/NetEventsInterface after CNode in header file
  * qt: Use layout manager for Create Wallet dialog
  * gitian-keys: add miketwenty1 key
  * qt: Fix TxViewDelegate layout
  * netinfo: add user help documentation
  * qt: Add TransactionOverviewWidget class
  * gitian-keys: add key for guggero
  * Replace boost::variant with std::variant
  * gitian-keys: add darosior's key
  * Revert "Add patch to make codesign_allocate compatible with Apple's"
  * [mempool] Remove error suppression on upgrade
  * Add gitian PGP key for theStack
  * Add benthecarman to keys.txt
  * test: Add sanitizer suppressions for AMD EPYC CPUs
  * doc: fix various typos
  * doc: Use https URLs where possible
  * refactor: Use C++17 std::array deduction for ALL_FEE_ESTIMATE_HORIZONS
  * fuzz: bolster ExtractDestination(s) checks
  * refactor: Use C++17 std::array deduction for OUTPUT_TYPES
  * qt: Follow Qt docs when implementing rowCount and columnCount
  * lint: ignore gitian keys file for spelling linter
  * lint: update list of spelling linter false positives
  * [net] Add cs_vSend lock annotations
  * [net] Move RecordBytesSent() call out of cs_vSend lock
  * doc: update developer notes for signet
  * fuzz: Use ConsumeWeakEnum for ServiceFlags
  * fuzz: Add ConsumeWeakEnum helper, Extract ALL_NET_PERMISSION_FLAGS
  * fuzz: [refactor] Extract ALL_CONNECTION_TYPES constant
  * fuzz: Use ConsumeNode in process_message target
  * fuzz: Use ConsumeNode in process_messages target
  * test: bump codespell linter version to 2.0.0
  * refactor: Remove nMyStartingHeight from CNode/Connman
  * rpc: Replace boost::variant with std::variant for RPCArg.m_fallback
  * scripted-diff: Bump copyright headers
  * Remove redundant MakeUCharSpan wrappers
  * Remove CDataStream::Init in favor of C++11 member initialization
  * fuzz: Remove duplicate ALL_OUTPUT_TYPE array
  * fuzz: Bump FuzzedDataProvider.h
  * qt, refactor: Drop no longer used PeerTableModel::getNodeStats function
  * qt: Use PeerTableModel::StatsRole
  * qt: Add PeerTableModel::StatsRole
  * doc: Update license year range to 2021
  * fuzz: check that certain script TxoutType are nonstandard
  * p2p: remove unused legacyWhitelisted variable
  * Update 'Secure string handling'
  * fuzz: remove no-longer-necessary packages from fuzzbuzz config
  * lint: run mypy over contrib/devtools
  * fuzz: Add coverage for CDataStream consumer
  * gui: display network in peer details
  * gui: rename peer tab column headers, initialize in .h
  * gui: add network column in peers tab/window
  * gui: fix broken doxygen formatting in src/qt/guiutil.h
  * gui: create GUIUtil::NetworkToQString() utility function
  * net, rpc: change CNodeStats::m_network from string to Network
  * [doc] Add release notes for removed getpeerinfo fields.
  * [rpc] Remove deprecated "whitelisted" field from getpeerinfo
  * [rpc] Remove deprecated "banscore" field from getpeerinfo
  * [rpc] Remove deprecated "addnode" field from getpeerinfo
  * refactor: Enable -Wswitch for FeeEstimateHorizon
  * qt: Save QSplitter state in QSettings
  * test: Fix Comment Typo in BitcoinTestFramework
  * Add a test that selects too large if BnB is used
  * fuzz: Check that NULL_DATA is unspendable
  * test: Set correct nValue for multi-op-return policy check
  * doc: [test] Remove outdated comment in fuzz runner
  * util: Log static plugins meta data and style
  * [doc] Add permissions to the getpeerinfo help.
  * test: Add race:SendZmqMessage tsan suppression
  * Update TSan suppressions
  * [net processing] Remove dropmessagestest
  * qa: Correct epoll_ctl data race suppression
  * test: Change MuHash Python implementation to match cpp version again
  * fuzz: Add MuHash consistency fuzz test
  * fuzz: Update FuzzedDataProvider.h from upstream (LLVM)
  * test: Add MuHash3072 fuzz test
  * bench: Add Muhash benchmarks
  * test: Add MuHash3072 unit tests
  * crypto: Add MuHash3072 implementation
  * rpc: Add missing description of vout in getrawtransaction help text
  * test: Add missing assignment in mempool_resurrect.py
  * script: Remove outdated extract-osx-sdk.sh
  * contrib: remove verify.sh
  * contrib: binary verification script verify.sh rewritten in python
  * ci: Print COMMIT_RANGE to the log as it was in Travis CI
  * ci: Drop Travis-specific workaround for shellcheck
  * ci: Drop Travis-specific way to set COMMIT_RANGE variable
  * ci: Fix COMMIT_RANGE variable value for PRs
  * inline non-member functions with body in fuzzing headers
  * crypto: Add Num3072 implementation
  * build: Check for 128 bit integer support
  * build: more robustly check for fcf-protection support
  * [net processing] Guard m_continuation_block with m_block_inv_mutex
  * [net processing] Move hashContinue to net processing
  * scripted-diff: rename vBlockHashesToAnnounce and vInventoryBlockToSend
  * [net processing] Move block inventory data to Peer
  * [net processing] Rename nStartingHeight to m_starting_height
  * [net processing] Move nStartingHeight to Peer
  * [net processing] Improve documentation for Peer destruction/locking
  * Replace boost::optional with std::optional
  * Remove unused MakeOptional
  * psbt: Assert that tx has a value in UpdatePSBTOutput
  * ci: Install missing lint packages
  * test: run mempool_resurrect.py even with wallet disabled
  * qt: Align layout of checkboxes
  * doc: Drop mentions of Travis CI as it is no longer used
  * ci: Drop travis_fold feature as Travis CI is no longer used
  * wallet: Add missing check for -descriptors wallet tool option
  * test: Add missing check for is_sqlite_compiled
  * Clean up logging of outbound connection type
  * net: add CNode::IsInboundOnion() public getter and unit tests
  * net: assert CNode::m_inbound_onion is inbound in ctor
  * test, fuzz: fix constructing CNode with invalid inbound_onion
  * wallet: Pass ArgsManager into ExecuteWalletToolFunc instead of using global
  * fuzz: replace CNode code with fuzz/util.h::ConsumeNode()
  * test: Fix restart node race
  * build: Define .INTERMEDIATE target once only
  * doc: Convert depends options list from html to markdown
  * ci: Only use credits for pull requests to the main repo
  * ci: Use cpu=1 for linter
  * doc: update -externalip documentation in tor.md
  * doc: add tor.md section on how to get tor info via bitcoind
  * doc: update tor.md address examples from onion v2 to v3
  * doc: Remove shouty enums in net_processing comments
  * tests: Test bitcoin-wallet dump and createfromdump
  * wallettool: Add createfromdump command
  * wallettool: Add dump command
  * build: remove cdrkit package from depends
  * build: Replace genisoimage with xorriso
  * fuzz: Fill various small fuzzing gaps
  * doc: warn that incoming conns are unlikely when not using default ports
  * fuzz: Call SendMessages after ProcessMessage to increase coverage
  * depends: Use more legible qmake commands in qt package
  * depends: Do not set build_subdir for qt package
  * tests: Add fuzzing harness for node eviction logic
  * Assert eviction at >= 29 candidates. Assert non-eviction at <= 20 candidates.
  * test: Add unit testing of node eviction logic
  * net: Move eviction node selection logic to SelectNodeToEvict(...)
  * GUI: Define MAX_DIGITS_BTC for magic number in BitcoinUnits::format
  * Only consider addrv2 peers for relay of non-addrv1 addresses
  * refactor: add IsAddrCompatible() to CNode
  * ci: Move linter task to cirrus
  * init: Signal-safe instant shutdown
  * Move signet onion seed from v2 to v3
  * Check if Cjdns address is valid
  * doc: Move add relay comment in net to correct place
  * build: Add option --enable-danger-fuzz-link-all
  * [net processing] Tolerate sendheaders and sendcmpct messages before verack
  * [net] Make p2p recv buffer timeout 20 minutes for all peers
  * depends: Drop workaround for a fixed bug in Qt build system
  * rpc: allow getblocktemplate for test chains when unconnected or in IBD
  * rpc: update getblocktemplate with signet rule, include signet_challenge
  * Add patch to make codesign_allocate compatible with Apple's
  * net: use std::chrono throughout maxOutbound logic
  * init: set nMaxOutboundLimit connection option directly
  * net: remove nMaxOutboundTimeframe from connection options
  * net: remove SetMaxOutboundTimeframe
  * net: remove SetMaxOutboundTarget
  * fix misleading comment about call to non-existing function
  * build: Run libdmg-hfsplus's DMG tool in make deploy
  * [net processing] Clarify UpdatedBlockTip()
  * [net processing] Remove unnecesary nNewHeight variable in UpdatedBlockTip()
  * [net processing] Remove nStartingHeight check from block relay
  * doc: Update for FreeBSD 12.2, add GUI Build Instructions
  * test: Fix inconsistent lock order in wallet_tests/CreateWallet
  * [skip ci] sync: Check precondition in LEAVE_CRITICAL_SECTION() macro
  * sync: Improve CheckLastCritical()
  * Remove m_is_manual_connection from CNodeState
  * test: run mempool_expiry.py even with wallet disabled
  * cirrus: Schedule one task with paid credits for faster CI feedback
  * Clarify comments around outbound peer eviction
  * Periodically make block-relay connections and sync headers
  * Use conn_type to identify block-relay peers, rather than m_tx_relay == nullptr
  * Simplify and clarify extra outbound peer counting
  * net: don't relay to the address' originator
  * test: Use Popen.wait instead of RPC in assert_start_raises_init_error
  * Move TX_MAX_STANDARD_VERSION to policy
  * fuzz: Link all targets once
  * Rewrite OutputGroups to be clearer and to use scriptPubKeys
  * configure: output notice that test binary is disabled by fuzzing
  * Bugfix: GUI: Restore SendConfirmationDialog button default to "Yes"
  * Remove g_relay_txes
  * [net processing] Add m_ignores_incoming_txs to PeerManager and use internally
  * [init] Use MakeUnique<> to construct peerman
  * [net processing] Add IgnoresIncomingTxs() function to PeerManager
  * [net processing] Move PushNodeVersion into PeerManager
  * contrib: add symbol check test for PE
  * Add regression test for incorrect decoding
  * test: Add new ChainTestingSetup and use it
  * qt/test: [FIX] Add forgotten Context setting in RPCNestedTests
  * Improve heuristic hex transaction decoding
  * Send and require SENDADDRV2 before VERACK
  * Remove unused bits from service flags enum
  * Squashed 'src/crc32c/' changes from 224988680f..b5ef9be675
  * util: Allow use of C++14 chrono literals
  * test: Remove no longer needed MakeChain calls
  * Avoid weak-linked getauxval support on non-linux platforms (like macOS)
  * Define correct symbols for getauxval
  * Update net_processing WTXID documentation per BIP339
  * Don't send 'sendaddrv2' to pre-70016 software
  * wallet: document that tx in CreateTransaction is purely an out-param
  * Remove unused and confusing CTransaction constructor
  * log: Clarify that failure to read fee_estimates.dat is non-fatal
  * refactor: Replace uses ChainActive() in interfaces/chain.cpp
  * refactor: Get rid of more redundant chain methods
  * log: Clarify that failure to write fee_estimates.dat is non-fatal
  * [net processing] Add RemovePeer()
  * [net processing] Make GetPeerRef const
  * [net_processing] Move peer_map to PeerManager
  * doc: Update wallet database installation guide for macOS
  * build: Use Homebrew's sqlite package if it is available
  * tracing: add tracing framework
  * build: detect sys/sdt.h for eBPF tracing
  * rpc: Use FeeModes doc helper in estimatesmartfee
  * [doc] Tidy up Tor doc (more stringent)
  * Don't declare de facto const reference variables as non-const
  * Don't declare de facto const member functions as non-const
  * Make CanFlushToDisk a const member function
  * Do not run functions with necessary side-effects in assert()
  * Don't make "in" parameters look like "out"/"in-out" parameters: pass by ref to const instead of ref to non-const
  * doc: libbitcoinconsensus: add missing error code description, fix NBitcoin link
  * test: add coverage for passing fee rate as a string
  * ci: Adjust Cirrus CI task names (follow up)
  * wallet, bugfix: allow send to take string fee rate values
  * rpc: Reject empty txids in gettxoutproof
  * rpc, refactor: Avoid duplicate set lookup in gettxoutproof
  * sync: Use decltype(auto) return type for WITH_LOCK
  * wallet: List all wallets in non-SQLite or non-BDB builds
  * refactor: Consolidate redundant wallet database path and exists functions
  * refactor: Drop call to GetWalletEnv in wallet salvage code
  * refactor: Replace ListWalletDir() function with ListDatabases()
  * MOVEONLY: Move IsBDBFile, IsSQLiteFile, and ListWalletDir
  * [net processing] Move GetNodeStateStats into PeerManager
  * build, refactor: Check that Homebrew's qt5 package is actually installed
  * net: Assume that SetCommonVersion is called at most once per peer
  * test: Fix intermittent wallet_multiwallet issue with got_loading_error
  * test: pep8 wallet_multiwallet.py
  * test: Add option to git-subtree-check to do full check, add help
  * refactor: Use C++17 std::array where possible
  * Android : Ensure pic build for bdb
  * build: Check that Homebrew's berkeley-db4 package is actually installed
  * tests: Test that a fully signed tx given to signrawtx is unchanged
  * ci: Build with --enable-werror by default, and document exceptions
  * Clear m_addr_known before our periodic self-advertisement
  * feestimator: encapsulate estimation file logic
  * init: don't create a CBlockPolicyEstimator if we don't relay transactions
  * Remove the remaining fee estimation globals
  * interface: remove unused estimateSmartFee method from node
  * contrib: add MACHO tests to symbol-check tests
  * contrib: Add test for ELF symbol-check
  * Removed redundant git pull from appveyor config.
  * Support make src/bitcoin-node and src/bitcoin-gui
  * depends: Do not force Precompiled Headers (PCH) for building Qt on Linux
  * Adjusted msvc compiler and linker settings to remove optimisations that are causing sporadic ABI issues on Visual Studio updates.
  * ci: Adjust cirrus ci task names
  * ci: no-longer exclude feature_block in TSAN job
  * refactor: Improve use of explicit keyword
  * lint: Use c++17 std in cppcheck linter
  * fuzz: Avoid time-based "non-determinism" in fuzzing harnesses by using mocked GetTime()
  * test: Fix wallet_multiwallet issue on windows
  * Fail if maximum weight is too large
  * Have CalculateMaximumSignedTxSize also compute tx weight
  * test: Fix intermittent feature_taproot issue
  * doc: rename CODEOWNERS to REVIEWERS
  * build: mac_alias 2.1.1
  * macdeploy: use Python 3.6
  * macdeploy: remove runHDIUtil in favor of directly calling subprocess.run
  * macdeploy: remove existing Bitcoin-Core.dmg if present
  * macdeploy: move qt_conf to where it's used
  * macdeploy: consolidate .DS_Store generation
  * macdeploy: assume plistlib is available
  * macdeploy: have a single level of logging output
  * macdeploy: remove add-resources argument
  * macdeploy: remove codesigning argument
  * build: automatically determine macOS translations
  * GUI/Intro: Move prune setting below explanation
  * GUI/Intro: Estimate max age of backups that can be restored with pruning
  * Warn when binaries are built from a dirty branch.
  * [test] Fix wait condition in disconnect_p2ps
  * qt: unlock wallet "OK" button bugfix
  * Add [[nodiscard]] to RenameOver(...)
  * Handle rename failure in DumpMempool(...) by using RenameOver(...) return value
  * refactor: Replace deprecated Qt::SystemLocale{Short,Long}Date
  * Mention units of MAX_STANDARD_ policy constants
  * Mention in validation that IsWitnessStandard tests for P2TR
  * Clean up assets test minimizer LDFLAGS
  * Document additional IsWitnessStandard behavior
  * Add comments on CPubKey::IsValid
  * Add comments to VerifyTaprootCommitment
  * Document need_vin_vout_mismatch argument to make_spender
  * Fix and improve taproot_construct comments
  * doc: Add bash as an OpenBSD dependency
  * sync: use HasReason() in double lock tests
  * sync: const-qualify the argument of double_lock_detected()
  * sync: print proper lock order location when double lock is detected
  * Remove NODISCARD
  * scripted-diff: Use [[nodiscard]] (C++17) instead of NODISCARD
  * Add MAX_STANDARD_SCRIPTSIG_SIZE to policy
  * build: Drop unneeded IOKit framework dependency
  * build: Drop unneeded ApplicationServices framework dependency
  * qt: Improve comments in WalletController::getOrCreateWallet()
  * qt: Call setParent() in the parent's context
  * qt: Add ObjectInvoke template function
  * Fix length of R check in test/key_tests.cpp:key_signature_tests
  * Drop noop gcc version checks
  * This change to the appveyor CI config for msvc builds reverses a change introduced in #19960. It re-applies a setting to inform vcpkg to only build release vesions of the dependencies rather than the default of debug and release.
  * Add depends qt fix for ARM macs
  * Move WalletImpl from interfaces/wallet.cpp to wallet/interfaces.cpp
  * Move ChainImpl from interfaces/chain.cpp to node/interfaces.cpp
  * Move NodeImpl from interfaces/node.cpp to node/interfaces.cpp
  * Don't set BDB flags when configuring without
  * doc: Document current boost dependency as 1.71.0
  * util: Remove probably misleading TODO
  * util: Add Assume() identity function
  * util: Allow Assert(...) to be used in all contexts
  * test: Add testing of ParseInt/ParseUInt edge cases with leading +/-/0:s
  * RPC/Wallet: unloadwallet: Allow specifying wallet_name param matching RPC endpoint
  * depends: build qt in c++17 mode
  * builds: don't pass -silent to qt when building in debug mode
  * depends: build zeromq with -std=c++17
  * depends: build Boost with -std=c++17
  * depends: build bdb with -std=c++17
  * build: Avoid secp256k1.h include from system
  * doc: Release note regarding -rpcauth validation
  * rpc: Validate -rpcauth arguments
  * rpc: Refactor to process -rpcauth once
  * depends: boost: Specify cflags+compileflags
  * depends: boost: Remove unnecessary _archiver_
  * depends: boost: Cleanup toolset selection
  * depends: boost: Cleanup architecture/address-model
  * depends: boost: Disable all compression
  * depends: boost: Split into non-/native packages
  * depends: boost: Bump to 1.71.0
  * depends: boost: Refer to version in URL
  * Treat CDataStream bytes as uint8_t
  * refactor: Drop CDataStream constructors in favor of one taking a Span of bytes
  * test: Fix intermittent p2p_finerprint issue
  * Remove unused CDataStream methods
  * Fix QPainter non-determinism on macOS
  * ci: Fix doc typos in .cirrus.yml
  * ci: Run i686 centos ci config on cirrus
  * ci: Run nowallet ci config on cirrus
  * test: add is_bdb_compiled helper
  * contrib: Changes to checks for PowerPC64
  * contrib: Parse ELF directly for symbol and security checks
  * Fix version string in Windows and Mac installers
  * net: Treat raw message bytes as uint8_t
  * Use the correct incremental fee constant in bumpfee help
  * Update feeRate (BTC/kvB) to fee_rate (sat/vB) in wallet_bumpfee
  * Allow zero-fee fundrawtxn and walletcreatefundedpsbt calls
  * sanitizers: Add suppression for unsigned-integer-overflow in libstdc++ basic_string.tcc
  * wallet (not for backport): improve upgradewallet error messages
  * fuzz: Make addrman fuzzing harness deterministic
  * Squashed 'src/univalue/' changes from 98261b1e7b..98fadc0909
  * p2p: Ignore version msgs after initial version msg
  * p2p: Ignore non-version msgs before version msg
  * GUI/Intro: Rework UI flow to let the user set prune size in GBs
  * GUI/Intro: Abstract GUI-to-option into Intro::getPrune
  * GUI/Intro: Return actual prune setting from showIfNeeded
  * Drop the leading 0 from the version number
  * Fix mock SQLiteDatabases
  * Allow disabling BDB in configure with --without-bdb
  * GUI: Force descriptor wallets when BDB is not compiled
  * RPC: Require descriptors=True for createwallet when BDB is not compiled
  * Enforce salvage is only for BDB wallets
  * Do not compile BDB things when USE_BDB is defined
  * Include wallet/bdb.h where it is actually being used
  * Use std::make_unique
  * build: Require C++17 compiler
  * build: set minimum supported macOS to 10.14
  * build: Bump gitian descriptors to 0.22
  * doc: clean out release notes post branch-off
  * doc: Remove generated manual pages from master branch
  * build: Bump master version to 0.21.99
  * CConnman: initialise at declaration rather than in Start()
  * test: run mempool_spend_coinbase.py even with wallet disabled
  * qt: Remove redundant BitcoinGUI::setTrayIconVisible
  * gui: Replace "Hide tray icon" option with positive "Show tray icon" one
  * build: remove global_init_link_order from mac qt qmake.conf
  * build: document preprocessing steps in qt package
  * build: don't copy Info.plist.* into mkspec for macOS qt build
  * build: remove plugin_no_soname from mac qt qmake.conf
  * build: pass XCODE_VERSION through to qt macOS cross compile conf
  * build: convert "echo" usage into a patch in qt package
  * test: walettool create descriptors
  * doc: Add instructions on how to fuzz the P2P layer using Honggfuzz NetDriver
  * wallettool: add param to create descriptors wallet
  * wallettool: pass in DatabaseOptions into MakeWallet
  * depends: native_ds_store 1.3.0
  * Replace KeyIDHasher with SaltedSipHasher
  * Add generic SaltedSipHasher
  * Move Hashers to util/hasher.{cpp/h}
  * depends: Fix PYTHONPATH setting in config.site.in
  * lint: Also lint files with shellcheck directive
  * depends: Allow relative CONFIG_SITE path env var
  * src/randomenv.cpp: fix build on uclibc
  * configure: Support -f{debug,macro}-prefix-map
  * [tests] Recommend f-strings for formatting, update feature_block to use them
  * Bump minimum python version to 3.6
  * refactor: Assert before dereference in CWallet::GetDatabase
  * refactor: Drop redudant CWallet::GetDBHandle
  * docs/descriptors.md: Remove hardened marker in the path after xpub
  * [addrman] Fix Connected() comment
  * doc: Clarify that vpindexToConnect is in reverse order
  * Remove dead CheckForkWarningConditionsOnNewFork
  * [net] Consolidate logic around calling CAddrMan::Connected()
  * Remove redundant p2p lock tacking for tx download functional tests
  * Add mutation for functional test test_preferred_inv
  * Add functional test test_txid_inv_delay
  * test: Makes wtxidrelay support a generic P2PInterface option
  * doc: update contrib/seeds/README dnspython installation info
  * script: fix deprecation warning in makeseeds.py
  * test: fix creation of std::string objects with \0s
  * qt, wallet: Drop unused parameter in WalletModel::setWalletEncrypted
  * gui: Remove BDB version from the Information tab
  * refactor: remove use of boost::algorithm::replace_first
  * qt, wallet: Drop unused parameter in Wallet{Frame|View}::encryptWallet
  * qt, wallet: Remove unused AskPassphraseDialog::Decrypt
  * refactor: Clean up CTxMemPool initializer list
  * refactor: Make CTxMemPool::m_check_ratio a const and a constructor argument
  * refactor: Avoid double to int cast for nCheckFrequency
  * net: Add compat.h header for htonl function
  * net: Drop unneeded headers when compat.h included
  * net: Drop unneeded Windows headers in compat.h
  * test: remove last_{block,header}_equals() in p2p_fingerprint.py
  * Use -Wswitch for TxoutType where possible
  * test: Add missing script_standard_Solver_success cases
  * Switch to BIP341's suggested scheme for outputs without script
  * doc: add contrib/signet readme
  * contrib: add getcoins.py script to get coins from (signet) faucet
  * test: RPC: getblock fee calculations
  * RPC: getblock: tx fee calculation for verbosity 2 via Undo data
  * tests: Test getaddressinfo parent_desc
  * rpc: Add parent descriptor to getaddressinfo output
  * wallet: Add GetDescriptorString to DescriptorScriptPubKeyMan
  * descriptors: Add ToNormalizedString and tests
  * test: Document why syncwithvalidationinterfacequeue is needed in tests
  * Revert "test: Add missing sync_all to wallet_balance test"
  * refactor: Extract ParseOpCode from ParseScript
  * Explicitly filter out partial groups when we don't want them
  * Move OutputGroup positive only filtering into Insert
  * net: Use Span in ReceiveMsgBytes
  * doc: clarify CRollingBloomFilter size estimate
  * Remove confusing and almost useless "unexpected version" warning
  * test: use wait_for_{block,header} helpers in p2p_fingerprint.py
  * depends: Set CMAKE_INSTALL_RPATH for native packages
  * Move EligibleForSpending into GroupOutputs
  * Move fee setting of OutputGroup to Insert
  * Move GroupOutputs into SelectCoinsMinConf
  * Remove OutputGroup non-default constructors
  * test: add test for high-bandwidth mode states in getpeerinfo
  * doc: release note for new getpeerinfo fields "bip152_hb_{from,to}"
  * rpc: expose high-bandwidth mode states via getpeerinfo
  * net: save high-bandwidth mode states in CNodeStats
  * init: Fix incorrect warning "Reducing -maxconnections from N to N-1, because of system limitations"
  * remove CRPCCommand constructor that takes rpcfn_type function pointer
  * remove dead rpc code
  * refactor: Drop boost::thread stuff in CCheckQueue
  * bench: Use CCheckQueue local thread pool
  * test: Use CCheckQueue local thread pool
  * Add local thread pool to CCheckQueue
  * refactor: Use member initializers in CCheckQueue
  * refactor: took out unused member functions
  * refactor: Use Mutex type for some mutexes in CNode class
  * scripted-diff: Remove unused "What's This" button in dialogs on Windows
  * qt: Add flags to prevent a "What's This" button on Windows OS
  * test: Change feature_config_args.py not to rely on strange regtest=0 behavior
  * build: enable unused member function diagnostic
  * p2p: Put disconnecting logs into BCLog::NET category
  * doc: release note for changed {sign,verify}message error codes
  * test: check parameter validity in rpc_signmessage.py
  * rpc: fix {sign,message}verify RPC errors for invalid address/signature
  * qt, refactor: Fix 'buttonClicked is deprecated' warnings
  * qt, refactor: Fix 'split is deprecated' warnings
  * qt, refactor: Fix 'QFlags is deprecated' warnings
  * qt, refactor: Fix 'pixmap is deprecated' warnings
  * qt, refactor: Fix 'QDateTime is deprecated' warnings
  * util: Check for file being NULL in DirectoryCommit
  * Fix possible data race when committing block files
  * util: Introduce DirectoryCommit commit function to sync a directory
  * util.h: Document FileCommit function
  * util: Prefer Mac-specific F_FULLSYNC over fdatasync in FileCommit
  * util: Refactor FileCommit from an #if sequence nested in #else, to a sequence of #elif
  * sync: detect double lock from the same thread
  * sync: make EnterCritical() & push_lock() type safe
  * add functional test
  * rpc: reset scantxoutset progress on finish
  * util: Handle HTTP_SERVICE_UNAVAILABLE in bitcoin-cli
  * http: Release work queue after event base finish
  * Add lifetimebound to attributes for general-purpose usage
  * Update pruning tooltip, original author BitcoinErrorLog
  * span: add lifetimebound attribute
  * qt: Hide peer detail view if multiple are selected
  * span: (almost) match std::span's constructor behavior
  * [doc] Coin: explain that IsSpent() can also mean never existed
  * doc: Add warnings for http interfaces limitations
  * compressor: use a prevector in compressed script serialization
  * doc: Clarify developer notes about constant naming
  * Tests: Unit test related to WalletDB ReadKeyValue
  * Catch ios_base::failure specifically
  * [doc] clarify getdata limit after #14897

-------------------------------------------------------------------
Fri Apr 08 16:15:54 UTC 2022 - marec@detebe.org

- Update to version 0.18.0:
  * Release 0.18.0 final
  * startup: full verification only with flag passed (#187)
  * Update DNS Seeds (#186)
  * Bump version to 0.18.0rc2
  * codesigning: osx script (#183)
  * codesigning: windows script (#182)
  * args: remove -skip-startup-verify option (#184)
  * chainparams: update for 0.18.0-rc2 (#181)
  * locale: branding after upstream 0.21.2 merge
  * Update README.md (#148)
  * Update bitcoin_pl.ts (#155)
  * depends: add RISC-V support to openssl
  * args: fix -skip-startup-verify and -full-startup-verify
  * build: fix --enable-sse2 after openssl removed from upstream
  * seeds: update from jk14's seeder and skip filtering by ASN
  * windows installer: update images and readme
  * manpages: branding
  * guix: ignore libbitcoinconsensus-0.dll
  * guix: add --disabled-shared to windows
  * guix: add -fPIC to linux CXXFLAGS
  * guix: disable tests for now
  * guix: use /vertcoin directory and branding
  * depends: update package links
  * Update code signing certificate
  * release: bump RC to 0 (-final)
  * doc: mention bech32m/BIP350 in doc/descriptors.md
  * build: bump version to 0.21.2rc2
  * doc: update release notes for rc2
  * Fix build with Boost 1.77.0
  * ci: Run fuzzer task for the master branch only
  * qt: Pre-0.21.2rc2 translations update
  * doc: add inital PR and author list to 0.21.2 release notes
  * qt: Translations update for 0.21.2rc1
  * doc: Update manual pages for 0.21.2
  * build: Bump version to 0.21.2rc1
  * Avoid Appveyor compilation failure
  * Add logging and addr rate limiting statistics
  * Functional tests for addr rate limiting
  * Randomize the order of addr processing
  * Rate limit the processing of incoming addr messages
  * test: Fix intermittent feature_taproot issue
  * ci: Build with --enable-werror by default, and document exceptions
  * ci: Fix macOS brew install command
  * rpc: reset scantxoutset progress on finish
  * qt: Draw "eye" sign at the beginning of watch-only addresses
  * qt: Do not extend recent transaction width to address/label string
  * qt: Do not use QClipboard::Selection on Windows and macOS.
  * util: Properly handle -noincludeconf on command line
  * Cleanup -includeconf error message
  * Fix crash when parsing command line with -noincludeconf=0
  * fuzz: add missing ECCVerifyHandle to base_encode_decode
  * Bump version to 0.18.0rc1
  * wallet: Do not iterate a directory if having an error while accessing it
  * Vertcoin Taproot Parameters
  * Fixes & Translation updates after merge
  * Use latest signapple commit
  * gitian: Remove codesign_allocate and pagestuff from MacOS build
  * gitian: use signapple to create the MacOS code signature
  * gitian: use signapple to apply the MacOS code signature
  * gitian: install signapple in gitian-osx-signer.yml
  * Update Windows code signing certificate
  * Remove user input from URI error message
  * p2p, bugfix: use NetPermissions::HasFlag() in CConnman::Bind()
  * depends: update Qt 5.9 source url
  * doc: Archive and clean out release notes post-0.21.1
  * build,boost: update download url.
  * build: Bump RC to 0 (-final)
  * doc: Merge release notes fragment, merge taproot description from wiki
  * doc: Add PR and author list to release notes for 0.21.1
  * doc: Regenerate manual pages for 0.21.1rc1
  * build: Bump version to 0.21.1rc1
  * gui: Pre-rc1 translations update
  * fuzz: cleanups for versionbits fuzzer
  * test: make sure non-IP peers get discouraged and disconnected
  * test: also check disconnect in denialofservice_tests/peer_discouragement
  * test: use pointers in denialofservice_tests/peer_discouragement
  * Add mainnet and testnet taproot activation params
  * chainparams: drop versionbits threshold to 90% for mainnnet and signet
  * versionbits: simplify state transitions
  * versionbits: Add explicit NEVER_ACTIVE deployments
  * fuzz: test versionbits delayed activation
  * tests: test versionbits delayed activation
  * versionbits: Add support for delayed activation
  * tests: clean up versionbits test
  * tests: test ComputeBlockVersion for all deployments
  * tests: pull ComputeBlockVersion test into its own function
  * Test that signrawtx works when a signed CSV and CLTV inputs are present
  * Introduce DeferringSignatureChecker and inherit with SignatureExtractor
  * net: add ifaddrs.h include
  * build: check if -lsocket is required with *ifaddrs
  * rand: only try and use freeifaddrs if available
  * Rename CoinSelectionParams::effective_fee to m_effective_feerate
  * Backport invalid address tests
  * naming nits
  * Add signet support to gen_key_io_test_vectors.py
  * Use Bech32m encoding for v1+ segwit addresses
  * Add Bech32m test vectors
  * Implement Bech32m encoding/decoding
  * wallet: Move discard feerate fetching to CreateTransaction
  * wallet: Move long term feerate setting to CreateTransaction
  * wallet: Replace nFeeRateNeeded with effective_fee
  * wallet: Use existing feerate instead of getting a new one
  * doc: Remove outdated comment
  * fuzz: Bump FuzzedDataProvider.h
  * fuzz: Bump FuzzedDataProvider.h
  * fuzz: Update FuzzedDataProvider.h from upstream (LLVM)
  * doc: add signet to doc/bitcoin-conf.md
  * doc: add signet to share/examples/bitcoin.conf
  * Update vcpkg checkout commit.
  * tests: Add fuzzing harness for versionbits
  * GUI: Write PSBTs to file with binary mode
  * tests: Test that a fully signed tx given to signrawtx is unchanged
  * Update COPYING
  * tests: check never active versionbits
  * tests: more helpful errors for failing versionbits tests
  * Update README.md
  * test: disallow sendtoaddress/sendmany when private keys disabled
  * Disallow sendtoaddress and sendmany when private keys disabled
  * util: Disallow negative mocktime
  * net: Avoid UBSan warning in ProcessMessage(...)
  * Update README.md
  * fix the unreachable code at feature_taproot
  * Update askpassphrasedialog.cpp
  * Update askpassphrasedialog.cpp
  * qt: Use "fusion" style on macOS Big Sur with old Qt
  * raise helpMessageDialog
  * Fix Boost dependency and bump minimum required version
  * Update init.cpp
  * Fix MSVC build after gui#176
  * qt: Stop the effect of hidden widgets on the size of QStackedWidget
  * qt: Fix TxViewDelegate layout
  * qt: Add TransactionOverviewWidget class
  * qt: Use layout manager for Create Wallet dialog
  * doc: Archive release notes, Add template for minor release
  * build: Bump RC to 0 (-final)
  * doc: Move 0.21.0 release notes from wiki
  * Bugfix: GUI: Restore SendConfirmationDialog button default to "Yes"
  * test: add test for banning of non-IP addresses
  * net: allow CSubNet of non-IP networks
  * qt: Pre-rc5 translations update
  * build: Bump RC to rc5
  * Revert "Add patch to make codesign_allocate compatible with Apple's"
  * Remove -upgradewallet startup option
  * Add upgradewallet RPC
  * Make UpgradeWallet a member function of CWallet
  * Have UpgradeWallet take the version to upgrade to and an error message out parameter
  * Only run UpgradeWallet if the wallet needs to be upgraded
  * Move wallet upgrading to its own function
  * doc: Generate manual pages for 0.21.0rc4
  * build: Bump RC to rc4
  * qt: Pre-rc4 translations update
  * Add DNS Tracker/Seeder at 'dnsseed.vertcoin.cc'
  * [doc] Add permissions to the getpeerinfo help.
  * rpc: Add missing description of vout in getrawtransaction help text
  * qt: Align layout of checkboxes
  * Add patch to make codesign_allocate compatible with Apple's
  * doc: update -externalip documentation in tor.md
  * doc: add tor.md section on how to get tor info via bitcoind
  * doc: update tor.md address examples from onion v2 to v3
  * doc: warn that incoming conns are unlikely when not using default ports
  * doc: Add warnings for http interfaces limitations
  * Removed redundant git pull from appveyor config.
  * Adjusted msvc compiler and linker settings to remove optimisations that are causing sporadic ABI issues on Visual Studio updates.
  * This change to the appveyor CI config for msvc builds reverses a change introduced in #19960. It re-applies a setting to inform vcpkg to only build release vesions of the dependencies rather than the default of debug and release.
  * Move signet onion seed from v2 to v3
  * build: Bump RC to rc3
  * gui: pre-rc3 translations update
  * doc: Update wallet database installation guide for macOS
  * build: Use Homebrew's sqlite package if it is available
  * build, refactor: Check that Homebrew's qt5 package is actually installed
  * build: Check that Homebrew's berkeley-db4 package is actually installed
  * Don't set BDB flags when configuring without
  * Add regression test for incorrect decoding
  * Improve heuristic hex transaction decoding
  * test: add coverage for passing fee rate as a string
  * wallet, bugfix: allow send to take string fee rate values
  * Send and require SENDADDRV2 before VERACK
  * Don't send 'sendaddrv2' to pre-70016 software
  * Use the correct incremental fee constant in bumpfee help
  * Update feeRate (BTC/kvB) to fee_rate (sat/vB) in wallet_bumpfee
  * Allow zero-fee fundrawtxn and walletcreatefundedpsbt calls
  * build: Avoid secp256k1.h include from system
  * qt: Pre-rc2 translations update
  * build: Bump RC to rc2
  * Fix QPainter non-determinism on macOS
  * RPC/Wallet: unloadwallet: Clarify docs/error when both the RPC endpoint and wallet_name parameter specify a wallet
  * test: Fix intermittent issue in mempool_compatibility
  * tests: shrink feature_taproot transfer of funds tx
  * wallet: fix and improve upgradewallet error responses
  * wallet: fix and improve upgradewallet result responses
  * wallet: Do not treat default constructed types as None-type
  * build: Set msvc builds's CLIENT_VERSION_IS_RELEASE
  * Don't upgrade to HD split if it is already supported
  * wallet: refactor GetClosestWalletFeature()
  * doc: Generate manual pages for 0.21.0rc1
  * build: Bump version for 0.21.0rc1
  * refactor: Change pointer to reference because it can not be null
  * [upgradewallet] removed unused warning param
  * Break circuit earlier
  * qt: Pre-splitoff translations update
  * ci: Use the previous build worker image in AppVeyor
  * CI/Cirrus: Skip merge_base step for non-PRs
  * gui: create wallet: add advanced section
  * gui: create wallet: name placeholder
  * Add missing optional.h include
  * Silence false positive GCC warning
  * tests: Remove no longer needed UBSan suppression (float-divide-by-zero in validation.cpp)
  * fix potential devision by 0
  * fuzz: Use ConsumeRandomLengthBitVector(...) in src/test/fuzz/connman and src/test/fuzz/net
  * tests: Add fuzzing harness for CAddrMan
  * wallet: override minfee checks (fOverrideFeeRate) for fee_rate
  * wallet: update sendtoaddress, send RPC examples with fee_rate
  * wallet: use MIN_RELAY_TX_FEE in bumpfee help
  * wallet: provide valid values if invalid estimate mode passed
  * wallet: update remaining rpcwallet fee rate units to BTC/kvB
  * wallet: update fee rate units, use sat/vB for fee_rate error messages
  * Remove references to CreateWalletFromFile
  * fuzz: Improve coverage for CPartialMerkleTree fuzzing harness
  * addrman: ensure old versions don't parse peers.dat
  * wallet: remove fee rates from conf_target helps
  * wallet: add fee_rate unit warnings to bumpfee
  * wallet: remove redundant bumpfee fee_rate checks
  * wallet: introduce fee_rate (sat/vB) param/option
  * wallet: remove unneeded WALLET_BTC_KB_TO_SAT_B constant
  * wallet: add CFeeRate ctor doxygen documentation
  * wallet: fix bug in RPC send options
  * Avoid signed integer overflow when loading a mempool.dat file with a malformed time field
  * wallet: fix scanning progress calculation for single block range
  * test: Suppress epoll_ctl data race
  * ci: Remove redundant valgrind fuzz task
  * fuzz: Assert roundtrip equality for both addrv1 and addrv2 versions of CService
  * fuzz: Check for addrv1 compatibility before using addrv1 serializer/deserializer on CSubNet
  * swapped "is" for "==" in literal comparison
  * ci: Run windows ci config on cirrus
  * ci: Run macos ci config on cirrus
  * ci: Run arm ci config on cirrus
  * ci: Replace TRAVIS_OS_NAME with CI_OS_NAME
  * ci: Move documentation to correct config file
  * test: Mock IBD in net_processing fuzzers
  * cirrus: Skip tasks on the gui repo main branch
  * QA: wallet_multiwallet: Check that recursive symlink directory and wallet.dat loops are ignored
  * Bugfix: Wallet: Soft-fail exceptions within ListWalletDir file checks
  * fix ecdsa verify in test framework
  * wallet: Set DatabaseStatus::SUCCESS in MakeSQLiteDatabase
  * test: Fix intermittent issue in wallet_listsinceblock
  * scripted-diff: [build] Ensure source tarball has leading directory name
  * test: Fix wallet_multiwallet test issue on Windows
  * ci: Set LC_ALL=C to allow running the s390x tests in qemu
  * travis: Remove s390x build
  * Set bilingual error completely
  * fuzz: Assert expected DecodeHexTx behaviour when using legacy decoding
  * wallet: Remove -upgradewallet from dummywallet
  * test: Remove unused wallet.dat
  * tests: Test specific upgradewallet scenarios and that upgrades work
  * test: Add test_framework/bdb.py module for inspecting bdb files
  * tests: Add a sha256sum_file function to util
  * wallet: upgrade the CHDChain version number when upgrading to split hd
  * wallet: remove nWalletMaxVersion
  * wallet: have ScriptPubKeyMan::Upgrade check against the new version
  * fuzz: Add missing ECC_Start to descriptor_parse test
  * Make it easier to reason about node eviction by removing unused NodeEvictionCandidate::addr (CAddress)
  * test: Fix intermittent rpc_net issue
  * macOS deploy: use the new plistlib API
  * ci: Run ci configs on cirrus
  * ci: Bump timeout factor
  * Small improvements to the Taproot functional tests
  * test: Fix intermittent feature_taproot issue
  * test: Fix deser issue in create_block
  * test: Remove unused unnamed parameter from block.serialize call
  * Ignoring (but warn) on duplicate -wallet parameters
  * fuzz: Fix DecodeHexTx fuzzing harness issue
  * fuzz: Check for addrv1 compatibility before using addrv1 serializer on CService
  * test: Only try witness deserialize when checking for witness deserialize failure
  * [wallet] Return object from upgradewallet RPC
  * Update assumed chain params
  * tests: Make only desc wallets for wallet_multwallet.py --descriptors
  * Avoid creating legacy wallets in wallet_importdescriptors.py
  * Update feature_backwards_compatibility for descriptor wallets
  * Update wallet_labels.py to not require descriptors=False
  * tests: Add a --legacy-wallet that is mutually exclusive with --descriptors
  * Disable some tests for tool_wallet when descriptors
  * Make raw multisig tests legacy wallet only in rpc_rawtransaction.py
  * Do addmultisigaddress tests in legacy wallet mode in wallet_address_types.py
  * Use importdescriptors when in descriptor wallet mode in wallet_createwallet.py
  * Avoid dumpprivkey and watchonly behavior in rpc_signrawtransaction.py
  * Add script equivalent of functions in address.py
  * Add descriptor wallet output to tool_wallet.py
  * Use separate watchonly wallet for multisig in feature_nulldummy.py
  * Move import and watchonly tests to be legacy wallet only in wallet_balance.py
  * Use importdescriptors for descriptor wallets in wallet_bumpfee.py
  * Avoid dumpprivkey in wallet_listsinceblock.py
  * Make import tests in wallet_listtransactions.py legacy wallet only
  * Use a separate watchonly wallet in rpc_fundrawtransaction.py
  * Update wallet_importprunedfunds to avoid dumpprivkey
  * doc: fix getchaintxstats fields in release-process.md
  * docs: Correct getblockstats documentation for (sw)total_weight
  * refactor: qt: Use vQueueNotifications.clear()
  * style: minor improvements as a followup to #19845
  * Increase feature_taproot inactive test coverage
  * Only relay Taproot spends if next block has it active
  * doc: Document that wallet salvage is experimental
  * [gui] create wallet: smarter checkbox toggling
  * Fix change detection of imported internal descriptors
  * Ensure a legacy wallet for BDB format check
  * Skip --descriptor tests if sqlite is not compiled
  * rpc: update conf_target helps for correctness/consistency
  * wallet, rpc: fix send subtract_fee_from_outputs help
  * wallet: add rpc send explicit fee rate coverage
  * wallet: add sendtoaddress/sendmany explicit fee rate coverage
  * wallet: add walletcreatefundedpsbt explicit fee rate coverage
  * test: refactor for walletcreatefundedpsbt fee rate coverage
  * wallet: fundrawtx fee rate coverage, fixup ParseConfirmTarget()
  * [tests] Remove getnettotals/getpeerinfo consistency test
  * Squashed 'src/secp256k1/' changes from c6b6b8f1bb..3967d96bf1
  * [test] Clarify setup of node topology.
  * qt: Make transaction notification queue wallet specific
  * move-only: Define TransactionNotification before  TransactionTablePriv
  * [move-only, test]: Match test order with run order
  * wallet: combine redundant bumpfee invalid params and args tests
  * wallet: improve bumpfee error/help, add explicit fee rate coverage
  * doc: Update data directory path comments
  * util: Add StripRedundantLastElementsOfPath function
  * qt: Pre-splitoff translations update
  * Avoid test-before-evict evictions of current peers
  * Refactor test for existing peer connection into own function
  * Call CAddrMan::Good() on block-relay-only peer addresses
  * Avoid calling CAddrMan::Connected() on block-relay-only peer addresses
  * build: fix mutex detection when building bdb on macOS
  * [net processing] Don't add AlreadyHave txs to recentRejects
  * fuzz: Check for addrv1 compatibility before using addrv1 serializer
  * test: Add test for -blockversion
  * test: Replace ARRAYLEN with C++11 ranged for loop
  * test: Run AssetTest even if built --with-libs=no
  * ci: Add --with-libs=no to one ci config
  * doc: Missing comments for signet parameters
  * fuzz: Properly initialize PrecomputedTransactionData
  * qt: Add WalletFrame::sizeHint
  * cli -netinfo: print oversized/extreme ping times as "-"
  * cli -netinfo: handle longer tor v3 local addresses
  * cli -netinfo: make age column variable-width
  * cli -netinfo: various quick updates and fixes
  * net: Hardcoded seeds update for 0.21
  * contrib: Add new versions to makeseeds.py and update gitignore
  * wallet: fix SetFeeEstimateMode() error message
  * wallet, bugfix: fix bumpfee with explicit fee rate modes
  * wallet: Fix bug when just created encrypted wallet cannot get address
  * wallet: fix buffer over-read in SQLite file magic check
  * test: Fix rpc_net intermittent issue
  * Convert amounts from float to decimal
  * wallet: Make -wallet setting not create wallets
  * net: fix output of peer address in version message
  * Show name, format and if uses descriptors in bitcoin-wallet tool
  * RPC: createwallet: Nicer error message if descriptor wallet requested and sqlite support not compiled in
  * GUI: Create Wallet: Nicely disable descriptor wallet checkbox if sqlite support not compiled in
  * Make sqlite support optional (compile-time)
  * Bugfix: chainparams: Add missing (disabled) Taproot deployment for Signet
  * test: Move (dis)?connect_nodes globals into TestFramework as helpers
  * scripted-diff: test: Replace uses of (dis)?connect_nodes global
  * test: Replace use of (dis)?connect_nodes globals
  * tests: Add fuzzing harness for CConnman
  * doc: Merge release notes
  * test: Fix typo (one tx is enough) in p2p_feefilter
  * wallet: Add GetClosestWalletFeature function
  * wallet: Add utility method for CanSupportFeature
  * test: Fix -Wunused-function warning if configured --without-libs
  * test: Fix intermittent issue in wallet_send
  * test: Fix intermittent issue in wallet_import_rescan
  * test: Fix intermittent issue in p2p_feefilter
  * p2p: declare Announcement::m_state as uint8_t, add getter/setter
  * test: add logging for mining_getblocktemplate_longpoll.py
  * test: remove unused helpers random_transaction(), make_change() and gather_inputs()
  * contrib: Fix gen_key_io_test_vectors.py imports
  * test: Default blockversion to 4 in feature_block
  * test: use MiniWallet for mining_getblocktemplate_longpoll.py
  * test: Remove unused -blockversion from tests
  * script: Make ComputeEntrySchnorr and ComputeEntryECDSA const to clarify contract
  * Initialize default-initialized uint256 consensus params to zero explicitly
  * Address functional test nits
  * docs: mention BIPs 340-342 in doc/bips.md
  * test: add getnetworkinfo network name regression tests
  * rpc: update GetNetworksInfo() to not return unsupported networks
  * net: update GetNetworkName() with all enum Network cases
  * test: add coverage for getwalletinfo format field
  * wallet: fix importdescriptor silent fail
  * doc: Move assumed-values doxygen comments to header
  * signet: Fix uninitialized read in validation
  * doc: Update wallet files in files.md
  * rpc, wallet: Expose database format in getwalletinfo
  * Squashed 'src/secp256k1/' changes from 8ab24e8dad..c6b6b8f1bb
  * Update wallet_multiwallet.py for descriptor and sqlite wallets
  * Run dumpwallet for legacy wallets only in  wallet_backup.py
  * Include sqlite3 in documentation
  * wallet: Enforce sqlite serialized threading mode
  * Set and check the sqlite user version
  * Use network magic as sqlite wallet application ID
  * Use SQLite for descriptor wallets
  * walletutil: Wallets can also be sqlite
  * Determine wallet file type based on file magic
  * Implement SQLiteDatabase::MakeBatch
  * Implement SQLiteDatabase::Verify
  * Implement SQLiteDatabase::Rewrite
  * Implement SQLiteDatabase::TxnBegin, TxnCommit, and TxnAbort
  * Implement SQLiteDatabase::Backup
  * Implement SQLiteBatch::StartCursor, ReadAtCursor, and CloseCursor
  * Implement SQLiteBatch::ReadKey, WriteKey, EraseKey, and HasKey
  * Add SetupSQLStatements
  * Implement SQLiteBatch::Close
  * Implement SQLiteDatabase::Close
  * Implement SQLiteDatabase::Open
  * Initialize and Shutdown sqlite3 globals
  * Constructors, destructors, and relevant private fields for SQLiteDatabase/Batch
  * Implement SQLiteDatabaseVersion
  * Add SQLiteDatabase and SQLiteBatch dummy classes
  * Add sqlite to travis and depends
  * Add libsqlite3
  * refactor: enable -netinfo to add future networks (i2p, cjdns)
  * RPC: getpeerinfo: Wrap long help line for bytesrecv_per_msg
  * RPC: getpeerinfo: Deprecate "whitelisted" field (replaced by "permissions")
  * scripted-diff: rename vRecvGetData
  * Guard vRecvGetData (now in net processing) with its own mutex
  * Move vRecvGetData to net processing
  * Lock before checking if orphan_work_set is empty; indicate it is guarded
  * Move m_orphan_work_set to net_processing
  * refactor: promote some -netinfo localvars to class members
  * cli: simplify -netinfo using getpeerinfo network field
  * rpc, test: expose CNodeStats network in RPC getpeerinfo
  * net: add peer network to CNodeStats
  * net: Send post-verack handshake messages at most once
  * [Rename only] Rename orphan_work_set to m_orphan_work_set.
  * test: Speed up wallet_resendwallettransactions test with mockscheduler RPC
  * rpc: Adjust witness-tx deserialize error message
  * wallet: remove db mode string
  * Avoid the use of abs64 in timedata
  * tests: dumping and minimizing of script assets data
  * tests: add generic qa-asset-based script verification unit test
  * tests: functional tests for Schnorr/Taproot/Tapscript
  * tests: add BIP340 Schnorr signature support to test framework
  * Activate Taproot/Tapscript on regtest (BIP 341, BIP 342)
  * Make Taproot spends standard + policy limits
  * Implement Tapscript script validation rules (BIP 342)
  * Use ScriptExecutionData to pass through annex hash
  * Implement Taproot validation (BIP 341)
  * Support for Schnorr signatures and integration in SignatureCheckers (BIP 340)
  * Implement Taproot signature hashing (BIP 341)
  * Ignore incorrectly-serialized banlist.dat entries
  * Restore compatibility with old CSubNet serialization
  * Report and verify expirations
  * Delete limitedmap as it is unused now
  * Make txid delay penalty also apply to fetches of orphan's parents
  * Expedite removal of tx requests that are no longer needed
  * Reduce MAX_PEER_TX_ANNOUNCEMENTS for non-PF_RELAY peers
  * Change transaction request logic to use txrequest
  * Add txrequest fuzz tests
  * Add txrequest unit tests
  * Add txrequest module
  * build: optionally skip external warnings
  * test: Remove unused nVersion=1 in p2p tests
  * Add TaggedHash function (BIP 340)
  * refactor: keep spent outputs in PrecomputedTransactionData
  * tests: don't export in6addr_loopback
  * test: add p2p_lock acquires in p2p_leak_tx.py
  * test: use MiniWallet for p2p_leak_tx.py
  * Only relay IPv4, IPv6, Tor addresses
  * Mention BIP155 in doc/bips.md
  * [trivial] Extract connection type doc into file where it is used.
  * [doc] Improve help for getpeerinfo connection_type field.
  * gui: Fix SplashScreen crash when run with -disablewallet
  * [doc] release notes for max fee checking
  * tor: make a TORv3 hidden service instead of TORv2
  * net: advertise support for ADDRv2 via new message
  * net: CAddress & CAddrMan: (un)serialize as ADDRv2
  * doc: Add anchors.dat to files.md
  * p2p: Try to connect to anchors once
  * p2p: Fix off-by-one error in fetching address loop
  * p2p: Integrate DumpAnchors() and ReadAnchors() into CConnman
  * p2p: Add CConnman::GetCurrentBlockRelayOnlyConns()
  * p2p: Add ReadAnchors()
  * p2p: Add DumpAnchors()
  * Support bypassing range check in ReadCompactSize
  * style and nits for fee-checking in BroadcastTransaction
  * doc: Add release notes for #20101
  * cirrus: Use kvm to avoid spurious CI failures in the default virtualization cluster
  * [net] Remove CombinerAll
  * Avoid 'timing mishap' warnings when mocking
  * Use mockable time everywhere in net_processing
  * rpc: change no wallet loaded message to be clearer
  * random: fixes read buffer resizing in RandAddSeedPerfmon
  * refactor: rename scriptPubKey in VerifyWitnessProgram to exec_script
  * scripted-diff: put ECDSA in name of signature functions
  * Bump vcpkg commit ID to get new msys mirror list
  * util: Do not use gArgs global in ArgsManager member functions
  * doc: Update and improve files.md
  * [validation] Remove absurdfee from accepttomempool
  * scripted-diff: update max-fee-exceeded error message to include RPC
  * [rpc/node] check for high fee before ATMP in clients
  * fuzz: Configure check for main function
  * lint: Use TRAVIS_BRANCH in lint-git-commit-check.sh
  * lint: Don't use TRAVIS_COMMIT_RANGE in whitespace linter
  * lint: Don't use TRAVIS_COMMIT_RANGE for commit-script-check
  * ci: Build Arm64 on Travis without functional tests
  * test: Add tests for CNode::ConnectedThroughNetwork
  * net: Add CNode::ConnectedThroughNetwork member function
  * test: Mention commit id in scripted diff error
  * net: Add CNode::m_inbound_onion data member
  * RPC: remove duplicate line in getblock help
  * test: Assert exclusive PSBT funding options
  * net: rename CNetAddr scopeId to m_scope_id, improve code doc
  * test: add test coverage for CNetAddr ipv6 scoped addresses
  * test: Assert PSBT change type
  * doc: Collect release-notes snippets
  * refactor: fix -Wbraced-scalar-init warning in validation tests
  * qt: Periodic translations update
  * tx: Update transifex slug for 0.21
  * doc: Update onion service target port numbers in tor.md
  * net: Extend -bind config option with optional network type
  * net, refactor: Move AddLocal call one level up
  * net: Pass onion service target to Tor controller
  * rpc: Set HTTP Content-Type in bitcoin-cli
  * signet: do not log signet startup messages for other chains
  * zmq: Append address to notify log output
  * test: Add zmq test to support multiple interfaces
  * scripted diff: Improve invalid vout value rpc error message
  * doc: Add 19501 release notes
  * doc: Remove double-whitespace from help string, other whitespace fixups
  * refactor: Clean up -Wlogical-op warning
  * signet: Add assumed values for default signet
  * Update msvc build to use new vcpkg manifest
  * test: Get rid of default wallet hacks
  * test, refactor: add default_wallet_name and wallet_data_filename variables
  * test: Add signet witness commitment section parse tests
  * Remove gArgs global from CreateChainParams to aid testing
  * refactor: Rename TorController::target to m_tor_control_center
  * net, refactor: Refactor CBaseChainParams::RPCPort function
  * net: Add alternative port for onion service
  * net: Use network byte order for in_addr.s_addr
  * [test] Make sure send rpc returns fee reason
  * feature: Added ability for users to add a startup command
  * test: Check that invalid peer traffic is accounted for
  * test: Remove confusing cast to same type (int to int)
  * wallet: no need for duplicate storage for ABANDON_HASH constant
  * scripted-diff: Replace UINT256_ONE() with uint256::ONE
  * uint256: Update constructors to c++11, make ONE static
  * [Trivial] python help message
  * [send] Make send RPCs return fee reason
  * test: remove unused constants in functional tests
  * test: use explicit p2p objects where available
  * doc: Added default signet config for linearize script
  * doc: Mention signet in -help output
  * Fix misleading error message: Clean stack rule
  * Improve docs about feeler connections
  * doc: Add release notes to support multiple interfaces
  * doc: Adjust ZMQ usage to support multiple interfaces
  * zmq: Add support to listen on multiple interfaces
  * net: Print error message if -proxy is specified without arguments (instead of continuing without proxy server)
  * Remove header checks out of net_processing
  * Give V1TransportDeserializer CChainParams& member
  * Change CMessageHeader Constructor
  * Add doxygen comment for ReceiveMsgBytes
  * Move checksum check from net_processing to net
  * Give V1TransportDeserializer an m_node_id member
  * doc: Document signet BIP
  * doc: Update comments for new chain settings (-signet and -chain=signet)
  * fuzz: Remove needless guard
  * refactor: Remove SignetTxs::m_valid and use optional instead
  * test: Run signet test even when wallet was not compiled
  * Assert that RPCArg names are equal to CRPCCommand ones (net, rpcwallet)
  * Update zmq notification documentation and sample consumer
  * Add functional tests for zmq sequence topic and mempool sequence logic
  * Add 'sequence' zmq publisher to track all block (dis)connects, mempool deltas
  * zmq test: Actually make reorg occur
  * [doc] Release notes
  * [rpc] Deprecate getpeerinfo addnode field
  * [refactor] Rename test file to allow any getpeerinfo deprecations.
  * [rpc] Add connection type to getpeerinfo RPC, update tests
  * [log] Add connection type to log statement
  * validation: Remove review-only comments + assertions
  * docs: Move FindFilesToPrune{,Manual} doxygen comment
  * style: Make FindFilesToPrune{,Manual} match style guide
  * validation: Move FindFilesToPrune{,Manual} to BlockManager
  * Clarify blocksonly whitelistforcerelay test
  * net: recognize TORv3/I2P/CJDNS networks
  * log: Remove static log message "Initializing chainstate Chainstate [ibd] @ height -1 (null)"
  * Remove unused LockAssertion struct
  * Replace LockAssertion with a proper thread safety annotations
  * refactor: Use explicit function type instead of template
  * test: create default wallet in extended tests
  * Only update the updateSmartFeeLabel once in sync
  * test: some sanity checks for consensus logic
  * test: basic signet tests
  * test: add small signet fuzzer
  * test: signet network selection tests
  * signet: hard-coded parameters for Signet Global Network VI (2020-09-07)
  * qt: update QT to support signet network
  * consensus: add signet validation
  * add signet chain and accompanying parameters
  * net: CNetAddr: add support to (un)serialize as ADDRv2
  * rpc: add brackets to ConstructTransaction
  * [rpc] send: various touch-ups
  * [rpc] send: fix parsing replaceable option
  * Mark send RPC experimental
  * test: move HasReason so it can be reused
  * build: Fix target name
  * [test] add get_vsize util for more programmatic testing
  * [rpc] Return fee and vsize from testmempoolaccept
  * validation: Move PruneOneBlockFile to BlockManager
  * validation: Pass in chainman to UnloadBlockIndex
  * build: patch qt libpng to fix powerpc build
  * scripted-diff: Rename SendMessage to SendZmqMessage.
  * validation: Move ~CMainCleanup logic to ~BlockManager
  * policy/fees: remove a floating-point division by zero
  * policy/fees: unify some duplicated for loops
  * policy/fees: small readability improvements
  * policy/fee: remove requireGreater parameter in EstimateMedianVal()
  * policy/fees: correct decay explanation comments
  * build: AX_PTHREAD serial 27
  * build: split PTHREAD_* flags out of AM_LDFLAGS
  * scripted-diff: add FUZZ_SUITE_LDFLAGS_COMMON
  * build: add PTHREAD_LIBS to LDFLAGS configure output
  * Test batch rpc with params
  * QA: Use GBT to get block versions correct
  * QA: blocktools: Accept block template to create_block
  * Squashed 'src/secp256k1/' changes from 2ed54da18a..8ab24e8dad
  * util: move HasPrefix() so it can be reused
  * Change CSipHasher's count variable to uint8_t
  * tests: Add fuzzing harness for Keccak and SHA3_256
  * [test] remove confusing p2p property
  * scripted-diff: replace p2p with p2ps[0] in p2p_invalid_tx
  * [doc] sample code for test framework p2p objects
  * [refactor] clarify tests by referencing p2p objects directly
  * Add OpenBSD instructions for building the Qt GUI
  * [doc] Clarify semantic of peer's m_protect w.r.t to outbound eviction logics
  * [rpc] add send method
  * add signet basic support (signet.cpp)
  * validation: move GetWitnessCommitmentIndex to consensus/validation
  * log: print unexpected version warning in validation log category
  * bugfix: make LoadWallet assigns status always
  * test: gettxoutproof duplicate txid
  * test: Test empty array in gettxoutproof
  * test: Run rpc_txoutproof.py even with wallet disabled
  * test: MiniWallet: Default fee_rate in send_self_transfer, Pass in utxo_to_spend
  * test: bugfix: Actually pick largest utxo
  * Tell users how to load or create a wallet when no wallet is loaded
  * Do not create default wallet
  * .gitignore: ignore qa-assets/ folder
  * build: use DIR_FUZZ_SEED_CORPUS if specified for cov_fuzz target
  * Do not pass chain params to CheckForStaleTipAndEvictPeers twice
  * ProcessOrphanTx: Move AddToCompactExtraTransactions call into ProcessOrphanTx
  * ProcessOrphanTx: Remove aliases
  * ProcessOrphanTx: Remove outdated commented
  * ProcessOrphanTx: remove useless setMisbehaving set
  * ProcessOrphanTx: remove useless done variable
  * [net processing] Add doxygen comments for orphan data and function
  * [rpc] add snake case aliases for transaction methods
  * [rpc] walletcreatefundedpsbt: allow inputs to be null
  * p2p: Use the greatest common version in peer logic
  * p2p: Remove SetCommonVersion() from VERACK handler
  * refactor: Rename local variable nSendVersion
  * p2p: Unify Send and Receive protocol versions
  * [doc] Clarify scope of eviction protection of outbound block-relay peers
  * test: Use MiniWalet in p2p_feefilter
  * qt: Fix visual quality of text in QR image
  * [net processing] Move Misbehaving() to PeerManager
  * [net_processing] Move SendBlockTransactions into PeerManager
  * [net processing] Move MaybePunishPeerForTx to PeerManager
  * [net processing] Move ProcessOrphanTx to PeerManager
  * [net processing] Move MaybePunishNodeForBlock into PeerManager
  * [net processing] Move ProcessHeadersMessage to PeerManager
  * [whitespace] tidy up indentation after scripted diff
  * scripted-diff: [net processing] Rename PeerLogicValidation to PeerManager
  * [net_processing] Pass chainparams to PeerLogicValidation constructor
  * [move only] Collect all private members of PeerLogicValidation together
  * Replace zmqconfig.h by a simple zmqutil.
  * Use std::unique_ptr for CZMQNotifierFactory.
  * Simplify and fix notifier removal on error.
  * Various cleanups in zmqnotificationinterface.
  * Unroll Keccak-f implementation
  * Add SHA3 benchmark
  * Implement keccak-f[1600] and SHA3-256
  * Change FILE_CHAR_BLOCKLIST to FILE_CHARS_DISALLOWED
  * wallet: Avoid multiple BerkeleyBatch in DelAddressBook
  * refactor: remove unused header <arpa/inet.h> in protocol.cpp
  * test: Fix flaky wallet_basic test
  * Remove mempool global
  * Remove mempool global from p2p
  * Remove mempool global from init
  * ci: Double tsan CPU and Memory to avoid global timeout
  * doc: Add doxygen comment to IsRBFOptIn
  * Remove mempool global from interfaces
  * refactor: Add IsRBFOptInEmptyMempool
  * [BroadcastTransaction] Remove unsafe move operator
  * [p2p] Remove dead code
  * [p2p] Check for nullptr before dereferencing pointer
  * [mempool] Revert unbroadcast set to tracking just txid
  * rawtransaction: fix argument in combinerawtransaction help message
  * Get rid of unused functions CTxMemPool::GetMemPoolChildren, CTxMemPool::GetMemPoolParents
  * Remove mapLinks in favor of entry inlined structs with iterator type erasure
  * script: fix zmq_sub.py file permissions
  * doc: update PyZMQ installation instructions, ZeroMQ link
  * refactor: Avoid duplicate map lookup in ScriptToAsmStr
  * wallet: Remove path checking code from bitcoin-wallet tool
  * wallet: Remove path checking code from createwallet RPC
  * wallet: Remove path checking code from loadwallet RPC
  * refactor: Pass wallet database into CWallet::Create
  * wallet: Remove Verify and IsLoaded methods
  * refactor: Use DatabaseStatus and DatabaseOptions types
  * wallet: Add MakeDatabase function
  * Remove WalletLocation class
  * [tests] Replace bytes literals with hex literals
  * [tests] Fix pep8 style violations in address.py
  * [tests] Correct docstring for address.py
  * [tests] Tidy up imports in address.py
  * [tests] Remove unused optional verify_checksum parameter
  * [tests] Rename segwit encode and decode functions
  * [tests] Move bech32 unit tests to test framework
  * [doc] Follow developer notes, add comment about missing default.
  * [doc] Describe connection types in more depth.
  * [refactor] Simplify connection type logic in ThreadOpenConnections
  * [refactor] Simplify check for block-relay-only connection.
  * [test] Add explicit tests that connection types get set correctly
  * [trivial] Small style updates
  * [doc] Explain address handling logic in process messages
  * [refactor] Restructure logic to check for addr relay.
  * [net] Remove unnecessary default args on OpenNetworkConnection
  * scripted-diff: Rename `OUTBOUND` ConnectionType to `OUTBOUND_FULL_RELAY`
  * build: add /usr/local/ to LCOV_FILTER_PATTERN for macOS builds
  * cli -netinfo: display multiple levels of details
  * Protect localhost and block-relay-only peers from eviction
  * qa: Changes v0.17.1 to v0.17.2
  * Refactor the functional test
  * Address nits in ADDR caching
  * wallet: Reload previously loaded wallets on GUI startup
  * net: improve nLastBlockTime and nLastTXTime documentation
  * doc: Add comments and additional reviewers to CODEOWNERS file
  * doc: elaborate on release notes wrt netmasks
  * refactor: CTxMemPool::IsUnbroadcastTx() requires CTxMemPool::cs lock
  * refactor: CTxMemPool::GetTotalTxSize() requires CTxMemPool::cs lock
  * refactor: CTxMemPool::ClearPrioritisation() requires CTxMemPool::cs lock
  * refactor: CTxMemPool::ApplyDelta() requires CTxMemPool::cs lock
  * refactor: CTxMemPool::UpdateChild() requires CTxMemPool::cs lock
  * refactor: CTxMemPool::UpdateParent() requires CTxMemPool::cs lock
  * lint: add C++ code linter
  * Remove -zapwallettxes
  * Assert that RPCArg names are equal to CRPCCommand ones (rawtransaction)
  * Assert that RPCArg names are equal to CRPCCommand ones (blockchain)
  * cli: change -netinfo optional arg from bool to int
  * cli: add getpeerinfo last_{block,transaction} to -netinfo
  * cli: add -netinfo server version check and error message
  * cli: create peer connections report sorted by dir, minping
  * cli: create vector of Peer structs for peers data
  * cli: add NetType enum struct and NetTypeEnumToString()
  * cli: create local addresses, ports, and scores report
  * cli: create inbound/outbound peer connections report
  * cli: start dashboard report with chain and version header
  * cli: tally peer connections by type
  * remove usage of boost::bind
  * Update the vcpkg checkout commit ID in appveyor config.
  * cli: add ipv6 and onion address type detection helpers
  * cli: create initial -netinfo option, NetinfoRequestHandler class
  * Avoid callback when -blocknotify is empty
  * Set appveyor vm version to previous Visual Studio 2019 release.
  * rpc: Properly deserialize txs with witness before signing
  * doc: Add best practice for annotating/asserting locks
  * sync.h: Make runtime lock checks require compile-time lock checks
  * Do not hide compile-time thread safety warnings
  * Add missed thread safety annotations
  * Use LockAssertion utility class instead of AssertLockHeld()
  * util: Hard code previous release tarball checksums
  * scripted-diff: Move previous_release.py to test/get_previous_releases.py
  * test: Add tsan supp for leveldb::DBImpl::DeleteObsoleteFiles
  * doc: Document differences in bitcoind and bitcoin-qt locale handling
  * Ignore unknown messages before VERACK
  * test framework: serialize/deserialize inv type as unsigned int
  * wallet, refactor: Remove duplicate map lookups in GetAddressBalances
  * Remove old check for 3-byte shifted IP addresses from pre-0.2.9 node messages
  * wallet: Avoid recursive lock in IsTrusted
  * wallet, refactor: Immutable CWalletTx::pwallet
  * Warn on unknown rw_settings
  * Pass mempool reference to chainstate constructor
  * chain: Remove UB CChain comparison
  * gui refactor: Inline SplashScreen::ConnectWallet
  * refactor: Move wallet methods out of chain.h and node.h
  * refactor: Create interfaces earlier during initialization
  * tests: Add fuzzing harness for CNode
  * test: Remove unused lock arg from BitcoinTestFramework.wait_until
  * test: Rename wait until helper to wait_until_helper
  * test: Remove unused p2p_lock in VersionBitsWarningTest
  * p2p: change CInv::type from int to uint32_t
  * Add indexing ADDR cache by local socket addr
  * Justify the choice of ADDR cache lifetime
  * test: Add docstring to wait_until() in util.py to warn about its usage
  * test: Update wait_until usage in tests not to use the one from utils
  * bench: Prevent thread oversubscription
  * p2p: ensure inv is GenMsgTx before ToGenTxid in inv processing
  * test: use CInv::MSG_WITNESS_TX flag in p2p_segwit
  * p2p: make gtxid(.hash) and fAlreadyHave localvars const
  * p2p: use CInv block message helpers in net_processing.cpp
  * [net processing] Change AlreadyHaveTx() to take a GenTxid
  * [net processing] Change AlreadyHaveBlock() to take block_hash argument
  * [net processing] Remove mempool argument from AlreadyHaveBlock()
  * [net processing] Split AlreadyHave() into separate block and tx functions
  * p2p: remove nFetchFlags from NetMsgType TX and INV processing
  * p2p: add CInv block message helper methods
  * gui: Delay interfaces::Node initialization
  * gui: Replace interface::Node references with pointers
  * gui: Remove unused interfaces::Node references
  * gui: Partially revert #10244 gArgs and Params changes
  * build: replace wingenminiupnpcstrings sed with a patch in miniupnpc package
  * build: replace qtranslations lrelease sed with a patch in qt package
  * wallet: filter for keys only before record deser in salvage
  * walletdb: Add KeyFilterFn to ReadKeyValue
  * util: make EncodeBase64 consume Spans
  * util: make EncodeBase32 consume Spans
  * Bugfix: Define and use HAVE_FDATASYNC correctly outside LevelDB
  * test: inline hashToHex
  * [test] Remove final references to mininode
  * build: replace FreeType back-compat sed with a patch in qt package
  * build: replace pwd sed in qt package with a patch
  * build: remove no-longer needed qt workaround
  * build: remove no-longer needed qt configure workaround
  * build: use patch rather than sed in zeromq package
  * build: use patch rather than sed in native_cctools package
  * build: use patch rather than sed in fontconfig package
  * build: use patch rather than sed in Boost package
  * build: use patch rather than sed in bdb package
  * net: change CNetAddr::ip to have flexible size
  * net: don't accept non-left-contiguous netmasks
  * Add in/out connections to cli -getinfo
  * UNIX_EPOCH_TIME fixup in rpc getnettotals
  * Add in/out connections to rpc getnetworkinfo
  * test: Fix intermittent issue in wallet_bumpfee
  * test: Select at least the fee in wallet_bumpfee to avoid negative amounts
  * doc: Remove label from good first issue template
  * scripted-diff: gArgs -> args
  * init: Capture copy of blocknotify setting for BlockNotifyCallback
  * init: Pass reference to ArgsManager around instead of relying on global
  * test/fuzz: add a seed corpus generation option to the test_runner
  * qt, refactor: Limit scope of QPainter object
  * test: add parameterized constructor for msg_sendcmpct()
  * test: Activate segwit in TestChain100Setup
  * test: Pass empty tx pool to block assembler
  * test: Move doxygen comment to header
  * test: resort imports
  * scripted-diff: Rename mininode to p2p
  * scripted-diff: Rename mininode_lock to p2p_lock
  * docs: Correct description for getblockstats's txs field
  * [net_processing] Move ProcessMessage to PeerLogicValidation
  * wallet: IsChange requires cs_wallet lock
  * help: Generate checkpoint height from chainparams
  * Move Win32 defines to configure.ac to ensure they are globally defined
  * doc: Fix getmempoolancestor RPC result doc
  * Remove unused includes
  * Move comment about BaseIndex::DB from TxIndex::DB
  * test: Distinguish between nodes(bitcoind) and peers(mininodes) in p2p_leak.py
  * test: remove `CNodeNoVersionIdle` from p2p_leak.py
  * test: remove `CNodeNoVersionMisbehavior` from p2p_leak.py
  * depends: Specify LDFLAGS to cmake as well
  * depends: Prepend CPPFLAGS to C{,XX}FLAGS for CMake
  * depends: Cleanup CMake invocation
  * tests: Add fuzzing harness for ec_seckey_import_der(...) and ec_seckey_export_der(...)
  * tests: Add fuzzing harness for SigHasLowR(...) and ecdsa_signature_parse_der_lax(...)
  * -maxapsfee: follow-up fixes
  * Drop deprecated and unused GUARDED_VAR and PT_GUARDED_VAR annotations
  * doc: release notes for -maxapsfee
  * tests: add sync_all to fix race condition in wallet groups test
  * util: remove unused c-string variant of atoi64()
  * util: remove c-string interfaces for DecodeBase58{Check}
  * ci: Set cirrus RAM to 8GB
  * ci: Run valgrind fuzzer on cirrus
  * [test] Add test for getblockheader verboseness
  * wallet: IsMine overloads require cs_wallet lock
  * wallet: GetWalletTx requires cs_wallet lock
  * build: AX_BOOST_THREAD serial 33
  * build: disable D-Bus on Android by default
  * doc: Add release notes for getindexinfo RPC
  * test: Add tests for getindexinfo RPC
  * rpc: Add getindexinfo RPC
  * Move only: Move CDiskTxPos to its own file
  * Updated outdated help command for getblocktemplate (fixes #19625)
  * doc: release note for getpeerinfo last_block/last_transaction
  * test: rpc_net.py logging and test naming improvements
  * test: getpeerinfo last_block and last_transaction tests
  * rpc: expose nLastBlockTime/TXTime as getpeerinfo last_block/transaction
  * test: Remove confusing and broken use of wait_until global
  * net: add nLastBlockTime/TXTime to CNodeStats, CNode::copyStats
  * ci: Set increased --timeout-factor by default
  * Increase the ip address relay branching factor for unreachable networks
  * doc: comment out and add annotation to unused MSG_FILTERED_WITNESS_BLOCK
  * build: Add Werror=range-loop-analysis
  * bench: Allow skip benchmark
  * build: Add missed gcov files to 'make clean'
  * rpc: Assert that RPCArg names are equal to CRPCCommand ones (rpcdump)
  * rpc: Assert that RPCArg names are equal to CRPCCommand ones (zmq)
  * rpc: Assert that RPCArg names are equal to CRPCCommand ones (mining)
  * rpc: Remove unused return type from appendCommand
  * test: Fix 'make cov' with clang
  * Add variables for repeated scripts
  * Remove GetScriptForWitness function
  * Replace usage of GetScriptForWitness with GetScriptForDestination
  * Add loadwallet and createwallet RPC load_on_startup options
  * qt: Rename qt-init thread before logging start
  * qt: Name ClientModel timer QThread
  * qt: Name WalletController worker QThread
  * qt: Name RPCConsole executor QThread
  * Cap listsinceblock target_confirmations param
  * test: speedup p2p_feefilter.py by whitelisting peers (immediate tx relay)
  * test: use wait_until for invs matching in p2p_feefilter.py
  * test: add logging for p2p_feefilter.py
  * Reduce cs_main lock accumulation during GUI startup
  * Optionally populate BlockAndHeaderTipInfo during AppInitMain
  * Add BlockAndHeaderTipInfo to the node interface/appInit
  * RPCConsole, take initial chaintip data as parameter
  * util: make EncodeBase58Check consume Spans
  * util: make EncodeBase58 consume Spans
  * Shrink CAddress from 48 to 40 bytes on x64
  * [net_processing] Change PeerLogicValidation to hold a connman reference
  * scripted-diff: rename misbehavior members
  * [net processing] Move misbehavior tracking state to Peer
  * [net processing] Add Peer
  * [net processing] Remove CNodeState.name
  * [net] Add addpeeraddress RPC method
  * [test] Test that getnodeaddresses() can return all known addresses
  * [addrman] Specify max addresses and pct when calling GetAddresses()
  * Refactor OutputGroups to handle effective values, fees, and filtering
  * doc: Document ALLOW_HOST_PACKAGES dependency option
  * rpc: Improve addnode remove command error message
  * build: Enable some commonly enabled compiler diagnostics
  * build, qt: Add Qt version checking
  * build: Drop unused bitcoin_cv_qt58
  * build: Add missed fuzz.coverage/ directory to .gitignore
  * build: Add missed fuzz_filtered.info to COVERAGE_INFO
  * build, test: Add support for llvm-cov
  * depends: More robust cmake invocation
  * depends: Use $($(package)_cmake) instead of cmake
  * [net] Remove unnecessary default args on CNode constructor
  * [refactor] Remove IsOutboundDisconnectionCandidate
  * [net/refactor] Simplify multiple-connection checks
  * [net/refactor] Rework ThreadOpenConnections logic
  * [net] Fix bug where AddrFetch connections would be counted as outbound full relay
  * [net/refactor] Clarify logic for selecting connections in ThreadOpenConnections
  * [net/refactor] Remove fInbound flag from CNode
  * [net/refactor] Remove m_addr_fetch member var from CNode
  * [net/refactor] Remove fFeeler flag from CNode
  * [net/refactor] Remove m_manual_connection flag from CNode
  * [net/refactor] Add connection type as a member var to CNode
  * [doc] Describe different connection types
  * [net/refactor] Add AddrFetch connections to ConnectionType enum
  * [net/refactor] Extract m_addr_known logic from initializer list
  * [net/refactor] Add block relay only connections to ConnectionType enum
  * [net/refactor] Add feeler connections to ConnectionType enum
  * [net/refactor] Add manual connections to ConnectionType enum
  * [net/refactor] Introduce an enum to distinguish type of connection
  * scripted-diff: Rename OneShot to AddrFetch
  * Refactor Get{Prevout,Sequence,Outputs}Hash to Get{Prevouts,Sequences,Outputs}SHA256.
  * Replace `hidden service` with `onion service`
  * [rpc] fundrawtransaction, walletcreatefundedpsbt lock manually selected coins
  * Add SHA256Uint256 helper functions
  * Add single sha256 call to CHashWriter
  * refactor: Make HexStr take a span
  * refactor: test: use _ variable for unused loop counters
  * build: make clean removes .gcda and .gcno files from fuzz directory
  * test: test the implicit avoid partial spends functionality
  * wallet: try -avoidpartialspends mode and use its result if fees are below threshold
  * build: Update and sort package list in gitian-linux.yml
  * contrib: Fixup valgrind suppressions file
  * build: set minimum required Boost to 1.58
  * Deduplicate missing parents of orphan transactions
  * Rewrite parent txid loop of requested transactions
  * test addition of unknown segwit spends to txid reject filter
  * Add txids with non-standard inputs to reject filter
  * test: Wait until is_connected in add_p2p_connection
  * lint: Remove travis env var from commit linter
  * doc: Add CODEOWNERS file
  * gui: Call setWalletActionsEnabled(true) only for the first wallet
  * Test that wtxid relay peers add wtxid to reject filter
  * Restore test case for p2p transaction blinding
  * rpc: Assert that RPCArg names are equal to CRPCCommand ones (misc)
  * rpc: Limit echo to 10 args
  * refactor: Use C++11 range based for loops to simplify rpc code
  * rpc: Treat all args after a hidden arg as hidden as well
  * rpc: document returned error fields as optional if applicable
  * test: Add LockStackEmpty()
  * test: Repeat deadlock tests
  * Preserve initial state if push_lock() throws exception
  * scripted-diff: Remove Reference Links
  * doc: Add historical release notes for 0.20.1
  * qt: Wrap tooltips in the intro window
  * rpc: Document getwalletinfo's unlocked_until field as optional
  * build: Drop old hack which is unneeded now
  * [util] add RunCommandParseJSON
  * [ci] use boost::process
  * [doc] include Doxygen comments for HAVE_BOOST_PROCESS
  * [build] msvc: add boost::process
  * [build] make boost-process opt-in
  * configure: add ax_boost_process
  * [depends] boost: patch unused variable in boost_process
  * test: Catch decimal.InvalidOperation from TestNodeCLI#send_cli
  * test: Wait for 'cmpctblock' in p2p_compactblocks when it is expected
  * Make Hash[160] consume range-like objects
  * Make CHash256/CHash160 output to Span
  * Make MurmurHash3 consume Spans
  * Make CHash256 and CHash160 consume Spans
  * Make script/standard's BaseHash Span-convertible
  * Add MakeUCharSpan, to help constructing Span<[const] unsigned char>
  * Make uint256 Span-convertible by adding ::data()
  * scripted-diff: rename base_blob::data to m_data
  * refactor: make txmempool interface use GenTxid
  * refactor: make FindTxForGetData use GenTxid
  * refactor: use GenTxid in tx request functions
  * test: request parents of orphan from wtxid relay peer
  * p2p: enable fetching of orphans from wtxid peers
  * refactor: add GenTxid (=txid or wtxid) type and use it for tx request logic
  * doc: list support for BIP 339 in doc/bips.md
  * Use real value when calculating OutputGroup value
  * Test addr response caching
  * Add addr permission flag enabling non-cached addr sharing
  * Cache responses to addr requests
  * walletdb: Ensure that having no database handle is a failure
  * Remove BDB dummy databases
  * Introduce DummyDatabase and use it in the tests
  * Pass mempool pointer to GetCoinsCacheSizeState
  * Pass mempool pointer to UnloadBlockIndex
  * refactor: use local argsmanager in CRegTestParams
  * scripted-diff: Replace gArgs with local argsman
  * refactor: add unused ArgsManager to replace gArgs
  * test: Simplify cs_main locks
  * doc: Clang 8 or later is required with FORCE_USE_SYSTEM_CLANG
  * util: use HAVE_FDATASYNC to determine fdatasync() use
  * travis: Re-enable s390x
  * doc: set CC_FOR_BUILD when building on OpenBSD
  * devtools: Add security check for separate_code
  * build: add -Wl,-z,separate-code to hardening flags
  * net: save the network type explicitly in CNetAddr
  * Clean message_count and last_message
  * p2p, refactoring: use CInv helpers in net_processing.cpp
  * p2p: add CInv transaction message helper methods
  * walletdb: Remove unused static functions from walletdb.h
  * wallettool: Have RecoverDatabaseFile return errors and warnings
  * Fix .gitignore for src/test/fuzz directory
  * refactor: Drop unused CBufferedFile::Seek()
  * rpc: Avoid useless mempool query in gettxoutproof
  * rpc: Style fixups in gettxoutproof
  * test: test decodepsbt fee calculation (count input value only once per UTXO)
  * gui: Clarify block height label
  * [net processing] Tidy up Misbehaving()
  * [net processing] Always supply debug message to Misbehaving()
  * [net processing] Fixup MaybeDiscourageAndDisconnect() style
  * wallet: Don't override signing errors
  * rpc: RPCResult Type of MempoolEntryDescription should be OBJ. If multiple entries are possible, wrapping Type should be OBJ_DYN. fixes #19579
  * Remove useless 2500 limit on AddrMan queries
  * Move filtering banned addrs inside GetAddresses()
  * walletdb: Remove BerkeleyBatch friend class from BerkeleyDatabase
  * No need to check for duplicate fileids in all dbenvs
  * walletdb: Move Db->open to BerkeleyDatabase::Open
  * walletdb: track database file use as m_refcount within BerkeleyDatabase
  * Combine BerkeleyEnvironment::Verify into BerkeleyDatabase::Verify
  * test: Add test coverage for -networkactive option
  * net: Log network activity status change unconditionally
  * net: Add -networkactive option
  * Call RecoverDatabaseFile directly from wallettool
  * build: call AC_PATH_TOOL for dsymutil in macOS cross-compile
  * fuzz: add missing overrides to signature_checker
  * test: Fix fuzzer compilation on macOS fixes #19557
  * qt: Leverage the default "Create new receiving address" button
  * qt: Make "Create new receiving address" default unconditionally
  * contrib: Clean up previous_releases.py
  * Make test DoS_mapOrphans deterministic
  * net: document `enum Network`
  * span: Add Span::empty() and use it in script/descriptor
  * rpc: deduplicate WriteHDKeypath() used in decodepsbt
  * test: fix intermittent p2p_ibd_txrelay race, add test_framework.py#wait_until
  * build: pass -fcommon when building genisoimage
  * fuzz: fix unused variable addrdb compiler warning
  * Further improve comments around recentRejects
  * Disconnect peers sending wtxidrelay message after VERACK
  * test: Use wtxid relay generally in functional tests
  * test: Add tests for wtxid tx relay in segwit test
  * test: Update test framework p2p protocol version to 70016
  * Rename AddInventoryKnown() to AddKnownTx()
  * Make TX_WITNESS_STRIPPED its own rejection reason
  * Delay getdata requests from peers using txid-based relay
  * Add p2p message "wtxidrelay"
  * ignore non-wtxidrelay compliant invs
  * Add support for tx-relay via wtxid
  * Add wtxids to recentRejects instead of txids
  * Add wtxids of confirmed transactions to bloom filter
  * Add wtxid-index to orphan map
  * Add a wtxid-index to mapRelay
  * Just pass a hash to AddInventoryKnown
  * Add wtxid to mempool unbroadcast tracking
  * Add a wtxid-index to the mempool
  * doc: Update macOS cross compilation dependencies for Focal
  * ci: add tsan debug symbols option
  * depends: bump native_cctools for fixed lto with external clang
  * ci: Add tsan suppression for race in DatabaseBatch
  * depends: enable lto support for Apple's ld64
  * qt: Fix QFileDialog for static builds
  * test: Add chacha20 test vectors in muhash
  * test: Add basic Python/C++ Muhash implementation parity unit test
  * test: Add Python MuHash3072 implementation to test framework
  * test: Move modinv to util and add unit test
  * [test] feefilter during and after IBD
  * gui: Show permissions instead of whitelisted
  * [tests] Remove unnecessary cs_mains in denialofservice_tests
  * Linter to check commit message formatting
  * log: Avoid treating remote misbehvior as local system error
  * refactor: Switch ValidationState mode to C++11 enum class
  * tests: Add fuzzing harness for CBlockPolicyEstimator::{Read,Write} (policy/fees.h)
  * tests: Add fuzzing harness for CBufferedFile::{SetPos,GetPos,GetType,GetVersion} (stream.h)
  * tests: Add fuzzing harness for LoadExternalBlockFile(...) (validation.h)
  * tests: Add fuzzing harness for CBufferedFile (streams.h)
  * tests: Add fuzzing harness for CAutoFile (streams.h)
  * tests: Add serialization/deserialization fuzzing helpers WriteToStream(…)/ReadFromStream(…)
  * tests: Add FuzzedAutoFileProvider which provides a CAutoFile interface to FuzzedDataProvider
  * tests: Add FuzzedFileProvider which provides a FILE* interface to FuzzedDataProvider using fopencookie
  * build: fix -Wformat-security check when compiling with GCC
  * test: ensure OP_1NEGATE satisfies BIP62 minimal push rule
  * Do not turn OP_1NEGATE in scriptSig into 0x0181 in signing code
  * ci: Increase CCACHE_SIZE in some builds on Travis
  * Increment input value sum only once per UTXO in decodepsbt
  * walletdb: Introduce WalletDatabase abstract class
  * walletdb: Add BerkeleyDatabase::Open dummy function
  * walletdb: Introduce AddRef and RemoveRef functions
  * walletdb: Move BerkeleyDatabase::Flush(true) to Close()
  * Have zmq reorg test cover mempool txns
  * refactor: replace CConnman pointers by references in net_processing.cpp
  * test: update tests for peer discouragement
  * test: Fail wait_until early if connection is lost
  * [net/net processing] check banman pointer before dereferencing
  * gui, doc: rm Ban Score in GUI Peers window/release notes updates
  * ci: Fix configure options for macOS builds
  * ci: Drop Homebrew caching while using Homebrew addon on Travis
  * ci: Do not activate Travis ccache caching strategy
  * ci: Disable functional tests on forked repos to avoid timeouts for macOS
  * Work around memory-aliasing in descriptor ParsePubkey
  * Add zmq test for transaction pub during reorg
  * Add test case for mempool->block zmq notification
  * Make ordering of zmq consumption irrelevant to functional test
  * walletdb: Don't remove database transaction logs and instead error
  * test: Remove duplicate NodeContext hacks
  * doc: CONTRIBUTING.md improvements
  * doc: move-only release notes
  * doc: Remove release notes of backports
  * net: rename DEFAULT_BANSCORE_THRESHOLD to DISCOURAGEMENT_THRESHOLD
  * net: remove -banscore configuration option
  * wallet: Fix clang build in Mac
  * util: Make Assert work with any value
  * wallet: Fix typo in comments; Simplify assert
  * qt: Disable toolbar when overlay is shown
  * Add <datadir>/settings.json persistent settings storage.
  * util: Add ReadSettings and WriteSettings functions
  * qt, refactor: Cleanup ModalOverlay slots
  * [net processing] Continue SendMessages processing if not disconnecting peer
  * [net processing] Only call MaybeDiscourageAndDisconnect from SendMessages
  * test: add rpc_generate functional test
  * rpc: print useful help and error message for generate
  * depends: Add documentation for FORCE_USE_SYSTEM_CLANG make flag
  * depends: Reformat make options as definition list
  * depends: Add justifications for macOS clang flags
  * depends: specify libc++ header location for darwin
  * depends: force a new host id string if FORCE_USE_SYSTEM_CLANG is in use
  * [protocol] Remove unused GETHEADERS_VERSION
  * [protocol] Remove unused CADDR_TIME_VERSION
  * [net processing] Fix bad indentation in SendMessages()
  * [net processing] Change cs_main TRY_LOCK to LOCK in SendMessages()
  * doc: Use precise permission flags where possible
  * net: improve encapsulation of CNetAddr
  * walletdb: Add MakeBatch function to BerkeleyDatabase and use it
  * walletdb: Refactor DatabaseBatch abstract class from BerkeleyBatch
  * test: consider generate covered in _get_uncovered_rpc_commands()
  * refactor: Use C++11 range-based for loop
  * wallet: Never schedule MaybeCompactWalletDB when -flushwallet is off
  * wallet: Pass unused args to StartWallets
  * gui tests: Limit life-time of dummy testing setup
  * test: Add smoke test to check that wallets are flushed by default
  * net: Extract download permission from noban
  * refactor: clean up PeriodicFlush()
  * Make sure unconfirmed parents are requestable
  * Drop setInventoryTxToSend based filtering
  * Only respond to requests for recently announced transactions
  * Introduce constant for mempool-based relay separate from mapRelay caching
  * Swap relay pool and mempool lookup
  * gui: Fix regression in GUI console
  * banlist: log post-swept banlist size at startup
  * doc: getpeerinfo banscore deprecation release note
  * Drop unused CDBWrapper methods
  * test: getpeerinfo banscore deprecation test
  * rpc: deprecate banscore field in rpc getpeerinfo
  * tests: Add fuzzing harness for BanMan
  * tests: Add ConsumeSubNet(...). Move and increase coverage in ConsumeNetAddr(...).
  * depends: Allow building with system clang
  * depends: Decouple toolchain + binutils
  * tools: clang-format 6 compatibility
  * doc: afl fuzzing comment about afl-gcc and afl-g++
  * ci: Add tsan suppression for race in BerkeleyBatch
  * cli: reduce DefaultRequestHandler memory allocations
  * doc: Add non-thread-safe note to FeeFilterRounder::round()
  * Remove previous_release.sh
  * script: Add previous_release.py
  * Updates msvc build to use ISO standard C++17.
  * Remove cached directories and associated script blocks from appveyor CI configuration.
  * Clean up separated ban/discourage interface
  * Replace automatic bans with discouragement filter
  * walletdb: don't reinitialize desc cache with multiple cache entries
  * qt: Get rid of cursor in out-of-focus labels
  * rpc: Update server to use new RPCHelpMan
  * rpc: Add option to hide RPCArg
  * rpc: Assert that passed arg names are equal to hardcoded ones
  * ci: Run tsan ci config on cirrus
  * test: Fix intermittent failure in wallet_encryption
  * Enable Wswitch for OutputType
  * Remove confusing OutputType::CHANGE_AUTO
  * wallet: Replace boost::none with nullopt
  * script: Fix boost/C++17 compile failure
  * ci: Run all tests on native mac again
  * test: add test for CChainState::ResizeCoinsCaches()
  * add ChainstateManager::MaybeRebalanceCaches()
  * Add CChainState::ResizeCoinsCaches
  * txdb: add CCoinsViewDB::ChangeCacheSize
  * walletdb: Move Rewrite into BerkeleyDatabase
  * walletdb: Move PeriodicFlush into WalletDatabase
  * walletdb: Combine VerifyDatabaseFile and VerifyEnvironment
  * gui: change combiner for signals to optional_last_value
  * ci: Add tsan suppression for race in wallet
  * doc: Remove outdated comment in TransactionTablePriv
  * rpc: Add CRPCCommand constructor which takes RPCHelpMan
  * build: pass _WIN32_WINNT=0x0601 when building libevent for Windows
  * refactor: Remove confusing BlockIndex global
  * scripted-diff: rename movie folder to animation
  * test: move TEST_RUNNER_EXTRA into native tsan setup
  * Add Windows WSL build recommendation to temporarily disable Win32 PE support.
  * doc: explain why passing -mlinker-version is required
  * [build] Remove unused RES_IMAGES
  * build: improve builtin_clz* detection
  * refactor: Replace RecursiveMutex with Mutex in rpc/server.cpp
  * ci: Install fixed version of clang-format for linters
  * build: Sort Makefile.am after renaming file
  * scripted-diff: Move ui_interface to the node lib
  * qt: Remove unused includes
  * wallet: Do not include server symbols
  * Revert "Fix link error with --enable-debug"
  * interfaces: Remove unused getDefaultChangeType
  * doc/REST-interface: Remove stale info
  * doc: Mention Span in developer-notes.md
  * doc: Document Span pitfalls
  * rpc: Check that left section is not multiline
  * moveonly: Fix indentation in bumpfee RPC
  * tests: Provide main(...) function in fuzzer
  * Hide bumpfee's psbt creation behavior behind -deprecatedrpc
  * Add psbtbumpfee RPC
  * Improve "detected inconsistent lock order" error message
  * tests: Add fuzzing harness for ChaCha20Poly1305AEAD
  * tests: Add fuzzing harness for ChaCha20
  * tests: Add fuzzing harness for CHKDF_HMAC_SHA256_L32
  * tests: Add fuzzing harness for poly1305_auth(...)
  * tests: Add fuzzing harness for AES256CBCEncrypt/AES256CBCDecrypt
  * tests: Add fuzzing harness for AES256Encrypt/AES256Decrypt
  * test: retry when write to a socket fails on macOS
  * refactor: Use Mutex type for g_cs_recent_confirmed_transactions
  * depends: Patch libevent build to fix IPv6 -rpcbind on Windows
  * tests: Check that segwit inputs in psbt have both UTXO types
  * psbt: always put a non_witness_utxo and don't remove it
  * psbt: Allow both non_witness_utxo and witness_utxo
  * rpc: show both UTXOs in decodepsbt
  * refactor: Replace HexStr(o.begin(), o.end()) with HexStr(o)
  * ci: Increase test timeout for sanitizer configs
  * qt: Remove needless headers
  * Static asserts for consistency of fee defaults.
  * doc: add release notes for explicit fee estimators and bumpfee change
  * tests for bumpfee / estimate_modes
  * policy: optional FeeEstimateMode param to CFeeRate::ToString
  * rpc/wallet: add two explicit modes to estimate_mode
  * MOVEONLY: Make FeeEstimateMode available to CFeeRate
  * fees: add FeeModes doc helper function
  * build: Fix search for brew-installed BDB 4 on OS X
  * test: use pgrep for better compatibility
  * [net] Don't try to take cs_inventory before deleting CNode
  * [net] Make cs_inventory a non-recursive mutex
  * [net processing] Remove PushBlockInventory and PushBlockHash
  * build: Add MemorySanitizer (MSan) in Travis to detect use of uninitialized memory
  * Drop CADDR_TIME_VERSION checks now that MIN_PEER_PROTO_VERSION is greater
  * build: Detect missed pkg-config early
  * build: Drop unused use_pkgconfig variable
  * build: Drop use_pkgconfig check for libmultiprocess check
  * doc: add release note for bitcoin-cli -generate
  * darwin: pass mlinker-version so that clang enables new features
  * qt: Fix regression in TransactionTableModel
  * walletdb: Handle cursor internally
  * Split SetWalletFlags into Add/LoadWalletFlags
  * test: Bump linter versions
  * doc: add release note for -getinfo displaying multiwallet balances
  * test: Improve "potential deadlock detected" exception message
  * Fix mistakenly swapped "previous" and "current" lock orders
  * macos: Bump to xcode 11.3.1 and 10.15 SDK
  * depends: bump MacOS toolchain
  * contrib: macdeploy: Remove historical extraction notes
  * contrib: macdeploy: Use apple-sdk-tools instead of xar+pbzx
  * native_cctools: Don't use libc++ from pinned clang
  * Adapt rest of tooling to new SDK naming scheme
  * test: add two edge case tests for CSubNet
  * test: refactor functional tests to use restart_node
  * refactor: Use uint16_t instead of unsigned short
  * qt: Do not truncate node flag strings in debugwindow.ui peers details tab.
  * build: Drop dead non-pkg-config code for libevent check
  * test: Test gettxouttsetinfo hash_type option
  * rpc: Add hash_type NONE to gettxoutsetinfo
  * rpc: gettxoutsetinfo can specify hash_type (only legacy option for now)
  * Change format of log2_work for uniform output (zero-padded)
  * ci: Run fuzz testing test cases (bitcoin-core/qa-assets) under valgrind to catch memory errors
  * doc: Remove -whitelistforcerelay from comment
  * test: Check that peers with forcerelay permission do not get a feefilter message
  * test: Add connect_nodes method
  * test: Add test for no net permission
  * test: Replace self.nodes[0].p2p with conn
  * test: remove redundant generate
  * test: pep-8 p2p_feefilter.py
  * scripted-diff: TxoutType C++11 scoped enum class
  * doc: Update outdated txnouttype documentation
  * rpc: Properly use underlying type in GetAllOutputTypes
  * rpc: Simplify GetAllOutputTypes with the Join helper
  * clang-format scheduler
  * docs: match usage text to script and location
  * wallet: Replace CDataStream& with CDataStream&& where appropriate
  * wallet: Remove confusing double return value ret+success
  * rpc/wallet: add conf_target as alias to confTarget in bumpfee
  * added CURRENCY_ATOM to express minimum indivisible unit
  * ci: Add test for clang-3.8 C++11 support
  * refactor: Fix clang compile failure
  * Disallow automatic conversion between hash types
  * Remove an apparently unnecessary conversion
  * Explicitly support conversion between equivalent hash types
  * Use explicit conversion from WitnessV0KeyHash -> CKeyID
  * Use explicit conversion from PKHash -> CKeyID
  * Convert CPubKey to WitnessV0KeyHash directly
  * Prefer explicit CScriptID construction
  * Prefer explicit uint160 conversion
  * contrib: macdeploy: Correctly generate macOS SDK
  * ci: Upgrade most ci configs to focal
  * doc: move doc to ci readme
  * ci: Have one config run in xenial to test against python3.5
  * travis: Always run multiprocess build
  * net: Avoid wasting inv traffic during IBD
  * refactor: block import implies IsInitialBlockDownload
  * Add ChainstateManager::ActiveChainstate
  * test: Add FeeFilterRounder test
  * test: hoist p2p values to test framework constants
  * test: improve msg sends and p2p disconnections in p2p_invalid_messages
  * test: refactor test_large_inv() into 3 tests with common method
  * test: add p2p_invalid_messages logging
  * net: update misbehavior logging for oversized messages
  * refactor: Extract GetBogoSize function
  * net: Use mockable time for ping/pong, add tests
  * util: Add count_microseconds helper
  * build: add -fstack-clash-protection to hardening flags
  * build: add -fcf-protection=full to hardening options
  * Make lint-spelling.py happy
  * [gui] Load PSBT from clipboard
  * [gui] PSBT Operations Dialog (sign & broadcast)
  * [rpc] refactor: consolidate sendmany and sendtoaddress code
  * FillPSBT: report number of inputs signed (or would sign)
  * Improve TransactionErrorString messages.
  * qa: Test concurrent wallet loading
  * wallet: Handle concurrent wallet loading
  * [net] split PushInventory()
  * ci: Run asan ci config on cirrus
  * cirrus: Clear dummy task
  * test: move sync_blocks and sync_mempool functions to test_framework.py
  * scripted-diff: Make SeparatorStyle a scoped enum
  * Add sanity check asserts to span when -DDEBUG
  * Fix link error with --enable-debug
  * Test buffered valid message
  * Remove WalletDatabase::Create, CreateMock, and CreateDummy
  * scripted-diff: Replace WalletDatabase::Create* with CreateWalletDatabase
  * Add Create*WalletDatabase functions
  * doc: add C++17 release note for 0.21.0
  * walletdb: refactor Read, Write, Erase, and Exists into non-template func
  * Add tests for CPubKey serialization/unserialization
  * build: don't warn when doxygen isn't found
  * Add missing includes to fix compile errors
  * Remove unused variables
  * test: Add missing sync_blocks
  * [refactor] use waiting inside disconnect_p2ps
  * [test] wait for disconnect_p2ps to be reflected in getpeerinfo
  * [test] logging and style followups for bloomfilter tests
  * refactor: Use AbortError in FatalError
  * pep-8 test/functional/test_framework/util.py
  * test: refactor: Inline adjust_bitcoin_conf_for_pre_17
  * test: use subprocess.run() in test-security-check.py
  * tests: run test-security-check.py in CI
  * net: Remove dead logging code
  * net: Avoid redundant and confusing FAILED log
  * walletdb: Move BDB specific things into bdb.{cpp/h}
  * walletdb: moveonly: Move BerkeleyBatch Cursor and Txn funcs to cpp
  * walletdb: move IsWalletLoaded to walletdb.cpp
  * walletdb: Add IsBDBWalletLoaded to look for BDB wallets specifically
  * contrib: Fix SyntaxWarning in Python base58 implementation
  * walletdb: Make SpliWalletFilePath non-static
  * tests: Add fuzzing harness for CHash{160,256}, C{HMAC_,}SHA{1,256,512}, CRIPEMD160, CSipHasher, etc.
  * tests: feature_backwards_compatibility.py test 0.16 up/downgrade
  * Skip hdKeypath of 'm'
  * refactor: Remove unused BlockAssembler::pblock member var
  * refactor: Remove unused EnsureChainman
  * scripted-diff: Replace EnsureChainman with Assert in unit tests
  * util: Add Assert identity function
  * [net] Add seed.bitcoin.wiz.biz to DNS seeds
  * RPC: Rephrase generatetoaddress help, and use PACKAGE_NAME
  * [p2p/refactor] move disconnect logic and remove misbehaving
  * [test] test disconnect for filterclear
  * [netprocessing] disconnect node that sends filterclear
  * move-only: Move NDEBUG compile time check to util/check
  * ci: Move travis workarounds to .travis.yml
  * build: Drop dead non-pkg-config code for qrencode check
  * build: Drop dead non-pkg-config code for ZMQ check
  * build: Fix indentation in UNIVALUE check
  * build: Drop dead non-pkg-config code for UNIVALUE check
  * build: Always use pkg-config
  * build: Always define ZMQ_STATIC for MinGW
  * [tests] Don't import asyncio to test magic bytes
  * Replace current benchmarking framework with nanobench
  * refactor: Drop ::HasWallets()
  * doc: improve subtree check instructions
  * init: use std::thread for ThreadImport()
  * build: remove BIP70 configure option
  * refactor: Remove unused request.fHelp
  * wallet: Make RPC help compile-time static
  * tests: Add fuzzing harness for {Read,Write}{LE,BE}{16,32,64} (crypto/common.h)
  * tests: Add std::vector<uint8_t> ConsumeFixedLengthByteVector(FuzzedDataProvider& fuzzed_data_provider, const size_t length)
  * Add means to handle negative capabilities in thread safety annotations
  * scripted-diff: rename privkey with seckey in secp256k1 interface
  * Drop --disable-jni from libsecp256k1 configure options
  * [tests] move generate_wif_key to wallet_util.py
  * [tests] sort imports in rpc_createmultisig.py
  * Revert "[TESTS] Move base58 to own module to break circular dependency"
  * Check size after Unserializing CPubKey
  * scripted-diff: rename node to peer for mininodes
  * [test] fix race conditions and test in p2p_filter
  * [test] sending invalid msgs to node with bloomfilters=0 causes disconnect
  * [test] add BIP 37 test for node with fRelay=false
  * [test] add mempool msg test for node with bloomfilter enabled
  * Make SetMiscWarning() accept bilingual_str argument
  * Make GetWarnings() return bilingual_str
  * refactor: Make GetWarnings() bilingual_str aware internally
  * test: mempool.dat compatibility between versions
  * gui: add missing translation.h include to fix build
  * [TESTS] Move base58 to own module to break circular dependency
  * Update MSVC build config for libsecp256k1
  * Squashed 'src/secp256k1/' changes from b19c000063..2ed54da18a
  * change blacklist to blocklist
  * test: Add BerkeleyDatabase tsan suppression
  * scripted-diff: replace MAX_BLOCKS_ONLY_CONNECTIONS with MAX_BLOCK_RELAY_ONLY_CONNECTIONS
  * refactor: Change Node::initError to take bilingual_str
  * refactor: Put`TryParsePermissionFlags` in anonymous namespace
  * refactor: Error message bilingual_str consistency
  * refactor: Replace RecursiveMutex with Mutex in warnings.cpp
  * Call SHA256AutoDetect in benchmark setup
  * refactor: Add AbortError alias
  * doc: Mention repo split in the READMEs
  * doc: Add redirect for GUI issues and pull requests
  * Refactor resource exhaustion test
  * test: Remove leftover comment in mining_basic
  * test: pep-8 mining_basic
  * doc: Extract net permissions doc
  * doc: release note for rpc getaddressinfo removals
  * rpc: getaddressinfo RPCResult fixup
  * rpc: remove deprecated getaddressinfo `labels: purpose`
  * rpc: remove deprecated getaddressinfo `label` field
  * util: Don't reference errno when pthread fails.
  * Fix "invalid message size" test
  * Move size limits to module-global
  * Remove two unneeded tests
  * doc: release note for `db` log category removal
  * log: remove deprecated `db` log category
  * ci: Switch to bitcoincore.org download
  * refactor: Fix formatting of timedata.cpp
  * doc: Add documentation for 'checklevel' argument in 'verifychain' RPC call
  * Add functional test for P2P eviction logic of inbound peers
  * refactor: Replace RecursiveMutex with Mutex in netbase.cpp
  * test: Avoid overwriting the NodeContext member of the testing setup
  * refactor: Replace RecursiveMutex with Mutex in timedata.cpp
  * build: Add -Wshadow-field
  * refactor: Make CScriptVisitor stateless
  * rpc: Validate provided keys for query_options parameter in listunspent
  * refactor: Replace RecursiveMutex with Mutex in Shutdown()
  * [tests] Make mininode_lock non-reentrant
  * [tests] Don't call super twice in P2PTxInvStore.on_inv()
  * [tests] Don't acquire mininode_lock twice in wait_for_broadcast()
  * [tests] Only acquire lock once in p2p_compactblocks.py
  * doc: Add mypy to test dependencies
  * test: Do not swallow flake8 exit code
  * refactor: Combine GetWalletForJSONRPCRequest and EnsureWalletIsAvailable functions
  * build: turn on --enable-c++17 by --enable-fuzz
  * ci: tsan with wallet
  * doc: noban precludes maxuploadtarget disconnects
  * net: Reformat excessively long if condition into multiple lines
  * Drop MSG_NOPREFIX flag
  * Pass bilingual_str argument to AbortNode()
  * refactor: Use bilingual_str::empty()
  * refactor: Specify boost/thread/thread.hpp explicitly
  * txdb: Remove unused boost/thread
  * txindex: Remove unused boost/thread
  * test: Make valgrind.supp work on aarch64
  * [test] CScriptNum Decode Check as Unit Tests
  * validation: Make VerifyDB level 4 interruptible
  * validation: Remove unused boost interruption_point
  * build: improved output of configure for build OS
  * doc: Move 0.21 fragments into the main release notes
  * doc: Add release-notes-0.20.0.md
  * doc: Remove release notes of 0.20.1 release
  * tests: Avoid fuzzer-specific nullptr dereference in libevent when handling PROXY requests
  * wallet: Remove unused boost::thread_interrupted
  * rpc: add missing space in JSON parsing error message, update test
  * test: add multiwallet tests for bitcoin-cli -generate
  * cli: add multiwallet capability to GetNewAddress and -generate
  * test: add tests for bitcoin-cli -generate
  * cli: create bitcoin-cli -generate command
  * cli: extract ParseResult() and ParseError()
  * cli: create GenerateToAddressRequestHandler class
  * cli: create GetNewAddress()
  * rpc: make generatetoaddress locals const
  * This PR adds initial support for type hints checking in python scripts.
  * refactor: replace CNode pointers by references within net_processing.{h,cpp}
  * build: Enable unreachable-code-loop-increment
  * refactor: Fix unreachable code in init arg checks
  * qt: lock cs_main, m_cached_tip_mutex in that order
  * rpc: create rpc/mining.h, hoist default max tries values to constant
  * [test] Add test for NODE_COMPACT_FILTER.
  * [net] Signal NODE_COMPACT_FILTERS if we're serving compact filters.
  * Apply cfilters review fixups
  * gui: Add Close All Wallets action
  * gui: Add closeAllWallets to WalletController
  * ci: Remove unused workaround
  * ci: Install llvm to get llvm symbolizer
  * test: Add more tsan suppressions
  * test: Add missing sync_blocks to wallet_hd
  * test: pep-8 wallet_hd
  * doc: Sync "how to upgrade" with 0.20.0 release notes
  * doc: Add release notes for 17219
  * ci: Mute depends logs completely
  * test: Extend tsan suppressions for clang stdlib
  * ci: Use libc++ instead of libstdc++ for tsan
  * ci: Set halt_on_error=1 for tsan
  * ci: Deduplicate DOCKER_EXEC
  * cirrus: Remove no longer needed install step
  * tests: Add fuzzing harness for functions in script/sign.h
  * tests: Add fuzzing harness for functions in script/sigcache.h
  * tests: Add fuzzing harness for functions in script/interpreter.h
  * tests: Add fuzzing harness for functions in script/descriptor.h
  * tests: Add fuzzing harness for functions in script/bitcoinconsensus.h
  * tests: Fill fuzzing coverage gaps for functions in script/script.h, script/script_error.h and script/standard.h
  * rpc: Remove special case for unknown service flags
  * Limit scope of all global std::once_flag
  * test: Explain that a bug should be filed when the test fail
  * util: dedup code in callers of serviceFlagToStr()
  * util: simplify the interface of serviceFlagToStr()
  * tests: Add fuzzing helper functions ConsumeDataStream, ConsumeTxDestination and ConsumeUInt160
  * net: improve code documentation for dns seed behaviour
  * gui, refactor: Register Qt meta types in application constructor
  * doc: Switch scheduler to doxygen comments
  * scheduler: Replace stop(true) with StopWhenDrained()
  * Add missing QPainterPath include
  * build: Only allow ASCII identifiers
  * [tools] Update clang-format config
  * doc: Explain that anyone can work on good first issues, move text to CONTRIBUTING.md
  * doc: Expand section on Getting Started
  * doc: Add headings to CONTRIBUTING.md
  * doc: Remove unused documentation about unimplemented features
  * doc: Switch boost::thread to std::thread in scheduler
  * validation: use std::chrono in IsCurrentForFeeEstimation()
  * validation: use std::chrono in CChainState::FlushStateToDisk()
  * scripted-diff: replace gArgs with argsman
  * Create a local class inherited from BasicTestingSetup with a localized args manager and put it into the getarg_tests namespace
  * test: Remove unused scheduler.h include from the common setup
  * scheduler: Remove unused REVERSE_LOCK
  * build: Replace -Wthread-safety-analysis with broader -Wthread-safety
  * Get rid of -Wthread-safety-precise warnings
  * Use template function instead of void* parameter
  * refactor: Rename LockGuard to StdLockGuard for consistency with StdMutex
  * Add thread safety annotated wrapper for std::mutex
  * Remove g_rpc_chain global
  * refactor: replace RegisterWalletRPCCommands with GetWalletRPCCommands
  * depends: Propagate only specific CLI variables to sub-makes
  * depends: boost: Use clang toolset if clang in CXX
  * depends: boost: Split target-os from toolset
  * depends: boost: Specify toolset to bootstrap.sh
  * depends: Propagate well-known vars into depends
  * walletdb: Remove unsed boost/thread
  * doc: Fix unrelated typos reported by codespell
  * qt: Add privacy feature to Overview page
  * doc : add link to readme.md in the first section
  * wallet: Make PeriodicFlush uninterruptible
  * qt: increase console command max length
  * [test] Add test for cfilters.
  * [net processing] Message handling for getcfilters.
  * [indexes] Fix default [de]serialization of BlockFilter.
  * [refactor] Pass CNode and CConnman by reference
  * Remove outdated comment about DER encoding
  * logging: thread safety annotations
  * refactor: replace pointers by references within tx_verify.{h,cpp}
  * util/system.cpp: add thread safety annotations for dir_locks
  * [trivial/doc] Fix comment type
  * [doc] Update unbroadcast description in RPC results
  * [trivial] Remove misleading 'const'
  * [test] Manage node connections better in mempool persist test
  * [doc] Provide rationale for randomization in scheduling.
  * [mempool] Don't throw expected error message when upgrading
  * [test] Test that wallet transactions aren't rebroadcast before 12 hours
  * [test] P2P connection behavior should meet expectations
  * [test] updates to unbroadcast test
  * [docs] add release notes
  * Add release notes about salvage changes
  * Move RecoverKeysOnlyFilter into RecoverDataBaseFile
  * Move RecoverDatabaseFile and RecoverKeysOnlyFilter into salvage.{cpp/h}
  * Make BerkeleyBatch::Recover and WalletBatch::RecoverKeysOnlyFilter standalone
  * Expose a version of ReadKeyValue and use it in RecoverKeysOnlyFilter
  * Move BerkeleyEnvironment::Salvage into BerkeleyBatch::Recover
  * walletdb: remove fAggressive from Salvage
  * walletdb: don't automatically salvage when corruption is detected
  * wallet: remove -salvagewallet
  * Add basic test for bitcoin-wallet salvage
  * wallettool: Add a salvage command
  * tests: Add fuzzing harness for CCoinsViewCache
  * Remove old serialization primitives
  * Convert LimitedString to formatter
  * Convert wallet to new serialization
  * BlockTip struct created and connected to notifyHeaderTip and notifyBlockTip signals.
  * Added best block hash to the NotifyHeaderTip and NotifyBlockTip signals.
  * test: Remove global wait_until from p2p_getdata
  * test: Default mininode.wait_until timeout to 60s
  * qt: Add BitcoinUnits::formatWithPrivacy() function
  * test: pep-8 p2p_getdata.py
  * gui: update Qt base translations for macOS release
  * doc: Drop protobuf stuff
  * trivial: Suggested cleanups to surrounding code
  * rpc: Make gettxoutsetinfo/GetUTXOStats interruptible
  * rpc: factor out RpcInterruptionPoint from dumptxoutset
  * [test] Add test for cfheaders
  * [net processing] Message handling for getcfheaders.
  * [doc] Add comment for m_headers_cache
  * tests: Don't limit fuzzing inputs to 1 MB for afl-fuzz (now: ∞ ∀ fuzzers)
  * doc: Add and fix comments about never destroyed objects
  * Split SetActiveScriptPubKeyMan into Add/LoadActiveScriptPubKeyMan
  * Split SetHDChain into AddHDChain and LoadHDChain
  * refactor: Replace const char* to std::string
  * validation: Mark g_chainman DEPRECATED
  * validation: Make ProcessNewBlock*() members of ChainstateManager
  * validation: Make PruneOneBlockFile() a member of ChainstateManager
  * validation: Make LoadBlockIndex() a member of ChainstateManager
  * net: Pass chainman into PeerLogicValidation
  * node: Add chainman alias for g_chainman
  * test: Set -logthreadnames in unit tests
  * init: Setup scheduler in tests and init in exactly the same way
  * test: Default --previous-releases to false if dir is empty
  * test: Replace TEST_PREVIOUS_RELEASES env var with test_framework option
  * test: add -getinfo multiwallet functional tests
  * rpc: drop unused JSONRPCProcessBatchReply size arg, refactor
  * cli: use GetWalletBalances() functionality for -getinfo
  * cli: create GetWalletBalances() to fetch multiwallet balances
  * cli: lift -rpcwallet logic up to CommandLineRPC()
  * cli: extract connection exception handler, -rpcwait logic
  * tests: implement base58_decode
  * Convert Qt to new serialization
  * guix: Add clarifying documentation for V env var
  * net: Use C++11 member initialization in protocol
  * test: Fix intermittent ETIMEDOUT on FreeBSD
  * test: Fix intermittent failure in feature_dbcrash
  * Add comments to CustomUintFormatter
  * [test] wait for inital broadcast before comparing mempool entries
  * [mempool] sanity check that all unbroadcast txns are in mempool
  * [rpc] add unbroadcast info to mempool entries and getmempoolinfo
  * Change docs for walletcreatefundedpsbt RPC method
  * http: Avoid crash when g_thread_http was never started
  * test: Replace inline-comments with logs, pep8 formatting
  * init: Remove confusing and redundant InitError
  * test/checkqueue_tests: thread safety annotations
  * rpc/blockchain.cpp: thread safety annotations for latestblock
  * net: fMsgProcWake use LOCK instead of lock_guard
  * wallet/wallet.h: Remove mutexScanning which was only protecting a single atomic bool
  * ci: Set DEBIAN_FRONTEND=noninteractive
  * ci: tsan on clang-9
  * refactor: Remove Node:: queries from GUI
  * qt: Add SynchronizationState enum to signal parameter
  * refactor: Remove Node::getReindex() call from GUI
  * refactor: Pass SynchronizationState enum to GUI
  * refactor: Remove unused bool parameter in RPCNotifyBlockChange()
  * refactor: Remove unused bool parameter in BlockNotifyGenesisWait()
  * Replace thread_local g_lockstack with a mutex-protected map
  * refactor: Refactor duplicated code into LockHeld()
  * refactor: Add LockPair type alias
  * refactor: Add LockStackItem type alias
  * Prevent UB in DeleteLock() function
  * [indexes] Add compact block filter headers cache
  * docs: Add notes on how to diasble rpc timeout in functional tests while attatching gdb.
  * test: Add capability to disable RPC timeout in functional tests.
  * [wallet] remove nLastResend logic
  * log: Remove "No rpcpassword set" from logs
  * Updated comment for the condition where a transaction relay is denied
  * gui: Remove un-actionable TODO
  * net: Run clang-format on protocol.h
  * net: Remove un-actionable TODO
  * log: Properly log txs rejected from mempool
  * Remove IBD check in sethdseed
  * Test that keys from inactive seeds are generated
  * Generate new keys for inactive seeds after marking used
  * Determine inactive HD seeds from key metadata and track them in LegacyScriptPubKeyMan
  * Remove unnecessary blockfile SetPos
  * wallet: Minimal fix to restore conflicted transaction notifications
  * Switch from Optional<T> to std::optional<T> (C++17). Run clang-format.
  * tests: Fill fuzzing coverage gaps for functions in util/translation.h
  * tests: Fill fuzzing coverage gaps for functions in consensus/validation.h
  * tests: Fill fuzzing coverage gaps for functions in primitives/block.h
  * test: Remove const to work around compiler error on xenial
  * test: Check that invalid witness destinations can not be imported
  * scripts: add additional type annotations to security-check.py
  * scripts: add run_command to security-check.py
  * scripts: remove NONFATAL from security-check.py
  * scripts: no-longer check for 32 bit windows in security-check.py
  * build: enforce minimum required Windows version (7)
  * miner: Avoid stack-use-after-return in validationinterface
  * test: Remove UninterruptibleSleep from test and replace it by SyncWithValidationInterfaceQueue
  * validationinterface: Rework documentation, Rename pwalletIn to callbacks
  * test: Add unregister_validation_interface_race test
  * refactor: Remove g_rpc_node global
  * scripted-diff: Remove g_rpc_node references
  * refactor: Pass NodeContext to RPC and REST methods through util::Ref
  * Add util::Ref class as temporary alternative for c++17 std::any
  * qt: Fix shutdown when waitfor* cmds are called from RPC console
  * qt: Remove QFont warnings with QPA=minimal
  * Do not answer GETDATA for to-be-announced tx
  * Simplify usage of Span in several places
  * Add Span constructors for arrays and vectors
  * Make pointer-based Span construction safer
  * Make Span size type unsigned
  * [net processing] Only send a getheaders for one block in an INV
  * Push down use of cs_main into FindTxForGetData
  * Abstract logic to determine whether to answer tx GETDATA
  * build: Enable -Wsuggest-override
  * multiprocess: add multiprocess travis configuration
  * depends: add MULTIPROCESS depends option
  * build: multiprocess autotools changes
  * guix: Make V=1 more powerful for debugging
  * fuzz: Stop nodes in process_message* fuzzers
  * test: use p2p constants in denial of service tests
  * p2p: add MAX_FEELER_CONNECTIONS constant
  * Add a link from ZMQ doc to ZMQ example in contrib/
  * avoided os-dependant path
  * fuzz: Give CNode ownership to ConnmanTestMsg in process_message fuzz harness
  * refactor: Add BerkeleyDatabaseVersion() function
  * rpcwallet: Replace pwallet-> with wallet.
  * rpcwallet: Replace boost::optional<T>::emplace with simple assignment of T{}
  * doc: add c++17-enable to fuzzing instructions
  * refactor: s/command/msg_type/ in CNetMsgMaker and CSerializedNetMsg
  * util: Drop OpOriginal() and OpTranslated()
  * gui: Do not translate InitWarning messages in debug.log
  * util: Enhance Join()
  * Set LD_LIBRARY_PATH consistently in travis tests
  * net: use CMessageHeader::HEADER_SIZE, add missing include
  * Remove unused ci configs that have been moved elsewhere
  * fuzz: Pass down MAKEJOBS to test_runner
  * build: don't pass -w when building for Windows
  * util: Enhance bilingual_str
  * fuzz: use std::optional for sep_pos variable
  * build: Enable -Werror=sign-compare
  * refactor: Rework asmap Interpret to avoid ptrdiff_t
  * [test] Add test for cfcheckpt
  * [net processing] Message handling for getcfcheckpt.
  * [init] Add -peerblockfilters option
  * fuzz: fix vector size problem in system fuzzer
  * test: Fix outstanding -Wsign-compare errors
  * [ci] make list of previous releases to download a setting
  * refactor: Remove override for final overriders
  * refactor: Use override for non-final overriders
  * Test txinwitness is accessible on coinbase vin
  * Expose txinwitness for coinbase in JSON form
  * test: Remove unnecessary disconnect_nodes call in rpc_psbt.py
  * test: remove redundant two-way disconnect_nodes calls
  * test: warn if nodes not connected before disconnect_nodes
  * travis: Remove s390x
  * test: explicit imports from test_framework.messages in p2p_invalid_messages.py
  * test: add inventory type constant MSG_CMPCT_BLOCK
  * test: replace inv type magic numbers by constants
  * test: remove glibc fdelt sanity check
  * build: remove fdelt_chk backwards compatibility code
  * Fix ZapSelectTx to sync wallet spends
  * qt: Reset toolbar after all wallets are closed
  * qt: Display warnings as rich text
  * rpc: Relock wallet only if most recent callback
  * travis: Remove valgrind
  * build: make linker checks more robust
  * rpc/blockchain.cpp: Remove g_utxosetscan mutex that is only protecting a single atomic variable
  * gui: Fix manual coin control with multiple wallets loaded
  * test: Fix intermittent sync_blocks failures
  * test: Remove RPCOverloadWrapper boilerplate
  * build: enable -Werror=gnu
  * contrib: Remove optimize-pngs.py script, which lives in the maintainer repo
  * wallet: error if an explicit fee rate was given but the needed fee rate differed
  * Add test for param interaction b/w -blocksonly and -whitelistforcerelay
  * Change SetType to SetInternal and remove m_address_type
  * Remove unimplemented SetCrypted from DescriptorScriptPubKeyMan
  * rpc: createwallet warning that descriptor wallets are experimental
  * docs: Add release notes for descriptor wallets
  * build: Suppress -Wdeprecated-copy warnings
  * valgrind : remove duplicate BCLog::Logger suppression
  * valgrind: remove rest_blockhash_by_height suppression
  * qt: Rename slot to updateDisplayUnit()
  * qt: Overhaul ReceiveRequestDialog
  * test: Add test for conflicted wallet tx notifications
  * util: Cleanup translation.h
  * doc: Do not translate technical or extremely rare errors
  * Make InitError bilingual
  * Make ThreadSafe{MessageBox|Question} bilingual
  * gui: Add detailed text to BitcoinGUI::message
  * rel-builds: Specify core.abbrev for git-rev-parse
  * Drop unused GIT_COMMIT_DATE macro
  * refactor: Remove duplicated code
  * wallet: Fix typo in assert that is compile-time true
  * test: Fix verack race to avoid intermittent test failures
  * [test] backwards compatibility: bump v0.19.0.1 to v0.19.1
  * [test] add v0.16.3 backwards compatibility test
  * gui: Fix itemWalletAddress leak when not tree mode
  * Remove CCoinsViewCache::GetValueIn(...)
  * build: warn on potentially uninitialized reads
  * tests: feature_backwards_compatibility.py test downgrade after upgrade
  * test: add factor option to adjust test timeouts
  * doc: Fix typo in Coin doxygen comment
  * have GenerateNewKey and DeriveNewChildKey take a CHDChain as an argument
  * build: Rename BUILD_* macros and the code self-descriptive
  * scripted-diff: Rename share/genbuild.sh macros to more meaningful ones
  * build: Accomodate makensis v2.x
  * guix: Remove logical cores requirement
  * lint: Also enable source statements for non-gitian
  * rel-builds: Directly deploy win installer to OUTDIR
  * test: Fix p2p_leak intermittent issue
  * test: Fix intermittent p2p_segwit issue
  * wallet: Remove trailing whitespace from potential translation strings
  * wallet: Report full error message in wallettool
  * wallet: Avoid translating RPC errors when creating txs
  * wallet: Avoid translating RPC errors when loading wallets
  * Revert "gui: Avoid Wallet::GetBalance in WalletModel::pollBalanceChanged"
  * Get rid of BindWallet
  * gui: Avoid wallet tryGetBalances calls before TransactionChanged or BlockTip notifications
  * Disable CWalletTx copy constructor
  * Cancel wallet balance timer when shutdown requested
  * Avoid copying CWalletTx in LoadToWallet
  * Switch transaction table to use wallet height not node height
  * Get rid of unneeded CWalletTx::Init parameter
  * Remove CWalletTx merging logic from AddToWallet
  * [wallet] Remove locked_chain from CWallet, its RPCs and tests
  * [wallet] Move methods from Chain::Lock interface to simple Chain
  * [wallet] Move getBlockHash from Chain::Lock interface to simple Chain
  * [wallet] Move getBlockHeight from Chain::Lock interface to simple Chain
  * [wallet] Move getHeight from Chain::Lock interface to simple Chain
  * ci: Merge C++17 build with one of the existing ones
  * test: Strip down previous releases boilerplate
  * tests: Clarify how we avoid hitting the signed integer overflow in CFeeRate::GetFeePerK() when fuzzing
  * tests: Add fuzzing harness for IsRBFOptIn(...)
  * tests: Add fuzzing harness for CBlockPolicyEstimator
  * test: Add test for GetRandMillis and GetRandMicros
  * Add templated GetRandomDuration<>
  * build: add -Wgnu to compile flags
  * Remove use of non-standard zero variadic macros
  * Drop unused LOG_TIME_MICROS helper
  * prevector: Avoid unnamed struct, which is a GNU extension
  * test: fix message for ECC_InitSanityCheck test
  * [docs] Improve commenting in ProcessGetData()
  * [test] test that an invalid GETDATA doesn't prevent processing of future messages
  * qt: Track QEvent::Resize during animation
  * Use salted hasher instead of nonce in sigcache
  * [net processing] ignore unknown INV types in GETDATA messages
  * [net processing] ignore tx GETDATA from blocks-only peers
  * test: added test for upgradewallet RPC
  * rpc: Add mutex to guard deadlineTimers
  * Add Hash Padding Microbenchmarks
  * test: add test for witness commitment index
  * validation: Add minimum witness commitment size constant
  * fix: update rest info on block size and json
  * rpc: Do not advertise dumptxoutset as a way to flush the chainstate
  * Drop unused CLIENT_VERSION_SUFFIX macro
  * net: remove is{Empty,Full} flags from CBloomFilter, clarify CVE fix
  * tests: Add missing sync_all to wallet_importdescriptors.py
  * test: Fix wallet_bumpfee intermittent error
  * nsis: Specify OutFile path only once
  * guix: Expose GIT_COMMON_DIR in container as readonly
  * guix: Make source tarball using git-archive
  * gitian: Limit sourced script to just assignments
  * ci: Document why tests can not be run on mac
  * ci: Fix default retry script usage
  * init: Remove boost from ThreadImport
  * tests: Add fuzzing harness for MessageSign, MessageVerify and other functions in util/message.h
  * ci: Add and document BASE_BUILD_DIR
  * wallet: Make sure no WalletDescriptor members are uninitialized after construction
  * wallet: Make sure no DescriptorScriptPubKeyMan members are uninitialized after construction
  * doc: Better explain GNU ld's dislike of ld64's options
  * ci: Run functional tests on mac again
  * test: Add CreateWalletFromFile test
  * Prevent valgrind false positive in rest_blockhash_by_height
  * wallet: Recommned absolute path for dumpwallet
  * test: use unittest and test_runner for test framework unit testing
  * tests: Sort fuzzing harnesses
  * tests: Add fuzzing coverage for JSONRPCTransactionError(...) and RPCErrorFromTransactionError(...)
  * tests: Add fuzzing coverage for TransactionErrorString(...)
  * tests: Add fuzzing coverage for ParseFixedPoint(...)
  * tests: Add fuzzing coverage for FormatHDKeypath(...) and WriteHDKeypath(...)
  * tests: Add fuzzing coverage for CHECK_NONFATAL(...)
  * tests: Add fuzzing coverage for StringForFeeReason(...)
  * tests: Add fuzzing harness for functions in system.h (ArgsManager)
  * qt: remove todo bug fix for old versions of Qt
  * Fix WSL file locking by using flock instead of fcntl
  * test: Remove raw-tx byte juggling in mempool_reorg
  * test: check misbehavior more independently in p2p_filter.py
  * test: use zero-argument super() shortcut (Python 3.0+)
  * bench: Start nodes with -nodebuglogfile
  * test: add coverage for -rpcwallet cli option
  * test: Add mempool_updatefromblock.py
  * fuzz: Remove enumeration of expected deserialization exceptions in ProcessMessage(...) fuzzer
  * tests: Add fuzzing harness for functions in primitives/transaction.h
  * refactor: test: use wait_for_getdata() in p2p_compactblocks.py
  * test: Fix intermittent failure in wallet_importmulti
  * test: Fix intermittent error in mempool_reorg
  * [mempool] Persist unbroadcast set to mempool.dat
  * [test] Integration tests for unbroadcast functionality
  * [refactor/test] Extract P2PTxInvStore into test framework
  * [wallet] Update the rebroadcast frequency to be ~1/day.
  * [p2p] Reattempt initial send of unbroadcast transactions
  * [util] Add method that returns random time in milliseconds
  * [mempool] Track "unbroadcast" transactions
  * Add a --descriptors option to various tests
  * tests: Add RPCOverloadWrapper which overloads some disabled RPCs
  * Correctly check for default wallet
  * Implement CWallet::IsSpentKey for non-LegacySPKMans
  * Return error when no ScriptPubKeyMan is available for specified type
  * Change wallet_encryption.py to use signmessage instead of dumpprivkey
  * Functional tests for descriptor wallets
  * add importdescriptors RPC and tests for native descriptor wallets
  * Add IsLegacy to CWallet so that the GUI knows whether to show watchonly
  * Generate new descriptors when encrypting
  * Be able to create new wallets with DescriptorScriptPubKeyMans as backing
  * Implement GetMetadata in DescriptorScriptPubKeyMan
  * Change GetMetadata to use unique_ptr<CKeyMetadata>
  * Implement FillPSBT in DescriptorScriptPubKeyMan
  * Implement SignMessage for descriptor wallets
  * Implement SignTransaction in DescriptorScriptPubKeyMan
  * Implement GetSolvingProvider for DescriptorScriptPubKeyMan
  * Implement GetKeypoolOldestTime and only display it if greater than 0
  * Implement ReturnDestination in DescriptorScriptPubKeyMan
  * Implement GetReservedDestination in DescriptorScriptPubKeyMan
  * Implement Unlock and Encrypt in DescriptorScriptPubKeyMan
  * Implement GetNewDestination for DescriptorScriptPubKeyMan
  * Implement TopUp in DescriptorScriptPubKeyMan
  * Implement SetupGeneration for DescriptorScriptPubKeyMan
  * Implement writing descriptorkeys, descriptorckeys, and descriptors to wallet file
  * Implement several simple functions in DescriptorScriptPubKeyMan
  * Add IsSingleType to Descriptors
  * Implement loading of keys for DescriptorScriptPubKeyMan
  * Load the descriptor cache from the wallet file
  * Implement GetID for DescriptorScriptPubKeyMan
  * Implement IsHDEnabled in DescriptorScriptPubKeyMan
  * Implement MarkUnusedAddresses in DescriptorScriptPubKeyMan
  * Implement IsMine for DescriptorScriptPubKeyMan
  * Add LoadDescriptorScriptPubKeyMan and SetActiveScriptPubKeyMan to CWallet
  * Implement SetType in DescriptorScriptPubKeyMan
  * Store WalletDescriptor in DescriptorScriptPubKeyMan
  * Add a lock cs_desc_man for DescriptorScriptPubKeyMan
  * Introduce WalletDescriptor class
  * Create LegacyScriptPubKeyMan when not a descriptor wallet
  * Return nullptr from GetLegacyScriptPubKeyMan if descriptor wallet
  * Add WALLET_FLAG_DESCRIPTORS
  * Introduce DescriptorScriptPubKeyMan as a dummy class
  * Introduce SetType function to tell ScriptPubKeyMans the type and internal-ness of it
  * Fix naming of macOS SDK and clarify version
  * [net processing] Move all const declarations to top of net_processing.cpp
  * [validation] Move all const declarations to top of validation.h
  * [validation] Move validation-only consts to validation.cpp
  * [net processing] Move net processing consts to net_processing.cpp
  * scripts: add PE .reloc section check to security-check.py
  * test: Check submitblock return values
  * tests: Add fuzzing harness for functions in primitives/block.h
  * test: check for matching object hashes in wait_for_getdata
  * doc: Document how to fuzz Bitcoin Core using honggfuzz
  * doc: Add wallet release notes for 0.21.0
  * depends: Add --sysroot option to mac os native compile flags
  * Add release notes skeleton, so that notes can be filled easier
  * test: Remove unused, undocumented and misleading CScript.__add__
  * [docs] use consistent naming for possible_overwrite
  * [tests] small whitespace fixup
  * scripted-diff: Rename PRUNED to SPENT in coins tests
  * [docs] Improve commenting in coins.cpp|h
  * [test] add 8 error messages to feature_segwit and change version to type
  * test: display command line options passed to send_cli() in debug log
  * bench: add CAddrMan benchmarks
  * test: Fix linter issue
  * scripts: add MACHO LAZY_BINDINGS test to test-security-check.py
  * scripts: add MACHO Canary check to security-check.py
  * doc: fix typo in configure.ac
  * test: add further BIP37 size limit checks to p2p_filter.py
  * tests: Add fuzzing harness for Golomb-Rice coding (GolombRiceEncode/GolombRiceDecode)
  * Do not expose and consider -logthreadnames when it does not work
  * doc: note why we can't use thread_local with glibc back compat
  * test: fix intermittent race condition in interface_bitcoin_cli.py
  * test: add wait_for_cookie_credentials() to test framework
  * wallet: Refactor WalletRescanReserver to use wallet reference
  * ci: Remove xenial tsan workaround
  * test: Increase debugging to hunt down mempool_reorg intermittent failure
  * build: fix ASLR for bitcoin-cli on Windows
  * test: Properly raise FailedToStartError when rpc shutdown before warmup finished (take 2)
  * rpc: doc: Fix and extend getblockstats examples
  * test: Replace boost::mutex with std::mutex
  * test: Bump timeout in wallet_import_rescan
  * fuzz: Run in parallel
  * fuzz: http_request workaround for libevent < 2.1.1
  * bench: Replace ::mempool globabl with test_setup.mempool
  * bench: Remove requirement that all benches use RegTestingSetup
  * refactor: Drop unused ${WRAP_DIR}/${HOST} directory
  * build: Drop make dist in gitian builds
  * ci: Disable valgrind functionl tests on forked repos to avoid timeouts
  * fuzz: fix unused variable compiler warning
  * build: Set libevent minimum version to 2.0.21
  * test: Move boost/stdlib includes last
  * Adding build instructions to Bitcoin Core, fixes #18658
  * wallet: Add BlockUntilSyncedToCurrentChain to dumpwallet
  * refactor: Remove unused methods CBloomFilter::reset()/clear()
  * [tests] Don't initialize PrecomputedTransactionData in txvalidationcache tests
  * scripted-diff: Bump copyright headers
  * scripted-diff: Sort test includes
  * util: Document why ArgsManager (con/de)structor is not inline
  * Disable unavailable context menu items in transactions tab
  * log: Use Join() helper when listing log categories
  * ci: Limit cache size regardless of NO_DEPENDS
  * rpc: Document all aliases for first arg of listtransactions
  * rpc: Document all aliases for second arg of getblock
  * bench: Remove unused argsman.ClearArgs
  * scripted-diff: Replace gArgs with local argsman in bench
  * tools: Add unused argsman to bench_bitcoin
  * test: Verify findCommonAncestor always initializes outputs
  * fuzz: Disable debug log file
  * test: Add optional extra_args to testing setup
  * node: Add args alias for gArgs global
  * [doc] Update thread information in developer docs
  * test: Avoid accessing free'd memory in validation_chainstatemanager_tests
  * test: add -getinfo "unlocked_until" and "headers" coverage
  * test: verify cli.getwalletinfo in wallet section
  * test: verify bitcoin-cli -version with node stopped
  * test: add coverage for bitcoin-cli -rpcwait
  * script: Remove undocumented and unused operator+
  * scripted-diff: test: replace command with msgtype
  * qt: Make bitcoin.ico non-executable
  * tests: Add std::locale::global to list of locale dependent functions in lint-locale-dependence.sh
  * gui: use PACKAGE_NAME in exception message
  * test: Create cached blocks not in the future
  * appveyor: Remove clcache
  * ci: Add fuzzbuzz integration
  * test: add more inactive filter tests to p2p_filter.py
  * doc: Fix macos comments in release-notes
  * rpc: settxfee respects -maxtxfee wallet setting
  * appveyor: Disable functional tests for now
  * test: Improve naming and logging of avoid_reuse tests
  * wallet: Prefer full destination groups in coin selection
  * util: Detect posix_fallocate() instead of assuming
  * test: Add various low-level p2p tests
  * Remove -upgradewallet startup option
  * Add upgradewallet RPC
  * Make UpgradeWallet a member function of CWallet
  * Have UpgradeWallet take the version to upgrade to and an error message out parameter
  * Only run UpgradeWallet if the wallet needs to be upgraded
  * Move wallet upgrading to its own function
  * Added my fingerprint Stephan Oeste (Emzy)
  * script: Disallow silent bool -> CScript conversion
  * gitian: add jonatack gpg key fingerprint
  * doc: default minconf for getbalance should be 0
  * rpc: Rename first arg of generateblock RPC to "output"
  * test: Remove REJECT message code
  * test: Try once more when RPC connection fails on Windows
  * test: Document why connection is re-constructed on windows
  * test: Remove python 3.4 workaround
  * cirrus: Bump freebsd to 12.1
  * build: add linker optimization flags to guix
  * build: add linker optimization flags to gitian descriptors
  * test: add rpc_signrawtransaction logging
  * test: refactor rpc_signrawtransaction witness script tests
  * [REFACTOR] Initialize PrecomputedTransactionData in CheckInputScripts
  * Add C++17 test to Travis
  * gitian: Add missing automake package to gitian-win-signer.yml
  * test: Extend wallet_dump test to cover comments
  * refactor: test: improve wait_for{header,merkleblock} interface
  * test: complete impl. of msg_merkleblock and wait_for_merkleblock
  * Add configure option for c++17
  * Support conversion between Spans of compatible types
  * Update ax_cxx_compile_stdcxx.m4
  * Revert "Merge #16367: Multiprocess build support"
  * rpc: Remove deprecated migration code
  * build: Bump gitian descriptors to 0.21
  * ci: Add pip cache
  * ci: Print ccache statistics summary
  * ci: Drop unused WINEDEBUG variable
  * build: Bump version to 0.20.99
  * test: Check that the version message does not leak the local address of the node
  * test: update and harden interface_bitcoin_cli tests
  * cli -getinfo: use getbalances instead of deprecated getwalletinfo balance
  * net: limit BIP37 filter lifespan (active between 'filterload' and 'filterclear')
  * script: prevent UB when computing abs value for num opcode serialize
  * Add asmap_direct fuzzer that tests Interpreter directly
  * Make asmap Interpreter errors fatal and fuzz test it
  * Add additional effiency checks to sanity checker
  * Add asmap sanity checker
  * Improve asmap Interpret checks and document failures
  * Deal with decoding failures explicitly in asmap Interpret
  * Introduce Instruction enum in asmap
  * guix: Appease travis.
  * guix: Use gcc-9 for mingw-w64 instead of 8
  * guix: Don't set MINGW_HAS_SECURE_API CFLAG in depends
  * guix: Bump to upstream commit with mingw-w64 changes
  * Avoid non-trivial global constants in SHA-NI code
  * build: remove -Qunused-arguments workaround for clang + ccache
  * depends: Use default macos clang compiler
  * Add multiprocess travis configuration
  * Set LD_LIBRARY_PATH consistently in travis tests
  * libmultiprocess depends build
  * Multiprocess build changes
  * Use getbalances in wallet_address_types tests
  * Shift coverage from getunconfirmedbalance to getbalances in wallet_abandonconflict tests
  * Improve getbalances coverage in wallet_balance tests
  * guix: Check mingw symbols, improve SSP fix docs
  * guix: Expand on INT trap message
  * guix: Spelling fixes
  * guix: Reinstate make-ssp-fixed-gcc
  * guix: Bump time-machine for mingw-w64 patches
  * guix: Use gcc-8 for mingw-w64 instead of 7
  * guix: Set the well-known timezone env var
  * guix: Make x86_64-w64-mingw32 builds reproducible
  * guix: Remove dead links from README.
  * guix: Appease shellcheck.
  * guix: Improve guix-build.sh documentation
  * guix: Build support for Windows
  * Drop bitcoin-wallet dependency on libevent
  * Drop unintended bitcoin-tx dependency on libevent
  * rpc: Remove deprecated "size" from mempool txs
  * rpc: Add documentation for deactivating settxfee
  * wallet: Avoid use of Chain::Lock in CWallet::GetKeyBirthTimes
  * wallet: Avoid use of Chain::Lock in CWallet::CreateTransaction
  * wallet: Avoid use of Chain::Lock in CWallet::ScanForWalletTransactions
  * wallet: Avoid use of Chain::Lock in rescanblockchain
  * wallet refactor: Avoid use of Chain::Lock in CWallet::RescanFromTime
  * wallet: Avoid use of Chain::Lock in listsinceblock
  * wallet: Avoid use of Chain::Lock in importmulti
  * wallet: Avoid use of Chain::Lock in importwallet and dumpwallet
  * wallet: Avoid use of Chain::Lock in importprunedfunds
  * wallet refactor: Avoid use of Chain::Lock in qt wallettests
  * wallet: Avoid use of Chain::Lock in tryGetTxStatus and tryGetBalances
  * refactor: Add interfaces::FoundBlock class to selectively return block data
  * Convert everything except wallet/qt to new serialization
  * Convert blockencodings_tests to new serialization
  * Convert merkleblock to new serialization
  * Add SER_READ and SER_WRITE for read/write-dependent statements
  * Extend CustomUintFormatter to support enums
  * Merge BigEndian functionality into CustomUintFormatter
  * Merge getreceivedby tally into GetReceived function
  * Add tests for generateblock
  * Add generateblock rpc
  * [psbt] add file size limit
  * [gui] load PSBT
  * [gui] save PSBT to file
  * Move DEFAULT_MAX_RAW_TX_FEE_RATE to node/transaction.h
  * lockedpool: avoid sensitive data in core files (FreeBSD)
  * [consensus] MOVEONLY: Move single-sig checking EvalScript code to EvalChecksig
  * qt: Use parent-child relation to manage lifetime of OptionsModel object
  * [util] GetFileSize
  * [gui] send dialog: split on_sendButton_clicked
  * validation: delay flushing undo files in syncing node case
  * build: Drop ZeroMQ patch for glibc < 2.12
  * build: Drop ZeroMQ patch for Mingw-w64 < 4.0
  * fixing documentation to not require rpcpassword
  * Fix a compiler warning: unused GetDevURandom()
  * protect g_chainman with cs_main
  * test: add basic tests for ChainstateManager
  * use ChainstateManager to initialize chainstate
  * refactor: move RewindBlockIndex to CChainState
  * validation: introduce unused ChainstateManager
  * validation: add CChainState.m_from_snapshot_blockhash
  * DNS seeds: don't query DNS while network is inactive
  * DNS seeds: wait for 5m instead of 11s if 1000+ peers are known
  * build: Fix m4 escaping
  * build: Remove extra tokens warning
  * build: Remove duplicated QT_STATICPLUGIN define
  * build: Fix indentation in bitcoin_qt.m4
  * build: Use pkg-config in BITCOIN_QT_CONFIGURE for all hosts
  * [rpc] fundrawtransaction: add_inputs option to control automatic input adding
  * [rpc] walletcreatefundedpsbt: don't automatically append inputs
  * build: Fix mingw pkgconfig file and dependency naming
  * bnb: exit selection when best_waste is 0
  * refactor: Use psbt forward declaration
  * Add ChainClient setMockTime, getWallets methods
  * Consolidate service flag bit-to-name conversion to a shared serviceFlagToStr function
  * Bugfix: GUI: Use unsigned long long type to avoid implicit conversion of MSB check
  * gui: Add close window shortcut
  * [wallet] allow transaction without change if keypool is empty
  * [wallet] CreateTransaction: simplify change address check
  * [wallet] translate "Keypool ran out" message
  * Upgrade or rewrite encrypted key checksums
  * Set fDecryptionThoroughlyChecked based on whether crypted key checksums are valid
  * Read and write a checksum for encrypted keys
  * qt: Hide non PKHash-Addresses in signing address book
  * gui: Avoid redundant tx status updates
  * DecodeHexTx: Break out transaction decoding logic into own function
  * DecodeHexTx: Try case where txn has inputs first
  * tests: have coins simulation test also use CCoinsViewDB
  * wallet: Fix for exported confirmation field in payment to self transactions
  * Always define the raii_event_tests test suite
  * Additionally treat Tx.nVersion as unsigned in joinpsbts
  * Dump transaction version as an unsigned integer in RPC/TxToUniv
  * zmq: enable tcp keepalive

-------------------------------------------------------------------
Fri Jan 08 14:55:06 UTC 2021 - marec@detebe.org

- Update to version 0.17.1:
  * Release 0.17.1 final
  * Release 0.17.1-rc1
  * Revert default minrelaytxfee to pre-0.16.0 value
  * Revert fallbackfee default to pre-0.16.0 value
  * Prepare for future 0.17.1 release
  * Update init.cpp

-------------------------------------------------------------------
Sun Dec 27 13:43:24 UTC 2020 - marec@detebe.org

- Update to version 0.17.0:
  * Bump version to 0.17.0-final
  * Release 0.17.0-rc1
  * new checkpoint added
  * updating the DNS seeds
  * Change to static_cast
  * Remove TODO comment
  * Change variable scope
  * Check return value of fread
  * Mainnet fork

-------------------------------------------------------------------
Wed Dec 02 06:29:23 UTC 2020 - marec@detebe.org

- Update to version 0.16.0:
  * Release 0.16.0 final
  * Release 0.16.0 RC2
  * Fix problems in file layout of verthash.dat
  * Release 0.16.0 RC1
  * Verthash implementation
  * build: Bump version to 0.20.1-final
  * [0.20] lint: fix shellcheck URL in CI install
  * doc: Add changelog and authors to release notes for 0.20.1
  * qt: Translation update for 0.20.1rc1
  * doc: Regenerate man pages for 0.20.1rc1
  * build: Bump version to 0.20.1rc1
  * qt: Fix QFileDialog for static builds
  * Increment input value sum only once per UTXO in decodepsbt
  * Remove cached directories and associated script blocks from appveyor CI configuration.
  * appveyor: Remove clcache
  * doc: move-only release notes for 0.20.1
  * doc: Clear release notes for minor release
  * Clean up separated ban/discourage interface
  * Replace automatic bans with discouragement filter
  * test: remove Cirrus CI FreeBSD job
  * qa: Test concurrent wallet loading
  * wallet: Handle concurrent wallet loading
  * tests: Check that segwit inputs in psbt have both UTXO types
  * psbt: always put a non_witness_utxo and don't remove it
  * psbt: Allow both non_witness_utxo and witness_utxo
  * rpc: show both UTXOs in decodepsbt
  * trivial: Suggested cleanups to surrounding code
  * wallet: Minimal fix to restore conflicted transaction notifications
  * Fix WSL file locking by using flock instead of fcntl
  * gui: update Qt base translations for macOS release
  * build: improved output of configure for build OS
  * util: Don't reference errno when pthread fails.
  * Remove old activation bits
  * Make sure regtest mimics testnet difficulty
  * Remove the testnet boolean
  * Bury BIP9 deployments like in Bitcoin
  * Segwit activation check version-bits style
  * Add missing QPainterPath include
  * Fixes to bitcoin_locale
  * Use GMP for KGW arithmatic
  * Fixed compile- and merge errors
  * doc: Manpages update pre-final
  * build: Set rc to 0 for -final
  * doc: Merge 0.20.0 release notes from wiki
  * build: Bump RC to rc2
  * qt: Pre-rc2 translations update
  * test: disable script fuzz tests
  * fuzz: Remove enumeration of expected deserialization exceptions in ProcessMessage(...) fuzzer
  * [net processing] Only send a getheaders for one block in an INV
  * test: Remove const to work around compiler error on xenial
  * miner: Avoid stack-use-after-return in validationinterface
  * test: Add unregister_validation_interface_race test
  * gui: Fix manual coin control with multiple wallets loaded
  * test: Add test for conflicted wallet tx notifications
  * rpc: Relock wallet only if most recent callback
  * rpc: Add mutex to guard deadlineTimers
  * [docs] Improve commenting in ProcessGetData()
  * [test] test that an invalid GETDATA doesn't prevent processing of future messages
  * [net processing] ignore unknown INV types in GETDATA messages
  * [net processing] ignore tx GETDATA from blocks-only peers
  * gui: Fix itemWalletAddress leak when not tree mode
  * travis: Remove s390x
  * travis: Remove valgrind
  * build: Ensure source tarball has leading directory name
  * Unset release flag and bump version to 0.15.1
  * regtest bech32 prefix fix (#108)
  * rpc: Do not advertise dumptxoutset as a way to flush the chainstate
  * Fix naming of macOS SDK and clarify version
  * Do not expose and consider -logthreadnames when it does not work
  * build: fix ASLR for bitcoin-cli on Windows
  * build: Set libevent minimum version to 2.0.21
  * Avoid non-trivial global constants in SHA-NI code
  * gitian: Add missing automake package to gitian-win-signer.yml
  * Ban nodes that keep requesting the same headers (#103)
  * qt: Update translations pre-rc1
  * doc: Update manpages pre-rc1
  * build: Bump version to 0.20.0
  * Correct scripted-diff example link
  * ci: Rename RUN_CI_ON_HOST to DANGER_RUN_CI_ON_HOST
  * ci: Add native s390x
  * test: Set -use_value_profile=1 when merging fuzz inputs
  * tests: Add coverage of {,Incremental}DynamicUsage(const std::set<X, Y>& s) to existing fuzzer
  * tests: Add fuzzing harness for classes/functions in cuckoocache.h
  * tests: Add fuzzing harness for classes/functions in checkqueue.h
  * tests: Add coverage of GetVirtualTransactionSize(...) to existing fuzzer
  * tests: Add fuzzing harness for AdditionOverflow(...)
  * tests: Add fuzzing harness for FeeFilterRounder
  * ci: Run unit tests sequential once
  * appveyor: Enable minimal unit test logging to aid debugging
  * Fix unregister_all_during_call cleanup
  * test: Properly raise FailedToStartError when rpc shutdown before warmup finished
  * build: Update ax_boost_mase.m4 to the latest serial
  * Add test for UnregisterAllValidationInterfaces bug
  * Do not clear validationinterface entries being executed
  * Reorder the test instructions by number
  * Merge and generalize case 3 and case 6
  * Only run sanity check once at the end
  * Assert immediately rather than caching failure
  * Make a fuzzer-based copy of the prevector randomized test
  * qt: Fix Window -> Minimize menu item
  * Wallet: Change IsMine check in CWallet::DelAddressBook from assert to failure
  * Wallet: Replace CAddressBookData.name with GetLabel() method
  * QA: Test that change doesn't turn into non-change when spent in an avoid-reuse wallet
  * test: Use one node to avoid a race due to missing sync in rpc_signrawtransaction
  * rpc: Make verifychain default values static, not depend on global args
  * test: wallet_bumpfee assertion fixup
  * test: relax bumpfee dust_to_fee txsize an extra vbyte
  * Remove PID file at the very end
  * tests: Add fuzzing harness for HTTPRequest, libevent's evhttp and related functions
  * test: skip backwards compat tests if not compiled with wallet
  * scripted-diff: Replace strCommand with msg_type
  * rpc: Avoid initialization-order-fiasco on static CRPCCommand tables
  * fuzz: Add process_messages harness
  * build: create test_fuzz library from src/test/fuzz/fuzz.cpp
  * tests: Add proof-of-work fuzzing harness
  * refactor: drop boost::signals2 in validationinterface
  * scripts: add MACHO lazy bindings check to security-check.py
  * test: remaining replacements of (send_message+sync_with_ping) with send_and_ping
  * fuzz: Extend script fuzz test
  * fuzz: Extend descriptor fuzz test
  * test: remove rapidcheck integration and tests
  * net: Hardcoded seeds update for 0.20
  * test: add BIP37 remote crash bug [CVE-2013-5700] test to p2p_filter.py
  * [doc] fix git add argument
  * fuzz: Add CScriptNum::getint coverage
  * fuzz: Avoid running over all inputs after merging them
  * Wallet: Add warning comments and assert to CWallet::DelAddressBook
  * Wallet: Avoid unnecessary/redundant m_address_book lookups
  * rpc: Fix rpcRunLater race in walletpassphrase
  * Wallet: Avoid treating change-in-the-addressbook as non-change everywhere
  * Wallet: New FindAddressBookEntry method to filter out change entries (and skip ->second everywhere)
  * Wallet: Add CAddressBookData::IsChange which returns true iff label has never been set
  * Wallet: Require usage of new CAddressBookData::setLabel to change label
  * scripted-diff: Wallet: Rename mapAddressBook to m_address_book
  * test: Add basic addr relay test
  * Bugfix: RPC: JSON null is not "None"
  * Bugfix: RPC: Don't use a continuation elipsis after an elision elipsis
  * Bugfix: RPC: Add missing commas and correct indentation of explicit ELISION
  * net: Pass connman const when relaying address
  * doc: Update webchat URLs in README.md
  * init: Replace URL_WEBSITE with PACKAGE_URL
  * build: Detect gmtime_* definitions via configure
  * chainparams: Bump assumed valid hash
  * rpc: Make rpc documentation not depend on rpc args
  * test: replace (send_message + sync_with_ping) with send_and_ping
  * test: remove redundant sync_with_ping after add_p2p_connection
  * qt: Translations update pre-branch
  * Correctly compute redeemScript from witnessScript for signrawtransaction
  * doc: Explain new test logging
  * test: Remove redundant sync_with_ping after add_p2p_connection
  * test: Wait for both veracks in add_p2p_connection
  * gui: Delete progress dialog instead of hidding it
  * wallet: Handle duplicate fileid exception
  * doc: note the costs of fetching all pull requests
  * test: add BIP37 'filterclear' test to p2p_filter.py
  * ci: Use Focal for fuzzers
  * test: check that peer is connected when calling sync_*
  * test: Remove unsafe BOOST_TEST_MESSAGE
  * doc: block-relay-only is not blocksonly
  * net: Add missing cs_vNodes lock
  * tests: Add fuzzing harness for functions/classes in random.h
  * tests: Add fuzzing harness for LimitedString (serialize.h)
  * tests: Add fuzzing harness for functions/classes in span.h
  * tests: Add fuzzing harness for functions/classes in merkleblock.h
  * tests: Add fuzzing harness for functions/classes in flatfile.h
  * Update -blocksonly documentation
  * rpc: remove unused getbalances() code
  * Bugfix: RPC: Remove final comma for last entry of fixed-size Arrays and Objects in RPCResult
  * serialization: prevent int overflow for big Coin::nHeight
  * net: Make addr relay mockable
  * gui: Handle WalletModel::unload asynchronous
  * Fix wallet unload race condition
  * util: Replace i64tostr with ToString
  * util: Remove unused itostr
  * Limit decimal range of numbers ParseScript accepts
  * test: add coverage for script parse error in ParseScript
  * tests: Add fuzzing harness for functions/classes in chain.h
  * tests: Add fuzzing harness for functions/classes in protocol.h
  * ci: Remove misplaced comments from folded block scalar
  * wallet: remove CreateTotalBumpTransaction()
  * wallet: remove totalfee from createBumpTransaction()
  * rpc: remove deprecated totalFee arg from RPC bumpfee
  * ci: Use Homebrew addon on native macOS
  * ci: Fix brew in Travis
  * scripts: rename test_64bit_PE to test_PE
  * scripts: add MACHO NX check to security-check.py
  * scripts: add MACHO tests to test-security-check.py
  * ci: Only clone bitcoin-core/qa-assets when fuzzing
  * build: remove double LIBBITCOIN_SERVER from bench-Makefile
  * test: Add basic test for BIP 37
  * [scripts] previous_release: improve failed download error message
  * tests: Add fuzzing harness for classes/functions in blockfilter.h
  * tests: Add integer serialization/deserialization fuzzing harness
  * Update with new Windows code signing certificate
  * test: listsinceblock block height checks
  * tests: Add fuzzing harness for functions in net_permissions.h
  * tests: Add fuzzing harness for functions in timedata.h
  * tests: Add fuzzing harness for functions in addrdb.h
  * gui: avoid QT Designer/Form Editor re-formatting
  * gui: display Mapped AS in peers info window
  * Make VerifyWitnessProgram use a Span stack
  * script: fix SCRIPT_ERR_SIG_PUSHONLY error string
  * Check for overflow when calculating sum of outputs
  * test: add executable flag for rpc_estimatefee.py
  * ci: Run feature_block and feature_abortnode in valgrind
  * tests: Don't assume presence of __builtin_mul_overflow in MultiplicationOverflow(...) fuzzing harness
  * test: delete wallet_bumpfee_totalfee_deprecation.py
  * test: update bumpfee testing from totalFee to fee_rate
  * scripts: add PE dylib checking to symbol-check.py
  * rpc: fix broken RPCExamples for waitforblock(height)
  * build: Fix typo in EVENT_CFLAGS variable
  * build: Fix libevent linking for bench_bitcoin binary
  * rpc: add missing HelpExampleRpc for getblockfilter
  * test: Remove ci timeout restriction in test_runner
  * doc: Add internal interface conventions to developer notes
  * refactor: Change createWallet, fillPSBT argument order
  * refactor: Change Chain::broadcastTransaction param order
  * refactor: Rename Chain::Notifications methods to be consistent with other interfaces methods
  * refactor: Rename Node::disconnect methods
  * refactor: Get rid of Wallet::IsWalletFlagSet method
  * doc: Temporary note that release notes should be edited in wiki
  * build: fix sysctl() detection on macOS
  * doc: Add fuzzing quickstart guides for libFuzzer and afl-fuzz. Simplify instructions.
  * Add bn2vch test to functional tests
  * Simplify bn2vch using int.to_bytes
  * Update merkle.cpp
  * net: fix use-after-free in tests
  * test: use fs namespace in dbwrapper unicodepath test
  * doc: mention MAKE=gmake workaround when building on a BSD
  * tests: Add harness which fuzzes EvalScript and VerifyScript using a fuzzed signature checker
  * tests: simplify next_block() function in feature_block
  * doc: fix GetTimeMicros() comment in random.cpp
  * rand: remove getentropy() fallback for macOS < 10.12
  * tx: Bump transifex slug to 020x
  * qt: Periodical translations update
  * Fix missing header in sync.h
  * build: Drop needless EXTRA_DIST content
  * tests: Add fuzzing harness for various functions taking std::string as input
  * tests: Add fuzzing harness for MultiplicationOverflow(...)
  * tests: Add fuzzing harness for CFeeRate
  * tests: Add fuzzing harness for CBlockHeader
  * tests: Add fuzzing harness for count_seconds(...)
  * test: Bump timeouts to avoid valgrind failures
  * Replace std::to_string with locale-independent alternative
  * Fix mining to an invalid target + ensure that a new block has the correct hash internally in Python tests
  * Replace remaining literals BTC with CURRENCY_UNIT
  * rpc: Document an RPCResult for all calls; Enforce at compile time
  * rpc: Add missing newline in RPCResult description
  * Fix nit in getblockchaininfo
  * util: Fail to parse space-only strings in ParseMoney(...) (instead of parsing as zero)
  * refactor: Remove mempool global from net
  * build: Drop SOURCEDIST reordering
  * build: Use git archive as source tarball
  * [mempool] Remove NotifyEntryAdded and NotifyEntryRemoved callbacks
  * [validation] Remove pool member from ConnectTrace
  * [validation] Remove NotifyEntryRemoved callback from ConnectTrace
  * [validation] Remove conflictedTxs from PerBlockConnectTrace
  * [validation interface] Remove vtxConflicted from BlockConnected
  * [wallet] Notify conflicted transactions in TransactionRemovedFromMempool
  * guix: Remove now-unnecessary gcc make flag
  * fuzz: Add missing ECC_Start to key_io test
  * test: Bump rpc timeout in feature_assumevalid to avoid valgrind timeouts
  * test: Bump walletpassphrase timeouts in wallet_createwallet to avoid valgrind timeouts
  * util: HelpExampleRpc formatting fixup
  * tests: Add fuzzing of CSubNet, CNetAddr and CService related functions
  * tests: Fuzz HasAllDesirableServiceFlags(...) and MayHaveUsefulAddressDB(...)
  * tests: Fuzz DecodeBase64PSBT(...)
  * tests: Simplify code by removing unwarranted use of unique_ptr:s
  * tests: Fuzz DecodeHexBlk(...)
  * tests: Fuzz RecursiveDynamicUsage(const std::shared_ptr<X>& p)
  * tests: Fuzz operator!= of CService
  * tests: Increase fuzzing coverage of DecompressScript(...)
  * tests: Fuzz currently uncovered code path in TxToUniv(...)
  * tests: Re-arrange test cases in parse_univalue to increase coverage
  * doc: Explain rebase/squash policy in CONTRIBUTING.md
  * tests: Remove unit test from fuzzing harness
  * tests: Add deserialization fuzzing of SnapshotMetadata (utxo_snapshot), uint160 and uint256
  * tests: Add one specialized ProcessMessage(...) fuzzing binary per message type for optimal results when using coverage-guided fuzzing
  * tests: Add fuzzing harness for ProcessMessage(...)
  * ci: Enable all functional tests in valgrind
  * bumpfee test: exit loop at proper time with new fee value being compared
  * Add some test logging to wallet_bumpfee.py
  * doc: asmap release note
  * fuzz: Remove option --export_coverage from test_runner
  * refactor: move DUMP_BANS_INTERVAL to banman.h
  * scheduler: Make schedule* methods type safe
  * test: Explain why test logging should be used
  * qa: Add getdescriptorinfo functional test
  * Make lifetime correctness easier to see (avoid reference lifetime extension)
  * tests: Add fuzzing harness for CScriptNum operations
  * test: add logging to wallet_listsinceblock.py
  * tests: Add fuzzing harness for CScript operations
  * tests: Add common Consume* fuzzing functions
  * doc: Warn about wallet.dat re-use and backups
  * doc: Add historical release notes for 0.19.1
  * tests: Remove FUZZERS_MISSING_CORPORA
  * tests: Add basic fuzzing harness for CNetAddr/CService/CSubNet related functions (netaddress.h)
  * Clear any input_errors for an input after it is signed
  * Replace GetSigningProvider with GetSolvingProvider
  * Move direct calls to MessageSign into new SignMessage functions in CWallet and ScriptPubKeyMan
  * Move key and script filling and signing from CWallet::FillPSBT to ScriptPubKeyMan::FillPSBT
  * Move FillPSBT to be a member of CWallet
  * fuzz: Add option to merge input dir to test runner
  * doc: Remove --disable-ccache from docs
  * tests: Reset FUZZERS_MISSING_CORPORA to enable regression fuzzing for more harnesses
  * rpc/wallet: initialize nFeeRequired to avoid using garbage value on failure
  * Use CWallet::SignTransaction in CreateTransaction and signrawtransactionwithwallet
  * Implement CWallet::SignTransaction using ScriptPubKeyMan::SignTransaction
  * Add SignTransaction function to ScriptPubKeyMan and LegacyScriptPubKeyMan
  * Refactor rawtransaction's SignTransaction into generic SignTransaction function
  * fuzz: Add assert(script == decompressed_script)
  * build: Set minimum Automake version to 1.13
  * Cache parent xpub inside of BIP32PubkeyProvider
  * Only cache xpubs that have a hardened last step
  * Cache the immediate derivation parent xpub
  * Add DescriptorCache* read_cache and DescriptorCache* write_cache to Expand and GetPubKey
  * Rename BIP32PubkeyProvider.m_extkey to m_root_extkey
  * Track the index of the key expression in PubkeyProvider
  * Introduce DescriptorCache struct which caches xpubs
  * tests: Fuzz additional functions in the script fuzzing harness
  * tests: Fuzz additional functions in the transaction fuzzing harness
  * scheduler: Use C++11 member initialization, add shutdown assert
  * tests: Fuzz additional functions in the integer fuzzing harness
  * tests: Fuzz additional functions in the hex fuzzing harness
  * tests: Add key_io fuzzing harness
  * doc: remove Boost Chrono from install docs
  * test: remove Boost Chrono installation from CI
  * build: remove Boost Chrono detection from build system
  * build: remove chrono package from depends Boost
  * build: Add locale fuzzer to FUZZERS_MISSING_CORPORA
  * test: Check that wait_until returns if time point is in the past
  * lint-cppcheck: Remove -DHAVE_WORKING_BOOST_SLEEP_FOR
  * tests: Add fuzzing harness for locale independence testing
  * scheduler_tests: re-enable mockforward test
  * Drop unused reverselock.h
  * scheduler: switch from boost to std
  * sync.h: add REVERSE_LOCK
  * scheduler: don't rely on boost interrupt on shutdown
  * tests: Add fuzzing harness for CKey related functions
  * tests: Add float to FUZZERS_MISSING_CORPORA (temporarily)
  * tests: Add serialization/deserialization fuzzing for integral types
  * compressor: Make the domain of CompressAmount(...) explicit
  * [rpc] changed MineBlocksOnDemand to IsMockableChain
  * Remove redundant type information from rpc docs
  * refactor: Cast ping values to double before output
  * lockedpool: When possible, use madvise to avoid including sensitive information in core dumps
  * refactor: Convert ping wait time from double to int64_t
  * refactor: Convert min ping time from double to int64_t
  * refactor: Convert ping time from double to int64_t
  * doc: Merge release notes for 0.20.0 release
  * init: move asmap code earlier in init process
  * rpc: fix getpeerinfo RPCResult `mapped_as` type
  * net: extract conditional to bool CNetAddr::IsHeNet
  * logging: asmap logging and #include fixups
  * test: add functional test for an empty, unparsable asmap
  * config: separate the asmap finding and parsing checks
  * config: enable passing -asmap an absolute file path
  * config: use default value in -asmap config
  * test: add feature_asmap functional tests
  * test: Add bad-txns-*-toolarge test cases to invalid_txs
  * doc: Correct spelling errors in comments
  * test: Bump timeouts to accomodate really slow disks
  * wallet: use constant CWallets in rpcwallet.cpp
  * wallet: make ReserveDestination pwallet ivar const
  * wallet: make BackupWallet() const
  * wallet: make getters const
  * wallet/spkm: make GetOldestKeyPoolTime() const
  * wallet: use constant CWallets in rpcdump.cpp
  * wallet/db: make IsDummy() const
  * wallet/db: make Backup() const
  * wallet: make CanGetAddresses() const
  * wallet: make KeypoolCountExternalKeys() const
  * wallet: make CanGenerateKeys() const
  * make BlockUntilSyncedToCurrentChain() const
  * Change example addresses to bech32
  * Drop unused mach time headers
  * test: Add missing syncwithvalidationinterfacequeue
  * test: add unit test for non-standard "scriptsig-not-pushonly" txs
  * refactor: test/bench: dedup SetupDummyInputs()
  * test: check specific reject reasons in feature_csv_activation.py
  * util: Fail to parse empty string in ParseMoney
  * util: Remove unused ParseMoney that takes a c_str
  * Make AnalyzePSBT next role calculation simple, correct
  * test: eliminiated magic numbers in feature_csv_activation.py
  * test: check for OP_CSV empty stack fail reject reason in feature_csv_activation.py
  * test: test OP_CSV empty stack fail in feature_csv_activation.py
  * Templatize ValidationState instead of subclassing
  * Remove ValidationState's constructor
  * Refactor FormatStateMessage into ValidationState
  * test: Fix race in p2p_segwit
  * Add missing step in win deployment instructions
  * build: add --enable-determinism configure flag
  * test: check custom descendant limit in mempool_packages.py
  * test: Disable mockforward scheduler unit test for now
  * Convert blockencodings.h to new serialization framework
  * Add CustomUintFormatter
  * tests: Add fuzzing harness for rolling bloom filter class CRollingBloomFilter
  * tests: Add fuzzing harness for bloom filter class CBloomFilter
  * test: Reduce unneeded whitelist permissions in tests
  * rpc: Auto-format RPCResult
  * rpc: Move OuterType enum to header
  * test: Add cost_of_change parameter assertions to bnb_search_test
  * scripted-diff: Wallet: Rename incorrectly named *UsedDestination
  * util: Remove unused MilliSleep
  * scripted-diff: Replace MilliSleep with UninterruptibleSleep
  * util: Add UnintrruptibleSleep
  * test: Set catch_system_errors=no on boost unit tests
  * util: Avoid potential uninitialized read in FormatISO8601DateTime(int64_t nTime) by checking gmtime_s/gmtime_r return value
  * test: Remove incorrect assumptions in validation_flush_tests
  * test: Tabs to spaces in all tests
  * Add static_asserts to ser_X_to_Y() methods
  * tests: Improve test runner output in case of target errors
  * tests: Add --exclude integer,parse_iso8601 (temporarily) to make Travis pass until uninitialized read issue in FormatISO8601DateTime is fixed
  * tests: Add support for excluding fuzz targets using -x/--exclude
  * tests: Remove -detect_leaks=0 from test/fuzz/test_runner.py - no longer needed
  * add: test that transactions expire from mempool
  * httpserver: use own HTTP status codes
  * ci: Run fuzz testing test cases under valgrind
  * doc: Minor grammatical changes and flow improvements
  * [rpc] expose ability to mock scheduler via the rpc
  * [lib] add scheduler to node context
  * Fix a violation of C++ standard rules that unions cannot be switched.
  * gui: Avoid Wallet::GetBalance in WalletModel::pollBalanceChanged
  * tests: Add --valgrind option to test/fuzz/test_runner.py for running fuzzing test cases under valgrind
  * Add DifferenceFormatter
  * Make VectorFormatter support stateful formatters
  * Convert CCompactSize to proper formatter
  * Refactor message hashing into a utility function
  * Deduplicate the message signing code
  * Deduplicate the message verifying code
  * ci: use --enable-werror on more hosts
  * build: add Wreturn-type to Werror flags
  * [test] add chainparams property to indicate chain allows time mocking
  * [test] unit test for new MockForward scheduler method
  * [util] allow scheduler to be mocked
  * refactor: rpc: Remove vector copy from listtransactions
  * rpc: update validateaddress RPCExamples to bech32
  * build: pass -fno-ident in Windows gitian descriptor
  * gui: Throttle GUI update pace when -reindex
  * [REFACTOR] Abstract out script execution out of VerifyWitnessProgram()
  * Revert "Store p2sh scripts in AddAndGetDestinationForScript"
  * [test] check for addmultisigaddress regression
  * wallet: Improve LegacyScriptPubKeyMan::CanProvide script recognition
  * tests: Avoid hitting some known minor tinyformat issues when fuzzing strprintf(...)
  * doc: remove PPA note from release-process.md
  * gui: Fix race in WalletModel::pollBalanceChanged
  * [test] add 0.19 backwards compatibility tests
  * [test] add v0.17.1 wallet upgrade test
  * [tests] add wallet backwards compatility tests
  * [scripts] support release candidates of earlier releases
  * [tests] check v0.17.1 and v0.18.1 backwards compatibility
  * [scripts] build earlier releases
  * Get the OutputType for a descriptor
  * net: Remove forcerelay of rejected txs
  * Get rid of VARINT default argument
  * Ignore only auto-generated .vcxproj files
  * Specify ignored bitcoin-qt file precisely
  * ci: Check for submodules
  * build: Add cov_fuzz target
  * build: link fuzz/test_runner.py for out-of-tree builds
  * build: Remove unused USE_COVERAGE
  * test: set a name for CI Docker containers
  * test: Disable s390 build on travis
  * build: Skip i686 build by default in guix and gitian
  * depends: Remove reference to win32
  * qt: Fix deprecated QCharRef usage
  * Squashed 'src/univalue/' changes from 5a58a46671..98261b1e7b
  * scripted-diff: Add missing spaces in RPCResult, Fix type names
  * Qt: pass clientmodel changes from walletframe to walletviews
  * Convert undo.h to new serialization framework
  * Make std::vector and prevector reuse the VectorFormatter logic
  * Add custom vector-element formatter
  * doc: link to homebrew's troubleshooting page
  * refactor: Work around GCC 9 `-Wredundant-move` warning
  * net: Fail instead of truncate command name in CMessageHeader
  * logging: enable thread_local usage on macOS
  * build: don't embed a build-id when building libdmg-hfsplus
  * random: don't special case clock usage on macOS
  * test: replace 'regtest' leftovers by self.chain
  * build: add additional attributes to Win installer
  * gui: Fix unintialized WalletView::progressDialog
  * gui: Drop PeerTableModel dependency to ClientModel
  * build: use macOS 10.14 SDK
  * depends: native_cctools 921, ld64 409.12, libtapi 1000.10.8
  * depends: clang 6.0.1
  * net: reference instead of copy in BlockConnected range loop
  * Remove false positive GCC warning
  * build: Fix behavior when ALLOW_HOST_PACKAGES unset
  * Make asmap Interpret tolerant of malicious map data
  * Use ASNs for mapped IPv4 addresses correctly
  * Mark asmap const in statistics code
  * Avoid asmap copies in initialization
  * test: Check wallet name in -walletnotify script
  * tests: Add fuzzing harness for functions taking floating-point types as input
  * Add missing includes
  * gui: Drop ShutdownWindow dependency to BitcoinGUI
  * [test] PSBT RPC: check that bip32_derivs are present by default
  * gui: Drop BanTableModel dependency to ClientModel
  * Output a descriptor in createmultisig and addmultisigaddress
  * Add missing supported rpcs to doc/descriptors.md
  * Remove GitHub Actions CI workflow.
  * tests: Add fuzzer asmap to FUZZERS_MISSING_CORPORA (temporarily)
  * tests: Add fuzzing harness for AS-mapping (asmap)
  * gui: Remove WalletView and BitcoinGUI circular dependency
  * gui: Add transactionClicked and coinsSent signals to WalletView
  * psbt_wallet_tests: use unique_ptr for GetSigningProvider
  * Add a constant for the maximum vector allocation (5 Mbyte)
  * tests: reset fIsBareMultisigStd after bare-multisig tests
  * on startup, write config options to debug.log
  * build: Fix appveyor test_bitcoin build of *.raw
  * Use rolling bloom filter of recent block tx's for AlreadyHave() check
  * test: only declare a main() when fuzzing with AFL
  * doc: Improve fuzzing docs for macOS users
  * test: Add ubsan surpression for crc32c
  * build: Disable msvc warning 4722 for leveldb build
  * build: MSVC changes for leveldb update
  * build: CRC32C build system integration
  * build: Add LCOV exception for crc32c
  * test: Add crc32c exception to various linters and generation scripts
  * test: Add crc32c to subtree check linter
  * doc: Add crc32c subtree to developer notes
  * build: Update build system for new leveldb
  * Squashed 'src/crc32c/' content from commit 224988680f7673cd7c769963d4035cb315aa3388
  * Squashed 'src/leveldb/' changes from f545dfabff4c2e9836efed094dba99a34fbc6b88..f8ae182c1e5176d12e816fb2217ae33a5472fdd7
  * Fix benchmarks filters
  * test: rename test suite name "tx_validationcache_tests" to match filename
  * guix: Update documentation for time-machine
  * guix: Pin Guix using `guix time-machine`
  * tests: Add fuzzing harness for strprintf(...)
  * tests: Add fuzzer strprintf to FUZZERS_MISSING_CORPORA (temporarily)
  * tests: Update FuzzedDataProvider.h from upstream (LLVM)
  * Bugfix: GUI: Hide the HD/encrypt icons earlier so they get re-shown if another wallet is open
  * build: remove --large-address-aware linker flag
  * Updated appveyor job to checkout a specific vcpkg commit ID.
  * bump test timeouts so that functional tests run in valgrind
  * gui: Shortcut to close ModalOverlay
  * Refactor: Replace SigningProvider pointers with unique_ptrs
  * Cleanup: Drop unused GUI learnRelatedScripts method
  * Refactor: Copy CWallet signals and print function to LegacyScriptPubKeyMan
  * Box the wallet: Add multiple keyman maps and loops
  * refactor: define a UINT256_ONE global constant
  * HD Split: Avoid redundant upgrades
  * Make UpgradeKeyMetadata work only on LegacyScriptPubKeyMan
  * Store p2sh scripts in AddAndGetDestinationForScript
  * Always try to sign for all pubkeys in multisig
  * List output types in an array in order to be iterated over
  * Refactor: Allow LegacyScriptPubKeyMan to be null
  * Locking: Lock cs_KeyStore instead of cs_wallet in legacy keyman
  * wallet: Improve CWallet:MarkDestinationsDirty
  * Add extra logging of asmap use and bucketing
  * Return mapped AS in RPC call getpeerinfo
  * doc: Use proper RPC help syntax in importmulti
  * doc: Remove duplicate "comment" from listsinceblock RPC help
  * doc: Properly document proxy_randomize_credentials as bool in getnetworkinfo
  * doc: Fix syntax error (trailing square bracket) in finalizepsbt
  * doc: Fix syntax error (trailing square bracket) in walletprocesspsbt
  * doc: Add missing "optional" to "long" estimaterawfee RPC help
  * src/init: correct a typo
  * test: Add p2p test for forcerelay permission
  * test: Fix whitespace in p2p_permissions.py
  * test: Make msg_tx a witness tx
  * build: remove configure checks for win libraries we don't link against
  * Refactor message transport packaging
  * tests: Add fuzzing harness for V1TransportDeserializer (P2P transport)
  * tests: Add amount compression/decompression fuzzing to existing fuzzing harness: test compression round-trip
  * test: add missing #include to fix compiler errors
  * Convert compression.h to new serialization framework
  * refactor: Remove redundant conditional
  * Revert "refactor: Remove never used default parameter"
  * Revert "refactor: Simplify connection syntax"
  * Add FORMATTER_METHODS, similar to SERIALIZE_METHODS, but for formatters
  * QA: feature_segwit: Check that template "rules" includes "!segwit" as appropriate
  * Bugfix: Include "csv","!segwit" in "rules"
  * Fix doxygen errors
  * wallet: Improve CWallet:MarkDestinationsDirty
  * refactor: Simplify connection syntax
  * refactor: Remove never used default parameter
  * test: add unit test for non-standard txs with too large tx size
  * gui: Remove warning "unused variable 'wallet_model'"
  * depends: Consistent use of package variable
  * gui: hide HD & encryption icons when no wallet loaded
  * QT: Change bumpFee asserts to simple error message
  * Replace coroutine with async def in p2p_invalid_messages.py
  * wallet: Replace %w by wallet name in -walletnotify script
  * Make UpdateTransactionsFromBlock use Epochs
  * Add Epoch Guards to CTXMemPoolEntry and CTxMemPool
  * bug-fix macos: give free bytes to F_PREALLOCATE
  * Don't allow implementers to think ScriptHash(Witness*()) results in nesting computation
  * scripted-diff: Bump copyright of files changed in 2020
  * scripted-diff: Replace CCriticalSection with RecursiveMutex
  * IsUsedDestination shouldn't use key id as script id for ScriptHash
  * bitcoin-wallet: Use PACKAGE_NAME in usage help
  * GUI: Use PACKAGE_NAME in modal overlay
  * gui: Make Intro consistent with prune checkbox
  * gui: Add Intro::UpdateFreeSpaceLabel()
  * refactor: Add Intro::UpdatePruneLabels()
  * refactor: Replace static variable with data member
  * Convert chain to new serialization
  * Convert VARINT to the formatter/Using approach
  * Add a generic approach for (de)serialization of objects using code in other classes
  * wallet: Reset reused transactions cache
  * windows: remove call to SetProcessDEPPolicy
  * windows: Enable heap terminate-on-corruption
  * build: remove double LIBBITCOIN_SERVER linking
  * doc: update release notes with getaddressinfo label deprecation
  * Fix improper Doxygen inline comments
  * gui: Set CConnman byte counters earlier to avoid uninitialized reads
  * init: Stop indexes on shutdown after ChainStateFlushed callback.
  * test: getaddressinfo label deprecation test
  * rpc: deprecate getaddressinfo label field
  * test: remove getaddressinfo label tests
  * doc: address pr17578 review feedback
  * Ignore msvc linker warning and update to msvc build instructions.
  * ci: Combine 32-bit build with CentOS 7 build
  * util: Add PruneGBtoMiB() function
  * util: Add PruneMiBtoGB() function
  * tests: Avoid using C-style NUL-terminated strings as arguments
  * tests: Add tests to make sure lookup methods fail on std::string parameters with embedded NUL characters
  * net: Avoid using C-style NUL-terminated strings as arguments in the netbase interface
  * qa: Fix double-negative arg test
  * qt: Rename SetPrune() to InitializePruneSetting()
  * refactor: Drop `bool force' parameter
  * qt: Force set nPruneSize in QSettings after intro
  * QT: bump fee returns PSBT on clipboard for watchonly-only wallets
  * Restore English translation option
  * contrib: makeseeds: Read suspicious hosts from a file instead of hardcoding
  * gui: renamed 'debug window' to 'node window'
  * psbt: check output index is within bounds before accessing
  * doc: Add a note about backporting
  * build: add Wdate-time to Werror flags
  * qt: Add LogQtInfo() function
  * doc: Add to Doxygen documentation guidelines
  * scripted-diff: Add missed copyright headers
  * refactor: Remove unused defines in bitcoinunits.h
  * scripts: add MACHO dylib checking to symbol-check.py
  * scripts: fix check-symbols & check-security argument passing
  * IsUsedDestination should count any known single-key address
  * Add logging for CValidationInterface events
  * Refactor FormatStateMessage for clarity
  * Format CValidationState properly in all cases
  * Add VALIDATION to BCLog::LogFlags
  * doc: update release notes
  * test: getaddressinfo labels purpose deprecation test
  * rpc: simplify getaddressinfo labels, deprecate previous behavior
  * script: Update EXLUDE list in copyright_header.py
  * script: Add empty line after C++ copyright
  * script: Add ability to insert copyright to *.sh
  * gitignore: ignore fuzz binaries, remove test_bitcoin_fuzzy
  * ci: Set LC_ALL=C when running in qemu-s390x
  * ci: Use debian to avoid apt install 404 errors
  * ci: Install needed gcc and qemu-user iff cross-compiling
  * ci: Fix QEMU_USER_CMD parse issues
  * ci: Move wrap-qemu into separate script
  * scripts: fix check-symbols & check-security argument passing
  * test: Show debug log on unit test failure
  * tests: Add std::to_string to list of locale dependent functions
  * Add missing typeinfo includes
  * Convert addrdb/addrman to new serialization
  * Introduce new serialization macros without casts
  * ci: Fix brew python link
  * scripts: add MACHO NOUNDEFS check to security-check.py
  * scripts: add MACHO PIE check to security-check.py
  * build: remove linking librt for backwards compatibility
  * build: remove deprecated key from macOS Info.plist
  * doc: Added running functional tests in valgrind
  * scripted-diff: Bump copyright of files changed in 2019
  * doc: Update dependencies.md
  * doc: developer notes guideline on RPCExamples addresses
  * rpc: incorporate review feedback from PR 17283
  * build: Add default configure cache to .gitignore
  * test: Change filemode of rpc_whitelist.py
  * doc: Update license year range to 2020
  * Integrate ASN bucketing in Addrman and add tests
  * ci: Update vcpkg cache on MSBuild update
  * ci: Update Qt binaries for GitHub Actions
  * rpc: Remove mempool global from miner
  * test: Properly document blockinfo size in miner_tests
  * util: Disallow network-qualified command line options
  * build: Sort fuzzing harnesses to avoid future merge conflicts
  * tests: Add fuzzing harness for DecodeHexTx(...)
  * build: set AC_PREREQ to 2.69
  *  Add asmap utility which queries a mapping
  * Document better -keypool as a look-ahead safety mechanism
  * doc: Mention PR Club in CONTRIBUTING.md
  * Test watchonly wallet bumpfee with PSBT return
  * bumpfee: Return PSBT when wallet has privkeys disabled
  * Change bumpfee to use watch-only funds for legacy watchonly wallets
  * use preferred shebang approach for documentation
  * doc: Add formatting to the good first issue template
  * net: Log to net category for exceptions in ProcessMessages
  * test: add IsRFC2544 tests
  * CNetAddr: fix IsRFC2544 comment
  * tests: Add fuzzing harness for various hex related functions
  * tests: Add fuzzing harness for various Base{32,58,64} related functions
  * util: Move TrimString(...). Introduce default pattern (trims whitespace). Add NODISCARD.
  * tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
  * build: remove WINDOWS_BITS from build system
  * rest: Use mempool from node context instead of global
  * tests: Add tests for decoding/parsing of base32, base64 and money strings containing NUL characters
  * util: Don't allow DecodeBase32(...) of strings with embedded NUL characters
  * util: Don't allow DecodeBase64(...) of strings with embedded NUL characters
  * util: Don't allow ParseMoney(...) of strings with embedded NUL characters
  * fix directory path for secp256k1 subtree in developer-notes
  * tests: Add fuzzing harness for CheckBlock(...) and other CBlock related functions
  * tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
  * [style] Code style fixups in GetWarnings()
  * doc: Add release note for RPC Whitelist
  * doc: Add ci prefix to CONTRIBUTING.md
  * util: change GetWarnings parameter to bool
  * [qt] remove unused parameter from getWarnings()
  * ci-s390x: Add qemu and depends support in the ci script
  * build: add -bind_at_load to hardened LDFLAGS
  * Moved the include of the system projects to before the build depends on task. Otherwise it doesn't get run.
  * depends: disable unused qt networking features
  * depends: -optimized-qmake is now -optimized-tools
  * depends: skip building qt proxies
  * Included test_bitcoin-qt in msvc build.
  * doc: update developer notes wrt unix epoch time
  * qa: unify unix epoch time descriptions
  * test: Add test for rpc_whitelist
  * Update msvc build for Visual Studio 2019 v16.4
  * tests: add tests for GetCoinsCacheSizeState
  * refactoring: introduce CChainState::GetCoinsCacheSizeState
  * build: fix typo
  * util: Don't allow base58-decoding of std::string:s containing non-base58 characters
  * tests: Add tests for base58-decoding of std::string:s containing non-base58 characters
  * rpc: require second argument only for scantxoutset start action
  * Add RPC Whitelist Feature from #12248
  * ci: Use python 3.7 on Windows Github Actions
  * wallet: unbreak with boost 1.72
  * Don't calculate tx fees for PSBTs with invalid money values
  * ci: Add valgrind run
  * rpc: add missing newline in analyzepsbt rpcresult
  * doc: Add release notes for 17447
  * doc: Update release process with latest changes
  * tests: Add fuzzing harnesses for various JSON/univalue parsing functions
  * tests: Add fuzzing harnesses for various number parsing functions
  * tests: Add ParseScript(...) (core_io) fuzzing harness
  * tests: Add ParseHDKeypath(...) (bip32) fuzzing harness
  * tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
  * Activate no-privkey -> ISMINE_WATCH_ONLY behavior for LegacySPKM only
  * build: Use dnl for all comments in configure.ac, rather than #
  * build: Remove backticks from configure.ac
  * test: Remove ubsan alignment suppressions
  * prevector: avoid misaligned member accesses
  * test: re-enable CLI test support by using EncodeDecimal in json.dumps()
  * Adds GitHub Action workflow which duplicates AppVeyor job.
  * qt: Normalize placeholder to avoid using "address book" in sendcoinsentry
  * gui: Move static placeholder texts to forms
  * ui: disable 3rd-party tx-urls when wallet disabled
  * Make env data logging optional
  * lcov: filter /usr/lib64 from coverage report
  * depends: don't configure xcb_proto
  * util: Replace magics with DEFAULT_PRUNE_TARGET_GB
  * gui: disable File->CreateWallet during startup
  * cli: fix Fatal LevelDB error when specifying -blockfilterindex=basic twice
  * Replace LegacyScriptPubKeyMan::IsCrypted with LegacyScriptPubKeyMan::HasEncryptionKeys
  * Remove SetCrypted() and fUseCrypto; Change IsCrypted()'s implementation
  * Rename EncryptKeys to Encrypt and pass in the encrypted batch to use
  * Clear mapKeys before encrypting
  * Move fDecryptionThoroughlyChecked from CWallet to LegacyScriptPubKeyMan
  * Move Unlock implementation to LegacyScriptPubKeyMan
  * Replace LegacyScriptPubKeyMan::vMasterKey with GetDecryptionKey()
  * Add GetEncryptionKey() and HasEncryptionKeys() to WalletStorage
  * ci: Remove trusty build
  * ci: Add CentOS 7 build
  * tests: Fix fuzzing harness for descriptor parsing (descriptor_parse)
  * lcov: filter depends from coverage report
  * tests: Use a default of supports_cli=True (instead of supports_cli=False)
  * tests: Mark functional tests not supporting bitcoin-cli (--usecli) as such
  * tests: Test serialisation as part of deserialisation fuzzing. Test round-trip equality where possible. Avoid code repetition.
  * tests: Add fuzzing harness for various functions consuming only integrals
  * tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
  * tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
  * tests: Add fuzzing harness for various CTxOut related functions
  * tests: Add fuzzing harness for various CTxIn related functions
  * util: Update tinyformat to upstream
  * Add bounds checks in key_io before DecodeBase58Check
  * gitian: fixed SC2001 regex
  * node: Use mempool from node context instead of global
  * rpc: Use mempool from node context instead of global
  * Move events_hasher into RNGState()
  * depends: Support for S390X targets
  * depends: Support for 64-bit POWER targets
  * keypool: Add comment about TopUp and when to use it
  * depends: don't use OpenGL in Qt on macOS
  * build: pass -dead_strip_dylibs to ld on macOS
  * tests: Add initialization order fiasco detection in Travis
  * Fixed wget call in gitian-build.py
  * ci: Remove unparseable lines from supp file for old xenial clang tsan
  * ci: ubsan report_error_type=1 and add suppressions
  * test: Print stderr when subprocess fails
  * test: Use char instead of unsigned char
  * ci: Bump to clang-8 for asan build to avoid segfaults on ppc64le
  * util: remove unwanted fields from bitcoin-cli -getinfo
  * build: pass -dead_strip_dylibs to ld on macOS
  * depends: add ability to skip building qrencode
  * doc: rename wallet-tool references to bitcoin-wallet
  * Key pool: Fix omitted pre-split count in GetKeyPoolSize
  * Key pool: Change ReturnDestination interface to take address instead of key
  * Key pool: Move LearnRelated and GetDestination calls
  * Fix origfee return for bumpfee with feerate arg
  * tests: Add option --valgrind to run nodes under valgrind in the functional tests
  * Add unit test for DB creation with unicode path
  * script: Add Keyserver to verify-commits README
  * Use correct C++11 header for std::swap()
  * Fix comparison function signature
  * net: Fix uninitialized read in ProcessMessage(...)
  * script: Enable SC2001 rule for Gitian scripts
  * script: Enable SC2155 rule for Gitian scripts
  * tests: Add a test for funding with sufficient preset inputs and subtractFeeFromOutputs
  * Default to bnb_used = false as there are many cases where BnB is not used
  * Add OutputType and CPubKey parameters to KeepDestination
  * Rename Keep/ReturnKey to Keep/ReturnDestination and remove the wrapper
  * util: make ScheduleBatchPriority advisory only
  * [gui] send: show watch-only balance in send screen
  * [test] qt: add send screen balance test
  * qt: Use proper class for Ui::ReceiveCoinsDialog
  * qt: Fix class name of Ui::ModalOverlay
  * ci: Print free disk space
  * test: Properly deserialize integers in little-endian
  * ci: Run functional tests on s390x
  * doc: Change doxygen URL to doxygen.bitcoincore.org
  * [test] move wallet helper functions into test library
  * [test] move mining helper functions into test library
  * Appveyor install libevent[thread] vcpkg
  * Add s390x tests to travis
  * Add ci script to install on s390x
  * [test] move string helper functions into test library
  * test: add rpc getaddressinfo labels test coverage
  * test: add listlabels test in wallet_labels.py
  * rpc: add getaddressinfo code documentation
  * rpc: update getaddressinfo RPCExamples to bech32
  * rpc: clarify label vs labels in getaddressinfo RPCHelpman
  * rpc: improve getaddressinfo RPCHelpman content
  * wallet: replace raw pointer with const reference in AddrToPubKey
  * rpc: improve getaddressinfo RPCHelpman formatting
  * build: Add NX workaround for RV64
  * doc: Add historical release notes for 0.19.0.1
  * Seed RNG with precision timestamps on receipt of net messages.
  * Added libtest_util library to msvc build configuration.
  * build: Allow export of environ symbols
  * refactor: Nuke coincontrol circular dependency
  * keypool: Move opportunistic TopUps from LegacyScriptPubKeyMan to CWallet and ReserveDestination
  * keypool: Remove  superfluous topup from CWallet::GetNewChangeDestination
  * Key pool: Move CanGetAddresses call
  * gui: remove macOS start on login code
  * doc: add glibc 2.17 requirement to release-notes
  * build: Bump minimum versions in symbol checker
  * build: Disallow dynamic linking against c++ library
  * ci: Remove use of cd
  * doc: Changed MiniUPnPc link to https in dependencies.md
  * test: add unit test for non-standard txs with wrong nVersion
  * build: Create test utility library from src/test/util/
  * Fire TransactionRemovedFromMempool from mempool
  * Remove out of date comments for CalculateMaximumSignedTxSize
  * tests: Add deserialization fuzzing harnesses
  * tests: Add corpora suppression (FUZZERS_MISSING_CORPORA) for fuzzers missing in https://github.com/bitcoin-core/qa-assets/tree/master/fuzz_seed_corpus
  * build: set minimum supported macOS to 10.12
  * ci: Remove unmaintained extended_lint
  * scripted-diff: Use ci DEPENDS_DIR, remove BASE_BUILD_DIR
  * ci: Add DEPENDS_DIR variable, Add documentation for folders
  * test: add unit test for non-standard bare multisig txs
  * build: Fix configure report about qr
  * scripted-diff: Move various folders to ci scratch dir
  * refactor: Remove unused COINBASE_FLAGS
  * test: add functional test for non-standard bare multisig txs
  * build: remove libanl.so.1 from ALLOWED_LIBRARIES
  * Put bounds on the number of CPUID leaves explored
  * doc: Update and improve Developer Notes
  * Allow BnB when subtract fee from outputs
  * Use BnB when preset inputs are selected
  * depends: only use dbus with qt on linux
  * test: add functional test for non-standard txs with too large scriptSig
  * Pass a maximum output length to DecodeBase58 and DecodeBase58Check
  * Fix CPUID subleaf iteration
  * Mark PSBTs spending unspendable outputs as invalid in analysis
  * Have a PSBTAnalysis state that indicates invalid PSBT
  * test: Wait until mempool is loaded in wallet_abandonconflict
  * refactor: Cleanup headers from walletmodel.h
  * refactor: Nuke walletmodel circular dependency
  * refactor: Nuke walletmodeltransaction circular dep
  * refactor: Nuke guiutil circular dependency
  * refactor: Move SendCoinsRecipient in own header
  * doc: Add some better examples for scripted diff
  * test: Remove libssl-dev packages from CI scripts
  * test: remove lsan suppression for libcrypto
  * build: remove libcrypto as internal dependency in libbitcoinconsensus.pc
  * doc: Remove ssl as a required dependency from build-unix
  * test: skip tool_wallet test when bitcoin-wallet isn't compiled
  * test: skip wallet_listreceivedby test when the cli isn't compiled
  * test: skip bitcoin_cli test when the cli isn't compiled
  * Refactor: Require scriptPubKey to get wallet SigningProvider
  * Accumulate result UniValue in SignTransaction
  * tests: Add fuzzing harness for various PSBT related functions
  * random: mark RandAddPeriodic and SeedPeriodic as noexcept
  * doc: correct random.h docs after #17270
  * doc: add OpenSSL removal to release-notes.md
  * ci: remove OpenSSL installation
  * doc: remove OpenSSL from build instructions and licensing info
  * depends: remove OpenSSL package
  * build: remove OpenSSL detection and libs
  * random: Remove remaining OpenSSL calls and locking infrastructure
  * random: stop retrieving random bytes from OpenSSL
  * random: stop feeding RNG output back into OpenSSL
  * doc: Remove bitness from bitcoin-qt help message and manpage
  * Changed tooltips of receive form to highlight difference between Label and Message
  * refactor: Remove unused signal
  * Fix segfault in allocator_tests/arena_tests
  * Define ARENA_DEBUG in Travis test runs
  * Fix compilation errors in support/lockedpool.cpp
  * test: fix bitcoind already running warnings on macOS
  * Fix input size assertion in wallet_bumpfee.py
  * scripted-diff: Replace ::mempool with m_node.mempool in tests
  * test: Replace recursive lock with locking annotations
  * node: Add reference to mempool in NodeContext
  * [build] ./configure --enable-werror: add unused-variable
  * scripted-diff: Set gitian arch back to amd64
  * test: add unit test for non-standard txs with too large scriptSig
  * fuzz: Bump timeout in test_runner to accomodate for slow arm64 CPUs
  * test: Remove fragile assert_memory_usage_stable
  * GUI: Refactor formatServicesStr to warn when a ServicesFlag is missing
  * Bugfix: GUI: Recognise NETWORK_LIMITED in formatServicesStr
  * ci: Use clang-8 for fuzzing to run on aarch64 ci systems
  * refactor: Remove null setting check in GetSetting()
  * [gui] watch-only wallet: copy PSBT to clipboard
  * depends: qt: Fix C{,XX} pickup
  * [wallet] add fillPSBT to interface
  * [gui] send: include watch-only
  * [wallet] ListCoins: include watch-only for wallets without private keys
  * tests: Update valgrind suppressions
  * scripted-diff: Remove unused ArgsManager type flags in tests
  * refactor: Add util_CheckValue test
  * refactor: Add ArgsManager::GetSettingsList method
  * refactor: Get rid of ArgsManagerHelper class
  * refactor: Replace FlagsOfKnownArg with GetArgFlags
  * refactor: Clean up includeconf comments
  * refactor: Clean up long lines in settings code
  * fix uninitialized variable nMinerConfirmationWindow
  * Report amount of data gathered from environment
  * Use thread-safe atomic in perfmon seeder
  * Run background seeding periodically instead of unpredictably
  * Add information gathered through getauxval()
  * Feed CPUID data into RNG
  * Use sysctl for seeding on MacOS/BSD
  * Gather additional entropy from the environment
  * Seed randomness with process id / thread id / various clocks
  * [MOVEONLY] Move cpuid code from random & sha256 to compat/cpuid
  * [MOVEONLY] Move perfmon data gathering to new randomenv module
  * doc: minor corrections in random.cpp
  * doc: Explain $LIB in LD_PRELOAD in gitian descriptors
  * util: Add missing headers to util/fees.cpp
  * wallet: Make -walletdir network only
  * rpc: Expose block height of wallet transactions
  * zmq: Fix due to invalid argument and multiple notifiers
  * test: check custom ancestor limit in mempool_packages.py
  * wallet: Avoid showing GUI popups on RPC errors (take 2)
  * fix Typo: "merkelRoot" -> "merkleRoot"
  * test: Use proper MAX_SCRIPT_ELEMENT_SIZE
  * refactor: Use proper MAX_SCRIPT_ELEMENT_SIZE const
  * ci: Extend docs
  * travis: Rework CACHE_ERR_MSG
  * Add TheCharlatan's pgp key
  * Moves vcpkg list to a text file and updates the appveyor job and readme to use it.
  * refactor: Styling w/ clang-format, comment update
  * qt: Fix missing qRegisterMetaType for size_t
  * Remove unnecessary forward declaration
  * ci: Make ci system read-only on the git work tree
  * ci: Remove git from required packages on host
  * ci: Make all filesystem operations inside docker
  * doc: Add relase note for db→walletdb rename
  * doc: add historical 0.19.0 release notes
  * scripted-diff: Change `BCLog::DB` to `BCLog::WALLETDB`
  * Rename `db` log category to `walletdb` (like `coindb`)
  * scripted-diff: Avoid hardcoded libfaketime dir in gitian
  * Add settings_tests
  * Deduplicate settings merge code
  * Add util::Settings struct and helper functions.
  * Remove includeconf nested scope
  * Rename includeconf variables for clarity
  * Clarify emptyIncludeConf logic
  * wallet: Remove unused boost::this_thread::interruption_point
  * Remove redundant class file includes from test_bitcoin project.
  * [validation] fix comments in CheckInputScripts()
  * scripted-diff: [validation] Rename CheckInputs to CheckInputScripts
  * ci: Guess the native host when not cross compiling
  * Implement O(1) OP_IF/NOTIF/ELSE/ENDIF logic
  * [refactor] interpreter: define interface for vfExec
  * Benchmark script verification with 100 nested IFs
  * test: speed up wallet_avoidreuse.py
  * test: add logging to wallet_avoidreuse.py
  * doc: Added regtest config for linearize script
  * Updated appveyor config:  - Update build image from Visual Studio 2017 to Visual Studio 2019.  - Updated Qt static library from Qt5.9.7 to Qt5.9.8.  - Added commands to update vcpkg port files (this does not update already installed packages).  - Updated vcpkg package list as per #17309.  - Removed commands setting common project file options. Now done via common.init.vcxproj include.  - Changed msbuild verbosity from normal to quiet. Normal rights a LOT of logs and impacts appveyor job duration. Updated msvc project configs:  - Updated platform toolset from v141 to v142.  - Updated Qt static library from Qt5.9.7 to Qt5.9.8.  - Added ignore for linker warning building bitcoin-qt program.  - Added missing util/str.cpp class file to test_bitcoin project file.
  * [refactor] Replace global int nScriptCheckThreads with bool
  * [tests] Don't use TestingSetup in the checkqueue_tests
  * [tests] Don't stop-start unnecessarily in rpc_fundrawtransaction.py
  * [tests] Use -whitelist in rpc_fundrawtransaction.py
  * Remove getBlockDepth method from Chain::interface
  * Remove locked_chain from GetDepthInMainChain and its callers
  * Use CWallet::m_last_block_processed_height in GetDepthInMainChain
  * Only return early from BlockUntilSyncedToCurrentChain if current tip is exact match
  * Refactor some importprunedfunds checks with guard clause
  * Add block_height field in struct Confirmation
  * doc: Add documentation for new test/lib
  * scripted-diff: test: Move setup_common to test library
  * Replace CWalletTx::SetConf by Confirmation initialization list
  * script: Enable SC2006 rule for Gitian scripts
  * script: Lint Gitian descriptors with ShellCheck
  * build: Remove install command samples
  * Add util_ArgParsing test
  * wallet_importmulti: use addresses of the same type as being imported
  * Add missing newline in util_ChainMerge test
  * Improve "Hide" button tool-tip message
  * rpc: Remove unused boost::this_thread::interruption_point
  * test: add dumptxoutset RPC test
  * devtools: add utxo_snapshot.sh
  * rpc: add dumptxoutset
  * Add m_last_block_processed_height field in CWallet
  * Pass block height in Chain::BlockConnected/Chain::BlockDisconnected
  * doc: Add template for good first issues
  * coinstats: add coins_count
  * Add missing SetupGeneration error handling in EncryptWallet
  * remove old bootstrap relevant code
  * Clean up nested scope in GetReservedDestination
  * Get rid of confusing LegacyScriptPubKeyMan::TopUpKeyPool method
  * Pass CTxDestination to ScriptPubKeyMan::GetMetadata
  * doc: Update doc/bips.md with recent changes in master
  * Add EnsureLegacyScriptPubKeyMan and use in rpcwallet.cpp
  * TestShell: Return self from setup()
  * TestShell: Simplify default setting of num_nodes
  * Doc: Remove backticks in test-shell.md code block
  * TestShell: Fix typo in TestShell warning printout
  * [tools] update nNextInvSend to use mockable time
  * [tools] add PoissonNextSend method that returns mockable time
  * depends: move README.md Android instructions to a separate section
  * tests: Add fuzzing harness for Bech32 encoding/decoding
  * tests: Move CaseInsensitiveEqual to test/util/str
  * cli: fix -getinfo output when compiled with no wallet
  * logs: add timing information to FlushStateToDisk()
  * logs: add BCLog::Timer and related macros
  * ci: Run non-cross-compile builds natively
  * ci: Run CI_WAIT only on travis
  * [tests] Speed up rpc_fundrawtransaction.py
  * wallet: LearnRelatedScripts only if KeepDestination
  * wallet: Lock address type in ReserveDestination
  * test: Reset global args between test suites
  * bump libevent to 2.1.11 in depends
  * test: Add ASSERT_DEBUG_LOG to unit test framework
  * logging: Add member for arbitrary print callbacks
  * depends: update README.md with working Android targets and API levels
  * Add documentation for test_shell submodule
  * test: add "diamond" unit test to MempoolAncestryTests
  * doc: Fix some misspellings
  * Add TestShell class
  * Move argparse() to init()
  * Move assert num_nodes is set into main()
  * Clear TestNode objects after shutdown
  * Add closing and flushing of logging handlers
  * Refactor TestFramework main() into setup/shutdown
  * Remove network_event_loop instance in close()
  * wallet: Reuse existing batch in CWallet::SetUsedDestinationState
  * wallet: Avoid recursive lock in CWallet::SetUsedDestinationState
  * doc: Add ShellCheck to lint tests dependencies
  * Refactor: Move nTimeFirstKey accesses out of CWallet
  * Refactor: Move GetKeypoolSize code out of CWallet
  * Refactor: Move RewriteDB code out of CWallet
  * Refactor: Move SetupGeneration code out of CWallet
  * Refactor: Move HavePrivateKeys code out of CWallet::CreateWalletFromFile
  * Refactor: Move Upgrade code out of CWallet::CreateWalletFromFile
  * Refactor: Move MarkUnusedAddresses code out of CWallet::AddToWalletIfInvolvingMe
  * Refactor: Move GetMetadata code out of getaddressinfo
  * Refactor: Move LoadKey LegacyScriptPubKeyMan method definition
  * Refactor: Move SetAddressBookWithDB call out of LegacyScriptPubKeyMan::ImportScriptPubKeys
  * refactor: Replace UnsetWalletFlagWithDB with UnsetBlankWalletFlag in ScriptPubKeyMan
  * Refactor: Remove UnsetWalletFlag call from LegacyScriptPubKeyMan::SetHDSeed
  * Remove SetWalletFlag from WalletStorage
  * Refactor: Move SetWalletFlag out of LegacyScriptPubKeyMan::UpgradeKeyMetadata
  * Refactor: Move SetAddressBook call out of LegacyScriptPubKeyMan::GetNewDestination
  * Refactor: Add new ScriptPubKeyMan virtual methods
  * Refactor: Declare LegacyScriptPubKeyMan methods as virtual
  * MOVEONLY: Reorder LegacyScriptPubKeyMan methods
  * bench: Remove redundant copy constructor in mempool_stress
  * refactor: Remove redundant PSBT copy constructor
  * doc: compiling with Visual Studio is now supported on Windows
  * doc: update MSVC instructions to remove Qt configuration
  * test: Do not instantiate CAddrDB for static call
  * doc: Remove explicit network name references
  * test: rm ascii art in rpc_fundrawtransaction
  * test: add rpc_fundrawtransaction logging
  * [qa] Add shrinkdebugfile=0 to regtest bitcoin.conf
  * Minor refactoring to remove implied m_addr_relay_peer.
  * log: Fix log message for -par=1
  * GuessVerificationProgress: cap the ratio to 1
  * [linter] Strip trailing / in path for git-subtree-check
  * build: update retry to current version
  * Fix incorrect help-debug for -checkpoints
  * Squashed 'src/univalue/' changes from 7890db99d6..5a58a46671
  * QA: Add wallet_implicitsegwit to test the ability to transform keys between address types
  * travis: Run unit and functional tests on native arm
  * test: Add RegTestingSetup to setup_common
  * Walk pindexBestHeader back to ChainActive().Tip() if it is invalid
  * test: move-only ComputeFilter to src/test/lib/blockfilter
  * replace asserts in RPC code with CHECK_NONFATAL and add linter
  * [tests] remove bignum.py
  * [tests] remove bn2bin()
  * [tests] remove bn_bytes() function
  * [tests] remove mpi2vch() function
  * [tests] don't encode the integer size in bignum
  * [tests] add function comments to bignum
  * [tests] fix flake8 warnings in script.py and bignum.py
  * rpc: Add generatetodescriptor
  * docs: Add undefined to --with-sanitizers=fuzzer,address
  * tests: Add fuzzing harness for ISO-8601 related functions
  * refactor: Replace all uses of boost::optional with our own Optional type
  * doc: Add developer note on c_str()
  * [validation] Remove fMissingInputs from AcceptToMemoryPool()
  * [validation] Remove unused first_invalid parameter from ProcessNewBlockHeaders()
  * [validation] Remove useless ret parameter from Invalid()
  * [validation] Remove error() calls from Invalid() calls
  * [validation] Tidy Up ValidationResult class
  * [validation] Add CValidationState subclasses
  * Chainparams: Use name constants in chainparams initialization
  * nsis: Write to correct filename in first place
  * cli: Add "headers" and "verificationprogress" to -getinfo
  * add unused SnapshotMetadata class
  * wallet: Remove left-over BIP70 comment
  * Fix missing strFailReason in CreateTransaction
  * Fix misplaced AssertLockHeld
  * doc: Clarify WalletStorage / Wallet relation
  * Add back mistakenly removed AssertLockHeld
  * Refactor: Add GetLegacyScriptPubKeyMan helper
  * test: add reason checks for non-standard txs in test_IsStandard
  * refactor: Remove addrdb.h dependency from node.h
  * Add assertion to randrange that input is not 0
  * Add new mempool benchmarks for a complex pool
  * contrib: remove accounts from bash completion
  * pubkey: Assert CPubKey's ECCVerifyHandle precondition
  * Avoid using g_rpc_node global in wallet code
  * scripted-diff: Remove g_connman, g_banman globals
  * Pass NodeContext, ConnMan, BanMan references more places
  * MOVEONLY: Move NodeContext struct to node/context.h
  * scripted-diff: Rename InitInterfaces to NodeContext
  * Fix issue with conflicted mempool tx in listsinceblock
  * Fix occurences of c_str() used with size() to data()
  * refactor: Remove redundant c_str() calls in formatting
  * bench: Fix negative values and zero for -evals flag
  * Add search for first blk file with pruned node
  * tests: Add fuzzer initialization (hold ECCVerifyHandle)
  * Add roundtrip and more tests to ParseISO8601DateTime and FormatISO8601DateTime
  * Rename DecodeDumpTime to ParseISO8601DateTime and move to time.cpp
  * gui: Fix duplicate wallet showing up
  * Drop signal CClientUIInterface::LoadWallet
  * Tests: Use self.chain instead of 'regtest' in almost all current tests
  * [rpc] set default bip32derivs to true for psbt methods
  * Refactor: Split up CWallet and LegacyScriptPubKeyMan and classes
  * MOVEONLY: Move key handling code out of wallet to keyman file
  * Move wallet enums to walletutil.h
  * added asserts to check m_addr_known when it's used
  * [net] SocketHandler: log peer id for close and disconnect
  * gui: disable font antialiasing for QR image address
  * test: fix script_p2sh_tests OP_PUSHBACK2/4 missing
  * gui: Make polling in ClientModel asynchronous
  * Avoid unused call to GuessVerificationProgress in NotifyHeaderTip
  * http: add missing header bootlegged by boost < 1.72
  * tests: Add fuzzing harness for various CScript related functions
  * ci: Remove ccache requirement on the host
  * compat: remove bswap_* check on macOS
  * build: skip building OpenSSL lib_ssl
  * build: remove OpenSSL from Qt build
  * build: remove EVP_MD_CTX_new detection
  * build: remove SSL lib detection
  * gui: Update BIP70 support message
  * build: remove BIP70 entries from macOS Info.plist
  * gui: remove payment request file handling from OpenURI dialog
  * Remove BIP70 Support
  * docs: remove protobuf from docs
  * build: remove protobuf from depends
  * consensus: Explain why fCheckDuplicateInputs can not be skipped and remove it
  * [validation] Remove unused cacheSigStore from CheckInputsFromMempoolAndCache
  * ci: Disable functional tests on mac host
  * doc: Changed miniupnp links to https
  * tests: Remove Cygwin WinMain workaround
  * tests: Skip unnecessary fuzzer initialisation. Hold ECCVerifyHandle only when needed.
  * depends: fix boost mac cross build with clang 9+
  * Add unit testing for the CompressScript functions
  * tests: Add Parse(...) (descriptor) fuzzing harness
  * tests: Allow for using non-default fuzzing initialization
  * gui: Fix payAmount tooltip in SendCoinsEntry
  * Add override/final modifiers to V1TransportDeserializer
  * Make resetting implicit in TransportDeserializer::Read()
  * Remove oversized message detection from log and interface
  * Continue relaying transactions after they expire from mapRelay
  * refactor: test/bench: dedup Build{Crediting,Spending}Transaction()
  * Replace the LogPrint function with a macro
  * static tooltip
  * test: use default address type (bech32) for wallet_bumpfee tests
  * Force CNetMessage::m_recv to use std::move
  * build: use osslsigncode 2.0 in gitian
  * refactor: Remove unused CExt{Pub,}Key (de)serialization methods
  * Expand on wallet_balance.py comment from https://github.com/bitcoin/bitcoin/pull/16766\#issuecomment-527563982
  * Update release notes to mention changes to IsTrusted and impact on wallet
  * Systematize style of IsTrusted single line if
  * update variable naming conventions for IsTrusted
  * Update comment in test/functional/wallet_balance.py
  * Update wallet_balance.py test to reflect new behavior
  * Reuse trustedParents in looped calls to IsTrusted
  * Cache tx Trust per-call to avoid DoS
  * Make IsTrusted scan parents recursively
  * tests: Remove no longer needed UBSan suppressions (issues fixed). Add documentation.
  * Add testcase to simulate bitcoin schema in leveldb
  * ci: Enable address sanitizer (ASan) stack-use-after-return checking
  * wallet: Remove unused GetLabelName
  * doc: Added instructions for how to add an upsteam to forked repo
  * Send amount shows minimum amount placeholder
  * util: Add CHECK_NONFATAL and use it in src/rpc
  * Android: add all arch support
  * random: remove call to RAND_screen() (Windows only)
  * [wallet] Remove `state` argument from CWallet::CommitTransaction
  * [wallet] Remove return value from CommitTransaction()
  * [wallet] Add doxygen comment to CWallet::CommitTransaction()
  * gui: Add placeholder text to the sign message field
  * Use adapter pattern for the network deserializer
  * Remove transport protocol knowhow from CNetMessage / net processing
  * Refactor: split network transport deserializing from message container
  * util: Filter out macOS process serial number
  * doc: Describe log files + consistent paths in test READMEs
  * ci: Remove redundant check for TRAVIS_OS_NAME
  * doc: Document that GNU tools are required for linters
  * ci: Cleanup macOS runs
  * doc: correct function name in ReportHardwareRand()
  * p2p: Avoid allocating memory for addrKnown where we don't need it
  * chain: Set all CBlockIndex members to null, remove SetNull helper
  * Add tests for util/vector.h's Cat and Vector
  * Add some general std::vector utility functions
  * [wallet] Fix whitespace in CWallet::CommitTransaction()
  * Remove unused includes
  * tests: Add fuzzing harness for descriptor Span-parsing helpers
  * rpc: fix -rpcclienttimeout 0 option
  * gui: Added label & tooltip for Verify Message labels
  * gui: remove OpenSSL PRNG seeding (Windows, Qt only)
  * gui: Make RPCConsole::TabTypes an enum class
  * Update macdeploy README to include correctly named `.dmg` file produced from `make deploy`
  * tests: Fix fs_tests for unknown locales
  * util: Filter control characters out of log messages
  * github: Add warning for bug reports
  * [test] rename SegwitVersion1SignatureHash()
  * travis: run tests on macOS native
  * test: Fix bug in blockfilter_index_tests.
  * [wallet] Remove pruning check for -rescan option
  * [wallet] Remove package limit config access from wallet
  * [rpc] Fix broken bitcoin-cli examples
  * test: fix "tx-size-small" errors after default address change
  * doc: Add switch on enum example
  * util: Add AllowShortCaseLabelsOnASingleLine option
  * gui: Fix start timer from non QThread
  * test: speed up wallet_address_types by whitelisting peers (immediate tx relay)
  * gui: don't disable the sync overlay when wallet is disabled
  * tests: Add test for loadblock option
  * test: speedup wallet_backup by whitelisting peers (immediate tx relay)
  * tests: Add EvalScript(...) fuzzing harness
  * [build] depends macOS: point --sysroot to SDK
  * depends: export dynamic JNI symbols from static qtforandroid.a
  * Qt: patch androidjnimain.cpp to make sure JNI is initialised when statically compiled
  * doc: update bips.md with buried BIP9 deployments
  * build: pass --enable-option-checking to applicable packages
  * build: only pass --disable-dependency-tracking to packages that understand it
  * doc: Add missing indexes/blockfilter/basic/ to doc/files.md
  * change wallet pointers to references in feebumper
  * tests: Add FuzzedDataProvider fuzzing helper from the Chromium project
  * doc: Doxygen-friendly CuckooCache comments
  * [docs] Add release notes for removal of REJECT reasons
  * [validation] Fix REJECT message comments
  * [validation] Remove REJECT code from CValidationState
  * typo and unneccessary parentheses
  * [logging] Don't log REJECT code when transaction is rejected
  * [validation] Fix peer punishment for bad blocks
  * build: Add README.md to DIST target
  * test: add unit tests for Span-parsing helpers
  * Add missing fields in TransactionDescriptionString and others
  * MOVEONLY : move RPC wallets helpers to TransactionDescriptionString
  * test: Seed test RNG context for each test case, print seed
  * build: Add variable printing target to Makefiles
  * lint: Install grep and git via brew on mac for --perl-regexp
  * lint: Fix shellcheck SC2155
  * lint: Run the linters against Mac OS on Travis
  * depends: pull upstream libdmg-hfsplus changes
  * depends: latest config.guess & config.sub
  * tests: Remove TRANSACTION_DESERIALIZE (replaced by transaction fuzzer)
  * tests: Add fuzzing harness for CheckTransaction(...), IsStandardTx(...) and other CTransaction related functions
  * ci: Run tests on arm
  * init: Change fallback locale to C.UTF-8
  * [test] Add coverage to estimaterawfee and estimatesmartfee
  * build: Fix #include sys/poll.h to just poll.h (without sys/)
  * [doc] fix Makefile target in benchmarking.md
  * Add release note
  * Update descriptors.md to include sortedmulti
  * Test sortedmulti descriptor using BIP 67 tests
  * Add sortedmulti descriptor and unit tests
  * gitian: Put things in the right place to begin with
  * gitian: Eliminate rename dependency
  * gitian: Smaller diff with gitian-linux.yml
  * gitian: Fix README inclusion in archives
  * wallet: Avoid showing GUI popups on RPC errors
  * Fix bug where duplicate PSBT keys are accepted
  * Added double quotes
  * Disable _FORTIFY_SOURCE when enable-debug
  * tests: Pass fuzzing inputs as constant references
  * Always generate `bitcoinstrings.cpp` on `make translate`
  * build: Remove workaround for ancient libtool
  * build: Ensure a minimal version of libtool
  * Fix Python Docstring to include all Args.
  * util: Simplify path argument for CBlockTreeDB ctor
  * scripts: update copyright_header script to include additional files
  * build: Bump gitian descriptor versions
  * contrib: fix minor typos in makeseeds.py
  * doc: Fix amount typo in release notes
  * modify p2p_feefilter test to catch rounding error
  * Disallow implicit conversion for CFeeRate constructor
  * feefilter: Compute the absolute fee rather than stored rate to match mempool acceptance logic
  * ci: Make apt-get more verbose, to debug travis timeouts
  * Don't rename main thread at process level
  * Prevent processing duplicate payment requests
  * gitian: Use split-debug.sh for Win builds
  * doc: Add detailed info about Bitcoin Core files
  * doc: Update bips.md for default bech32 addresses in 0.20.0
  * doc: move-only release notes fragments for 0.20.0
  * Truly decouple wallet from chainparams for -fallbackfee
  * p2p: Remove BIP61 reject messages
  * ci: Use busybox utils for one build
  * doc: move-only: Steps for "before major release branch-off"
  * doc: reset release notes after 0.19 split-off
  * build: 0.19 release updates on master
  * contrib: Remove invalid nodes from seeds list
  * gui: Add shortcuts for tab tools
  * qa: Do not force overwrite of QT_QPA_PLATFORM on windows for gui tests
  * doc: Explain QT_QPA_PLATFORM for gui tests
  * doc: Consolidate release notes before 0.19.0
  * doc: Add missing release notes for 16383
  * chainparams: Bump assumed chain params
  * net: 0.19 hardcoded seeds update
  * contrib: makeseeds: More fancy output
  * contrib: makeseeds: Limit per network, instead of total
  * contrib: makeseeds: dedup by ip,port
  * contrib: makeseeds: Factor out ASN lookup
  * contrib: makeseeds: Improve logging and filtering
  * Enable UBSan for Travis fuzzer job
  * doc: Bump version in bips.md, mention bumping in release process
  * add newline after -stdin*
  * cli: add -stdinwalletpassphrase for (slightly more) secure CLI
  * add stdin helpers for password input support
  * build: Installed Qt version only appears if being built
  * util: Make thread names shorter
  * doc: Remove mention of renamed mapBlocksUnlinked
  * doc: Add mention of BIP158 indexing since v0.19.0
  * doc: Add mention of BIP125 used by wallet GUI by default since v0.18.1
  * scripts: search for next position of magic bytes rather than fail
  * When BIP70 is disabled, get PaymentRequest merchant using string search
  * doc: Add mention of BIP70 disabling by default in bips.md
  * test bumpfee fee_rate argument
  * qa: Fix service flag comparison check in rpc_net test
  * test: Avoid whitespace linting in qt translations
  * qt: Periodic translations update
  * Correct docstring param name.
  * build: Factor out qt translations from build system
  * rpc bumpfee check fee_rate argument
  * rpc bumpfee: add fee_rate argument
  * test: add unittests for CheckProofOfWork
  * test: Fix combine_logs.py for AppVeyor build
  * Add release note for bech32 by default in wallet
  * Revert "gui: Generate bech32 addresses by default (take 2, fixup)"
  * Change default address type to bech32
  * qt: Change default size of intro frame
  * refactor: Remove Qt function to disable menu icons on macOS
  * doc: Improve test READMEs
  * doc: Remove MSVC update step from translation process
  * [RPC] Fix casing in getblockchaininfo to be inline with the rest of the response
  * make SaltedOutpointHasher noexcept
  * refactor: consolidate PASTE macros
  * Change sendcoins dialogue Yes to Send
  * doc: Put PR template in comments
  * test: Remove python dead code linter
  * doc: replace outdated OpenSSL comment in test README
  * ci: Remove TRAVIS env vars
  * ci: Set $HOST before setting fallback values
  * validation: Make GetWitnessCommitmentIndex public
  * make sure to update the UI when deleting a transaction
  * doc: Doxygen-friendly descriptor.h comments
  * doc: Improve doxygen readme navigation section
  * doc: Move doxygen intro to file for USE_MDFILE_AS_MANPAGE
  * travis: Disable feature_block in tsan run
  * builds: remove superfluous config_opts_aarch64_android
  * txmempool: Make entry time type-safe (std::chrono)
  * build: remove mingw linker workaround from win gitian descriptor
  * Patch libevent when building for Android (fix arc4random_addrandom)
  * Update bitcoin_qt.m4
  * Define TARGET_OS when host is android
  * test: use named args for sendrawtransaction calls
  * doc: improve rawtransaction code/test docs
  * test: fix incorrect value in rpc_rawtransaction.py
  * gui: Rename address checkbox back to bech32
  * Add OpenSSL termios fix for musl libc
  * Refresh ZeroMQ 4.3.1 patch
  * Only check the hash of transactions loaded from disk
  * tests: Add information on how to add Vulture suppressions
  * test: Fix extra_args in wallet_import_rescan.py
  * doc: Fix doxygen comment for SignTransaction in rpc/rawtransaction_util
  * test: Make PORT_MIN in test runner configurable
  * util: Add count_seconds time helper
  * test: mempool entry time is persisted
  * Test: Move common function assert_approx() into util.py
  * Fix Android zlib cross compilation issue (https://stackoverflow.com/questions/21396988/zlib-build-not-configuring-properly-with-cross-compiler-ignores-ar)
  * Add full Android build example command and instructions on getting SDK/NDK
  * Add config opts and patch for aarch64_android build of Qt
  * Add ranlib to android.mk hosts file (fix OSX Android NDK build)
  * Add example Android host-platform-triplet and options
  * Add support for building Android dependencies
  * [doc] update brew instruction for doxygen
  * Update tx-size-small comment with relevant CVE disclosure
  * Add documenting comments to spanparsing.h
  * Abstract out some of the descriptor Span-parsing helpers
  * test: lint: Add DisabledOpcodeTemplates to whitelist
  * test: Remove unused connect_nodes_bi
  * scripted-diff: test: Replace connect_nodes_bi with connect_nodes
  * test: Use connect_nodes when connecting nodes in the test_framework
  * test: Reformat python imports to aid scripted diff
  * refactoring: move ReplayBlocks under CChainState
  * refactoring: move LoadChainTip to CChainState method
  * doc: fix CChainState::ActivateBestChain doc
  * doc: Fix whitespace errs in .md files, bitcoin.conf, Info.plist.in, and find_bdb48.m4
  * test: add unit test for wallet watch-only methods involving PubKeys
  * test: add some unit tests for merkle.cpp
  * test: Bump timeouts in slow running tests
  * depends: qt: Fix LDFLAGS pickup
  * [refactor] Rewrite AcceptToMemoryPoolWorker() using smaller parts
  * qt: Run "make translate" in ./src
  * test: Add notes on how to generate data/wallets/high_minversion
  * build: remove unnecessary qt xcb patching
  * build: remove unnecessary macOS qt patching
  * Add python bech32 impl round-trip test
  * test: improve gettransaction test coverage
  * rpc: fix regression in gettransaction
  * build: make protobuf optional in depends
  * doc: clarify protobuf build requirements
  * build: update boost macros to latest upstream
  * [wallet] Rename 'decode' argument in gettransaction method to 'verbose'
  * Clarify includeWatching for fundrawtransaction
  * bitcoin-wallet: Add a missing closing parenthesis in the help
  * Elaborate on the need to re-login on Debian-based systems to use tor following usermod
  * Prevent UpdateTip log message from being broken up
  * Qt: advise users not to switch wallets when opening a BIP70 URI.
  * doc: specify protobuf as optional in build docs
  * build: disable BIP70 support by default
  * tests: rename 'test_getnetworkinginfo' in 'test_getnetworkinfo'
  * tests: add a test for the 'servicesnames' RPC field
  * doc: add comments clarifying how local services are advertised
  * Fix block index inconsistency in InvalidateBlock()
  * util: CBufferedFile fixes
  * doc: move-only ActivateBestChain doxygen comment to header
  * signrawtransaction*: improve error for partial signing
  * signrawtransactionwithkey: better error messages for bad redeemScript/witnessScript
  * depends: qt: Fix C{,XX}FLAGS pickup
  * gui: fix autofocus in CreateWalletActivity::askPassphrase()
  * gui: fix passphrase labels/tooltip in createwalletdialog/askpassphrasedialog
  * gui: rename encrypt(), blank(), and askPasshprase()
  * qa: Check scantxoutset result against gettxoutsetinfo
  * rpc: Improve scantxoutset response and help message
  * Escape ampersands (&) in wallet names in Open Wallet menu
  * HTML escape address labels in more dialogs and notifications
  * HTML escape the wallet name in more dialogs and notifications
  * refactor: Cleanup walletinitinterface.h
  * doc: Add issue templates for bug and feature request
  * Added libbitcoin_qt and bitcoin-qt to the msbuild configuration.
  * Testchains: Qt: Simplify network/chain styles
  * Testchains: Generic selection with -chain=<str> in addition of -testnet and -regtest
  * Set init stop timeout to 10 min
  * Add Create Wallet menu action
  * Expose wallet creation to the GUI via WalletController
  * Add CreateWalletDialog to create wallets from the GUI
  * Optionally allow AskPassphraseDialog to output the passphrase
  * refactor: Avoid locking cs_main in ProcessNewBlockHeaders
  * gui: Refactor OpenWalletActivity
  * contrib: guix: Remove ssp spec file hack
  * contrib: guix: More robust search paths, add checks
  * depends: zlib: Move toolchain options to configure
  * Ignore old versionbit activations
  * doc: add a release note for the new field in 'getpeerinfo' and 'getnetworkinfo'
  * rpc/net: decode the services flags in a new entry
  * Assert that the HRP is lowercase in Bech32::Encode
  * Test that joinpsbts randomly shuffles the inputs
  * Shuffle inputs and outputs after joining psbts
  * Conservatively accept RBF bumps bumping one tx at the package limits
  * Make lint-includes.sh work from any directory
  * Disconnect peers violating blocks-only mode
  * doc: improve comments relating to block-relay-only peers
  * Don't relay addr messages to block-relay-only peers
  * Add 2 outbound block-relay-only connections
  * Add comment explaining intended use of m_tx_relay
  * Check that tx_relay is initialized before access
  * test: Remove incorrect and unused try-block in assert_debug_log
  * Refactor rawtransaction_util's SignTransaction to have previous tx parsing be separate
  * devtools: Accomodate block-style copyright blocks
  * lint: Bump flake8 to 3.7.8
  * lint: Disable flake8 W504 warning
  * test/contrib: Fix invalid escapes in regex strings
  * wallet: Fix segmentation fault in CreateWalletFromFile
  * test: Print both messages on failure in assert_raises_message
  * wallet: Fix documentation around WalletParameterInteraction
  * doc: ActivateBestChainStep return value
  * gui: Update English source translation
  * gui: Update transifex slug for 0.19
  * Avoid unnecessary "Synchronizing blockheaders" log messages
  * qt: Replace objc_msgSend with native syntax
  * Check for codespell in lint-spelling.sh
  * GUI: Remove unused menu items for Windows and Linux
  * doc: Add release note for the new gettransaction argument
  * tests: Add a new functional test for gettransaction
  * gettransaction: add an argument to decode the transaction
  * Don't show addresses or P2PK in decoderawtransaction
  * [qt] Change uninstall icon on Windows
  * qt: Replace QFontMetrics::width() with TextWidth()
  * Add a test wallet_reorgsrestore
  * Modify wallet tx status if has been reorged out
  * Add window final block height to getchaintxstats
  * wallet: extract PubKey from P2PK script with Solver
  * doc: Delete stale URL in test README
  * Added the bench_bitcoin project to the list automatically produced by the msvc-autogen python script.
  * wallet: Translate all initErrors in CreateWalletFromFile
  * util: Make util/error bilingual_str (refactor)
  * doc: Tidy up shadowing section
  * [refactor] Change tx_relay structure to be unique_ptr
  * [refactor] Move tx relay state to separate structure
  * test: add executable flag for wallet_watchonly.py
  * Adds an option to msbuild common configuration to ignore linker warning 4221. This warning is for object files that do not include any symbols. The warning is harmless and occurs due to some classes that are *nix only having no source to compile for an msvc build.
  * qa: Relax so that the subscriber is ready before publishing zmq messages
  * ci: Move CCACHE_DIR and test_runner tmp dir into ./ci/scratch/
  * ci: Pass down $MAKEJOBS to test_runner.py
  * test: Establish only one connection between nodes in rpc_invalidateblock
  * move-only: move coins statistics utils out of RPC
  * doc: Add spacing to command in translation_process.md
  * Remove unused fScriptChecks parameter from CheckInputs
  * Support serialization of std::vector<bool>
  * rpc bumpfee: move feerate estimation logic into separate method
  * lint: Catch use of [] or {} as default parameter values in Python functions
  * Avoid using mutable default parameter values
  * doc: Update labels in CONTRIBUTING.md
  * qt: Remove QSignalMapper from TransactionView
  * qt: Replace obsolete functions of QDesktopWidget
  * qt: Remove obsolete QModelIndex::child()
  * wallet: Use wallet name instead of pointer on unload/release
  * [gui] intro: enable pruning by default unless disk is big
  * [gui] intro: add prune preference
  * [gui] intro: inform caller if intro was shown
  * [gui] add explicit prune setter
  * [node] add forceSetArg to interface
  * [Doc] Add documentation for the new whitelist permissions
  * Replace obsolete functions of QSslSocket
  * qt: Remove QSignalMapper from RPCConsole
  * Release notes: add previously undocumented changes
  * Release notes: edit previously-detached notes
  * Remove SyncTransaction for conflicted txn in CWallet::BlockConnected
  * Encapsulate tx status in a Confirmation struct
  * qt: Add TextWidth() wrapper
  * gui: Ensure tx send error highlight is visible
  * packages.md: document depends build targets
  * Clarify need to specify --prefix with depends
  * Doc: move detached release notes into release-notes.md
  * gui: remove unused PlatformStyle::TextColorIcon
  * refactor: replace qLowerBound & qUpperBound with std:: upper_bound & lower_bound
  * refactor: replace qSort with std::sort
  * refactor: replace qStableSort with std::stable_sort
  * build: update RapidCheck Makefile
  * QA: fix rpc_setban.py race
  * Make descriptor test deterministic
  * rpc: Use Join helper in rpc/util
  * util: Add Join helper to join a list of strings
  * Unrecommend making config file owned by bitcoin
  * Set ProtectHome in systemd service file
  * Chgrp config dir to bitcoin in systemd service
  * Improve clarity of systemd service file comments
  * scripts: move update-translations.py to maintainer-tools repo
  * doc: add default bitcoin.conf locations
  * scripts: remove github-merge.py
  * doc: initial RapidCheck property-based testing documentation
  * doc: add release-notes for getmempoolentry weight field addition
  * qa: Add RPC tests for weight in mempool entry
  * RPC: add weight to mempool entry output
  * Bugfix: QA: Run tests with UPnP disabled
  * qa: Test ZMQ notification after chain reorg
  * qa: Refactor ZMQ test
  * doc: Add note regarding ZMQ block notification
  * test: Add test for default maxfeerate in sendrawtransaction
  * wallet/rpc: Use the default maxfeerate value as BTC/kB
  * doc: Add ZMQ dependencies to Fedora build
  * Additional tests for other failure cases
  * Check error messages in descriptor tests
  * Give more errors for specific failure conditions
  * Return an error from descriptor Parse that gives more information about what failed
  * test: Test that low difficulty chain fork is rejected
  * Reformat p2p_permissions.py
  * [Fix] The default whitelistrelay should be true
  * doc: Refer in rpcbind doc to the manpage
  * test: Pass down correct chain name in tests
  * [doc] mention whitelist is inbound, and applies to blocksonly
  * ci: Set --ansi in test_runner
  * ci: Add environment files for all settings
  * build: echo prop tests status during build
  * Add test for setban
  * Fix spelling error chache -> cache.
  * Cover UTXO set access with lock annotations
  * ci: Add note that this assumes a fresh git clone
  * ci: Use ./ci/ on non-travis host
  * ci: Remove dependence on travis, use it as fallback env
  * ci: Add retry
  * ci: Rename .travis/ to ./ci/
  * refactor: have CCoins* data managed under CChainState
  * doc: Improve versionbits.h documentation
  * util: Move ResolveErrMsg to util/error
  * [Fix] Allow connection of a noban banned peer
  * lint: Add false positive to python dead code linter
  * qt: Remove menu icons
  * tests: Use colors and dots in test_runner.py output only if standard output is a terminal -- allows for using the test runner output as input to other programs
  * test: Test p2sh-witness and bech32 in wallet_import_rescan
  * test: Replace fragile "rng" with call to random()
  * test: Generate one block for each send in wallet_import_rescan
  * [Consensus] Bury segwit deployment
  * [docs] Add release notes for burying bip 9 soft fork deployments
  * [Consensus] Bury CSV deployment height
  * [tests] Add coverage for the content of getblockchaininfo.softforks
  * Remove unused variable
  * doc: Fix typos in COPYRIGHT
  * build: Remove src/obj directory from repository
  * depends: zeromq: disable draft classes and methods
  * depends: xproto: configure flags cleanup
  * depends: qrencode: configure flags cleanup
  * depends: fontconfig: configure flags cleanup
  * depends: libxcb: configure flags cleanup
  * depends: libXau: configure flags cleanup
  * descriptor: fix missed m_script_arg arg renaming in #14934
  * Add missing contributor to release notes
  * build: ignore macOS make deploy artefacts & add them to clean-local
  * [rpc] Tidy up reporting of buried and ongoing softforks
  * Moved and renamed hash256 from util.py to zmq_interface.py
  * rpc: Fix getblocktemplate CLI example (#16594)
  * Add test for AddTimeData
  * travis: Bump timeout from 50 minutes to 90
  * doc: Mention other ways to conserve memory on compilation
  * build: Remove unused src/obj-test folder
  * doc: Update Markdown syntax for bdb packages
  * Add functional tests for flexible whitebind/list
  * Replace the use of fWhitelisted by permission checks
  * Do not disconnect peer for asking mempool if it has NO_BAN permission
  * Make whitebind/whitelist permissions more flexible
  * sipsorcery gitian key.
  * Give QApplication dummy arguments
  * [wallet] Restore confirmed/conflicted tx check in SubmitMemoryPoolAndRelay()
  * doc: Add historical release notes for 0.18.1
  * build: disable libsecp256k1 benchmarks
  * Remove p2pEnabled from Chain interface
  * Fix Char as Bool in interfaces
  * util: refactor upper/lowercase functions
  * Do not query all DNS seed at once
  * Add unmodified-but-with-checksum to getdescriptorinfo
  * Factor out checksum checking from descriptor parsing
  * [wallet] restore coinbase check in SubmitMemoryPoolAndRelay()
  * refactor: pcoinsTip -> CChainState::CoinsTip()
  * build: disable libxcb extensions
  * test: only include and init openSSL where it's actually used
  * [doc] chain: Declare BLOCK_VALID_HEADER reserved
  * doc: Fix grammar and punctuation in developer notes
  * test: Add missing sync_blocks to feature_pruning
  * [doc] Update and extend benchmarking.md
  * test: Explain why -whitelist is used in feature_fee_estimation
  * test: Format feature_fee_estimation with pep8
  * test: Avoid hardcoding the chain name in combine_logs
  * [build] .gitignore add Qt Creator Makefile.am.user
  * log: harmonize bitcoind server logging
  * Tidy up BroadcastTransaction()
  * Remove unused submitToMemoryPool and relayTransactions Chain interfaces
  * Remove duplicate checks in SubmitMemoryPoolAndRelay
  * Introduce CWalletTx::SubmitMemoryPoolAndRelay
  * Add BroadcastTransaction utility usage in Chain interface
  * Test: Set -acceptnonstdtxn in feature_fee_estimation
  * gui: Remove unused RPCConsole::tabFocus
  * test: Adapt test framework for chains other than "regtest"
  * test: Fix “local variable 'e' is assigned to but never used”
  * test: Make tests arg type specific
  * Revamp option negating policy
  * wallet: Drop unused OldKey
  * doc: Add release note for the deprecated totalFee option of bumpfee
  * Changes the verbosity of msbuild from quiet to normal in the appveyor script. Increasing the verbosity helps to identify the cause of build errors which is the main purpose of the appveyor script.
  * autoconf: Sane --enable-debug defaults.
  * test: Add -acceptnonstdtxn to self.extra_args[3]
  * gui: Generate bech32 addresses by default (take 2, fixup)
  * [wallet] Remove CMerkleTx serialization logic
  * [wallet] Flatten CWalletTx class hierarchy
  * [wallet] Move CMerkleTx functions into CWalletTx
  * test: Bump rpc_timeout in feature_dbcrash
  * Add setting as known type
  * qa: fix deprecated log.warn in feature_dbcrash test
  * doc: update labels in CONTRIBUTING.md
  * Allow createwallet to take empty passwords to make unencrypted wallets
  * Updated python command in readme so it will work on systems that have both python2 and 3 installed.
  * scripts: filter more qt plugins we don't use in macdeployqtplus
  * scripts: misc cleanups in macdeployqtplus
  * scripts: use format() in macdeployqtplus
  * scripts: add type annotations to macdeployqtplus
  * Trivial: add missing space
  * wallet: Rename CWalletKey to OldKey
  * wallet: Enumerate walletdb keys
  * Replace IsArgKnown() with FlagsOfKnownArg()
  * Use ArgsManager::NETWORK_ONLY flag
  * rpc: sendrawtransaction unconditionality/privacy note
  * [test] walletcreatefundedpsbt: check RBF is disabled when -walletrbf=0
  * [doc] rpc: remove "fallback to" from RBF default help
  * [rpc] walletcreatefundedpsbt: use wallet default RBF
  * Remove unused m_debug_only member from Arg struct
  * scripted-diff: Use ArgsManager::DEBUG_ONLY flag
  * scripted-diff: Use Flags enum in AddArg()
  * Add Flags enum to ArgsManager
  * Refactor InterpretNegatedOption() function
  * refactoring: Check IsArgKnown() early
  * [mempool] log correct messages when CPFP fails
  * test: Fail early on disconnect in mininode.wait_for_*
  * Add RPC bumpfee totalFee deprecation test
  * deprecate totalFee argument in bumpfee RPC call
  * Exclude depends/Makefile in .gitignore
  * [qa] Ensure we don't generate a too-big block in p2sh sigops test
  * [qa] Fix race condition in example_test.py
  * doc: add note on precedence of options in bitcoin.conf
  * refactor : use RelayTransaction in BroadcastTransaction utility
  * doc: Remove downgrading warning in release notes, per 0.18 branch
  * Enable all tests in feature_config_args.py
  * Use CheckDataDirOption() for code uniformity
  * Fix datadir handling in bitcoin-cli
  * Fix datadir handling in bitcoin-qt
  * Fix datadir handling in bitcoind
  * Add CheckDataDirOption() function
  * Return absolute path early in AbsPathForConfigVal
  * Have importwallet use ImportPrivKeys and ImportScripts
  * Optionally allow ImportScripts to set script creation timestamp
  * Have importaddress use ImportScripts and ImportScriptPubKeys
  * Have importpubkey use CWallet's ImportScriptPubKeys and ImportPubKeys functions
  * scripted-diff: Make translation bilingual
  * Add bilingual message type
  * Refactor out translation.h
  * tests: functional watch-only wallet tests
  * doc: add release note for include_watchonly default changes
  * depends: disable unused Qt features
  * doc: remove line numbers from qt package links
  * doc: fix typo in bitcoin_qt.m4 comment
  * build: remove jpeg lib check from bitcoin_qt.m4
  * build: disable libjpeg in qt
  * test: Skip flaky p2p_invalid_messages test on macOS
  * wallet: Recognize -disablewallet option early
  * travis: Print memory and number of cpus
  * extract min & max depth onto coin control
  * Remove ReadVersion and WriteVersion
  * Log the actual wallet file version
  * Remove nFileVersion from CWalletScanState
  * Specify AM_CPPFLAGS for ZMQ.
  * txmempool: Remove unused default value MemPoolRemovalReason::UNKNOWN
  * move-onlyish: move CCoinsViewErrorCatcher out of init.cpp
  * doc: Update bips 35, 37 and 111 status
  * build: Treat -Wswitch as error when --enable-werror
  * Use switch on status in RpcWallet
  * Return error for ignored passphrase through disable private keys option
  * Have importprivkey use CWallet's ImportPrivKeys, ImportScripts, and ImportScriptPubKeys
  * Log when an import is being skipped because we already have it
  * test: remove redundant setup in addrman_tests
  * depends: qt: Patch to remove dep on libX11
  * gitignore: Actually pay attention to depends patches
  * Add release notes for DEFAULT_BLOOM change
  * rpcwallet: document include_watchonly default for watchonly wallets
  * rpcwallet: default include_watchonly to true for watchonly wallets
  * QA: Fix race condition in wallet_encryption test
  * Get rid of PendingWalletTx class.
  * depends: Bump QT to LTS release 5.9.8
  * net: Make poll in InterruptibleRecv only filter for POLLIN events. poll should block until there is data to be read or the timeout expires.
  * symbol-check: Disallow libX11-*.so.* shared libraries
  * depends: libXext isn't needed by anyone
  * build-aux: Remove check for x11-xcb
  * depends: libX11: Make package headers-only
  * depends: qt: Explicitly stop using Xlib/libX11
  * depends: xproto is only directly needed by libXau
  * fix: tor: Call event_base_loopbreak from the event's callback
  * Use strong enum for WalletCreationStatus
  * Place out args at the end for CreateWallet
  * Remove wallet settings from chainparams
  * qa: Add --filter option to test_runner.py
  * docs: Improve netbase comments
  * doc: describe how to pass wildcard names to test runner
  * test: enable passing wildcards with path to test runner
  * Remove unused bits from the service flags enum
  * contrib: guix: Additional clarifications re: substitutes
  * Fix autostart filenames on Linux
  * contrib: guix: Various improvements.
  * contrib: guix: Clarify SOURCE_DATE_EPOCH.
  * contrib: Add deterministic Guix builds.
  * Change ImportScriptPubKeys' internal to apply_label
  * Call node->initError instead of InitError from GUI code
  * init: Use InitError for all errors in bitcoind/qt
  * Restrict lifetime of ReserveDestination to CWallet::CreateTransaction
  * CreateTransaction calls KeepDestination on ReserveDestination before success
  * Remove redundant pre-TopUpKeypool checks
  * test: Add test for maxtxfee option
  * Move wallet creation out of the createwallet rpc into its own function
  * Add GetNewChangeDestination for getting new change Destinations
  * Replace CReserveKey with ReserveDestinatoin
  * Add GetNewDestination to CWallet to fetch new destinations
  * Move WatchOnly stuff from SigningProvider to CWallet
  * Remove CCryptoKeyStore and move all of it's functionality into CWallet
  * Move various SigningProviders to signingprovider.{cpp,h}
  * Move KeyOriginInfo to its own header file
  * scripted-diff: rename CBasicKeyStore to FillableSigningProvider
  * Move HaveKey static function from keystore to rpcwallet where it is used
  * [mempool] Allow one extra single-ancestor transaction per package
  * Remove CKeyStore and squash into CBasicKeyStore
  * test: Add test for BIP30 duplicate tx
  * test: Properly serialize BIP34 coinbase height
  * Remove redundant WalletController::addWallet slot
  * depends: expat 2.2.7
  * Update doc and CI config
  * qt: Assert QMetaObject::invokeMethod result
  * gui: Fix missing qRegisterMetaType(WalletModel*)
  * test: rpc_users: Make variable names more clear.
  * test: rpc_users: Also test rpcauth.py with specified password.
  * test: rpc_users: Add function for testing auth params.
  * test: rpc_users: Add function for auth'd requests.
  * refactoring: remove mapBlockIndex global
  * refactoring: make pindexBestInvalid internal to validation.cpp
  * refactoring: add block_index_candidates arg to LoadBlockIndex
  * refactoring: move block metadata structures into BlockManager
  * refactor: Rename getWallets to getOpenWallets in WalletController
  * gui: Sort wallets in open wallet menu
  * test: Tool wallet test coverage for unexpected writes to wallet
  * test: Split tool_wallet.py test into subtests
  * test: Add log messages to test/functional/tool_wallet.py
  * rpc: switch to using RPCHelpMan.Check()
  * Make the RPCHelpMan aware of JSONRPCRequest and add Check() helper
  * build: prune dbus from depends
  * Remove unused guard
  * doc: Include static members in Doxygen
  * docs: add reduce-memory.md
  * [build]: use #if HAVE_SYSTEM instead of defined(HAVE_SYSTEM)
  * bench: Benchmark blockToJSON
  * [docs] Add release notes for PR 15427
  * rpc: migrate JSONRPCRequest functionality into request.cpp
  * Disable other targets when enable-fuzz is set
  * Enable ShellCheck rules
  * [RPC] add new utxoupdatepsbt arguments to the CRPCCommand and CPRCConvertParam tables
  * Add HaveKey and HaveCScript to SigningProvider
  * Use placeholder instead of key expiration date
  * Add logpath description for getrpcinfo
  * Suppress output in test_bitcoin for expected errors
  * Add ChaCha20Poly1305@Bitcoin AEAD benchmark
  * Add ChaCha20Poly1305@Bitcoin tests
  * rpc: fix RPC help requirements for getblocktemplate
  * test: Split fundrawtx test into subtests
  * test: Make local symbols in run_test members
  * test: Add tests for getblockchaininfo.softforks
  * bench: Move generated data to a dedicated translation unit
  * rpc: Clarify that block count means height excl genesis
  * wallet: Remove unreachable code in CreateTransaction
  * wallet: Fix -maxtxfee check by moving it to CWallet::CreateTransaction
  * Add antialiasing to traffic graph widget
  * TEST: Replace hard-coded hex tx with classes
  * Improve documentation of memory_cleanse()
  * [MSVC] Copy build output to src/ automatically after build
  * Fix: "Bitcoin Core" -> "The Bitcoin Core"
  * Drop no-longer-relevant copyright holder name
  * Include Objective-C source files
  * doc: Fix broken link in doc/build-osx.md
  * [MSVC] allow user level project customization
  * [wallet] abort when attempting to fund a transaction above maxtxfee
  * test: Add missing sync_all to wallet_balance test
  * [MSVC] Enable Fuzz for functional tests
  * qt: test: Create at most one testing setup
  * util: No translation of `Bitcoin Core` in the copyright
  * util: Explain why the path is cached
  * tests: Switch one of the Travis jobs to an unsigned char environment (-funsigned-char)
  * tests: Reduce compilation time and unneccessary recompiles by removing unused includes in tests
  * qt: Run «make translate» in ./src/
  * scripted-diff: Avoid passing PACKAGE_NAME for translation
  * build: Stop translating PACKAGE_NAME
  * Add Travis check for single parameter constructors not marked "explicit"
  * Add missing ECC_Stop(); in GUI rpcnestedtests.cpp
  * Remove extra CBlockIndex declaration
  * Fix GCC 7.4.0 warning
  * Add ChaCha20Poly1305@Bitcoin AEAD implementation
  * signrawtransactionwithkey: report error when missing redeemScript/witnessScript param
  * rpc: Allow shutdown while in generateblocks
  * build: dont compile rapidcheck with -Wall
  * test: Require standard txs in regtest
  * docs: release note wording
  * wallet/rpc: use static help text
  * wallet/rpc/getbalances: add entry for 'mine.used' balance in results
  * Use qInfo() if no error occurs
  * [MSVC]: Create the config.ini as part of bitcoind build
  * doc: remove orphaned header in developer notes
  * ci: Run extended tests
  * Set AA_EnableHighDpiScaling attribute early
  * test: Log to debug.log in all tests
  * Make and get the multisig redeemscript and destination in one function instead of two
  * net: Document what happens to getdata of unknonw type
  * test: use common setup in gui tests
  * test: Create data dir in BasicTestingSetup
  * MSVC: Fix error in debug mode (Fix #16245)
  * Change ismine to take a CWallet instead of CKeyStore
  * Move ismine to wallet module
  * [qa] Test that getdata requests work as expected
  * Make AbortNode() aware of MSG_NOPREFIX flag
  * Add MSG_NOPREFIX flag for user messages
  * Prepend the error/warning prefix for GUI messages
  * doc: Remove travis badge from readme
  * docs: add rapidcheck to vcpkg install list
  * Cleaned up and consolidated msvc build files to allow faster builds and easier migration to vs2019.
  * test: Suppress false positive leak in secure_allocator<RNGState>
  * test: Log output even if fuzzer failed
  * test: Add test that mainnet requires standard txs
  * chainparams: Remove unused fMineBlocksOnDemand
  * test: Add test for unknown args
  * gui: Fix open wallet menu initialization order
  * net: Use mockable time for tx download
  * tests: Make coins_tests/updatecoins_simulation_test deterministic
  * devtools: Fetch and display ACKs at sign-off time in github-merge
  * getrawtransaction: inform about blockhash argument when lookup fails
  * doc: Add release notes for 14897 & 15834
  * travis: Use absolute paths for cache dirs
  * travis: Fix caching issues
  * Improve build-osx formatting
  * doc: Remove explicit mention of version from SECURITY.md
  * addrdb: Remove temporary files created in SerializeFileDB. Fixes non-determinism in unit tests.
  * Add example 2nd arg to signrawtransactionwithkey
  * Update configure to reject unsafe miniUPnPc API ver
  * Replace remaining fprintf with tfm::format manually
  * Failing functional tests stop lcov
  * Add log output during initial header sync
  * scripted-diff: Replace fprintf with tfm::format
  * doc: Rework section on ACK
  * tinyformat: Add doc to Bitcoin Core specific strprintf
  * Delete error-prone CScript constructor
  * devtools: Always use unabbreviated commit IDs in github-merge.py
  * depends: xtrans: Configure flags cleanup.
  * Fix spelling errors identified by codespell 1.15.0
  * fixup: Fix prunning test
  * Fix RPC/pruneblockchain returned prune height
  * scripted-diff: gitian: Use REFERENCE_DATETIME directly.
  * Remove -mempoolreplacement to prevent needless block prop slowness.
  * Add test for dumping the private key imported from descriptor
  * Extend importmulti descriptor tests
  * [test] Add test to check mempool consistency in case of reorgs
  * validation: Add missing mempool locks
  * txpool: Make nTransactionsUpdated atomic
  * doc: update release process with SECURITY.md
  * doc: clarify support in SECURITY.md
  * scripts: add key for fanquake to trusted keys list
  * doc: Add release notes for 15993
  * Align formatting with clang-format
  * Use PACKAGE_NAME in UPnP description
  * Drop support of insecure miniUPnPc versions
  * Move DEFAULT_PEERBLOOMFILTERS from validation.h to net_processing.h
  * Disable bloom filtering by default.
  * Import private keys from descriptor with importmulti if provided
  * Add private key derivation functions to descriptors
  * [build]: check std::system for -[alert|block|wallet]notify
  * [build] MSVC: set HAVE_SYSTEM for desktop apps
  * [build] detect std::system or ::wsystem
  * Clean up logic in memory_cleanse() for MSVC
  * Include core_io.h from core_read.cpp
  * Don't use global (external) symbols for symbols that are used in only one translation unit
  * depends: remove usage of TAR_OPTIONS
  * docs: create security policy
  * [qa] Test disconnect block failure -> shutdown
  * [validation] Crash if disconnecting a block fails
  * wallet: do not encrypt wallets with disabled private keys
  * tests: Mark unit test blockfilter_index_initial_sync as non-deterministic
  * build: remove export GZIP from gitian descriptors
  * Add riscv64 to outputs list in release-process.md
  * qt: fix opening bitcoin.conf via Preferences on macOS; see #15409
  * gui: Set progressDialog to nullptr
  * New regression testing for CVE-2018-17144, CVE-2012-2459, and CVE-2010-5137.
  * Added comments referencing multiple CVEs in tests and production code.
  * Make reasoning about dependencies easier by not including unused dependencies
  * Add test for GCC bug 90348
  * Don't GPG sign intermediate commits with github-merge tool
  * gui: Enable console line edit on setClientModel
  * Limit Python linting to files in the repo
  * gui: Enable open wallet menu on setWalletController
  * bitcoind: update -avoidpartialspends description to account for auto-enable for avoid_reuse wallets
  * doc: release notes for avoid_reuse
  * wallet: enable avoid_partial_spends by default if avoid_reuse is set
  * test: add test for avoidreuse feature
  * wallet/rpc: add 'avoid_reuse' option to RPC commands
  * wallet/rpc: add setwalletflag RPC and MUTABLE_WALLET_FLAGS
  * wallet: enable avoid_reuse feature
  * wallet: avoid reuse flags
  * wallet: make IsWalletFlagSet() const
  * wallet: rename g_known_wallet_flags constant to KNOWN_WALLET_FLAGS
  * Fix bug around transaction requests
  * Expire old entries from the in-flight tx map
  * logging: Add threadsafety comments
  * Log early messages with -printtoconsole
  * Replace OpenDebugLog() with StartLogging()
  * docs: add release note for 14954
  * contrib: add curl as a required program in gitian-build.py
  * gui: move coin control OK to the right
  * wallet: Pass WalletBatch to CWallet::UnsetWalletFlag
  * Apply the batch treatment to CWallet::SetAddressBook via ImportScriptPubKeys
  * depends: libX*: --disable-malloc0returnsnull in conf
  * Move some of ProcessImport into CWallet::Import*
  * depends: libXext: Bump to 1.3.3 to fix _XEatDataWords
  * depends: Purge libtool archives
  * depends: Build secondary deps statically.
  * Exceptions should be caught by reference, not by value.
  * Add vertical spacer
  * Remove global symbols: Avoid using the global namespace if possible
  * depends: add ability to skip building zeromq
  * contrib: use newer config.guess & config.sub in install_db4.sh
  * remove parameters -addresstype=legacy in rpc_rawtransaction test
  * configure: Add flag for enabling thread_local.
  * util: Add type safe GetTime
  * doc: add bitcoin_config.h PACKAGE updates to release process
  * build: bump bitcoin_config.h packages to v0.18
  * wallet_balance.py: Prevent edge cases
  * replace tx hash with txid in test rawtransaction
  * refactor: Improve CRollingBloomFilter::reset by using std::fill
  * bench: Add benchmark for CRollingBloomFilter::reset
  * rpc: Mention getwalletinfo where a rescan is triggered
  * RPC: Hint for importmulti in help output of importpubkey and importaddress
  * parameterize hard coded numbers referring to miner conf window
  * depends: switch to secure download of all dependencies
  * mempool: remove unused magic number from consistency check
  * Make --setup command independent
  * depends: add patch to common dependencies
  * doc: fix/improve analyzepsbt in doc/psbt.md
  * Do not show list for the only recipient.
  * Batch writes for importmulti
  * Have WalletBatch automatically flush every 1000 updates
  * Add AddWatchOnlyWithDB, AddKeyOriginWithDB, AddCScriptWithDB functions
  * Fix gitian-build.py --verify option
  * Set/unset USE_LXC, USE_VBOX, USE_DOCKER explicitly
  * Fix Docker related issues for gitian-build.py
  * test: Speed up cache creation
  * test: Bump MAX_NODES to 12
  * scripted-diff: Rename LockAnnotation to LockAssertion
  * Make sure the compile-time locking promises given via LockAnnotation:s hold also in practice at runtime (ifdef DEBUG_LOCKORDER)
  * Move LockAnnotation to make it reflect the truth
  * Move LockAnnotation from threadsafety.h (imported code) to sync.h (our code)
  * Add a 'logpath' field to getrpcinfo
  * rpc: bugfix: Properly use iswitness in converttopsbt
  * Remove temporary method assumeLocked(). Remove LockingStateImpl. Remove redundant cs_main locks.
  * wallet: Use chain.lock() instead of temporary chain.assumeLocked()
  * rpc: Switch touched RPCs to IsValidNumArgs
  * Run all lint scripts
  * refactoring: IsInitialBlockDownload -> CChainState
  * refactoring: FlushStateToDisk -> CChainState
  * refactoring: introduce ChainstateActive()
  * move-only: make the CChainState interface public
  * build with -fstack-reuse=none
  * tests: Fail if RPC has been added without tests
  * netaddress: Update CNetAddr for ORCHIDv2
  * docs: Add productivity notes for "dummy rebases"
  * [doc] rpcwallet: Only fail rescan when blocks have been pruned
  * validation: Hold cs_main when reading chainActive in RewindBlockIndex
  * [rpc] deriveaddresses: Correct descriptor checksum in RPCExamples
  * Disallow extended encoding for non-witness transactions (take 3)
  * Add option to create an encrypted wallet
  * [refactor] interfaces: Add missing LockAnnotation for cs_main
  * init: Remove dead code in LoadChainTip
  * doc: Mention blocksonly in reduce-traffic.md, unhide option
  * test: Add test for p2p_blocksonly
  * QA: add test for HKDF HMAC_SHA256 L32
  * Add HKDF HMAC_SHA256 L=32 implementations
  * Add support for descriptors to utxoupdatepsbt
  * Abstract out UpdatePSBTOutput from FillPSBT
  * Abstract out EvalDescriptorStringOrObject from scantxoutset
  * Abstract out IsSegWitOutput from utxoupdatepsbt
  * [docs] Update release-notes.md
  * [docs] Update release-process.md
  * rpc: faster getblockstats using BlockUndo data
  * test: Format predicate source as multiline on error
  * Give WalletModel::UnlockContext move semantics
  * [tests] Make random seed logged and settable
  * net: Rename ::fRelayTxes to ::g_relay_txes
  * tests: Make msg_block a witness block
  * doc: Remove win32 from the release process
  * test: Remove True argument to CBlock::serialize
  * Show loaded wallets as disabled in open menu instead of nothing
  * Add LOCKS_EXCLUDED(cs_main) to LimitValidationInterfaceQueue(...) which does AssertLockNotHeld(cs_main)
  * .gitignore: Don't ignore depends patches
  * Add test for ArgsManager::GetChainName
  * Add unit test NextString, ForEachNoDup functions
  * util_SettingsMerge test cleanup
  * fix static_assert for macro HAVE_THREAD_LOCAL
  * Fix portability issue with pthreads
  * Document strenghtening
  * Add hash strengthening to the RNG
  * Do not construct out-of-bound pointers in SHA512/SHA1/RIPEMD160 code
  * scripted-diff: Bump copyright headers in wallet
  * wallet: Only fail rescan when blocks have actually been pruned
  * Add ChaCha20 bench
  * test_runner: Move pruning back to extended
  * refactoring: remove unused chainActive
  * scripted-diff: replace chainActive -> ::ChainActive()
  * refactoring: introduce unused ChainActive()
  * rename: CChainState.chainActive -> m_chain
  * Add ChaCha20 encryption option (XOR)
  * rpc: Deprecate getunconfirmedbalance and getwalletinfo balances
  * Remove Windows 32 bit build
  * [tests] Comment for why logging config is set as command-line args.
  * Install bitcoin-wallet manpage.
  * [depends] boost: update to 1.70
  * Separate reason for premature spends (coinbase/locktime)
  * Assert validation reasons are contextually correct
  * [refactor] Update some comments in validation.cpp as we arent doing DoS there
  * [refactor] Drop unused state.DoS(), state.GetDoS(), state.CorruptionPossible()
  * scripted-diff: Remove DoS calls to CValidationState
  * [refactor] Prep for scripted-diff by removing some \ns which annoy sed.
  * Allow use of state.Invalid() for all reasons
  * Fix handling of invalid headers
  * [refactor] Use Reasons directly instead of DoS codes
  * CorruptionPossible -> BLOCK_MUTATED
  * CorruptionPossible -> TX_WITNESS_MUTATED
  * LookupBlockIndex -> CACHED_INVALID
  * [refactor] Drop redundant nDoS, corruptionPossible, SetCorruptionPossible
  * [refactor] Add useful-for-dos "reason" field to CValidationState
  * rpc: Add lock annotations to block{,header}ToJSON
  * Ban all peers for all block script failures
  * Clean up banning levels
  * [refactor] drop IsInvalid(nDoSOut)
  * [refactor] Refactor misbehavior ban decisions to MaybePunishNode()
  * [refactor] rename stateDummy -> orphan_state
  * Drop obsolete sigops comment
  * rpc: Add getbalances RPC
  * doc: Add historical release notes for 0.18.0
  * rpcwallet: Make helper methods const on CWallet
  * Silence GCC 7 warning "control reaches end of non-void function" (-Wreturn-type) in psbt.cpp
  * GUI: Move QRImageWidget to its own file-pair
  * doc: Add release notes for 15730
  * rpc: Show scanning details in getwalletinfo
  * wallet: Track current scanning progress
  * doc: Explain how to pass in non-fundamental types into functions
  * [docs] Add doxygen comment for CReserveKey
  * [docs] Add doxygen comment for CKeyPool
  * rpc: Serialize in getblock without cs_main
  * rpc: Use IsValidNumArgs in getblock
  * wallet: Use IsValidNumArgs in getwalletinfo rpc
  * GUI: Refactor actual QR code rendering into new QRImageWidget::setQR
  * [tests] log thread names by default in functional tests
  * test: Add reorg test to wallet_balance
  * test: Check that wallet txs not in the mempool are untrusted
  * test: Add getunconfirmedbalance test with conflicts
  * test: Add wallet_balance test for watchonly
  * [qa] test_runner: Move feature_pruning to base tests
  * Replace deprecated Boost Filesystem function
  * [tests] fix block time in feature_pruning.py
  * Remove dead code for walletFile check
  * threads: add thread names to deadlock debugging message
  * threads: prefix log messages with thread names
  * tests: add threadutil tests
  * threads: introduce util/threadnames, refactor thread naming
  * GetKeyBirthTimes should return key ids, not destinations
  * Replace CScriptID and CKeyID in CTxDestination with dedicated types
  * add missing debian contrib files to tarball
  * Remove unused OpenSSL includes to make it more clear where OpenSSL is used
  * wallet: Avoid logging no_such_file_or_directory error
  * lint: Check that all wallet args are hidden
  * wallet: Track scanning duration
  * Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options
  * dummywallet: Reformat ignored wallet options list
  * remove extraneous scope
  * wallet: log on rescan completion
  * Include bitcoin_config.h in release process
  * Align MSVC build options with Linux build ones
  * disable HAVE_THREAD_LOCAL on unreliable platforms
  * appveyor: Write @PACKAGE_NAME@ to config
  * doc: explain AcceptToMemoryPoolWorker's coins_to_uncache
  * Remove NOTFOUND transactions from in-flight data structures
  * Add an explicit memory bound to m_tx_process_time
  * Improve NOTFOUND comment
  * Add test for superfluous witness record in deserialization
  * Fix missing input template by making minimal tx
  * QA/mininode: Send all headers upfront in send_blocks_and_test to avoid sending an unconnected one
  * QA: feature_filelock, interface_bitcoin_cli: Use PACKAGE_NAME in messages rather than hardcoding Bitcoin Core
  * QA: Avoid re-reading config.ini unnecessarily
  * Doc: remove text about txes always relayed from -whitelist
  * Align code example with clang-format
  * Show recipient list as detailedText of QMessageBox
  * Make SendConfirmationDialog fully fledged
  * doc: Fix -dustrelayfee= argument docs grammar
  * refactor: replace isPotentialtip/waitForNotifications by higher method
  * Resolve the qt/guiutil <-> qt/optionsmodal CD
  * wallet: add cachable amounts for caching credit/debit values
  * test: Add missing syncwithvalidationinterfacequeue to wallet_import_rescan
  * Add settings merge test to prevent regresssions
  * rpc: Speedup getaddressesbylabel
  * Ensure repos are up-to-date
  * Add WITH_LOCK macro: run code while locking a mutex
  * wallet: Remove unused import checkpoints.h
  * Add comments to Python ECDSA implementation
  * [POLICY] Make sending to future native witness outputs standard
  * Pure python EC
  * [wallet] Move maxTxFee to wallet
  * tests: fix outdate include in blockfilter_index_tests
  * [test] combine_logs: append node stderr and stdout if it exists
  * contrib: gh-merge: Use pagination to fetch all review comments
  * refactor: Add handleNotifications method to wallet
  * Filter IPv6 by ASN
  * rpc: Remove dependency on interfaces::Chain in SignTransaction
  * test: Add test that addmultisigaddress fails for watchonly addresses
  * test: Fixup creatmultisig documentation and whitespace
  * doc: Remove upgrade note in release notes from EOL versions
  * qt: update request payment button text and tab description
  * bench: Add wallet_balance benchmarks
  * remove out-of-date comment on pay-to-witness support
  * doc: Clarify RPC versioning
  * [wallet] move-only: move CReserveKey to be next to CKeyPool
  * Include cstring for sanity_test_fdelt if required
  * [moveonly] Split glibc sanity_test_fdelt out
  * Extract ParseDescriptorRange
  * gitignore: add *.plist (clang-check)
  * gitignore: add *.dat
  * doc: mention creating application support bitcoin folder on OSX
  * GUI: Options: Remove the upper-bound limit from pruning size setting
  * GUI: Options: Set the range of pruning size before loading its value
  * [rpc] Remove the addresses field from the getaddressinfo return object
  * travis: Bump second timeout to 33 minutes, Add rationale
  * scripted-diff: Bump copyright headers in test, bench
  * docs: Clarify PR guidelines w/re documentation
  * scripted-diff: Rename test_bitcoin to test/setup_common
  * doc: describe onlynet option in doc/tor.md
  * wallet_bumpfee.py: add test for change key preservation
  * add functional tests for feerate bumpfee with adding inputs
  * generalize bumpfee to add inputs when needed
  * test: Use test_bitcoin setup in bench, Add test utils
  * test: Have segwit always active in (Basic)TestingSetup
  * docs: Improve netaddress comments
  * [cleanup] Remove unused CReserveKey
  * [rpc] simplify generate RPC
  * bitcoin-wallet tool: Drop libbitcoin_server.a dependency
  * Remove access to node globals from wallet-linked code
  * bitcoin-wallet tool: Drop MakeChain calls
  * [wallet] Refactor CWalletTx::RelayWalletTransaction()
  * Avoid redefine warning
  * [build] Move AnalyzePSBT from psbt.cpp to node/psbt.cpp
  * [docs] Document src subdirectories and different libraries
  * [build] Move wallet load functions to wallet/load unit
  * [build] Add several util units
  * [build] Move several units into common libraries
  * [build] Move rpc rawtransaction util functions to rpc/rawtransaction_util.cpp
  * [build] Move rpc utility methods to rpc/util
  * [build] Move policy settings to new src/policy/settings unit
  * [build] Move CheckTransaction from lib_server to lib_consensus
  * test: Remove unused imports
  * scripted-diff: use self.sync_* methods
  * test: Pass self to test_simple_bumpfee_succeeds
  * test: Add BitcoinTestFramework::sync_* methods
  * test: Pass at most one node group to sync_all
  * [wallet] Remove unnecessary Chain::Lock parameter from ResendWalletTransactions
  * [wallet] Schedule tx rebroadcasts in wallet
  * [wallet] Keep track of the best block time in the wallet
  * qa: Prevent concurrency issues reading .cookie file
  * scripted-diff: Rename sync_blocks to send_blocks to avoid name collisions and confusion
  * test: Properly log named args in authproxy
  * rpc: Validate maxfeerate with AmountFromValue
  * doc: correct bitcoinconsensus_version in shared-libraries
  * Upgrade gitian image before signing
  * doc: Clarify sendrawtransaction::maxfeerate==0 help
  * blockfilter: Update BIP 158 test vectors.
  * rpc: Add getblockfilter RPC method.
  * init: Add CLI option to enable block filter index.
  * index: Access functions for global block filter indexes.
  * test: Unit test for block filter index reorg handling.
  * test: Unit tests for block index filter.
  * index: Implement lookup methods on block filter index.
  * index: Implement block filter index with write operations.
  * serialize: Serialization support for big-endian 32-bit ints.
  * blockfilter: Functions to translate filter types to/from names.
  * index: Ensure block locator is not stale after chain reorg.
  * index: Allow atomic commits of index state to be extended.
  * Take non-importing keys into account for spendability warning in descriptor import
  * Update bips.md for 0.18.0
  * Mention new descriptor RPCs in descriptors.md
  * travis: Properly cache and error on timeout
  * Mention new PSBT RPCs in psbt.md
  * Remove unused var
  * rpc: getrpcinfo docs
  * qa: Make swap_magic_bytes in p2p_invalid_messages atomic
  * Speed up deriveaddresses for large ranges
  * Import all origin info in importmulti; even for non-importing pubkeys
  * Keep full pubkeys in FlatSigningProvider::origins
  * wallet: Get all balances in one call
  * rpc: RPCHelpMan: Always push_name when outer type is an object
  * rpc: Add some doxygen comments to utils
  * change default Python block serialization to witness
  * [qa] Overhaul p2p_compactblocks.py
  * [wallet] Remove ResendWalletTransactionsBefore
  * gui: Generate bech32 addresses by default
  * Squashed 'src/secp256k1/' changes from 0b70241850..b19c000063
  * qa: Check unconfirmed balance after loadwallet
  * wallet: Update transactions with current mempool after load
  * interfaces: Add Chain::requestMempoolTransactions
  * [rpc] remove resendwallettransactions RPC
  * Disconnect BlockNotifyGenesisWait and RPCNotifyBlockChange properly. Remove no-op CClientUIInterface::[signal_name]_disconnect.
  * [tests] make pruning test faster
  * [tests] style fixes in feature_pruning.py
  * travis: Switch to ubuntu keyserver to avoid timeouts
  * Silence "Test case [...] did not check any assertions" warnings when running "test_bitcoin --log_level=test_suite"
  * Avoid repeated log messages in tests by connecting to signal handlers (ThreadSafeMessageBox, etc.) only once
  * tests: Reduce noise level in test_bitcoin output
  * Comment for seemingly duplicate LIBBITCOIN_SERVER
  * doc: rpc-mining: Clarify error messages
  * doc/dependencies: Fix typo libsrvg->librsvg
  * rpc: Fix help text for signtransactionwithXXX
  * release: Update the Windows Codesigning certificate
  * refactor: combine Chain::findFirstBlockWithTime/findFirstBlockWithTimeAndHeight
  * wallet: Move CWallet::ReacceptWalletTransactions locks to callers
  * [tests] Add test for wallet rebroadcasts
  * QA: add test for CKey::Negate()
  * CKey: add method to negate the key
  * Add documentation of struct PSBTAnalysis et al
  * Refactor analyzepsbt for use outside RPC code
  * Move PSBT decoding functions from core_io to psbt.cpp
  * Poly1305: tolerate the intentional unsigned wraparound in poly1305.cpp
  * Add Poly1305 bench
  * Add Poly1305 implementation
  * [docs] fix comment: the return value of findFork is _not_ an ancestor when the specified block is on the active chain
  * Remove unused AES-128 code
  * depends: latest rapidcheck, use INSTALL_ALL_EXTRAS
  * rpc: Rename size to vsize in mempool related calls
  * Handle the result of posix_fallocate system call
  * Resolve the checkpoints <-> validation CD.
  * net: Remove unused unsanitized user agent string CNode::strSubVer
  * torcontrol: Use the default/standard network port for Tor hidden services, even if the internal port is set differently
  * Interrupt orphan processing after every transaction
  * [MOVEONLY] Move processing of orphan queue to ProcessOrphanTx
  * Simplify orphan processing in preparation for interruptibility
  * docs: Add more tips to productivity.md
  * [docs] remove reference to signrawtransaction in the developer docs.
  * doc: Fix all typos reported by codespell
  * contrib: gh-merge: Include review comments in merge commit
  * [rpc] Remove deprecated functionality message from validateaddress help
  * [rpc] Remove signrawtransaction warning
  * gui: Defer removeAndDeleteWallet when no modal widget is active
  * Move g_is_mempool_loaded into CTxMemPool::m_is_loaded
  * rpc: Expose g_is_mempool_loaded via getmempoolinfo and /rest/mempool/info.json
  * doc: Add release notes for 15629
  * qa: Add test for missing testnet section in conf file
  * doc: documents how to calculate m_assumed_blockchain_size and m_assumed_chain_state_size on the release process.
  * doc: Add release notes for 15596
  * Doc: update ACK description in CONTRIBUTING.md
  * refactor: Remove unused function
  * qa: mininode: Clearer error message on invalid magic bytes
  * doc: Add release notes for 15620
  * init: Throw error when network specific config is ignored
  * rpc: Mention all output types in decodescript doc
  * refactor: Expose UndoReadFromDisk in header
  * rpc: Uncouple rpcs from maxTxFee global
  * rpc: Use IsValidNumArgs over hardcoded size checks
  * refactor: Remove unused function
  * depends: qt: Don't hardcode pwd path
  * depends: tar: Always extract as yourself
  * depends: Defer to Python detected by autoconf
  * Do not relay banned IP addresses
  * rpc: decodescript use IsValidNumArgs over hardcoded check
  * rpc: Clarify decodescript RPCResult doc
  * Add Gitian key for droark
  * Set 'distro' explicitly
  * [docs] release note for disabling reject messages by default
  * wallet: Improve log output for errors during load
  * wallet: Remove unused GetLegacyBalance
  * scripted-diff: wallet: Rename pcoin to wtx
  * build: depends: Switch to python3
  * Generate log entry when blocks messages are received unexpectedly.
  * wallet/rpc: add maxfeerate parameter to sendrawtransaction
  * wallet/rpc: add maxfeerate parameter to testmempoolaccept
  * wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtree
  * rpc: Document that minconf is an ignored dummy value
  * rpc: return a number for estimated_feerate in analyzepsbt
  * doc: correct analysepsbt rpc doc
  * Fix overflow bug in analyzepsbt fee: CAmount instead of int
  * depends: native_protobuf: avoid system zlib
  * Enable TLS in link to chris.beams.io
  * dead code: Remove dead option in HexStr conversion
  * cli: remove duplicate wallet fields from -getinfo
  * cli: replace testnet with chain and return network name as per BIP70.
  * doc: remove release note fragments
  * doc: correct path in build-windows.md
  * rest/rpc: Make mempoolinfo atomic
  * rpc: Speedup getrawmempool when verbose=true
  * build: use full version string in setup.exe
  * gitian: Improve error handling
  * Remove remaining wallet accesses to node globals
  * test: Refactor vout fetches in rpc_rawtransaction
  * tests: Print remaining jobs in test_runner.py
  * wallet_bumpfee.py: Make sure coin selection produces change
  * Remove use of CCoinsViewMemPool::GetCoin in wallet code
  * Remove use of CRPCTable::appendCommand in wallet code
  * Remove use CValidationInterface in wallet code
  * Document assumptions about C++ compiler
  * Remove sharp edge (uninitialized m_filter_type) when using the compiler-generated constructor for BlockFilter
  * In lint-format-strings, open files sequentially
  * test: .style.yapf: Set column_limit=160
  * test: Remove python3.4 workaround in feature_dbcrash
  * doc: Move wallet lock annotations to header
  * Suggested interfaces::Chain cleanups from #15288
  * contrib: Bump gitian descriptors for 0.19
  * doc: Remove pr release notes file in wrong dir
  * Add sizeof(size_t) assumptions
  * Fixup whitespace
  * scripted-diff: Rename CPubKey and CKey::*_KEY_SIZE and COMPRESSED_*_KEY_SIZE
  * Make SignatureExtractorChecker private to its own file
  * .python-version: Specify full version 3.5.6
  * scripted-diff: Update copyright in ./test
  * scripted-diff: test: Remove brackets after assert
  * build: Require python 3.5
  * scripted-diff: test: Use py3.5 bytes::hex() method
  * build: Bump version to 0.18.99
  * docs: Update Transifex links
  * docs: add "sections" info to example bitcoin.conf
  * [addrman] Improve collision logging and address nits
  * [wallet] remove unused GetScriptForMining
  * Add regtests for HTTP status codes.
  * fuzz: Link BasicTestingSetup (shared with unit tests)
  * test: Move main_tests to validation_tests
  * test: Remove useless test_bitcoin_main.cpp
  * test: Add missing LIBBITCOIN_ZMQ to test_test_bitcoin_LDADD
  * [addrman] Ensure collisions eventually get resolved
  * [rpc] remove deprecated generate method
  * [net] feeler connections can be made to outbound peers in same netgroup
  * test: Add .style.yapf
  * [addrman] Improve tried table collision logging
  * bench: Benchmark MempoolToJSON
  * rpc: Pass mempool into MempoolToJSON
  * Style cleanup.
  * flatfile: Unit tests for FlatFileSeq methods.
  * scripted-diff: Rename CBlockDiskPos to FlatFilePos.
  * Move CDiskBlockPos from chain to flatfile.
  * validation: Refactor file flush logic into FlatFileSeq.
  * validation: Refactor block file pre-allocation into FlatFileSeq.
  * validation: Refactor OpenDiskFile into method on FlatFileSeq.
  * validation: Extract basic block file logic into FlatFileSeq class.
  * util: Move CheckDiskSpace to util.
  * Change brace formatting
  * Remove use of IsInitialBlockDownload in wallet code
  * Remove use of uiInterface.LoadWallet in wallet code
  * circular-dependencies: Avoid treating some .h/.cpp files as a unit
  * Remove use of AcceptToMemoryPool in wallet code
  * Remove uses of InitMessage/Warning/Error in wallet code
  * Remove uses of GetAdjustedTime in wallet code
  * Remove use of g_connman / PushInventory in wallet code
  * Remove uses of g_connman in wallet code
  * Remove uses of fPruneMode in wallet code
  * Remove uses of fee globals in wallet code
  * Remove use of CalculateMemPoolAncestors in wallet code
  * Remove use of GetTransactionAncestry in wallet code
  * Remove use of GetCountWithDescendants in wallet code
  * Remove use of IsRBFOptIn in wallet code
  * Remove uses of CheckFinalTx in wallet code
  * gui: Drop unused return values in WalletFrame
  * Remove travis_wait from lint script
  * depends: Add commands for each package for each stage
  * depends: Preprocessing doesn't care about deps
  * [doc] productivity: more advanced git range-diff
  * [doc] devtools: mention clang-format dependency
  * [doc] productivity: fix broken link
  * Fix lack of warning of unrecognized section names
  * tests: Add script checking for deterministic line coverage
  * gui: Uppercase bech32 addresses in qr codes
  * cirrus ci: Inital config
  * speed up Unserialize_impl for prevector
  * [doc] descriptor: explain GetPubKey() usage with cached public key
  * scripted-diff: rename DescriptorImpl m_script_arg to m_subdescriptor_arg
  * Fix UB with bench on genesis block
  * Add warning messages to the debug window
  * Move non-linux source tarball to bitcoin-binaries
  * doc: Clarify -blocksdir usage
  * Show addresses for "SendToSelf" transactions
  * GUI: Restore RPC Console to non-wallet tray icon menu
  * Bugfix: test/functional/rpc_psbt: Correct test description comment
  * Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions
  * fix an undefined behavior in uint::SetHex
  * Lift prevector default vals to the member declaration
  * Disallow extended encoding for non-witness transactions
  * Allow quicker shutdowns during LoadBlockIndex()
  * configure: Initialise assembly enable_* variables
  * configure: Skip assembly support checks, when assembly is disabled
  * configure: Invert --enable-asm help string since default is now enabled

-------------------------------------------------------------------
Fri Mar 06 16:17:11 UTC 2020 - marec@detebe.org

- Update to version 0.15.0.1:
  * Release 0.15.0.1 (#102)
  * Change chain size assumptions to match VTC sizes (#98)
  * Set minor version to 0 for 0.15.0-rc1 pre-release
  * Changed back to 0.15.98 from .97 after re-merge
  * Update .gitignore
  * doc: Bump manpages pre-final
  * build: set CLIENT_VERSION_RC to 0 pre-final
  * Doc: remove old release notes about systemd and riscv changes
  * doc: Update release notes for rc1
  * Add back upstream patch
  * doc: Update manpages for rc1
  * build: Bump version to 0.18.1rc1
  * qt: pre-rc1 translations update
  * net: Make poll in InterruptibleRecv only filter for POLLIN events. poll should block until there is data to be read or the timeout expires.
  * fix: tor: Call event_base_loopbreak from the event's callback
  * Update the assume valid header to the the same as the most recent checkpoint
  * Fix copyright strings to include Bitcoin Core copyright
  * copyright and vertcoin port corrected
  * more changes for vertcoin compat
  * remove unused folders that require lots of changes to support vertcoin
  * qt: Assert QMetaObject::invokeMethod result
  * gui: Fix missing qRegisterMetaType(WalletModel*)
  * Added vertcoin core copyright
  * remove _old defined
  * Gert Jaap suggested changes
  * Cleanup stuff based on my own review comments
  * signrawtransactionwithkey: report error when missing redeemScript/witnessScript param
  * ignore vertcoin binaries, not bitcoin ones
  * missed a required comma
  * added struct entry for BIP's
  * .python-version: Bump to 3.5.6
  * Add comments to Python ECDSA implementation
  * change to 0.15.98
  * Set AA_EnableHighDpiScaling attribute early
  * Upstream bignum function signature changed
  * Upstream BEGIN macro deleted
  * Wallet accounts has been deprecated upstream
  * Missing path separator
  * cs_feeEstimator was renamed upstream
  * util.h was moved to util/system.h upstream
  * Fixes problem in configure
  * gui: Fix open wallet menu initialization order
  * Make and get the multisig redeemscript and destination in one function instead of two
  * Pure python EC
  * test: Add test that addmultisigaddress fails for watchonly addresses
  * test: Fixup creatmultisig documentation and whitespace
  * fixed bitcoin to vertcoin in a few places
  * changed build strings needed to vertcoin from bitcoin
  * Replace remaining fprintf with tfm::format manually
  * scripted-diff: Replace fprintf with tfm::format
  * Exceptions should be caught by reference, not by value.
  * tinyformat: Add doc to Bitcoin Core specific strprintf
  * rpc: bugfix: Properly use iswitness in converttopsbt
  * Bugfix: test/functional/rpc_psbt: Correct test description comment
  * Bugfix: test/functional/rpc_psbt: Remove check for specific error message that depends on uncertain assumptions
  * rpc: Switch touched RPCs to IsValidNumArgs
  * Add example 2nd arg to signrawtransactionwithkey
  * fixup: Fix prunning test
  * Fix RPC/pruneblockchain returned prune height
  * gui: Enable open wallet menu on setWalletController
  * Bugfix: dummywallet: Add -ignorepartialspends to list of ignored wallet options
  * dummywallet: Reformat ignored wallet options list
  * Add test for GCC bug 90348
  * gui: Set progressDialog to nullptr
  * gui: Enable console line edit on setClientModel
  * qt: fix opening bitcoin.conf via Preferences on macOS; see #15409
  * Disallow extended encoding for non-witness transactions (take 3)
  * Add test for superfluous witness record in deserialization
  * Fix missing input template by making minimal tx
  * Disallow extended encoding for non-witness transactions
  * Show loaded wallets as disabled in open menu instead of nothing
  * Install bitcoin-wallet manpage.
  * Doc: remove text about txes always relayed from -whitelist
  * doc: Mention blocksonly in reduce-traffic.md, unhide option
  * test: Add test for p2p_blocksonly
  * test: Format predicate source as multiline on error
  * net: Rename ::fRelayTxes to ::g_relay_txes
  * build with -fstack-reuse=none
  * doc: Clean out release notes post-0.18.0
  * build: Bump version to -final
  * someone missed changing 1_64 to 1_69 in one place. caused compile to fail
  * Update copyright
  * change major and minor revision to 0.15.99
  * Rename “OS X” to the newer “macOS” convention (#86)
  * [depends] Update boost to 1.69.0 (#88)
  * Ubuntu Xenial packages (#89)
  * Update configure.ac (#90)
  * Update zeromq.mk
  * Update configure.ac
  * accept new version updates
  * Update configure.ac
  * doc: 0.18: Remove TODO from release notes
  * build: Bump version to rc4
  * doc: Move release notes from wiki
  * gui: Pre-rc4 translations update
  * GUI: Options: Remove the upper-bound limit from pruning size setting
  * GUI: Options: Set the range of pruning size before loading its value
  * Revert "Change in transaction pull scheduling to prevent InvBlock-related attacks"
  * Take non-importing keys into account for spendability warning in descriptor import
  * Import all origin info in importmulti; even for non-importing pubkeys
  * Keep full pubkeys in FlatSigningProvider::origins
  * doc: Clarify RPC versioning
  * doc: describe onlynet option in doc/tor.md
  * doc/dependencies: Fix typo libsrvg->librsvg
  * doc: mention creating application support bitcoin folder on OSX
  * gitignore: add *.plist (clang-check)
  * gitignore: add *.dat
  * [rpc] Remove the addresses field from the getaddressinfo return object
  * rpc: getrpcinfo docs
  * Mention new descriptor RPCs in descriptors.md
  * Mention new PSBT RPCs in psbt.md
  * doc: correct bitcoinconsensus_version in shared-libraries
  * Update bips.md for 0.18.0
  * qa: Check unconfirmed balance after loadwallet
  * wallet: Update transactions with current mempool after load
  * interfaces: Add Chain::requestMempoolTransactions
  * wallet: Move CWallet::ReacceptWalletTransactions locks to callers
  * [tests] Add test for wallet rebroadcasts
  * Interrupt orphan processing after every transaction
  * [MOVEONLY] Move processing of orphan queue to ProcessOrphanTx
  * Simplify orphan processing in preparation for interruptibility
  * doc: Update manpages for changes since rc2
  * release: Update the Windows Codesigning certificate
  * build: Bump to rc3
  * qt: Translations update pre-rc3
  * [rpc] Remove deprecated functionality message from validateaddress help
  * gui: Defer removeAndDeleteWallet when no modal widget is active
  * Do not relay banned IP addresses
  * [docs] document BIP 61 deprecation
  * [p2p] Enable BIP 61 REJECT messages by default
  * doc: Update manpages
  * build: bump to rc2
  * wallet: Log and ignore errors in ListWalletDir and IsBerkeleyBtree
  * doc: Pre-rc2 translations update
  * Fix overflow bug in analyzepsbt fee: CAmount instead of int
  * rpc: return a number for estimated_feerate in analyzepsbt
  * doc: correct analysepsbt rpc doc
  * build: use full version string in setup.exe
  * qt: periodic translations update
  * [addrman] Improve collision logging and address nits
  * [addrman] Ensure collisions eventually get resolved
  * [net] feeler connections can be made to outbound peers in same netgroup
  * [addrman] Improve tried table collision logging
  * gitian: Improve error handling
  * Update vertcoin.png (#84)
  * Update zeromq to 4.3.1 (#81)
  * doc: Remove pr release notes file in wrong dir
  * build: set RC1
  * doc: Merge release notes fragments
  * Make last disconnected block BLOCK_FAILED_VALID, even when aborted
  * doc: Remove ppa from linux build instructions
  * build: Bump version to 0.18.0
  * modify test for memory locked in case locking pages failed at some point
  * [rpc] deriveaddresses: add range to CRPCConvertParam
  * Make deriveaddresses use stop/[start,stop] notation for ranges
  * test: Bump timeout on tests that timeout on windows
  * appveyor: Don't build debug libraries instead of "build and delete"
  * Optimization: don't add txn back to mempool after 10 invalidates
  * Prevent callback overruns in InvalidateBlock and RewindBlockIndex
  * Release cs_main during InvalidateBlock iterations
  * Use stop/[start,stop] notation in importmulti desc range
  * Add support for stop/[start,stop] ranges to scantxoutset
  * Support ranges arguments in RPC help
  * Add ParseRange function to parse args of the form int/[int,int]
  * msvc: Use a single file to specify the include path
  * doc: Update release process for snap package
  * add rpc_misc.py, mv test getmemoryinfo, add test mallocinfo
  * refactor: Use RPCHelpMan::IsValidNumArgs in getrawtransaction
  * doc: Remove misleading hint in getrawtransaction
  * test: Simplify create_cache
  * rpc/gui: Remove 'Unknown block versions being mined' warning
  * Enable PID file creation on Windows - Add available WIN PID function - Consider WIN32 in each relevant case - Add new preprocessor definitions to suppress warning - Update error message for generic OS
  * Call InvalidateBlock without cs_main held
  * Make RewindBlockIndex interruptible
  * Call RewindBlockIndex without cs_main held
  * Release cs_main during RewindBlockIndex operation
  * Merge the disconnection and erasing loops in RewindBlockIndex
  * Move erasure of non-active blocks to a separate loop in RewindBlockIndex
  * Abstract EraseBlockData out of RewindBlockIndex
  * wallet: Use fsbridge::ifstream to fix Windows path issue
  * gui: Fix async open wallet call order
  * refactor: Drop redundant wallet reference
  * rpc: Actually throw help when passed invalid number of params
  * rpc: Add RPCHelpMan::IsValidNumArgs()
  * qa: Fix wallet_txn_doublespend issue
  * qa: Always refresh stale cache to be out of ibd
  * qa: Remove mocktime unless required
  * [test] functional: set cwd of nodes to tmpdir
  * tests: remove byte.hex() to keep compatibility
  * Add missing #include.
  * Address test todos by removing -txindex to nodes. Originally added when updating getrawtransaction to stop searching unspent utxos.
  * Use a single wallet batch for UpgradeKeyMetadata
  * appveyor: Remove unused NDEBUG removal
  * scripted-diff: Remove NDEBUG pre-define
  * Update assumevalid, minimumchainwork, and getchaintxstats to height 563378.
  * [Doc] importmulti: add missing description of keypool option
  * [Doc] add missing newline to witnessScript in listunspent help
  * Implement analyzepsbt RPC and tests
  * Add checksums to descriptors.md
  * Make descriptor checksums mandatory in deriveaddresses and importmulti
  * Add getdescriptorinfo to compute checksum
  * Descriptor checksum
  * Move PSBT UTXO fetching to a separate method
  * Figure out what is missing during signing
  * Implement joinpsbts RPC and tests
  * Implement utxoupdatepsbt RPC and tests
  * doc: update FreeBSD build guide for 12.0
  * tests: Add missing cs_main locks required when accessing pcoinsdbview, pcoinsTip or pblocktree
  * Import public keys in order
  * Test pubkey import to keypool
  * Add option to importmulti add an imported pubkey to the keypool
  * Fetch keys from keypool when private keys are disabled
  * Add a method to add a pubkey to the keypool
  * Add release notes for importing key origin info change
  * Test importing descriptors with key origin information
  * Import KeyOriginData when importing descriptors
  * Implement a function to add KeyOriginInfo to a wallet
  * Store key origin info in key metadata
  * Move all PID file stuff to init.cpp
  * fuzz: test_runner: Better error message when built with afl
  * travis: Combine --disable-bip70 into existing job
  * test: txindex: interrupt threadGroup before calling destructor
  * Remove hdmasterkeyid
  * Add a method to CWallet to write just CKeyMetadata
  * Add WriteHDKeypath function and move *HDKeypath to util/bip32.{h,cpp}
  * Refactor keymetadata writing to a separate method
  * Remove unused TransactionError constants
  * [build] AppVeyor: clean cache when build configuration changes
  * [build] Makefile.am: add rule for src/bitcoin-wallet
  * Add compile time verification of assumptions we're currently making implicitly/tacitly
  * fixes m_assumed_blockchain_size variables values:
  * msvc: Fix silent merge conflict between #13926 and #14372 part II
  * Bump minimum Qt version to 5.5.1
  * qa: Add test/fuzz/test_runner.py
  * fuzz: Script validation flags
  * fuzz: Move deserialize tests to test/fuzz/deserialize.cpp
  * Remove manual byte editing in wallet_tx_clone func test
  * Add release note for listunspent P2WSH change
  * Add test for P2SH-P2WSH in signrawtransactionwithkey and listunspent
  * Make listunspent and signrawtransaction RPCs support witnessScript
  * Log full paths for wallets
  * gui: Add close wallet action
  * gui: Add closeWallet to WalletController
  * interfaces: Add remove to Wallet
  * Replace script name with special parameter
  * Remove unnecessary const_cast
  * [wallet] Close bdb when flushing wallet.
  * [rpc] mining: Omit uninitialized currentblockweight, currentblocktx
  * tests: Added missing tests for RPC wallet errors
  * Factor out combine / finalize / extract PSBT helpers
  * Remove op== on PSBTs; check compatibility in Merge
  * Switch away from exceptions in refactored tx code
  * appveyor: Remove outdated libraries
  * tests: accept unicode characters on Windows
  * Move PSBT definitions and code to separate files
  * Factor BroadcastTransaction out of sendrawtransaction
  * Split DecodePSBT into Base64 and Raw versions
  * Add pf_invalid arg to std::string DecodeBase{32,64}
  * Travis: Add test without BIP70 (but still full wallet + tests)
  * GUI: If BIP70 is disabled, give a proper error when trying to open a payment request file
  * GUI: If BIP70 is disabled, attempt to fall back to BIP21 parsing
  * RPCHelpMan: Check default values are given at compile-time
  * trivial: correct parameter name in comments
  * [wallet] Support creating a blank wallet
  * Update README.md (#80)
  * Move ParseConfirmTarget from rpc/mining to rpc/util
  * Move maxTxFee initialization to init.cpp
  * qa: Add tool-prefix to functional test readme
  * A few textual improvements
  * fixes to get compile to complete (noGUI mode)
  * test_runner: Remove unused --force option
  * Avoid triggering undefined behaviour (std::memset(nullptr, 0, 0)) if an invalid string is passed to DecodeSecret(...)
  * wallet: Add lock annotation for mapAddressBook
  * Change in transaction pull scheduling to prevent InvBlock-related attacks
  * util: Add SetupHelpOptions()
  * doc: Add missing wallet-tool manpages
  * contrib: Add missing wallet tool to gen-manpages.sh
  * Update linearize-hashes.py
  * qa: Drop RPC connection if --usecli
  * travis: Only exit early if compilation took longer than 30 min
  * doc: Add separate productivity notes document
  * Add release notes for importmulti descriptor support
  * Add test for importing via descriptor
  * [wallet] Allow descriptor imports with importmulti
  * [wallet] Refactor ProcessImport() to call ProcessImportLegacy()
  * [wallet] Add ProcessImportLegacy()
  * [wallet] Refactor ProcessImport()
  * rpc: Fix for segfault if combinepsbt called with empty inputs
  * Fix issue #9683 "gui, wallet: random abort (segmentation fault) running master/HEAD".
  * Fix build after pr 15266 merged
  * qa: Test .walletlock file is closed
  * netaddress: Make IPv4 loopback comment more descriptive
  * netaddress: Fix indentation in IsLocal
  * net: Correct comparison of addr count
  * [Docs] Small updates to getrawtransaction description
  * remove deprecated mentions of signrawtransaction from fundraw help
  * qt: Pre-0.18 split-off translations update
  * init: Modify docs and add release note for 12255
  * msvc: add rapid check property tests
  * gui: Show indeterminate progress dialog while opening walllet
  * gui: Add OpenWalletActivity
  * wallet: Close wallet env lock file
  * wallet: Close dbenv error file db.log
  * interfaces: Avoid interface instance if wallet is null
  * gui: Add thread to run background activity in WalletController
  * gui: Add Open Wallet menu
  * gui: Add openWallet and getWalletsAvailableToOpen to WalletController
  * interfaces: Add loadWallet to Node
  * wallet: Factor out LoadWallet
  * Use RdSeed when available, and reduce RdRand load
  * Check m_internals in UnregisterValidationInterface
  * gui: Fix m_node.startShutdown() order
  * gui: Expose BitcoinGUI::unsubscribeFromCoreSignals
  * gui: Fix WalletController deletion
  * tests: Make updatecoins_simulation_test deterministic
  * test: Fix race in p2p_invalid_messages
  * travis: Revert "Run extended tests once daily"
  * test: Make bloom tests deterministic
  * Make PID file creating errors fatal
  * Improve PID file removing errors logging
  * msvc: Fix silent merge conflict between #13926 and #14372
  * Rename Chain getLocator -> getTipLocator
  * Drop redundant get_value_or
  * Fix ScanForWalletTransactions start_block comment
  * wallet: Add missing cs_db lock
  * Document rescanblockchain returned stop_height being null
  * doc: Add cs_main lock annotations for mapBlockIndex
  * travis: Save cache when compilation took very long
  * Add suggested rescanblockchain comments
  * Update ScanForWalletTransactions result comment
  * Rename ScanResult stop_block field
  * Update release notes through to cb35f1d3
  * Release notes: integrate detached & rm backports
  * travis: Document whether functional tests are run in the job name
  * Revert "travis: Compile trusty with depends for now"
  * Prefer boost::optional#get_value_or over #value_or
  * Piecewise construct to avoid invalid construction
  * Do not import private keys to wallets with private keys disabled
  * Refactor importwallet to extract data from the file and then import
  * Slight tweak to the verify-commits script directions
  * tests: unify RPC argument to cli argument conversion and handle dicts and lists
  * travis: Remove unused FUNCTIONAL_TESTS_CONFIG
  * msvc: build leveldb locally
  * msvc: build secp256k1 locally
  * Fix assertion in CKey::SignCompact
  * gdb attaching to process during tests has non-sudo solution
  * Explain that unused mempool memory is added to -dbcache
  * [tests] Add wallet-tool test
  * [tools] Add wallet inspection and modification tool
  * Remove 'boost::optional'-related gcc warnings
  * build: prefer python3.4 even if newer versions are present on the system
  * Correct units for "-dbcache" and "-prune"
  * test: Build fuzz targets into seperate executables
  * log: Construct global logger on first use
  * wallet: Fixup rescanblockchain result doc
  * [rpc] util: add deriveaddresses method
  * doc: correct logging rpc return type and example
  * travis: Compile trusty with depends for now
  * travis: Compile once on trusty
  * Add gitian PGP key for hebasto
  * rpc: Compile on GCC4.8
  * qa: Use wallet to retrieve raw transactions
  * [RPC] Update getrawtransaction interface
  * Squashed 'src/leveldb/' changes from 524b7e36a8..f545dfabff
  * build: Remove WINVER pre define in Makefile.leveldb.inlcude
  * [test] fuzz: make test_one_input return void
  * Trivial: Doxygenize existing CBufferedFile and VectorReader comments
  * RPCHelpMan: Pass through Result and Examples
  * Descriptor expansions only need pubkey entries for PKH/WPKH
  * qa: Style-only fixes in touched files
  * Scripts and tools: Drop no-longer-relevant copyright holder names
  * Scripts and tools: Fix devtools/copyright_header.py to always honor exclusions
  * Prevent mutex lock fail even if --enable-debug
  * Trivial: fixup a few doxygen comments
  * Docs: Update python docs to reflect that wildcard imports are disallowed
  * Drop defunct Windows compat fixes
  * qa: Add tests for invalid message headers
  * tests: unify RPC argument to cli argument conversion and handle dicts and lists
  * [doc] add notes on release notes
  * submitheader: more directly test missing prev block header
  * remove some magic mining constants in functional tests
  * Doc: add information about security to the JSON-RPC doc
  * Notify the GUI that the keypool has changed to set the receive button
  * Added some factors that affect the dependency list
  * windows: Call SetProcessDEPPolicy directly
  * windows: Set _WIN32_WINNT to 0x0601 (Windows 7)
  * Allow connections from misbehavior banned peers.
  * Default -whitelistforcerelay to off
  * docs: add perf section to developer docs
  * tests: add utility to easily profile node performance with perf
  * Fix macOS launch-at-startup memory issue
  * Qt: remove macOS launch-at-startup option when compiled with > macOS 10.11
  * Check for more than private keys disabled to show receive button
  * [Docs] add short documentation for /rest/blockhashbyheight
  * [QA] add rest tests for /rest/blockhashbyheight/<HEIGHT>.<FORMAT>
  * REST: add "blockhashbyheight" call, fetch blockhash by height
  * Delete README_osx.md and move its contents into build-osx.md
  * lint: Enable python linters via an array
  * Remove errant past from walletcreatefundedpsbt for nLocktime replaceability
  * gui: Fix window title update
  * Add locking annotation for vNodes. vNodes is guarded by cs_vNodes.
  * zmq: log outbound message high water mark when reusing socket
  * Update all subprocess.check_output functions in CI scripts to be Python 3.4 compatible
  * Update zmq to 4.3.1
  * rpc: remove duplicate solvable field from getaddressinfo
  * gui: Refactor to use WalletController
  * gui: Add WalletController
  * gui: Use AutoConnection for WalletModel::unload signal
  * Add comment describing fDisconnect behavior
  * docs: Spelling error fix on fuzzing.md
  * Document RNG design in random.h
  * Use secure allocator for RNG state
  * Encapsulate RNGState better
  * DRY: Implement GetRand using FastRandomContext::randrange
  * Sprinkle some sweet noexcepts over the RNG code
  * Remove hwrand_initialized.
  * Switch all RNG code to the built-in PRNG.
  * Integrate util/system's CInit into RNGState
  * Abstract out seeding/extracting entropy into RNGState::MixExtract
  * Add thread safety annotations to RNG state
  * Rename some hardware RNG related functions
  * Automatically initialize RNG on first use.
  * Don't log RandAddSeedPerfmon details
  * build: Drop macports support
  * scripted-diff: batch-recase BanMan variables
  * banman: Add, use CBanEntry ctor that takes ban reason
  * banman: reformulate nBanUtil calculation
  * banman: add thread annotations and mark members const where possible
  * scripted-diff: batch-rename BanMan members
  * net: move BanMan to its own files
  * banman: pass in default ban time as a parameter
  * banman: pass the banfile path in
  * banman: create and split out banman
  * net: split up addresses/ban dumps in preparation for moving them
  * tests: remove member connman/peerLogic in TestingSetup
  * net: Break disconnecting out of Ban()
  * Remove no longer needed shellcheck suppressions
  * Fix warnings introduced in shellcheck v0.6.0
  * Remove repeated suppression. Fix indentation.
  * Pin shellcheck version to v0.6.0
  * qa: Improve tests of /rest/headers and /rest/block
  * doc: /rest/block responds with 404 if block does not exist
  * qa: Remove race between connecting and shutdown on separate connections
  * Improve "help-console" message
  * doc: Explain empty result of /rest/headers
  * [docs] Expand help text for importmulti changes
  * Fix remaining compiler warnings (MSVC). Move disabling of specific warnings from /nowarn to project file.
  * [doc] explain what .python-version does
  * Remove remaining chainActive references from CWallet
  * Convert CWallet::ScanForWalletTransactions and SyncTransaction to the new Chain apis
  * Add findFork and findBlock to the Chain interface
  * Add time methods to the Chain interface
  * Add height, depth, and hash methods to the Chain interface
  * gui: Show current wallet name in window title
  * gui: Keep network style in BitcoinGUI
  * gui: Remove unused return type in some BitcoinGUI methods
  * refactor/lint: Add ignored suggestions to an array
  * doc: Add release notes for unloadwallet change to synchronous call
  * rpc: Make unloadwallet wait for complete wallet unload
  * Add workaround for QProgressDialog bug on macOS
  * Fix wallet selector size adjustment
  * contrib: Allow use of github API authentication in github-merge
  * contrib: Add support for http[s] URLs in github-merge
  * contrib: Detailed reporting for http errors in github-merge
  * qa: Ignore shellcheck warning SC2236
  * Drop IsLimited in favor of IsReachable
  * Use FRC::randbytes instead of reading >32 bytes from RNG
  * Replace remaining 0 with nullptr in Qt code
  * Don't use zero as null pointer constant (-Wzero-as-null-pointer-constant)
  * configure: bitcoin-tx doesn't need libevent, so don't pull it in
  * Use C++11 default member initializers
  * util: Make ToLower and ToUpper take a char
  * util: remove unused [U](BEGIN|END) macros
  * Replace use of BEGIN and END macros on uint256
  * Remove redundant stopExecutor() signal
  * Remove redundant stopThread() signal
  * Add checksum in gitian build scripts for ossl
  * Do not deselect peer when switching away from tab
  * Improve Peers tab layout
  * docs: Clarifying testing instructions
  * Fail if either disk space check fails
  * Error if rpcpassword contains hash in conf sections
  * docs: Add FreeBSD build notes link to doc/README.md
  * Fix download link
  * Fix out-of-bounds write in case of failing mmap(...) in PosixLockedPageAllocator::AllocateLocked
  * build: Allow to configure --with-sanitizers=fuzzer
  * Use C++11 default member initializers
  * test: Run invalid_txs.InputMissing test in feature_block
  * Fix the build problem in libbitcoin_server
  * init: Use systemd automatic directory creation
  * [tests] move wallet util functions to wallet_util.py
  * [tests] tidy up wallet_importmulti.py
  * Qt: Fix update headers-count
  * Qt: update header count regardless of update delay
  * Fix minimized window bug on Linux
  * qt: Use WalletModel* instead of wallet name in console window
  * qt: Use WalletModel* instead of wallet name in main window
  * qt: Factor out WalletModel::getDisplayName()
  * rpc: Avoid permanent cs_main lock in getblockheader
  * Add BitcoinApplication & RPCConsole tests
  * Move BitcoinApplication to header so it can be tested
  * Use std::vector API for construction of test data.
  * test: Correct ineffectual WithOrVersion from transactions_tests
  * Add names to Travis jobs
  * rpc: Document bytessent_per_msg and bytesrecv_per_msg
  * gui: Fix for Incorrect application name when passing -regtest
  * Release notes: integrate detached release notes
  * Release notes: update notes through fb52d0684
  * Don't label transactions "Open" while catching up
  * doc: Add getrpcinfo release notes
  * qa: Add tests for getrpcinfo
  * rpc: Add getrpcinfo command
  * rpc: Track active commands
  * test: Fix rpc_net.py "pong" race condition
  * [rpc] Correct reconsiderblock help text, add test
  * Botbot.me (IRC logs) not available anymore
  * [Trivial] Update license year range to 2019
  * test: Add basic test for BIP34
  * Bump manpages
  * Update copyright headers to 2018
  * IsReachable is the inverse of IsLimited (DRY). Includes unit tests
  * Increase timeout of featuer_assumevalid test to fix flaky tests
  * If tests are ran with (ASan + LSan), Docker needs access to ptrace
  * Update Travis base OS to Xenial
  * wallet: Avoid leaking locktime fingerprint when anti-fee-sniping
  * Get more info about GUI-related issue on Linux
  * [test] wallet_txn_clone: Correctly clone txin sequence
  * doc: Add historical release notes for 0.17.1
  * whitespace: Split ~300 char line into multiple ones
  * scripted-diff: Rename rpc_timewait to rpc_timeout
  * scripted-diff: Remove unused 'split' parameter to setup_network
  * validation: Add cs_main locking annotations
  * blockfilter: Remove default clause in switch statement.
  * test: Avoid racy test p2p_timeouts
  * Fix minor grammar error in doc
  * Remove misplaced Q_UNUSED and others enhancements
  * doc: Add comment to cs_main and mempool::cs
  * test: Bump timeout to run tests in travis thread sanitizer
  * Fix broken notificator on GNOME
  * rpc: Fix data race (UB) in InterruptRPC()
  * Add suppression for InterruptRPC (fRPCRunning) data race
  * Modify build instructions to work with Command Prompt as well as PowerShell; other minor changes
  *  Made expicit constructor CTransaction(const CMutableTransaction &tx).
  *  Minimal changes to comply with explicit CMutableTransaction -> CTranaction conversion.
  * wallet: Initialize stop_block to nullptr in CWallet::ScanForWalletTransactions
  * test: Add missing validation locks
  * test: Add comment to g_insecure_rand_ctx
  * clarifying getrawtransaction[time] get help text
  * test: Undo thread_local g_insecure_rand_ctx
  * Making supported operating systems more clear
  * travis: Use trap and set -e errtrace
  * build: Enable functional tests in the ThreadSanitizer (TSan) build job
  * [Qt] Restore < Qt5.6 compatibility for addAction
  * Refactoring with QString::toNSString
  * [net] add dnsseed.emzy.de to DNS seeds
  * Fix cuckoocache_tests TSAN failure introduced in #14935. Fixes #14967.
  * fix testmempoolaccept CLI syntax
  * test: Fix race in mempool_accept
  * sync: Add RecursiveMutex type alias
  * rpc: Remove unused PreCommand signal
  * lint/format-strings: Correctly exclude escaped percent symbols
  * Select orphan transaction uniformly for eviction
  * test: add_nodes can only be called once after set_test_params
  * test: Make g_insecure_rand_ctx thread_local
  * Revert "tests: Support calling add_nodes more than once"
  * Remove Python 2 import workarounds
  * docs: add NSIS setup/install steps to windows docs
  * Revert "travis: Save cache on build error"
  * tests: Test for expected return values when calling functions returning a success code
  * doc: update NetBSD build instructions for 8.0
  * Add release notes
  * Overhaul importmulti logic
  * Do not permit copying FastRandomContexts
  * Simplify testing RNG code
  * Make unit tests use the insecure_rand_ctx exclusively
  * Bugfix: randbytes should seed when needed (non reachable issue)
  * Use a FastRandomContext in LimitOrphanTxSize
  * Introduce a Shuffle for FastRandomContext and use it in wallet and coinselection
  * Use a local FastRandomContext in a few more places in net
  * Make addrman use its local RNG exclusively
  * test: Add tests for truncated scripts
  * depends: disable unused qt features
  * depends: qt 5.9.7
  * depends: expat 2.2.6
  * [test] functional framework: add CScript hex() for Python 3.4
  * [test] Travis: enforce Python 3.4 support in functional tests
  * Removed implicit CTransaction conversion from benchmaks
  * Removed implicit CTransaction constructor from tests
  * test: mempool_persist: Verify prioritization is dumped correctly
  * test: pruning: Check that verifychain can be called when pruned
  * Add nice table to files.md
  * test: consensus: Check that final transactions are valid
  * test: Correctly deserialize without witness
  * qt: Remove ellipsis from sending/receiving addresses
  * qt: Add Window menu
  * qt: Allow to inspect RPCConsole tabs
  * [docs] add release note for change to GBT
  * [mining] segwit option must be set in GBT
  * [tests] Add docstring for wallet_importmulti.py
  * [tests] add test_address method to wallet_import.py
  * [tests] add test_importmulti method to wallet_import.py
  * [tests] add get_multisig function to wallet_importmulti.py
  * [tests] add get_key function to wallet_importmulti.py
  * Add E711 to flake8 check
  * Compare to None with is/is not
  * RPCHelpMan: Support required arguments after optional ones
  * doc: Update minimum required qt
  * Change '== None' to 'is None'
  * Handle exception as ImportError
  * threads: fix unitialized members in sched_param
  * rpc: Document default values for optional arguments
  * rpc: Assert named arguments are unique in RPCHelpMan
  * doc: Fill in authors and changelog for 0.17.1 release notes
  * rpc: Avoid creating non-standard raw transactions
  * Stop requiring imported pubkey to sign non-PKH schemes
  * [tests] tidy up imports in wallet_importmulti.py
  * [tests] fix flake8 warnings in wallet_importmulti.py
  * Fix start with the `-min` option
  * Improve documentation for running verify-commits.py script
  * qa: Ensure wallet unload during walletpassphrase timeout
  * Include util/strencodings.h which is required for IsSpace(...)
  * [doc] developer-notes.md: point out that UniValue deviates from upstream
  * build: bump version to 0.17.1
  * add `--retry 5` to curl opts in install_db4.sh
  * rpc: Fix wallet unload during walletpassphrase timeout
  * fix converttopsbt permitsigdata arg, add basic test
  * doc: Fix PSBT howto and example parameters
  * RPCHelpMan: Add space after colons in extended description
  * Use std::numeric_limits<UNSIGNED>::max()) instead of (UNSIGNED)-1
  * rpc: Add description to fundrawtransaction vout_index
  * scripted-diff: Run scripted-diff in subshell
  * validation: Add and use HaveTxsDownloaded where appropriate
  * scripts: Add trusted key for Samuel Dobson
  * Increase maxconnections limit when using poll.
  * Implement poll() on systems which support it properly.
  * Add test for conversion from non-witness to witness UTXO
  * Add regression test for PSBT signing bug #14473
  * Refactor PSBTInput signing to enforce invariant
  * Simplify arguments to SignPSBTInput
  * Add bool PSBTInputSigned
  * New PartiallySignedTransaction constructor from CTransction
  * Remove redundant txConst parameter to FillPSBT
  * More concise conversion of CDataStream to string
  * check that a separator is found for psbt inputs, outputs, and global map
  * tests: Modify rpc_bind to conform to #14532 behaviour.
  * wallet_keypool_topup.py: Test for all keypool address types
  * Add locking annotations to feeStats, shortStats and longStats
  * scripted-diff: Rename from cs_feeEstimator to m_cs_fee_estimator
  * policy: Add Clang thread safety annotations for variables guarded by cs_feeEstimator
  * Scripts and tools & Docs: Used #!/usr/bin/env bash instead of obsolete #!/bin/bash, added linting for .sh files shebang and updated the Developer Notes.
  * Cleanup SplashScreen class
  * Test coinbase category in wallet rpcs
  * Add all category options to wallet rpc help
  * Move SocketEvents logic to private method.
  * Move GenerateSelectSet logic to private method.
  * Introduce and use constant SELECT_TIMEOUT_MILLISECONDS.
  * [tests] Add wallet_balance.py
  * CreateTransaction: Assume minimum p2sh-p2wpkh spend size for unknown change
  * Remove stale comment in CalculateMaximumSignedInputSize
  * [tests] Add wallet_balance.py
  * qa: Avoid race in p2p_invalid_block by waiting for the block request
  * Improve blocksdir functional test.
  * Fix broken Gmane URLs
  * Use const in COutPoint class
  * Move CheckBlock() call to critical section
  * tests: have combine_logs default to most recent test dir
  * make peertimeout a debug argument, remove error message translation
  * docs: Add more Doxygen information to Developer Notes
  * Add CScriptNum decode python implementation in functional suite
  * Remove duplicate libconsensus linking in test make
  * Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986)
  * rpc: Make HTTP RPC debug logging more informative
  * add test demonstrating addrLocal UB
  * fix uninitialized read when stringifying an addrLocal
  * qt: Remove hidden columns in coin control dialog
  * validation: assert that pindexPrev is non-null when required
  * Throw error if CPubKey is invalid during PSBT keypath serialization
  * Bugfix: RPC: Add address_type named param for createmultisig
  * gui: explicitly disable "Dark Mode" appearance on macOS
  * p2p: allow p2ptimeout to be configurable, speed up slow test
  * Add comments to descriptor tests
  * Add descriptor expansion cache
  * [refactor] Combine the ToString and ToPrivateString implementations
  * [refactor] Use DescriptorImpl internally, permitting access to new methods
  * [refactor] Add a base DescriptorImpl with most common logic
  * travis: Remove deprecated sudo
  * build: Add bitcoin-tx.exe into Windows installer
  * build: Remove illegal spacing in darwin.mk
  * Fix listreceivedbyaddress not taking address as a string
  * wallet: Avoid potential use of unitialized value bnb_used in CWallet::CreateTransaction(...)
  * Tests: Fix a comment
  * qa: Add test to ensure node can generate all help texts at runtime
  * disallow oversized CBlockHeaderAndShortTxIDs
  * fix a deserialization overflow edge case
  * add a test demonstrating an overflow in a deserialization edge case
  * Add autogen.sh in ARM Cross-compilation
  * [wallet] Ensure wallet is unlocked before signing
  * Add missing lock in CNode::copyStats(...)
  * Add missing locking annotations
  * test: add invalid tx templates for use in functional tests
  * bench: Destroy wallet txs instead of leaking their memory
  * Replace CAffectedKeysVisitor with descriptor based logic
  * Fix descriptor_tests not checking ToString output of public descriptors
  * rpc: Pass argument descriptions to RPCHelpMan
  * Bugfix: test/functional/mempool_accept: Ensure oversize transaction is actually oversize
  * Add LSan suppression warnings
  * Add ASan Travis build
  * Make test p2p_invalid_messages.py pass: Allow for expected Travis ASAN memory increase
  * qa: Add wallet_encryption error tests
  * qa: clean up assert_memory_usage_stable utility
  * qa: fix p2p_invalid_messages on macOS
  * Trivial: add doxygen-compatible comments relating to BerkeleyEnvironment
  * Tests: add unit tests for GetWalletEnv
  * Free BerkeleyEnvironment instances when not in use
  * clarify RPC rawtransaction documentation
  * Less confusing documentation for `torpassword`
  * Use window() instead of obsolete topLevelWidget()
  * Make SafeDbt DB_DBT_MALLOC on default initialization
  * Add Benchmark to test input de-duplication worst case
  * squashme: connect thru node interface
  * Indicate -rpcauth option password hashing alg
  * http -> https
  * tests: check readability of cookie file
  * test: allows test_runner command line to receive parameters for each test
  * qa: Test bitcond shutdown
  * http: Remove timeout to exit event loop
  * http: Remove unnecessary event_base_loopexit call
  * http: Unlisten sockets after all workers quit
  * http: Send "Connection: close" header if shutdown is requested
  * rpc: Add wait argument to stop
  * Fix detection of copyright holders
  * Remove UBSan suppression
  * streams: Remove unused seek(size_t)
  * Correct misleading "overridden options" label
  * Allow running rpc_bind.py --nonloopback test without IPv6
  * qt: Call noui_connect to prevent boost::signals2::no_slots_error in early calls to InitWarning
  * test: Move UBSAN suppressions to test/sanitizer_suppressions/ubsan
  * travis: --disable-hardening for xenial thread sanitizer
  * travis: Run thread sanitizer
  * A few minor formatting fixes and clarifications to descriptors.md
  * rpcbind: Warn about exposing RPC to untrusted networks
  * CNetAddr: Add IsBindAny method to check for INADDR_ANY
  * net: Always default rpcbind to localhost, never "all interfaces"
  * rpcauth: Improve by using argparse and getpass modules
  * Add regtest for JSON-RPC batch calls.
  * tests: Support calling add_nodes more than once
  * Convert comments to thread safety annotations
  * test: Add BOOST_REQUIRE to getters returning optional
  * Do not specify sudo in .travis
  * Warn unrecognized sections in the config file
  * revert removal of fstream.hpp header in fs.h
  * Log env path in BerkeleyEnvironment::Flush
  * Properly generate salt in rpcauth.py, update tests
  * Fix running individually through test_runner.py, as suggested by @MarcoFalke (#14732)
  * Remove unreferenced boost headers
  * Improve scripted-diff developer docs
  * fix uninitialized read when stringifying an addrLocal
  * add test demonstrating addrLocal UB
  * rpc: Documentation fixups
  * Add release notes
  * Add matching descriptors to scantxoutset output + tests
  * Add descriptors to listunspent and getaddressinfo + tests
  * Use RPCHelpMan for all RPCs
  * Implement prevector::fill once
  * Drop defunct IS_TRIVIALLY_CONSTRUCTIBLE handling from prevector.h
  * lint: Must use RPCHelpMan to generate the RPC docs
  * Bump the minimum Qt version to 5.2
  * Rename ListTransactions filter variable
  * [wallet] Restore ability to list incoming transactions by label
  * disallow oversized CBlockHeaderAndShortTxIDs
  * fix a deserialization overflow edge case
  * add a test demonstrating an overflow in a deserialization edge case
  * rpc: Correctly name arguments
  * Add stop_block out arg to ScanForWalletTransactions
  * qa: Check specific reject reasons in feature_block
  * GetPubKey: make sigdata const
  * util.h: explicitly include required QString header
  * Return a status enum from ScanForWalletTransactions
  * Make CWallet::ScanForWalletTransactions args and return value const
  * Introduce SafeDbt to handle DB_DBT_MALLOC raii-style
  * remove redundant KeyOriginInfo access, already done in CreateSig
  * CreateTransaction: Assume minimum p2sh-p2wpkh spend size for unknown change
  * Remove stale comment in CalculateMaximumSignedInputSize
  * rpc: Add RPCHelpMan for machine-generated help
  * Release notes: integrate detached release notes
  * Release notes: update notes through to 11e1ac3ae08
  * Adjust configure so that only bip70 is disabled when protobuf is missing instead of the GUI
  * qa: Raise ci test_runner timeout to 40 mins
  * travis: Avoid timeout on verify-commits check
  * doc: add detached release notes for #14060
  * build: Add CLIENT_VERSION_BUILD to CFBundleGetInfoString
  * Better error message for user when corrupt wallet unlock fails
  * qa: Avoid race in p2p_invalid_block by waiting for the block request
  * tests: Make feature_block pass on centos
  * rpc: Include rpc/util.h where needed for RPCHelpMan
  * build: Add bitcoin-tx.exe into Windows installer
  * test_node: get_mem_rss fixups
  * Throw error if CPubKey is invalid during PSBT keypath serialization
  * Require a public key to be retrieved when signing a P2PKH input
  * wallet: Create IsDatabaseLoaded function
  * build: Fix windows build error if `--disable-bip70`
  * importmulti: Don't add internal addresses to address book
  * [doc] conf: Remove deprecated options from docs, Other cleanup
  * tests: Add Python dead code linter (vulture)
  * tests: Remove unused testing code
  * blockfilter: Additional constructors for BlockFilter.
  * blockfilter: Refactor GCS params into struct.
  * Add llvm-symbolizer directory to PATH. Needed to get symbolized stack traces from the sanitizers.
  * Update KNOWN_VIOLATIONS: Remove fixed violations
  * Use IsSpace(...) instead of boost::is_space
  * Use ToLower(...) instead of std::tolower
  * Use IsDigit(...) instead of std::isdigit
  * Send fewer spam messages in p2p_invalid_messages
  * Pass chain locked variables where needed
  * Remove uses of cs_main in wallet code
  * Remove direct node->wallet calls in init.cpp
  * Pass chain and client variables where needed
  * Add skeleton chain and client classes
  * Add UBSan suppressions needed to pass test suite
  * Add UBSan options: print_stacktrace + halt_on_error
  * doc: Clean out release notes after 0.17.0.1
  * doc: Add historical release notes for 0.17.0.1
  * qt: Revert "Force TLS1.0+ for SSL connections"
  * Add metavar to match var name in help text + Change wording for better readability
  * appveyor: Script improvement part II
  * wallet: Add trailing wallet.dat when detecting duplicate wallet if it's a directory.
  * Refactor: Move m_db pointers into BerkeleyDatabase
  * Add test for rpcpassword hash error
  * Error if rpcpassword in conf contains a hash character
  * Enable functional tests in UBSAN job. Enable -fsanitize=integer (part of UBSAN). Merge UBSAN Travis job with no depends.
  * example_test.py: fixup coinbase height argument, derive number clearly
  * blockfilter: Use unordered_set instead of set in blockfilter.
  * Extract CSipHasher to it's own file in crypto/ directory.
  * qa: Add test to ensure node can generate all help texts at runtime
  * Add NODISCARD to all {Decode,Parse}[...](...) functions returning bool. Sort includes.
  * tests: Explicitly ignore the return value of DecodeBase58(...)
  * tests: Check return value of ParseParameters(...)
  * miner: Default to DEFAULT_BLOCK_MIN_TX_FEE if unable to parse -blockmintxfee
  * trivial: Don't translate in help text
  * Add SAFE_CHARS[SAFE_CHARS_URI]: Chars allowed in URIs (RFC 3986)
  * rpc: Make HTTP RPC debug logging more informative
  * scripted-diff: Rename misleading 'defaultPort' to 'http_port'
  * Fix `bitcoin-qt -version` output formatting
  * Make blockdir always net specific
  * qt: All tray menu actions call showNormalIfMinimized
  * qt: Use GUIUtil::bringToFront where possible
  * qt: Add GUIUtil::bringToFront
  * scripted-diff: Move util files to separate directory.
  * warnings: Compiler warning on memset usage for non-trivial type
  * Remove obj_c for macOS Dock icon menu
  * Use Qt signal for macOS Dock icon click event
  * build: Remove illegal spacing in darwin.mk
  * test_runner: Remove travis specific code
  * Add regression test for PSBT signing bug #14473
  * Refactor PSBTInput signing to enforce invariant
  * Simplify arguments to SignPSBTInput
  * Add bool PSBTInputSigned
  * New PartiallySignedTransaction constructor from CTransction
  * Remove redundant txConst parameter to FillPSBT
  * More concise conversion of CDataStream to string
  * tests: add tests for invalid P2P messages
  * tests: add P2PConnection.send_raw_message
  * tests: add utility to assert node memory usage hasn't increased
  * Avoid using numeric_limits for sequence numbers and lock times
  * Remove duplicated code
  * Replace platform dependent type with proper const
  * [tests] Move deterministic address import to setup_nodes
  * Tests: Fix a comment
  * Update release-process.md to include RC version bumping
  * macOS: disable AppNap during sync
  * Make clear function argument case in dev notes
  * Remove obj_c for macOS Dock icon setting
  * FreeBSD: Document Python 3 requirement for 'gmake check'
  * doc: Add external interface consistency guarantees
  * build: include rc number in version number
  * build: if VERSION_BUILD is non-zero, include it in the package version
  * align items in contrib init
  * qt: Remove "Pay only required fee" checkbox
  * tests: Print dots by default
  * qt: Improve BitcoinAmountField class
  * added details about commit messages
  * Bugfix: RPC: Add address_type named param for createmultisig
  * gui: explicitly disable "Dark Mode" appearance on macOS
  * Remove unused `adjustedTime` parameter
  * Various textual improvements in build docs
  * travis: Save cache on build error
  * Docs/Release notes: 0.17.0.1 is a minor release
  * Don't rely on locale dependent functions in base_blob<BITS>::SetHex(...) (uint256), DecodeBase58(...), ParseMoney(...) and ParseHex(...)
  * Add tests for InferDescriptor and Descriptor::IsSolvable
  * Add Descriptor::IsSolvable() to distinguish addr/raw from others
  * Add support for inferring descriptors from scripts
  * [tests] Test that nodes respond to getdata with notfound
  * travis: Pin flake8 version to 3.5.0
  * build: Bump version for 0.17.0.1
  * doc: Update release notes for 0.17.0.1
  * Remove fs::relative call and fix listwalletdir tests
  * [macOS] Remove DS_Store WindowBounds bytes object
  * build: Fix Qt link order for Windows build
  * wallet: Refactor to use WalletLocation
  * wallet: Add WalletLocation utility class
  * Disable wallet and address book Qt tests on macOS minimal platform
  * descriptors.md: Refer to descriptors as describing instead of matching
  * doc/descriptors.md tweaks
  * Import CInv from correct module
  * qa: Run all tests even if wallet is not compiled
  * qa: Premine to deterministic address with -disablewallet
  * Test rpc_help.py failed: Check whether ZMQ is enabled or not.
  * test: Add tests for RPC help
  * qa: Use named args in some tests
  * scripted-diff: Use named arguments in feature_block
  * scripted-diff: Pass node into p2p_segwit acceptance tests
  * qa: Add some actual witness in rpc_rawtransaction
  * [qa] Use correct python index slices in example test
  * qa: Add TestNode::assert_debug_log
  * Add segwit address tests for importmulti
  * Make getaddressinfo return solvability
  * Add release notes for importmulti segwit change
  * Fix typo in test_framework/blocktools
  * Add SegWit support to importmulti with some ProcessImport cleanup
  * appveyor: Enable multiwallet test
  * tests: add test case for loading copied wallet twice
  * wallet: Fix duplicate fileid
  * [rpc] add 'getnewaddress' hint to 'generatetoaddress' help text.
  * minor p2p_sendheaders fix of height in coinbase
  * Removed explicit mention of storage requirement (squashed)
  * Don't link SSL_LIBS with GUI unless BIP70 is enabled
  * Add BIP70 deprecation warning
  * qt: cleanup: Move BIP70 functions together in paymentserver
  * show the progress of functional test
  * Update documentation to incude origin information
  * Add tests for key origin support
  * Add key origin support to descriptors
  * [macOS] Remove DS_Store WindowBounds bytes object
  * travis: Compile once on xenial
  * rpc: Prevent concurrent savemempool
  * qa: Ensure wallet unload during walletpassphrase timeout
  * Revert "Make qt wallet test compatible with qt4"
  * docs: Document lint tests
  * Fix typo
  * scripted-diff: Replace boost::bind with std::bind
  * refactor: Use boost::scoped_connection in signal/slot, also prefer range-based loop instead of std::transform
  * rpc: Always throw in getblockstats if -txindex is required
  * ZMQ: add options to configure outbound message high water mark, aka SNDHWM
  * doc: Update OpenBSD build guide for 6.4
  * gitignore contents of db4 folder
  * rpc: Fix wallet unload during walletpassphrase timeout
  * docs: Add release notes for listwalletdir RPC
  * qa: Add tests for listwalletdir RPC
  * rpc: Add listwalletdir RPC
  * interfaces: Add getWalletDir and listWalletDir to Node
  * wallet: Add ListWalletDir utility
  * Add `doc/bitcoin-conf.md`
  * [wallet] Deprecate the generate RPC method
  * [tests] Add generate method to TestNode
  * Avoid 1 << 31 (UB) in calculation of SEQUENCE_LOCKTIME_DISABLE_FLAG
  * utils: Fix broken Windows filelock
  * Textual improvements
  * Avoid triggering undefined behaviour in base_uint<BITS>::bits()
  * [doc] getblocktemplate: use SegWit in example
  * [docs] Add release note for removing getwitnessaddress
  * descriptors.md: Refer to descriptors as describing instead of matching
  * doc: add comment explaining recentRejects-DoS behavior
  * [tests] Small fixups before deprecating generate
  * build: Pin to specific versions of Python packages we install from PyPI in Travis
  * Add ignored word: mut
  * Revert "qa: Fix codespell error and have lint-spelling error instead of warn"
  * refactor: Drop boost::this_thread::interruption_point and boost::thread_interrupted in main thread
  * Fix listreceivedbyaddress not taking address as a string
  * tests: add test for 'getaddressinfo' RPC result 'ischange' field
  * rpcwallet: add 'ischange' field to 'getaddressinfo' response
  * Fix QCompleter popup regression
  * bitcoin-tx: Use constant for n pubkeys check
  * [doc] getblocktemplate: use SegWit in example
  * tests: Stop node before removing the notification file
  * Improve CAmount tests
  * Add compile time checking for cs_main locks which we assert at run time
  * [wallet] Restore ability to list incoming transactions by label
  * test: forward timeouts properly in send_blocks_and_test
  * Fix CLEAN_BITCOIN_TEST to remove .log files for all BITCOIN_TESTS files
  * clarify rpcwallet flag url change
  * [rpc] Descriptions: Textual consistency fixes
  * Add GUARDED_BY(cs_wallet) for setExternalKeyPool, mapKeyMetadata, m_script_metadata and setLockedCoins
  * Add GUARDED_BY(cs_wallet) for encrypted_batch, nWalletMaxVersion, m_max_keypool_index and nOrderPosNext
  * wallet: Add Clang thread safety analysis annotations
  * wallet: Add missing locks
  * qt: Revert "Force TLS1.0+ for SSL connections"
  * build: Add --disable-bip70 configure option
  * Add missing locks and locking annotations for CAddrMan
  * Add tooltips for both datadir and blocksdir
  * Stop requiring imported pubkey to sign non-PKH schemes
  * tests: Allow closed http server in assert_start_raises_init_error
  * Fix macOS files description
  * implements different disk sizes for different networks on intro
  * [docs] path to descriptors.md fixed
  * [tests] Remove rpc_zmq.py
  * Clean systray icon menu for -disablewallet mode
  * Add "Blocksdir" to Debug window
  * rpc: creates possibility to preserve labels on importprivkey
  * Don't access out of bounds array entry array[sizeof(array)]
  * appveyor: trivial build cache modifications
  * Fix typos
  * doc: miss install
  * doc: RPC documentation
  * travis: set codespell version to avoid breakage
  * depends: qt: avoid system harfbuzz and bz2
  * doc: Clean out release notes after release 0.17.0
  * doc: Remove "temporary file" notice from 0.17.0 release notes
  * tests: Make appveyor run with --usecli
  * doc: Add historical release notes for 0.17.0
  * test: Add missing call to skip_if_no_cli()
  * check that a separator is found for psbt inputs, outputs, and global map
  * Include some files currently missed by 'make distclean'.
  * utils: Convert Windows args to utf-8 string
  * fix converttopsbt permitsigdata arg, add basic test
  * doc: Update release-notes.md from upstream devwiki
  * depends: fix bitcoin-qt back-compat with older freetype versions at runtime
  * doc: Add historical release notes for 0.14.3 and 0.15.2
  * depends: fix bitcoin-qt back-compat with older freetype versions at runtime
  * Don't use systray icon on inappropriate systems
  * Document fixed attribute behavior in critical test framework classes.
  * Check for specific tx acceptance failures based on script signature
  * Strictly enforce instance attrs in critical functional test classes.
  * [docs] Add release notes for removing `-usehd`
  * doxygen: Fix member comments
  * Set C locale for amountWidget
  * [gitian] use versioned unsigned tarballs instead of generically named ones
  * Make MSVC compiler read the source code using utf-8
  * tests: Add test case for std::ios_base::ate
  * Move boost/std fstream to fsbridge
  * utils: Add fsbridge fstream function wrapper
  * qa: Run more tests with wallet disabled
  * tests: exclude all tests with difference parameters
  * Consolidate redundant implementations of ParseHashStr
  * [wallet] remove redundand restart node
  * AppVeyor: Move AppVeyor YAML to dot-file-style YAML
  * test: allow arguments to be forwarded to flake8 in lint-python.sh
  * Move SocketHandler logic to private method.
  * Move InactivityCheck logic to private method.
  * tests: write the notification to different files to avoid race condition
  * Move DisconnectNodes logic to private method.
  * Move NotifyNumConnectionsChanged logic to private method.
  * [wallet] Ensure wallet is unlocked before signing
  * validation: Pass chainparams in AcceptToMemoryPoolWorker(...)
  * Fix for incorrect version attr set on functional test segwit block.
  * Don't edit Chainparams after initialization
  * MOVEONLY: Move versionbits info out of versionbits.o
  * test: Fix broken segwit test
  * [REST] improve performance for JSON calls
  * [wallet] Remove deprecated addwitnessaddress RPC method
  * [test] Remove deprecated addwitnessaddress from feature_segwit.py
  * [test] Remove deprecated addwitnessaddress from wallet_bumpfee.py
  * [test] Remove deprecated addwitnessaddress from p2p_compactblocks.py
  * [tests] Remove deprecated addwitnessaddress call from wallet_dump.py
  * [tests] Remove deprecated addwitnessaddress call from feature_nulldummy
  * [test] Fix flake8 warnings in tests
  * doc: Add GitHub pr template
  * [RPC] Remove warning for removed estimatefee RPC
  * Make fs::path::string() always return utf-8 string
  * Add test for conversion from non-witness to witness UTXO
  * Convert non-witness UTXOs to witness if witness sig created
  * [wallet] Remove -usehd
  * lcov: filter /usr/lib/ from coverage reports
  * Add autogen.sh in ARM Cross-compilation
  * init: Remove deprecated args from hidden args
  * tests: Use MakeUnique to construct objects owned by unique_ptrs
  * doc: Split build linux dependencies
  * wallet: Avoid potential use of unitialized value bnb_used in CWallet::CreateTransaction(...)
  * Drop unused setRange arg to BerkeleyBatch::ReadAtCursor
  * doc: Split depends installation instructions per arch
  * doc: Add historical release notes for 0.16.3
  * uint256: Remove unnecessary crypto/common.h use
  * gui: Show watch-only eye instead of HD disabled
  * [rpc] Add getnodeaddresses RPC command
  * [qa] backport: Test for duplicate inputs within a transaction
  * Fix crash bug with duplicate inputs within a transaction
  * [qa] Test for duplicate inputs within a transaction
  * Fix crash bug with duplicate inputs within a transaction
  * amount: Move CAmount CENT to unit test header
  * appveyor: Run functional tests on appveyor
  * Changed functional tests which do not require wallets to run without
  * tests: Make it possible to run functional tests on Windows
  * travis: Run feature_dbcrash functional tests in cron job
  * tests: Reorder tests and move most of extended tests up to normal tests
  * use integer division instead of double conversion and multiplication for computing amounts
  * doc: Document -checklevel levels
  * [qa] Use correct python index slices in example test
  * build: Remove libssl from LDADD unless gui
  * convert C-style (void) parameter lists to C++ style ()
  * Fix reference to lint-locale-dependence.sh
  * [build] remove #ifdef ENABLE_WALLET from interfaces/node
  * qa: Remove unneded import_deterministic_coinbase_privkeys overwrite, add comments
  * qa: Fix codespell error and have lint-spelling error instead of warn
  * Bugfix: Only run bitcoin-tx tests when bitcoin-tx is enabled
  * configure: Make it possible to build only one of bitcoin-cli or bitcoin-tx
  * Pass export privkey DER compression flag correctly
  * doc: `-help-debug` implies `-help`
  * wallet: Remove trailing separators from -walletdir arg
  * wallet: Add walletdir arg unit tests
  * logging: Replace LogPrint macros with regular functions
  * build: Move interfaces/* to libbitcoin_server
  * [depends, zmq, doc] upgrade zeromq to 4.2.5 and avoid deprecated zeromq api functions
  * Pass tx pool reference into CheckSequenceLocks
  * Remove redundant BIP174 test from rpc_psbt.json
  * Call unicode API on Windows
  * Drop minor GetSerializeSize template
  * Drop unused GetType() from CSizeComputer
  * Convert non-witness UTXOs to witness if witness sig created
  * Drop the unnecessary UTXO based on the UTXOs present, not on earlier wallet things
  * qa: Run all tests even if wallet is not compiled
  * qa: Premine to deterministic address with -disablewallet
  * utils: Convert fs error messages from multibyte to utf-8
  * [build] remove ENABLE_WALLET ifdef from httprpc.cpp
  * qa: Fix silent merge conflict in wallet_importmulti
  * don't translate command line options
  * travis: avoid timeout without saving caches, also enable all qt
  * depends: Remove unused Qt 4 dependencies
  * doc: release notes for -enablebip61 default change
  * rpc: Remove cs_main lock from blockToJSON and blockHeaderToJSON
  * rpc: Specify chain tip instead of chain in GetDifficulty
  * rpc: Fix SoftForkMajorityDesc and SoftForkDesc signatures
  * Scripts and tools: increased timeout downloading
  * [build] Move dummy wallet into its own .cpp file.
  * tx pool: Use class methods to hide raw map iterator impl details
  * Squashed 'src/univalue/' changes from 51d3ab34ba..7890db99d6
  * p2p: Disable BIP 61 by default
  * qt: Also log and print messages or questions like bitcoind
  * noui: Move handlers to header file
  * doc/descriptors.md tweaks
  * Replace duplcate reference with reference to reference doc
  * Adjust TODO link
  * Add descriptor reference documentation
  * test: Add test for config file parsing errors
  * util: Report parse errors in configuration file
  * test: Add test for config file parsing errors
  * Remove reference to deprecated RPC call in build instructions
  * Docs: Add disable-wallet section to OSX build instructions
  * doc: Update v0.17.0.0 manpages
  * doc: Change documentation for =0 for non-boolean options
  * Replace duplcate reference with reference to reference doc
  * Adjust TODO link
  * Add descriptor reference documentation
  * doc: Change documentation for =0 for non-boolean options
  * doxygen: Remove misleading checkpoints comment in CMainParams
  * lint: Add spell check linter (codespell)
  * Fix typos reported by codespell
  * Explain GetAncestor check for m_failed_blocks in AcceptBlockHeader
  * Increase signal to noise in appveyor build output by reducing the MSVC warning count from 12 to 4 (12 is assuming the changes in #14086 are also implemented).
  * appveyor: Use clcache to speed up build
  * wallet: Set encrypted_batch to nullptr after delete. Avoid double free in the case of NDEBUG.
  * doc: correct GetDifficulty doc after #13288
  * gui: Favor macOS show / hide action in dock menu
  * lint: Make sure we read the command line inputs using utf-8 decoding in python
  * Trivial: update clang thread-safety docs url
  * build: avoid getifaddrs when unavailable
  * Test rpc_help.py failed: Check whether ZMQ is enabled or not.
  * Switch nPrevNodeCount to vNodesSize.
  * qa: Read reject reasons from debug log, not p2p messages
  * scripted-diff: Small locking rename
  * added note that control port must be enabled and how to do that in torrc config file
  * utils: Use _wfopen and _wreopen on Windows
  * Add EXCLUSIVE_LOCKS_REQUIRED to CWallet::ListCoins
  * macOS fix: Check for correct version of flake8 to avoid spurious warnings. The brew installed flake8 version is Python 2 based and does not work.
  * macOS fix: Add excludes for checks added in the newer shellcheck version installed by brew
  * macOS fix: Work around empty (sub)expression error when using BSD grep
  * macOS fix: Avoid mapfile due to ancient version of bash shipped with macOS
  * tests: Dry run bench_bitcoin (-evals=1 -scaling=0: <1 second running time) as part "make check" to allow for quick identification of assertion/sanitizer failures in benchmarking code
  * Remove RUN_BENCH logic
  * Only log "Using PATH_TO_bitcoin.conf" message on startup if conf file exists.
  * tests: Add missing locking annotations and locks
  * [wallet] Kill accounts
  * util: Report parse errors in configuration file
  * Fix potential deadlock
  * Add lock annotations (cs_args)
  * Add missing locks (cs_args)
  * qa: Use named args in some tests
  * scripted-diff: Use named arguments in feature_block
  * scripted-diff: Pass node into p2p_segwit acceptance tests
  * Remove unused fsbridge::freopen
  * Don't close old debug log file handle prematurely when trying to re-open (on SIGHUP)
  * validation: Log FormatStateMessage on ConnectBlock error in ConnectTip
  * fix walletcreatefundedpsbt deriv paths, add test
  * blockfilter: Omit empty scripts from filter contents.
  * Removes the Boost case_conv.hpp dependency.
  * Implements custom tolower and toupper functions.
  * Implements ParseNetwork unit test.
  * tests: Fix accidental trunction from int to bool
  * Add regression test: Don't assert(...) with side effects
  * Don't assert(...) with side effects
  * index: Fix for indexers skipping genesis block.
  * Add README.md to linux release tarballs
  * Hide spendable label if priveate key is disabled
  * [rpc] Remove deprecated sigrawtransaction rpc method.
  * [RPC] Remove warning about wallet addresses in createmultisig()
  * [rpc] Remove deprecated validateaddress usage.
  * test padding non micro timestamps
  * Use assert when running from multithreaded code as BOOST_CHECK_* are not thread safe
  * qa: Stop txindex thread before calling destructor
  * Docs: Fix help message typo optiona -> optional
  * travis: add  CXXFLAGS=-Wnopsabi at ARM job
  * add unicode compatible file_lock for Windows
  * Explicitly initialize prevector _union
  * Make objects in range declarations immutable by default. Avoid unnecessary copying of objects in range declarations.
  * [doc] Add release notes for 'account' API removal
  * [wallet] Re-sort wallet RPC commands
  * [wallet] Remove wallet account RPCs
  * fix missing differentiation between UNIT and FUNCTIONAL tests in travis build
  * Integration of property based testing into Bitcoin Core
  * [tests] Remove wallet accounts test
  * contrib: Adjust output to current test format
  * Report minfeefilter value in getpeerinfo rpc
  * use export LC_ALL=C.UTF-8
  * make script exit if a command fails
  * move remaining travis build steps into individual files
  * number .travis/ script according to build lifecycle and add README to explain
  * move lint stage up to resemble travis build ui
  * abort script in END_FOLD on non-zero exit code
  * move script sections info individual files and comply with shellcheck
  * utils: run commands using utf-8 string on Windows
  * auto generate MSVC project files
  * travis: Run unit tests --with-sanitizers=undefined
  * qa: Stop txindex thread before calling destructor
  * Use assert when running from multithreaded code as BOOST_CHECK_* are not thread safe
  * Move cs_main locking annotations from .cpp to .h
  * Add compile time checking for all cs_main runtime locking assertions
  * bench: Benchmark GCS filter creation and matching.
  * blockfilter: Optimization on compilers with int128 support.
  * blockfilter: Unit test against BIP 158 test vectors.
  * blockfilter: Additional helper methods to compute hash and header.
  * blockfilter: Serialization methods on BlockFilter.
  * blockfilter: Construction of basic block filters.
  * blockfilter: Simple test for GCSFilter construction and Match.
  * blockfilter: Implement GCSFilter Match methods.
  * blockfilter: Implement GCSFilter constructors.
  * blockfilter: Declare GCSFilter class for BIP 158 impl.
  * streams: Unit tests for BitStreamReader and BitStreamWriter.
  * streams: Implement BitStreamReader/Writer classes.
  * streams: Unit test for VectorReader class.
  * streams: Create VectorReader stream interface for vectors.
  * [contrib] Support ARM and RISC-V symbol check
  * Docs: Fix help message typo optiona -> optional
  * fix walletcreatefundedpsbt deriv paths, add test
  * qa: Add some actual witness in rpc_rawtransaction
  * qa: Add TestNode::assert_debug_log
  * [Tests] Make combine_logs.py handle multi-line logs
  * util: Replace boost::signals2 with std::function
  * depends: Enable unicode support on dbd for Windows
  * depends: allow CC/CXX to be overridden during configure
  * Make IS_TRIVIALLY_CONSTRUCTIBLE consistent on GCC < 5
  * qa: Remove unused deserialization code in msg_version
  * Skip stale tip checking if outbound connections are off or if reindexing.
  * Remove default argument to prevector constructor to remove ambiguity
  * Add new regtest ports in doc following #10825 ports reattributions
  * rpc: Avoid locking cs_main in some wallet RPC
  * test: Add tests for RPC help
  * Bugfix: NSIS: Exclude Makefile* from docs
  * p2p: Remove dead code for nVersion=10300
  * Bugfix: NSIS: Exclude Makefile* from docs
  * test: Add lint to prevent SIGNAL/SLOT connect style
  * qt: Use new Qt5 connect syntax
  * RPCTypeCheck bip32derivs arg in walletcreatefunded
  * QA: add basic walletcreatefunded optional arg test
  * walletcreatefundedpsbt: remove duplicate replaceable arg
  * Allow ConstructTransaction to not throw error with 0-input txn
  * test: Check RPC settxfee errors
  * Disable wallet and address book Qt tests on macOS minimal platform
  * RPCTypeCheck bip32derivs arg in walletcreatefunded
  * QA: add basic walletcreatefunded optional arg test
  * walletcreatefundedpsbt: remove duplicate replaceable arg
  * Preserve a format of RPC command definitions
  * http: Add const modifier to HTTPRequest methods
  * depends: fix qt determinism
  * depends: fix qt determinism
  * appveyor: fetch the latest port data
  * qt: Pre-rc1 translations update
  * Add checks for settxfee reasonableness
  * Fix typo in feature_blocksdir.py log message
  * rpc: Return more specific reject reason for submitblock
  * refactor: use fs:: over boost::filesystem::
  * More tests of signer checks
  * Test that a non-witness script as witness utxo is not signed
  * Only wipe wrong UTXO type data if overwritten by wallet
  * Additional sanity checks in SignPSBTInput
  * Serialize non-witness utxo as a non-witness tx but always deserialize as witness
  * Fix PSBT deserialization of 0-input transactions
  * [trivial] Fix typo in CDiskBlockPos struct's ToString
  * Use wildcard path in test_bitcoin.vcxproj
  * Add PSBT documentation
  * Allow ConstructTransaction to not throw error with 0-input txn
  * don't report minversion wallet entry as unknown
  * Import CInv from correct module
  * ci: Add appveyor.yml to build on MSVC
  * Make macro compatible with MSVC
  * tests: Replace usage of tostring() with tobytes()
  * Remove unused dummy_tx variable from FillPSBT
  * Serialize non-witness utxo as a non-witness tx but always deserialize as witness
  * Fix PSBT deserialization of 0-input transactions
  * qa: Add tests for submitheader
  * rpc: Expose ProcessNewBlockHeaders
  * Make SignPSBTInput operate on a private SignatureData object
  * Pass HD path data through SignatureData
  * Implement key origin lookup in CWallet
  * [MOVEONLY] Move ParseHDKeypath to utilstrencodings
  * Generalize PublicOnlySigningProvider into HidingSigningProvider
  * Make SigningProvider expose key origin information
  * Introduce KeyOriginInfo for fingerprint + path
  * More tests of signer checks
  * Test that a non-witness script as witness utxo is not signed
  * Additional sanity checks in SignPSBTInput
  * Only wipe wrong UTXO type data if overwritten by wallet
  * doc: regenerate manpages
  * gitian: bump descriptors for (0.)18
  * build: bump version to 0.17.99
  * build: bump version to 0.17.0
  * contrib: fix GetDesirableServiceFlags typo in seeds/README.md
  * tests: Use explicit imports
  * fix deprecation in bitcoin-util-test.py
  * net: Update hardcoded seeds
  * contrib: in makeseeds, add 0.16.x to PATTERN_AGENT, remove 0.13.x
  * doc: move-only release notes of individual prs
  * docs: fixed bitcoin-cli -help output for help2man
  * qt: Translations update before 0.17 branch
  * Removes unsed `CBloomFilter` constructor.
  * p2p: Clarify control flow in ProcessMessage()
  * Ported usage of deprecated optparse module to argparse module
  * Replace median fee rate with feerate percentiles
  * Cleanup StartRest()
  * Speed up knapsack_solver_test by not recreating wallet 100 times.
  * qa: Add p2p_invalid_locator test
  * Make format string linter understand basic template parameter syntax
  * Visual Studio build configuration for Bitcoin Core
  * Use 72 byte dummy signatures when watching only inputs may be used
  * Use 71 byte signature for DUMMY_SIGNATURE_CREATOR
  * Always create 70 byte signatures with low R values
  * wallet: shuffle coins before grouping, where warranted
  * Introduce a maximum size for locators.
  * No longer shutdown after encrypting the wallet
  * After encrypting the wallet, reload the database environment
  * Add function to close all Db's and reload the databae environment
  * Move BerkeleyEnvironment deletion from internal method to callsite
  * qa: blocktools enforce named args for amount
  * Use pushKV in some new PSBT RPCs.
  * Squashed 'src/leveldb/' changes from 64052c76c5..524b7e36a8
  * Simplify comparison in rpc_blockchain.py.
  * [Tests] Cleanup feature_block.py, remove unnecessary PreviousSpendableOutput object
  * [Tests] Cleanup extra instances of create_transaction
  * [Tests] Rename create_tx and move to blocktools.py
  * qa: wait_for_verack by default
  * Fix incorrect Doxygen comments
  * Add risc-v 64-bit to gitian
  * [depends] Add riscv qt depends support for cross compiling bitcoin-qt
  * qa: Remove redundant checkmempool/checkblockindex extra_args
  * Trivial: Revert translated string change, clarify wallet log messages
  * Log progress while verifying blocks at level 4.
  * [Docs] upgrade rescan time warning from minutes to >1 hour
  * Consistently use ParseHashV to validate hash inputs in rpc
  * ui: Compile boost:signals2 only once
  * Add linting of WalletLogPrintf(...) format strings
  * build: Add format string linter
  * Remove redundant extern
  * Enable -Wredundant-decls (gcc) if available
  * Remove redundant redeclaration of rescanblockchain(...) in same scope
  * Docs: fix GetWarnings docs to reflect behavior
  * shutdown: Stop threads before resetting ptrs
  * [RPC] Remove getinfo deprecation warning
  * wallet: Catch filesystem_error and raise InitError
  * [docs] Reformat -help output for help2man
  * qa: Raise feature_help timeout to 5s
  * qa: Use files for stdout/stderr to support Windows
  * qa: Run gen_rpcauth with sys.executable
  * [trivial] add doxygen-compatible comments to CAffectedKeysVisitor
  * gui: get special folder in unicode
  * qa: Close stdout and stderr file when node stops
  * Drop boost::scoped_array
  * qa: Create unicode tempdir in test_runner
  * Use LOCK macros for non-recursive locks
  * Make LOCK, LOCK2, TRY_LOCK work with CWaitableCriticalSection
  * MOVEONLY Move AnnotatedMixin declaration
  * Add unit test for DEBUG_LOCKORDER code
  * test: Add testing of value_ret for SelectCoinsBnB
  * doc: correct versions in dependencies.md
  * Docs: Improve "of" grammar
  * [wallet] Add wallet name to log messages
  * use only travis jobs: instead of mix of jobs+matrix
  * trivial: correct typos
  * trivial: Fixed typos and cleaned up language
  * fix locale for lint-shell
  * Remove unused variable
  * Remove redundant assignments (dead stores)
  * qa: Quote wallet name for rpc path
  * gui: Pull initial 017x translations from transifex
  * tx: Update transifex slug 016x→017x
  * -prune option -help output aligned with code
  * qa: Extract rpc_timewait as test param
  * [qt] TransactionView: highlight replacement tx after fee bump
  * [trivial,doc] Fix memory consistency model in comment
  * travis: Run bench_bitcoin once
  * doc: Remove outdated net comment
  * bench: Make CoinSelection output groups pass eligibility filter
  * contrib: Support github pull request gitian-build
  * Ignore unknown config file options for now
  * Update ValidationInterface() documentation to explicitly specify threading and memory model
  * Update documentation for SingleThreadedSchedulerClient() to specify the memory model
  * gui: Reject options dialog when key escape is pressed
  * gui: Reject edit address dialog when key escape is pressed
  * gui: Add GUIUtil::ItemDelegate with keyEscapePressed signal
  * Add BIP174 to list of implemented BIPs
  * wallet: sum ancestors rather than taking max in output groups
  * doc: Fix chainTxData comment
  * use travis:fold in test script steps
  * contrib: Remove debian and rpm subfolders
  * [qa] Add test for too-large wallet output groups
  * Acquire cs_main before ATMP call in block_assemble bench
  * doc: add note to contributor docs about warranted PR's
  * Fix osslsigncode compile issue in gitian-build
  * [wallet] correctly limit output group size
  * scripted-diff: Remove unused first argument to addUnchecked
  * tx pool: Use the entry's hash instead of the one passed to addUnchecked
  * Mark CTxMemPoolEntry members that should not be modified const
  * Report when unknown config file options are ignored
  * Add CMerkleTx::IsImmatureCoinBase method
  * chainparams: Update with data from assumed valid chain
  * doc: Add historical release notes for 0.16.2
  * Add aarch64 qt depends support for cross compiling bitcoin-qt
  * refactor: Avoid locking tx pool cs thrice
  * Support h instead of ' in hardened descriptor paths
  * Add experimental warning to scantxoutset
  * [QA] Extend tests to more combinations
  * [QA] Add xpub range tests in scantxoutset tests
  * Swap in descriptors support into scantxoutset
  * Descriptor tests
  * Output descriptors module
  * Add simple FlatSigningProvider
  * Add more methods to Span class
  * Fix accidental use of the addition assignment operator ("+="). Remove newlines from error message.
  * Return void instead of bool for functions that cannot fail
  * qt: Set BLOCK_CHAIN_SIZE = 220
  * Regenerate manpages
  * Update copyright headers to 2018
  * make .travis/yml a bit more readable
  * net: Add missing verification of IPv6 address in CNetAddr::GetIn6Addr(...)
  * wallet: Fix accidental use of the comma operator
  * travis: Retry to fetch docker image
  * Mark single-argument constructors "explicit"
  * contrib: Fix test-security-check fail in Ubuntu 18.04
  * Fix Qt's rcc determinism for depends/gitian
  * [net_processing] Add thread safety annotations
  * Annotate AssertLockHeld() with ASSERT_CAPABILITY() for thread safety analysis
  * scripted-diff: prefer MAC_OSX over __APPLE__
  * gui: remove macOS ProgressBar workaround
  * gui: remove SubstituteFonts
  * doc: mention that macOS 10.10 is now required
  * release: bump minimum required macOS to 10.10
  * depends: set OSX_MIN_VERSION to 10.10
  * [gui] Make proxy icon from statusbar clickable
  * scripted-diff: Remove trailing whitespaces
  * depends: use MacOS friendly sed syntax in qt.mk
  * doc: Add release notes for -avoidpartialspends
  * clean-up: Remove no longer used ivars from CInputCoin
  * wallet: Remove deprecated OutputEligibleForSpending
  * test: Add basic testing for wallet groups
  * wallet: Switch to using output groups instead of coins in coin selection
  * wallet: Add output grouping
  * Add -avoidpartialspends and m_avoid_partial_spends
  * wallet: Add input bytes to CInputCoin
  * moveonly: CoinElegibilityFilter into coinselection.h
  * utils: Add insert() convenience templates
  * qt: Update translation source messages
  * Skip is_closing() check when not available.
  * Return the script type from Solver
  * Removes Boost predicate.hpp dependency
  * doc: Adjust bitcoincore.org links
  * trivial: remove unneeded include
  * tiny refactor for ArgsManager
  * Avoid locking mutexes that are already held by the same thread
  * Use the Travis python language feature on the lint build
  * Don't unnecessarily install shellcheck on the lint build
  * trivial: Replace CPubKey::operator[] with CPubKey::vch where possible
  * Removes the boost/algorithm/string/join dependency
  * Avoid unnecessarily setting env variables on the lint build
  * [contrib] Add automatic setup for Ubuntu Bionic
  * Fix bitcoin-cli --version
  * [bench] Add benchmark for unserialize prevector
  * Fix merging of global unknown data in PSBTs
  * Check that PSBT keys are the correct length
  * Avoid creating a temporary vector for size-prefixed elements
  * docs: Specify preferred Python string formatting technique
  * docs: Link to python style guidelines from developer notes
  * wallet: Add error handling. Check return value of ParseUInt32(...) in ParseHDKeypath(...).
  * wallet: Add tests for ParseHDKeypath(...)
  * [travis] Don't store debug info if --enable-debug is set
  * Tests: add usage note to check-rpc-mappings.py
  * tests: fixes mininode's P2PConnection sending messages on closing transport
  * doc: Improve command to generate list of authors for release notes
  * doc: Update broken links to now point to gitian-build.py
  * lint: Add linter for circular dependencies
  * contrib: correct version check
  * Remove redundant statement
  * Remove redundant unused variables
  * Remove redundant forward declaration
  * Remove program options from build system
  * Replace boost program_options
  * contrib: Clone core repo in gitian-build
  * depends: disable Werror for zmqlib release, causes ndk build to break
  * Extract MakeUnique into utilmemory.h
  * qa: Temporarily disable test that reads the default datadir location
  * travis: Check that ~/.bitcoin is never created
  * wallet: Avoid potential null pointer dereference in CWalletTx::GetAvailableCredit(...)
  * bench: Remove unused variable
  * Tests for PSBT
  * Create wallet RPCs for PSBT
  * Create utility RPCs for PSBT
  * [doc] Remove outdated comment about mining code ignoring CPFP
  * Initialize m_next_send_inv_to_incoming
  * Migrate gitian-build.sh to python
  * Change gitian-descriptors to use bionic instead
  * Modified in_addr6 cast in CConman class to work with msvc.
  * scripted-diff: Fix references to share/rpcuser (now share/rpcauth)
  * [QA] Add scantxoutset test
  * scantxoutset: mention that scanning by address will miss P2PK txouts
  * scantxoutset: support legacy P2PK script type
  * scantxoutset: add support for scripts
  * Blockchain/RPC: Add scantxoutset method to scan UTXO set
  * wallet: Fix backupwallet for multiwallets
  * [moveonly] Extract RescanWallet to handle a simple rescan
  * Explain when reindex-chainstate can be used instead of reindex
  * bench_bitcoin: Avoid read/write to default datadir
  * test_bitcoin: Avoid read/write to default datadir
  * Bucket for inbound when scheduling invs to hide tx time
  * SignPSBTInput wrapper function
  * Refactor transaction creation and transaction funding logic
  * Methods for interacting with PSBT structs
  * Add pubkeys and whether input was witness to SignatureData
  * Implement PSBT Structures and un/serialization methods per BIP 174
  * bitcoinconsensus: invalid flags should be set to bitcoinconsensus_error type, add test cases covering bitcoinconsensus error codes
  * build: add missing leveldb defines
  * Privatize CWallet::AddToWalletIfInvolvingMe
  * Extract CWallet::MarkInputsDirty
  * qa: Fix some TODOs in p2p_segwit
  * wallet: assert to ensure accuracy of CMerkleTx::GetBlocksToMaturity
  * Fix that CWallet::AbandonTransaction would only traverse one level
  * Drop dead code from Stacks
  * QA: Fix bug in -usecli logic that converts booleans to non-lowercase strings
  * [QA] add createwallet disableprivatekey test
  * [Qt] Disable creating receive addresses when private keys are disabled
  * Add disable privatekeys option to createwallet
  * Add option to disable private keys during internal wallet creation
  * Add FindScriptPubKey() to search the UTXO set
  * [tests] skip rpc_zmq functional test when python3 zmq lib is not present
  * Tools: fix BIND_NOW check in security-check.py
  * Add facility to store wallet flags (64 bits)
  * Use common SetDataDir method to create temp directory in tests.
  * Add depends 32-bit arm support for bitcoin-qt
  * Refactors `keystore.h` type aliases.
  * doc: Add release notes for -printtoconsole and -debuglogfile changes
  * tests: Use MAX_SCRIPT_ELEMENT_SIZE from script.py
  * Remove dead service bits code
  * Drop unused pindexRet arg to CMerkleTx::GetDepthInMainChain
  * Remove unused argument to WitnessSigOps(...)
  * Remove unused argument to DefaultOptions(...)
  * Remove unused argument to ThreadHTTP(...)
  * Make g_enable_bip61 a member variable of PeerLogicValidation
  * Remove useless mapRequest tracking that just effects Qt display.
  * Corrected text to reflect new[er] process of specifying fingerprints instead of individual keys.
  * depends: Mention RISC-V known compilation issue with gcc-7.3.x
  * [tests] functional test for createmultisig RPC
  * segwit support for createmultisig RPC
  * Move AddAndGetDestinationForScript from wallet to outputype module
  * Add outputtype module
  * depends: update zmq config.guess/config.sub for riscv support
  * depends: latest config.sub
  * depends: latest config.guess
  * Remove unused argument to ProcessGetBlockData(...)
  * net: Remove unused interrupt from SendMessages
  * Fix command line help for -printtoconsole and -debuglogfile
  * Use __cpuid_count for gnu C to avoid gitian build fail.
  * bitcoin-tx: Stricter check for valid integers
  * Don't assert(foo()) where foo has side effects
  * Upgrade Qt depends to 5.9.6
  * Fix depends Qt5.9.4 mac build
  * Ugrade Qt depends to Qt5.9.4
  * fix bench/prevector.cpp
  * RPC: Add new getzmqnotifications method.
  * Docs: Modify policy to not translate command-line help
  * Remove CombineSignatures and replace tests
  * Replace CombineSignatures with ProduceSignature
  * Make SignatureData able to store signatures and scripts
  * Add simple bech32 benchmarks
  * Docs: Improve doc of options addnode, connect, seednode
  * scripted-diff: Replace NET_TOR with NET_ONION
  * Delete double semicolon in wallet.cpp and misc.cpp
  * Detect if char equals int8_t
  * logging: avoid nStart may be used uninitialized in AppInitMain warning
  * Inline Sign1 and SignN
  * [RPC] [wallet] allow getbalance to use min_conf and watch_only without accounts.
  * [tests] p2p_segwit: sync_blocks in subtest wrapper.
  * [tests] p2p_segwit: remove unnecessary arguments from subtests.
  * [tests] p2p_segwit: log and assert segwit status in subtest wrapper.
  * [tests] p2p_segwit: Make sure each subtest leaves utxos for the next.
  * [tests] p2p_segwit: wrap subtests with subtest wrapper.
  * [tests] p2p_segwit: re-order function definitions.
  * [tests] p2p_segwit: standardise comments/docstrings.
  * [tests] p2p_segwit: Fix flake8 warnings.
  * Make ZMQ notification interface instance global.
  * [wallet] GetBalance can take a min_depth argument.
  * [wallet] factor out GetAvailableWatchOnlyBalance()
  * [wallet] deduplicate GetAvailableCredit logic
  * [wallet] Factor out GetWatchOnlyBalance()
  * [wallet] GetBalance can take an isminefilter filter.
  * Fix AreInputsStandard test to reference the proper scriptPubKey
  * [wallet] loadwallet shouldn't create new wallets.
  * bench: Simplify CoinSelection
  * tests: Fix incorrect documentation for test case cuckoocache_hit_rate_ok
  * [tests] Check signrawtransaction* errors on missing prevtx info
  * Error on missing amount in signrawtransaction*
  * Remove boost dependency (boost/assign/std/vector.hpp)
  * depends: Update Qt download url
  * Fix incorrect tests
  * depends: Add RISC-V support
  * Docs: More precise explanation of parameter "onlynet"
  * Show symbol for inbound/outbound in peer table
  * Use immintrin.h everywhere for intrinsics
  * Add SHA256 implementation using using Intel SHA intrinsics
  * qa: Avoid start/stop of the network thread mid-test
  * [qa] wallet_basic: Specify minimum required amount for listunspent
  * qt: Move BitcoinGUI initializers to class, fix initializer order warning
  * [qt] coincontrol: Remove unused qt4 workaround
  * Break circular dependency: init -> * -> init by extracting shutdown.h
  * Drop unused init.h includes
  * Log warning message when deprecated network name 'tor' is used (e.g. option onlynet=tor)
  * doc: Clarify that mempool txiter is const_iterator
  * travis: Build with --enable-debug (x86_64-unknown-linux-gnu)
  * Add -ftrapv to DEBUG_CXXFLAGS when --enable-debug is used
  * [Refactor] CPU feature detection logic for SHA256
  * bench: Add missing pow.h header
  * policy: Remove promiscuousmempoolflags
  * [qa] mininode: Expose connection state through is_connected
  * [tests] Fix p2p_sendheaders race
  * [qa] Add a test for merkle proof malleation
  * Net: Fixed a race condition when disabling the network.
  * Document FreeBSD quirk. Fix FreeBSD build.
  * Restrict as much as possible in net_processing to translation unit
  * bugfix: Delete walletView in WalletFrame::removeWallet
  * Obsolete #!/bin/bash shebang
  * Fix parameter count check for importpubkey.
  * Qt: load wallet in UI after possible init aborts
  * [move-only] Move things only referenced in net_processing out of header file
  * Rescope g_enable_bip61 to net_processing
  * Decouple wallet version from client version
  * For AVX2 code, also check for AVX, XSAVE, and OS support
  * [tests] Remove accounts from wallet_importprunedfunds.py
  * [wallet] Don't use accounts when checking balance in sendmany
  * [wallet] deprecate sendfrom RPC method.
  * Test: Harden lint-filenames.sh
  * doc: Rewrite some validation doc as lock annotations
  * bugfix: Remove dangling wallet env instance
  * ui: Support wallets unloaded dynamically
  * doc: Add release notes for unloadwallet RPC
  * test: Wallet methods are disabled when no wallet is loaded
  * test: Add functional tests for unloadwallet RPC
  * rpc: Add unloadwallet RPC
  * Follow-up to #13454: Fix broken build by exporting LC_ALL=C
  * doc: Remove mention of Qt4 from build docs
  * test: Update travis to not test Qt4 anymore
  * gui: Remove QT_VERSION fallbacks for Qt < 5
  * Move rpc/util.cpp from libbitcoin-util to libbitcoin-server
  * Add P2WSH destination helper and use it instead of manual hashing
  * Add additional unit tests for invalid IsMine combinations
  * Do not expose invalidity from IsMine
  * Docs: Improve readability of "Squashing commits"
  * Fix CVE-2018-12356 by hardening the regex.
  * build: add warning to detect hidden copies in range-for loops
  * cleanup: avoid hidden copies in range-for loops
  * doc: Add historical release notes for 0.16.1
  * Fix incorrect shell quoting in FreeBSD build instructions.
  * validation: count blocks correctly for check level < 3
  * Add linter: Enforce the source code file naming convention described in the developer notes
  * Avoid concurrency issue
  * ScanforWalletTransactions should mark input txns as dirty
  * have verifytxoutproof check the number of txns in proof structure
  * Add linter: Make sure all shell scripts opt out of locale dependence using "export LC_ALL=C"
  * Add "export LC_ALL=C" to all shell scripts
  * doc: Remove note to install all boost dev packages
  * build: Build system changes to support only Qt5
  * expose CBlockIndex::nTx in getblock(header)
  * tests: Drop variadic macro
  * travis: Change Mac goal to all deploy so that travis can build all executables for Mac.
  * Add unavailable options to hidden options category
  * Add linter: Make sure we explicitly open all text files using UTF-8 or ASCII encoding in Python
  * tests: Fix lock-order-inversion (potential deadlock) in DoS_tests. Reported by TSAN.
  * Explicitly specify encoding when opening text files in Python code
  * Improve coverage of SHA256 SelfTest code
  * travis: Increase travis_wait time while verifying commits
  * rpc: Extract GetWalletNameFromJSONRPCRequest from GetWalletForJSONRPCRequest
  * Use python instead of slow shell script on verify-commits
  * Reset default -g -O2 flags when enable debug
  * [build] Tune wildcards for LIBSECP256K1 target
  * Only set fNewBlock to true in AcceptBlock when we write to disk
  * When build fails due to lib missing, indicate which one
  * qa: Log as utf-8
  * scripted-diff: Avoid temporary copies when looping over std::map
  * rpc: Avoid "duplicate" return value for invalid submitblock
  * wallet: Erase wtxOrderd wtx pointer on removeprunedfunds
  * test: Add MempoolAncestryTests
  * mempool: Calculate descendant maximum thoroughly
  * wallet: Switch to using ancestor/descendant limits
  * wallet: Strictly greater than for ancestor caps
  * Remove deprecated TransactionWithinChainLimit
  * Switch to GetTransactionAncestry() in OutputEligibleForSpending
  * Add GetTransactionAncestry to CTxMemPool for general purpose chain limit checking
  * mempool: Fix max descendants check
  * mempool: Add explicit max_descendants
  * validation: check the specified number of blocks (off-by-one)
  * Removed unused == operator from CMutableTransaction.
  * Fix compiler warnings emitted when compiling under stock OpenBSD 6.3
  * Drop ParseHashUV in favor of calling ParseHashStr
  * qa: Remove portseed_offset from test runner
  * Make ReceivedBlockTransactions return void
  * crypto: cleanup sha256 build
  * speed up of tx_validationcache_tests by reusing of CTransaction.
  * lint: Add linter to error on #include <*.cpp>
  * Clarify include recommendation
  * Enforce the use of bracket syntax includes ("#include <foo.h>")
  * Use bracket syntax includes ("#include <foo.h>")
  * docs: Mention lint-locale-dependence.sh in developer-notes.md
  * build: Add linter for checking accidental locale dependence
  * Document validationinterace callback blocking deadlock potential.
  * utils: checking for bitcoin addresses in translations
  * Drop uint 256 not operator
  * index: Move index DBs into index/ directory.
  * index: Remove TxIndexDB from public interface of TxIndex.
  * MOVEONLY: Move BaseIndex to its own file.
  * index: Generalize logged statements in BaseIndex.
  * index: Extract logic from TxIndex into reusable base class.
  * db: Make reusable base class for index databases.
  * db: Remove obsolete methods from CBlockTreeDB.
  * cli: Ignore libevent warnings
  * Enable double-SHA256-for-64-byte code on 32-bit x86
  * Rename “OS X” to the newer “macOS” convention
  * build: Guard against accidental introduction of new Boost dependencies
  * bench: Use non-throwing ParseDouble(...) instead of throwing boost::lexical_cast<double>(...)
  * Add stdin, stdout, stderr to ignored export list
  * Use IN6ADDR_ANY_INIT instead of in6addr_any
  * GCC-7 and glibc-2.27 compat code
  * [docs] update transifex doc link
  * doc: split FreeBSD build instructions out of build-unix.md
  * Add option to use docker for gitian-build.sh
  * qa: Increase includeconf test coverage
  * [wallets] [docs] Add release notes for createwallet RPC.
  * [wallet] [tests] Add tests for `createwallet` RPC.
  * Fix "gmake check" under OpenBSD 6.3 (probably *BSD): Avoid using GNU grep specific regexp handling
  * bench: Don't return a bool from main
  * qa: Fixup setting of PATH env var
  * qa: Avoid checking reject code for now
  * wallet: Prevent segfault when sending to unspendable witness
  * [tests] Add logging to provide anchor points when debugging failures.
  * Test gArgs erroring on unknown args
  * Give an error and exit if there are unknown parameters
  * Use a struct for arguments and nested map for categories
  * Generic TransactionSignatureCreator works with both CTransaction and CMutableTransaction
  * travis: Skip cache for lint stage
  * Stop translating command line options
  * doc: update bitcoin-dot-org links in release-process.md
  * refactor: add a function for determining if a block is pruned or not
  * Remove template matching and pseudo opcodes
  * [MOVEONLY] Move unused Merkle branch code to tests
  * 8-way AVX2 implementation for double SHA256 on 64-byte inputs
  * 4-way SSE4.1 implementation for double SHA256 on 64-byte inputs
  * Use SHA256D64 in Merkle root computation
  * Specialized double sha256 for 64 byte inputs
  * policy: Treat segwit as always active
  * Ensure gitian-build.sh uses bash
  * doc: remove leftover check-doc documentation
  * [wallet] [rpc] Add `createwallet` RPC
  * test: Output should be unlocked when spent
  * wallet: Unlock spent outputs
  * Travis: Build tests on Ubuntu 18.04 with docker
  * Make handling of invalid in IsMine more uniform
  * test: Move linters to test/lint, add readme
  * Fix FreeBSD build by including utilstrencodings.h
  * Do not use uppercase characters in source code filenames
  * docs: Add a note about the source code filename naming convention
  * qa: Fix wallet_listreceivedby race
  * Report progress in ReplayBlocks while rolling forward
  * build: split warnings out of CXXFLAGS
  * Tests: Add data file
  * Tests: Test new getblockstats RPC
  * RPC: Introduce getblockstats
  * wallet: Use shared pointer to retain wallet instance
  * qa: Initialize lockstack to prevent null pointer deref
  * Update functional RBF test to check replaceable flag
  * docs: Update OpenBSD build instructions for OpenBSD 6.3
  * Declare TorReply parsing functions in torcontrol_tests
  * [wallet] Fix incorrect comment for DeriveNewSeed.
  * Drop the chain argument to GetDifficulty
  * trivial: Mark overrides as such.
  * Increased max width of amount field to prevent number overflow bug.
  * [docs] Add release notes for HD master key -> HD seed rename
  * [rpc] [wallet] Add 'hdmasterkeyid' alias return values.
  * [refactor] manually change remaining instances of master key to seed.
  * scripted-diff: Rename master key to seed
  * Qt: use [default wallet] as name for wallet with no name
  * Drop UpdateTransaction in favor of UpdateInput
  * Qt/Bugfix: fix handling default wallet with no name
  * Add Unit Test for SingleThreadedSchedulerClient
  * fixup! ui: Support wallets loaded dynamically
  * wallet: Exit SyncMetaData if there are no transactions to sync
  * [qt] Added satoshi unit "Satoshi (sat)" will be displayed in dropdowns and status bars. "sat" will be used when appended to numbers.
  * [qt] BitcoinUnits::format with zero decimals Formatting with zero decimals will now result in 123 instead of 123.0
  * doc: Bump to Ubuntu Bionic 18.04 in build-windows.md
  * break circular dependency: random/sync -> util -> random/sync
  * Wallet: Refactor ReserveKeyFromKeyPool for safety
  * RPCAuth Detection in Logs
  * Revert "Merge #12870: make clean removes src/qt/moc_ files"
  * GUI: Allow generating Bech32 addresses with a legacy-address default
  * GUI: Rephrase Bech32 checkbox text/tooltip
  * Add circular dependencies script
  * [wallet] [docs] Update release notes for removing `getlabeladdress`
  * [wallet] [rpc] Remove getlabeladdress RPC
  * ui: Support wallets loaded dynamically
  * ui: Remove unnecessary variable fFirstWallet
  * [docs] Add release notes for `loadwallet` RPC.
  * [wallet] [tests] Test loadwallet
  * [wallet] [rpc] Add loadwallet RPC
  * [wallet] Pass error message back from CWallet::Verify()
  * [wallet] Add CWallet::Verify function
  * Add unit tests for signals generated by ProcessNewBlock()
  * [gui] Add proxy icon in statusbar
  * [wallet] setup wallet background flushing in WalletInit directly
  * [wallet] Fix potential memory leak in CreateWalletFromFile
  * [qt] OptionsDialog: add prune setting
  * net: Serve blocks directly from disk when possible
  * Break circular dependency: chain -> pow -> chain
  * Add compile time checking for all cs_wallet runtime locking assertions
  * doc: Mention disabling BIP61 in bips.md
  * net: Add option `-enablebip61` to configure sending of BIP61 notifications
  * bench: Add block assemble benchmark
  * travis: Rename the build stage "check_doc" to "lint"
  * Bump wallet version for pre split keypool
  * Use a keypool of presplit keys after upgrading to hd chain split
  * Allow -upgradewallet to upgradewallets to HD
  * Test sethdseed
  * Add 'sethdseed' RPC to initialize or replace HD seed
  * Fix concurrency-related bugs in ActivateBestChain
  * Do not unlock cs_main in ABC unless we've actually made progress.
  * Enable Travis checking for two Python linting rules we are currently not violating
  * Enable W191 and W291 flake8 checks. Remove trailing whitespace from Python files. Convert tabs to spaces.
  * test: Ensure that recursive -includeconf produces appropriate warnings
  * util: warn about recursive -includeconf arguments in configuration files
  * [tests] Remove spurious error log in p2p_segwit.py
  * [qa] Handle disconnect_node race
  * [qa] Avoid printing to console during cache creation
  * Make gArgs aware of the arguments
  * Bugfix: ensure consistency of m_failed_blocks after reconsiderblock
  * [tests] Allow stderr to be tested against specified string
  * [Tests] Use LIBC_FATAL_STDERR_=1 in tests
  * [Tests] Write stdout/stderr to datadir instead of temp file.
  * wallet: Improve logging when BerkeleyDB environment fails to close
  * [bitcoin-11004] creating another jobs for the CHECK_DOC=1, separated from the core jobs
  * [tests] Fixed intermittent failure in p2p_sendheaders.py.
  * [qt]: changes sendcoinsdialog's box layout for improved readability.
  * qa: Remove unused option --srcdir
  * Refactor SHA256 code
  * Benchmark Merkle root computation
  * Bugfix: the end of a reorged chain is invalid when connect fails
  * RPC Docs: gettxout*: clarify bestblock and unspent counts
  * Fix typos
  * Refactor: RPC: Separate GetBlockChecked() from getblock()
  * Remove enum specifier (to avoid re-declare scoped enum as unscoped)
  * replace modulus with FastMod
  * Add Clang thread safety analysis annotations
  * Fix missing locking in CTxMemPool::setSanityCheck(double dFrequency)
  * Fix missing locking in CTxMemPool::check(const CCoinsViewCache *pcoins)
  * Add compile time checking for all ::mempool.cs runtime locking assertions
  * Separate HaveKey function that checks whether a key is in a keystore
  * Cache witness hash in CTransaction
  * Make CMutableTransaction constructor explicit
  * qa: Pad scriptPubKeys to get minimum sized txs
  * Policy to reject extremely small transactions
  * Add transaction tests for constant scriptCode
  * Add constant scriptCode policy in non-segwit scripts
  * Fix MAX_STANDARD_TX_WEIGHT check
  * doc: Mention good first issue list in CONTRIBUTING.md
  * Make it clear which functions that are intended to be translation unit local
  * Add some checks for invalid recursion in IsMine
  * Simplify IsMine logic
  * Make IsMine stop distinguishing solvable/unsolvable
  * Make coincontrol use IsSolvable to determine solvability
  * [logging] Don't incorrectly log that REJECT messages are unknown.
  * Fix rescanblockchain rpc to property report progress
  * wallet: Reset BerkeleyDB handle after connection fails
  * Print a log message if we fail to shrink the debug log file
  * refactor: Avoid extra lookups of mapAddressBook in listunspent RPC
  * rpc: Reduce cs_main lock in listunspent
  * [tests] Remove 'account' API from wallet functional tests
  * Trivial: s/SetBestChain/ChainStateFlushed in comments after #13106
  * devtools: Make linter check LogPrint calls
  * Add missing newlines to LogPrint debug logging
  * Make sure initialization occurs in the constructor
  * wallet: Interrupt rescan on shutdown request
  * Handle unsuccessful fseek(...):s
  * logging: remove unused return value from LogPrintStr
  * logging: Fix potential use-after-free in LogPrintStr(...)
  * doc: Add release notes for -includeconf
  * test: Test includeconf parameter.
  * rpcauth: Make it possible to provide a custom password
  * [doc] qt: fixes broken link on readme
  * [tests] Fix flake8 warnings in several wallet functional tests
  * Revert #12769: Add systemd service to bitcoind in debian package
  * Add Windows shutdown handler
  * Remove python2 from configure.ac
  * [Docs] Add version footnote to tor.md
  * [tests] Fix race in rpc_deprecated.py
  * wallet: Add Clang thread safety annotations for variables guarded by cs_db
  * nit: descendent should be spelled descendant even in the release-notes
  * scheduler: Add Clang thread safety annotations for variables guarded by m_cs_callbacks_pending
  * nit: fix typo for entry description string
  * Remove script to clean up datadirs
  * util: Store debug log file path in BCLog::Logger member.
  * scripted-diff: Rename BCLog::Logger member variables.
  * util: Refactor GetLogCategory.
  * Add Clang thread safety annotations for variables guarded by cs_warnings
  * Add Clang thread safety annotations for variables guarded by cs_nTimeOffset
  * Add Clang thread safety annotations for variables guarded by cs_rpcWarmup
  * Add missing cs_KeyStore lock
  * Add locking annotations for variables guarded by cs_KeyStore
  * util: Encapsulate logCategories within BCLog::Logger.
  * util: Move debug file management functions into Logger.
  * util: Establish global logger object.
  * Use --failfast when running functional tests on Travis
  * Add --failfast option to functional test runner
  * Simplify semantics of ChainStateFlushed callback
  * scripted-diff: Rename SetBestChain callback ChainStateFlushed
  * Remove "rpc" category from GetWarnings
  * rpc: Move RPC_FORBIDDEN_BY_SAFE_MODE code to reserved section
  * tests: Add test for 64-bit PE, modify 32-bit test results
  * build: sync ax_boost_chrono/unit_test
  * Remove Safe mode
  * -includeconf=<path> support in config handler, for including external configuration files
  * Don't test against min relay fee information in mining_prioritisetransaction.py
  * Add compile time checking for all cs_KeyStore runtime locking assertions
  * [doc] Include txindex changes in the release notes.
  * [test] Simple unit test for TxIndex.
  * [rpc] Public interfaces to GetTransaction block until synced.
  * [index] Move disk IO logic from GetTransaction to TxIndex::FindTx.
  * [validation] Replace tx index code in validation code with TxIndex.
  * [init] Initialize and start TxIndex in init code.
  * [index] TxIndex method to wait until caught up.
  * [index] Allow TxIndex sync thread to be interrupted.
  * [index] TxIndex initial sync thread.
  * [index] Create new TxIndex class.
  * [db] Migration for txindex data to new, separate database.
  * [db] Create separate database for txindex.
  * [wallet] [rpc] Fix importaddress help text
  * Add "bip125-replaceable" flag to mempool RPCs
  * [tests] [qt] Add tests for address book manipulation via EditAddressDialog
  * [tests] [qt] Introduce qt/test/util with a generalized ConfirmMessage
  * [qt] Display more helpful message when adding a send address has failed
  * Add purpose arg to Wallet::getAddress
  * test: add rpcauth-test to AC_CONFIG_LINKS to fix out-of-tree make check
  * [tests] Make rpcauth.py testable and add unit tests
  * qa: Clarify documentation for send_txs_and_test
  * wallet: Make vpwallets usage thread safe
  * List support for BIP173 in bips.md
  * Make tests pass after 2020
  * wallet: Make fee settings non-static members
  * Add logging and error handling for file syncing
  * qt: Don't log to console by default
  * test: Add rpcauth pair that generated by rpcauth
  * trivial: Fix relevent typo
  * qa: Normalize executable location
  * [tests] Fix feature_block flakiness
  * [tests] tidy up blocktools.py
  * [tests] Fix flake8 warnings in blocktools.py
  * [doc][trivial] no retargeting in regtest mode
  * Add systemd service for bitcoind
  * Sync contrib/debian from Matt Corallo's PPA
  * Use anonymous namespace instead of static functions
  * Mention removal of bare multisig IsMine in release notes
  * Do not treat bare multisig as IsMine
  * Optimization: only test for witness scripts at top level
  * Track difference between scriptPubKey and P2SH execution in IsMine
  * Switch to a private version of SigVersion inside IsMine
  * Do not expose SigVersion argument to IsMine
  * Output values for "min relay fee not met" error
  * Fix for utiltime to compile with msvc.
  * [wallet] [tests] Test disallowed multiwallet params
  * [wallet] Fix zapwallettxes/multiwallet interaction.
  * [qa] Attach node index to test_node AssertionError and print messages
  * trivial: Improve include comment in src/interfaces/wallet.h
  * node: Removed unused wallet-related methods from the Node interface.
  * benchmark: Removed bench/perf.cpp
  * Remove unused IsMine overload
  * Make CScript -> CScriptID conversion explicit
  * Consistently log CValidationState on failure
  * wallet: Add HasWallets
  * wallet: Add AddWallet, RemoveWallet, GetWallet and GetWallets
  * MOVEONLY: Move logging code from util.{h,cpp} to new files.
  * refactor: Drop CWalletRef typedef
  * scripted-diff: Rename CChainState::g_failed_blocks to m_failed_blocks
  * Add new fee structure with all sub-fields denominated in BTC
  * bench: Amend mempool_eviction test for witness txs
  * bench: Move constructors out of mempool_eviction hot loop
  * [doc] Add comments for chainparams.h, validation.cpp
  * [docs] Add release notes for deprecated 'account' API
  * [wallet] [tests] Add tests for accounts/labels APIs
  * test: Fix dangling wallet pointer in vpwallets
  * [wallet] [rpc] Deprecate wallet 'account' API
  * [wallet] [rpc] Deprecate account RPC methods
  * Make --enable-debug to pick better options
  * Print to console by default when not run with -daemon
  * qa: Add test for orphan handling
  * Hold cs_main while calling UpdatedBlockTip() and ui.NotifyBlockTip
  * net: Minor accumulated cleanups
  * [tests] Set -deprecatedrpc=accounts in tests
  * [tests] Rename rpc_listtransactions.py to wallet_listtransactions.py
  * [wallet] [rpc] Remove duplicate entries in rpcwallet.cpp's CRPCCommand table
  * qt:Show the entire Window when double clicking on taskbar
  * Default to defining endian-conversion DECLs in compat w/o config
  * [doc] build-windows: Switch to Artful, since Zesty is EOL
  * tests: Remove redundant bytes²
  * Enable additional flake8 rules
  * Minor Python cleanups to make flake8 pass with the new rules enabled
  * tests: Remove compatibility code not needed now when we're on Python 3
  * correcting the array name from pnSeeds6 to pnSeed6
  * Avoid launching as admin when NSIS installer ends.
  * Fix inconsistent namespace formatting guidelines
  * Note new weight field in release-notes.
  * Test new weight field in p2p_segwit
  * Expose a transaction's weight via RPC
  * [contrib] convert test-security-check to python3
  * add lint tool to check python3 shebang
  * [MOVEONLY] Turn CScript::GetOp2 into a function and move to cpp
  * [MOVEONLY] Move CSCript::FindAndDelete to interpreter
  * Delete unused non-const-iterator CSCript::GetOp overloads
  * Make iterators in CScript::FindAndDelete const
  * [qa] Test that v0 segwit outputs can't be spent pre-activation
  * Always enforce SCRIPT_VERIFY_WITNESS with P2SH
  * [qa] Remove some pre-activation segwit tests
  * Separate NULLDUMMY enforcement from SEGWIT enforcement
  * Use P2SH consensus rules for all blocks
  * wallet: Refactor g_wallet_init_interface to const reference
  * wallet: Make WalletInitInterface members const
  * test: Add rpc_bind test to default-run tests
  * Avoid std::locale/imbue in DateTimeStrFormat
  * Drop dead code CScript::Find
  * macOS: Prevent Xcode 9.3 build warnings
  * Tighten up bech32::Decode(); add tests.
  * logging: bypass timestamp formatting when not logging
  * Give an error when rescan is aborted by the user
  * Add cancel button to rescan progress dialog
  * Add assertion to guide static analyzers. Clang Static Analyzer needs this guidance.
  * Fix dead stores. Values were stored but never read. Limit scope.
  * [doc] Fix comment in FindForkInGlobalIndex
  * tests: Avoid copies of CTransaction
  * bitcoin-tx: Remove unused for loop
  * speed up wallet_hd.py and clarify/augment checks
  * debug log number of unknown wallet records on load
  * depends: Fix Qt build with XCode 9.3
  * Add AssertLockHeld assertions in CWallet::ListCoins
  * Add shell script linting: Check for shellcheck warnings in shell scripts
  * Add config changes to release notes
  * [tests] Unit tests for -testnet/-regtest in [test]/[regtest] sections
  * ArgsManager: special handling for -regtest and -testnet
  * [tests] Unit tests for network-specific config entries
  * ArgsManager: Warn when ignoring network-specific config setting
  * ArgsManager: limit some options to only apply on mainnet when in default section
  * [tests] Use regtest section in functional tests configs
  * [tests] Unit tests for config file sections
  * ArgsManager: support config file sections
  * ArgsManager: drop m_negated_args
  * depends: Add 'make clean' and 'make clean-all' rules
  * Document how FlushStateMode::NONE is handled
  * Call FlushStateToDisk(...) regardless of fCheckForPruning
  * rpc: Drop redundant testing of signrawtransaction prevtxs args
  * Remove redundant initializations from the constructor
  * Ignore macOS daemon() depracation warning
  * ArgsManager: keep command line and config file arguments separate
  * test: Fix sign for expected values
  * Extract consts for WITNESS_V0 hash sizes
  * [docs] Add release notes for wallet 'label' API.
  * [wallet] [rpc] introduce 'label' API for wallet
  * Fix illegal default `addProxy` and `addrSeparateProxyTor` settings.
  * Refine travis check for duplicate includes
  * Make DummySignatureCreator a singleton
  * Make BaseSignatureCreator a pure interface
  * wallet: Remove redundant lambda function arg in handleTransactionChanged
  * Increase entropy in test temp directory name
  * Reorder travis builds
  * tests: run tests in parallel
  * tests: split up actual tests and helper files
  * Initialize non-static class members where they are defined
  * Initialize editStatus and autoCompleter. Previously not initialized where defined or in constructor.
  * Docs: fixed link, replaced QT with Qt
  * added logging line back that was accidentally removed with #10762
  * [qa] Delete cookie file before starting node
  * Logprint the start of a rescan
  * util: Remove designator initializer from ScheduleBatchPriority
  * util: Pass pthread_self() to pthread_setschedparam instead of 0
  * [doc] devtools: Setup ots git integration
  * Add Travis check for duplicate includes
  * Remove duplicate includes
  * test: Assert on correct variable
  * Introduce BigEndian wrapper and use it for netaddress ports
  * qa: Windows fixups for functional tests
  * [qa] Ensure bitcoind processes are cleaned up when tests end
  * Use std::bind instead of boost::bind to re-lock the wallet
  * [rpcwallet] Clamp walletpassphrase value at 100M seconds
  * list the types of scripts we should consider for a witness program
  * Add m_ prefix to WalletBatch::m_batch
  * Update walletdb comment after renaming.
  * scripted-diff: Rename wallet database classes
  * [logging] add lint-logs.sh to check for newline termination.
  * [logging] Comment all continuing logs.
  * doc: add qrencode to brew install instructions
  * scripted-diff: Avoid `interface` keyword to fix windows gitian build
  * Asserts that the tx version number is a signed 32-bit integer.
  * tests: Add check for test suite name uniqueness in lint-tests.sh
  * tests: Add note about uniqueness requirement for test suite names
  * tests: Avoid test suite name collision in wallet crypto_tests
  * build: Show enabled sanitizers in configure output
  * [test] fundrawtransaction: lock watch-only shared address
  * docs: Fix conflicting statements about initialization in developer notes
  * wallet: Refactor to WalletInitInterface* const g_wallet_init_interface
  * wallet: Make WalletInitInterface and DummyWalletInit private
  * [tests] Add additional unit tests for -nofoo edge cases
  * [tests] Check GetChainName works with config entries
  * [tests] Add unit tests for ReadConfigStream
  * ReadConfigStream: assume the stream is good
  * Separate out ReadConfigStream from ReadConfigFile
  * [tests] Add unit tests for GetChainName
  * Move ChainNameFromCommandLine into ArgsManager and rename to GetChainName
  * Get rid of ambiguous OutputType::NONE value
  * Support serializing Span<unsigned char> and use that instead of FLATDATA
  * Add Slice: a (pointer, size) array view that acts like a container
  * wallet: Initialize m_last_block_processed to nullptr. Initialize fields where defined.
  * doc: Use bitcoind in Tor documentation
  * Tests: Add Metaclass for BitcoinTestFramework
  * Add developer notes about blocking GUI code
  * Use WalletBalances struct in Qt
  * Remove direct bitcoin calls from qt/sendcoinsdialog.cpp
  * Remove direct bitcoin access from qt/guiutil.cpp
  * Remove direct bitcoin calls from qt transaction table files
  * Remove direct bitcoin calls from qt/paymentserver.cpp
  * Remove direct bitcoin calls from qt/addresstablemodel.cpp
  * Remove direct bitcoin calls from qt/coincontroldialog.cpp
  * Remove most direct bitcoin calls from qt/walletmodel.cpp
  * Remove direct bitcoin calls from qt/optionsdialog.cpp
  * Remove direct bitcoin calls from qt/rpcconsole.cpp
  * Remove direct bitcoin calls from qt/bantablemodel.cpp
  * Remove direct bitcoin calls from qt/peertablemodel.cpp
  * Remove direct bitcoin calls from qt/intro.cpp
  * Remove direct bitcoin calls from qt/clientmodel.cpp
  * Remove direct bitcoin calls from qt/splashscreen.cpp
  * Remove direct bitcoin calls from qt/utilitydialog.cpp
  * Remove direct bitcoin calls from qt/bitcoingui.cpp
  * Remove direct bitcoin calls from qt/optionsmodel.cpp
  * Remove direct bitcoin calls from qt/bitcoin.cpp
  * [trivial] Add newlines to end of log messages.
  * Modernize best block mutex/cv/hash variable naming
  * Fix csBestBlock/cvBlockChange waiting in rpc/mining
  * Add src/interface/README.md
  * make clean removes src/qt/moc_ files
  * [tests] simplify binary and hex response parsing in interface_rest.py
  * [tests] only use 2 nodes in interface_rest.py
  * [tests] refactor interface_rest.py to avoid code repetition
  * [tests] Make json request building more consistent in interface_rest.py
  * [tests] improve logging and documentation in interface_rest.py
  * [tests] fix flake8 warnings in interface_rest.py test
  * [wallet] [rpc] [doc] importprivkey: hint about importmulti
  * Adding logging for loop iteration level in p2p_sendheaders.py
  * [moveonly] Extract HelpRequested to dry up the help options testing
  * [tests] Stop feature_block.py from blowing up memory.
  * Bugfix: Include <memory> for std::unique_ptr
  * [tests] Remove Comparison Test Framework
  * [tests] Remove bip9-softforks.py
  * doc: Add testmempoolaccept to release-notes
  * Avoid travis lint-include-guards error
  * Add P2P, Network, and Qt categories to the desktop icon
  * qa: Match full plain text by default
  * travis: Run verify-commits only on cron jobs
  * rpc: fix type mistmatch in listreceivedbyaddress
  * [tests] Test starting bitcoind with -h and -version
  * test: Remove travis checkout depth
  * Enable flake8 warning F841 ("local variable 'foo' is assigned to but never used")
  * Remove assigned but never used local variables
  * [verify-commits] Add some additional useful documentation.
  * Increase LevelDB max_open_files unless on 32-bit Unix.
  * Bugfix: RPC: savemempool: Don't save until LoadMempool() is finished
  * [contrib] fixup symbol-check.py Python3 support
  * [contrib] fixup security-check.py Python3 support
  * adapt bumpfee change discard test to be more strict and add note on p2sh discrep
  * [tests] Fix intermittent rpc_net.py failure.
  * Add --with-sanitizers option to configure
  * Improve formatting of developer notes
  * Add Marco-expired-key-signed-commits to allow-revsig-commits
  * Revert "test: Update trust git root".
  * init: Remove help text for non-existent -fuzzmessagestest arg
  * contrib: Remove unused import string
  * contrib: Fix check-doc script regexes
  * [Tests] fix a typo in TestNode.assert_start_raises_init_error()
  * test: List any failed tests at the end of test_runner output
  * Make base58 python contrib code work with python3
  * test: Make summary row bold-red if any test failed
  * Track negated arguments in the argument paser.
  * Add additional tests for GetBoolArg()
  * qa: Fix function names in feature_blocksdir
  * Fix error in memory usage calculation (unintended integer division)
  * [wallet] Add dummy wallet init class
  * [wallet] Use global g_wallet_init_interface to init/destroy the wallet.
  * doc: Add note about our preference for scoped enumerations ("enum class")
  * Set SCHED_BATCH priority on the loadblk thread.
  * Use explicit casting in cuckoocache's compute_hashes(...) to clarify integer conversion
  * doc: Refer to witness reserved value as spec. in the BIP
  * init: Fix help message for checkblockindex
  * Change all python files to use Python3
  * do not truncate .dat extension for wallets in gui
  * qt: Avoid resetting on resetguisettigs=0
  * [wallet] Create wallet init interface.
  * [wallet] Move wallet init functions into WalletInit class.
  * [Tests] Use blockmaxweight where tests previously had blockmaxsize
  * rpc: Adjust ifdef to avoid unreachable code
  * Qt: hide RPCConsole wallet selector when no wallets are present
  * Qt: show wallet name in request dlg in case of multiwallet
  * Qt: show wallet name in send confirmation dlg in case of multiwallet
  * GUI: RPCConsole: Log wallet changes
  * Qt: Get wallet name from WalletModel rather than passing it around
  * Qt: When multiple wallets are used, include in notifications the name
  * Qt: QComboBox::setVisible doesn't work in toolbars, so defer adding it at all until needed
  * Qt: Add wallet selector to debug console
  * Reduce variable scopes
  * [RPC] Remove field in getblocktemplate help that has never been used
  * Introduce interface for signing providers
  * Qt: Remove unused method setupAmountWidget(...)
  * Add username and ip logging for RPC method requests
  * [REST] Handle UTXO retrieval when ignoring the mempool
  * Make CTxMemPool::isSpent() const
  * rpc: Add testmempoolaccept
  * Move CKeyStore::cs_KeyStore to CBasicKeyStore
  * Inline CKeyStore::AddKey(const CKey &) in CBasicKeyStore
  * [CI]: bump travis timeout for make check to 50m
  * add release note for sendmany output shuffling
  * shuffle sendmany recipients ordering to shuffle tx outputs
  * Docs: Improve documentation on standard communication channels
  * Add lint-include-guards.sh which checks include guard consistency
  * Fix missing or inconsistent include guards
  * Document include guard convention
  * [config] Remove blockmaxsize option
  * [tests] Change feature_csv_activation.py to use BitcoinTestFramework
  * [tests] Move utility functions in feature_csv_activation.py out of class.
  * [tests] Remove nested loops from feature_csv_activation.py
  * Move compressor utility functions out of class
  * Add native support for serializing char arrays without FLATDATA
  * Replace boost::call_once with std::call_once
  * feebumper: discard change outputs below discard rate
  * shuffle selected coins before transaction finalization
  * Qt: Warn users about invalid-BIP21 URI bitcoin://
  * Fix typos
  * tests: Remove unused argument max_invalid from check_estimates(...)
  * Fix typos
  * Make FastRandomContext support standard C++11 RNG interface
  * use base58 map instead of strchr()
  * Support serialization as another type without casting
  * Remove unnecessary NONNEGATIVE_SIGNED
  * -blocksdir: keep blockindex leveldb database in datadir
  * tests: Test connecting with non-existing RPC cookie file
  * tests: Test connecting to a non-existing server
  * qa: Allow for partial_match when checking init error
  * scripted-diff: rename TestNode to TestP2PConn in tests
  * [tests] Improve assert message when wait_until() fails
  * [tests] Change feature_block.py to use BitcoinTestFramework
  * qa: Use node.datadir instead of tmpdir in test framework
  * Rename wallet_accounts.py test
  * Rename account to label where appropriate
  * Remove unreachable help conditions
  * [tests] Add logging to feature_block.py
  * [tests] Tidy up feature_block.py
  * [tests] Fix flake8 warnings in feature_block.py
  * tests: Add lint-tests.sh which checks the test suite naming convention
  * tests: Rename test suits not following the test suite naming convention
  * tests: Add note about test suite naming convention
  * Qt: remove "new" button during receive-mode in addressbook
  * Avoiding 'file' function name from python2 with more descriptive variable naming
  * [tests] improve logging in feature_csv_activation.py
  * [tests] fix flake8 nits in feature_csv_activation.py
  * [Tests] Require exact match in assert_start_raises_init_eror()
  * [Tests] Move assert_start_raises_init_error method to TestNode
  * QA: Add -blocksdir test
  * wallet: Change output type globals to members
  * Append scripts to new test_list array to fix bad assignment
  * [Trivial] Simplify if-else blocks and more descriptive variable naming
  * Make verify-commits.sh test that merges are clean
  * test: Use os.path.join consistently in feature_pruning tests
  * test: Use wait_until in tests where time was used for polling
  * Add static_assert to prevent VARINT(<signed value>)
  * Document RPC method aliasing
  * Test that BnB is not used when there are preset inputs
  * Remove redundant checks for MSG_* from configure.ac
  * Do not check for main() in libminiupnpc
  * ax_boost_{chrono,unit_test_framework}.m4: take changes from upstream
  * Actually disable BnB when there are preset inputs
  * Remove unused variable in SortForBlock
  * Provide relevant error message if datadir is not writable.
  * Polish interfaces around PeerLogicValidation
  * Apply hardening measurements in bitcoind systemd service file
  * Support deserializing into temporaries
  * Merge READWRITEMANY into READWRITE
  * Fix ComputeTimeSmart test failure with -DDEBUG_LOCKORDER
  * travis: Clone depth 1 unless $CHECK_DOC
  * Add a test to make sure that negative effective values are filtered
  * Benchmark BnB in the worst case where it exhausts
  * Have SelectCoinsMinConf and SelectCoins use BnB or Knapsack and use it
  * Add a GetMinimumFeeRate function which is wrapped by GetMinimumFee
  * Move original knapsack solver tests to coinselector_tests.cpp
  * Move current coin selection algorithm to coinselection.{cpp,h}
  * Add tests for the Branch and Bound algorithm
  * Remove coinselection.h -> wallet.h circular dependency
  * Use a struct for output eligibility
  * Move output eligibility to a separate function
  * Implement Branch and Bound coin selection in a new file
  * [qa] util: Remove unused sync_chain
  * qt: Avoid querying unnecessary model data when filtering transactions
  * rpc: Update createrawtransaction examples
  * Split up and sanitize CAccountingEntry serialization
  * Ubuntu xenial first dependencies
  * Increase signal-to-noise ratio in debug.log by adjusting log level when logging failed non-manual connect():s
  * Allow to optional specify the directory for the blocks storage
  * configure: UniValue 1.0.4 is required for pushKV(, bool)
  * Log fatal LevelDB errors more verbosely
  * Store effective value, fee, and long term fee in CInputCoin
  * Calculate and store the number of bytes required to spend an input
  * Split up and sanitize CWalletTx serialization
  * scripted-diff: Convert 11 enums into scoped enums (C++11)
  * Format timestamps using ISO 8601 formatting (e.g. "2018-02-28T12:34:56Z")
  * bitcoin-cli: Provide a better error message when bitcoind is not running
  * [wallet] Get rid of CWalletTx default constructor
  * [wallet] Construct CWalletTx objects in CommitTransaction
  * qa: Cache only chain and wallet for regtest datadir
  * [rpc] createrawtransaction: Accept sorted outputs
  * CheckMinimalPush comments are prescriptive
  * Simplify Base32 and Base64 conversions
  * [gitian] Add kallewoof key for signing
  * [gitian] Re-order keys by owner first name alphabetic order
  * Add tests of listreceivedbyaddress address filtering
  * Add address filtering to listreceivedbyaddress
  * qt: Remove TransactionTableModel::TxIDRole
  * Generalize ConvertBits
  * qa: Fix some tests to work on native windows
  * Limit the number of IPs we use from each DNS seeder
  * depends: biplist 1.0.3
  * Give hint about gitian not able to download
  * [tests] bind functional test nodes to 127.0.0.1
  * p2wpkh, p2wsh and p2sh-nested scripts in decodescript
  * doc: Mention configure without wallet in FreeBSD instructions
  * net: Correct addrman logging
  * Add LookupBlockIndex function
  * Add documentation to PeerLogicValidation interface and related functions
  * Add missing cs_lock in CreateWalletFromFile
  * Fix cs_main lock in LoadExternalBlockFile
  * Lock cs_main while loading block index in AppInitMain
  * Assert cs_main is held when accessing mapBlockIndex
  * Add test-before-evict discipline to addrman
  * gui: Show messages as text not html
  * depends: Remove ccache
  * qt: Set modal overlay hide button as default
  * doc: SIGNER can contains space inside now.
  * test: Update trust git root
  * Add DynamicMemoryUsage() to LevelDB
  * Bugfix: RPC: Add missing UnregisterHTTPHandler for /wallet/
  * Qt: Ensure UI updates only come from the currently selected walletView
  * Qt: Add a combobox to toolbar to select from multiple wallets
  * Qt: Load all wallets into WalletModels
  * depends: patch pthread_set_name_np out of zeromq
  * depends: zeromq 4.2.3
  * [Depends] Fix Qt build with Xcode 9.2
  * depends: Only use D_DARWIN_C_SOURCE when building miniupnpc on darwin
  * Shut down if trying to connect a corrupted block
  * Add a test for large tx output scripts with segwit input.
  * Create new wallet databases as directories rather than files
  * Allow wallet files not in -walletdir directory
  * Allow wallet files in multiple directories
  * Remove deprecated PyZMQ call from Python ZMQ example
  * docs: Update osx brew install instruction
  * Fix typos and cleanup
  * Fix ListCoins test failure due to unset g_wallet_allow_fallback_fee
  * Show a transaction's virtual size in its details dialog.
  * gitian-build.sh: fix signProg being recognized as two parameters
  * [qt] Improved "custom fee" explanation in tooltip
  * [qt] navigate to  transaction history page after send
  * Consensus: Fix bug when compiler do not support __builtin_clz*
  * [script] lint-whitespace: improve print linenumber
  * Add tests for HexStr std::reverse_iterator cases
  * Add tests for HexStr corner cases
  * [test] Add tests for self usage in arith_uint256
  * [arith_uint256] Do not destroy *this content if passed-in operator may reference it
  * Allow dustrelayfee to be set to zero
  * [arith_uint256] Avoid unnecessary this-copy using prefix operator
  * Remove redundant includes. Conform to header include guidelines.
  * Use memset() to optimize prevector::resize()
  * Reduce redundant code of prevector and speed it up
  * Add new prevector benchmarks.
  * fix version typo
  * Add build support for 'gprof' profiling.
  * [docs] Minor improvements to Compatibility Notes
  * test: Use wait_until to ensure ping goes out
  * Fix typos
  * doc: Add historical release notes for 0.16.0
  * [Tests] Check output of parent/child tx list from getrawmempool, getmempooldescendants, getmempoolancestors, and REST interface
  * [RPC] Add list of child transactions to verbose output of getrawmempool
  * [QA] add wallet-rbf test
  * Disable wallet fallbackfee by default on mainnet
  * Avoid unintentional unsigned integer wraparounds in tests
  * rpc: Allow typeAny in RPCTypeCheck
  * Don't test against the mempool min fee information in mempool_limit.py
  * test: Plug memory leaks and stack-use-after-scope
  * Let wallet importmulti RPC accept labels for standard scriptPubKeys
  * createmultisig no longer takes addresses
  * Declare CMutableTransaction a struct in rawtransaction.h
  * [depends] Allow depends system to support armv7l
  * Bugfix: respect user defined configuration file (-conf) when open conf. file from QT settings
  * init: Remove translation for `-blockmaxsize` option help
  * [test] Round target fee to 8 decimals in assert_fee_amount
  * Split off key_io_tests from base58_tests
  * Split key_io (address/key encodings) off from base58
  * Stop using CBase58Data for ext keys
  * Replace CBitcoinSecret with {Encode,Decode}Secret
  * qa: Fix python TypeError in script.py
  * docs: clarified systemd installation instructions in init.md for Ubuntu users.
  * Add test for signrawtransaction
  * scripted-diff: change signrawtransaction to signrawtransactionwithwallet in tests
  * Split signrawtransaction into wallet and non-wallet
  * Add setter for g_initial_block_download_completed
  * fixes #12465 added missing terminating newline character in log message
  * Revert "[tests] bind functional test nodes to 127.0.0.1"
  * Assert CPubKey::ValidLength to the pubkey's header-relevent size
  * [doc] dev-notes: Members should be initialized
  * test: Fix bip68 sequence test to reflect updated rpc error message
  * scripted-diff: validateaddress to getaddressinfo in tests
  * Create getaddressinfo RPC and deprecate parts of validateaddress
  * [rpc] Move DescribeAddressVisitor to rpc/util
  * Only call NotifyBlockTip when the active chain changes
  * [tests] Add a (failing) test for waitforblockheight
  * rpc: Interrupt block generation on shutdown request
  * test: Add missing signal.h header
  * [rpc] split wallet and non-wallet parts of DescribeAddressVisitor
  * gitian: bump descriptors for (0.)17
  * travis: Full clone for git subtree check
  * qa: Improve getchaintxstats functional test
  * rpc: Refactor blockhash parse in getchaintxstats
  * devtools: Exclude patches from lint-whitespace
  * qa: Move common args to bitcoin.conf
  * Fix overly eager BIP30 bypass
  * test: Add unit test for LockDirectory
  * util: Fix multiple use of LockDirectory
  * fixme: depends: Add D_DARWIN_C_SOURCE to miniupnpc CFLAGS
  * [depends] latest config.guess and config.sub
  * [depends] miniupnpc 2.0.20180203
  * [depends] ccache 3.4.1
  * [depends] expat 2.2.5
  * Fix typo in test_runner.py causing error
  * [qt] send: Clear All also resets coin control options
  * Make signrawtransaction accept P2SH-P2WSH redeemscripts
  * Update mac_alias to 2.0.7
  * Delete mac_alias patch
  * [tests] Change invalidblockrequest to use BitcoinTestFramework
  * [tests] Fix flake8 warnings in invalidblockrequest
  * [test] Fix nits leftover from 11771
  * qt: Initialize members in WalletModel
  * Remove useless string initialization.
  * Add some script tests related to BOOL ops and odd values like negative 0.
  * Fix rescan test failure due to unset g_address_type, g_change_type
  * fix possible shutdown assertion with -reindex-shutdown
  * Fix Windows build errors introduced in #10498
  * Interrupt loading thread after shutdown request
  * Reset pblocktree before deleting LevelDB file
  * Fix a-vs-an typos
  * rpc: Reject deprecated reserveChangeKey in fundrawtransaction
  * Improve "Turn Windows Features On or Off" step
  * scripted-diff: Use UniValue.pushKV instead of push_back(Pair())
  * Squashed 'src/univalue/' changes from 07947ff2da..51d3ab34ba
  * [scripts] gitian-builder.sh: fix --setup doc, LXC is default
  * [QA] add NODE_NETWORK_LIMITED address relay and sync test
  * [QA] fix mininode CAddress ser/deser
  * [QA] Allow addrman loopback tests (add debug option -addrmantest)
  * Connect to peers signaling NODE_NETWORK_LIMITED when out-of-IBD
  * Accept addresses with NODE_NETWORK_LIMITED flag
  * Fix ignoring tx data requests when fPauseSend is set on a peer
  * Refactor: One CBaseChainParams should be enough
  * boost: drop boost threads for [alert|block|wallet]notify
  * boost: drop boost threads from torcontrol
  * boost: remove useless threadGroup parameter from Discover
  * boost: drop boost threads for upnp
  * [wallet] Indent only change of CWallet::AvailableCoins
  * [wallet] Make CWallet::ListCoins atomic
  * Consistently use FormatStateMessage in RPC error output
  * Add test for 'mempool min fee not met' rpc error
  * Fix 'mempool min fee not met' debug output
  * [RPC] Remove deprecated addmultisigaddress return format
  * [RPC] Remove deprecated createmultisig object
  * [tests] Remove test for deprecated createmultsig option
  * qt: Poll ShutdownTimer after init is done
  * qt: Clarify some comments
  * qt: Make sure splash screen is freed on AppInitMain fail
  * http: Remove numThreads and ThreadCounter
  * Bech32 addresses in dumpwallet
  * Add gitian PGP key: akx20000
  * Fix fast-shutdown crash if genesis block was not loaded
  * Fix fast-shutdown hang on ThreadImport+GenesisWait
  * Add braces to meet code style on line-after-the-one-changed.
  * http: Remove WaitExit from WorkQueue
  * http: Join worker threads before deleting work queue
  * Hold mempool.cs for the duration of ATMP.
  * add fivepiece key fingerprint
  * wallet: Disallow abandon of conflicted txes
  * [tests] Update README after filename change
  * Add AbsPathForConfigVal to consolidate datadir prefixing for path args
  * Clarify help messages for path args to mention datadir prefix
  * [rpc] Remove deprecated getmininginfo RPC option
  * [rpc] remove deprecated estimatefee RPC
  * Use ptrdiff_t type to more precisely indicate usage and avoid compiler warnings.
  * Extend #11583 to include the most common message generated by non-contributing peers (port scanners?) 37% of the log default log entries for a node that has been up for ~24hrs was "version handshake timeout..."
  * [tests] Remove estimatefee from rpc_deprecated.py test
  * [tests] Remove tests for deprecated estimatefee RPC
  * [tests] Fix style warnings in feature_fee_estimation.py
  * Document method for reviewers to verify chainTxData
  * Properly alphabetize output of CLI --help option.
  * [rpc] Reduce scope of cs_main and cs_wallet locks in listtransactions
  * [gui] Defer coin control instancing
  * net: don't retry failed oneshot connections forever
  * net: initialize socket to avoid closing random fd's
  * Remove suggestion to make cloned repository world-writable for Windows build.
  * QA: segwit.py: s/find_unspent/find_spendable_utxo/
  * doc: Explain how to update chainTxData in release process
  * contrib: Add support for out-of-tree builds in gen-manpages.sh
  * Fix missing cs_main lock for GuessVerificationProgress()
  * Organise Linux build instructions to be categorised by distro
  * Add NetBSD build instruction links
  * test: Make ua_comment test pass on 0.16.0
  * [tests] Change invalidtxrequest to use BitcoinTestFramework
  * [tests] Fix flake8 warnings in invalidtxrequest
  * [tests] Add P2PDataStore class
  * doc: Update manpages to 0.16.99
  * build: Bump version to 0.16.99
  * [tests] Require all tests to follow naming convention
  * Refactor HaveKeys to early return on false result
  * feebumper: Use PreconditionChecks to determine bump eligibility
  * Enable flake8 warnings for all currently non-violated rules
  * tests: Fix accidental redefinition of previously defined variable via list comprehension
  * Enable flake8 warning for "list comprehension redefines 'foo' from line N" (F812)
  * [net] add seed.bitcoin.sprovoost.nl to DNS seeds
  * [tests] Reduce NodeConn connection logging from info to debug
  * Remove redundant code in MutateTxSign(CMutableTransaction&, const std::string&)
  * Fix typos
  * Avoid leaking prioritization information when relaying transactions
  * fee estimator: avoid sorting mempool on shutdown
  * Build: Add a makefile target for Doxygen documentation
  * qa: Prepare functional tests for Windows
  * [Trivial] link mentioned scripted-diff-commit
  * net: Move misbehaving logging to net logging category
  * move more bumpfee prechecks to feebumper::PreconditionChecks
  * Correct mempool mapTx comment
  * [tests] bind functional test nodes to 127.0.0.1
  * Make segwit failure due to CLEANSTACK violation return a SCRIPT_ERR_CLEANSTACK error code.
  * [scripts] lint-whitespace: check last N commits or unstaged changes
  * fix nits: variable naming, typos
  * [scripts] lint-whitespace: use perl instead of grep -P
  * [qt] Add support to search the address book
  * Implements a virtual destructor on the BaseRequestHandler class.
  * Use best-fit strategy in Arena, now O(log(n)) instead O(n)
  * [Doc] Clarify the meaning of fee delta not being a fee rate in prioritisetransaction RPC
  * Improve readability by removing redundant casts to same type (on all platforms)
  * clientversion: Use full commit hash for commit-based version descriptions
  * [docs] initial QT documentation, move Qt Creator instructions
  * contrib: Remove xpired 522739F6 key
  * contrib: Replace developer keys with list of pgp fingerprints
  * Use std::thread::hardware_concurrency, instead of Boost, to determine available cores
  * simplify CheckMinimalPush checks, add safety assert
  * Drop extra script variable in ProduceSignature
  * Stop special-casing phashBlock handling in validation for TBV
  * Do not un-mark fInMempool on wallet txn if ATMP fails.
  * Remove redundant locks
  * During IBD, when doing pruning, prune 10% extra to avoid pruning again soon after
  * Use static_cast instead of C-style casts for non-fundamental types

-------------------------------------------------------------------
Sun Jan  6 12:17:43 UTC 2019 - marec@detebe.org

- Update to version 0.14.0:
  * Make release build
  * Correct warning at password encryption (#75)
  * Actually force it for 10 blocks, not 11.
  * Remove Bryan's DNS seed since it's offline and not coming back (#74)
  * Updated URL for Zesty Universe Repository (#70)
  * Fix #20 by changing bitcoin.conf to vertcoin.conf in the rpcuser python script (#73)
  * Mainnet fork including difficulty recalibration for 10 blocks
  * Lyra2REv3 testnet hard fork from block 158221
  * Add unique pch and bech32 prefix for regtest (#64)

-------------------------------------------------------------------
Fri Sep 21 06:55:20 UTC 2018 - marec@detebe.org

- Update to version 0.13.3:
  * Bump version
  * Fix CVE-2018-17144 (#63)
  * Create CONTRIBUTORS (#60)
  * Add Code of Conduct (#57)
  * Correct spelling (#56)
  * Fix regtest mode and release 0.13.2 (#51)
  * Working testnet for 0.13 (#47)
  * Bump version (set pre-release flag)
  * Delete ISSUE_TEMPLATE.md (#45)
  * Update hardcoded DNS seeds, upgrade OpenSSL version and bump version (#44)

-------------------------------------------------------------------
Mon Jun  4 19:33:33 UTC 2018 - marec@detebe.org

- Update to version 0.13.2:
  * Fix regtest mode and release 0.13.2 (#51)
  * Working testnet for 0.13 (#47)
  * Bump version (set pre-release flag)
  * Delete ISSUE_TEMPLATE.md (#45)
  * Update hardcoded DNS seeds, upgrade OpenSSL version and bump version (#44)
  * Fixes issue with DNS bootstrapping
  * Update README URLs
  * Bump version and update README
  * Background image is correct on mac
  * fix undefined std::pow on mac

-------------------------------------------------------------------
Sun Dec  3 09:43:48 UTC 2017 - marec@detebe.org

- Update to version 0.12.0:
  * Fix duplicate names in release notes
  * doc: Remove another duplicate author name from release notes
  * Fix of semantic failure "meet pay"
  * doc: fix author list in release notes
  * qt: Translation update pre-rc5
  * doc: Release notes update pre-rc5
  * Changed getnetworkhps value to double to avoid overflow.
  * [rpc-tests] Change solve() to use rehash
  * Fix spelling: misbeha{b,v}ing
  * release-notes: Minor corrections and clarifications re Priority
  * release-notes: Significantly rewrite priority transactions section
  * release-notes: Remove suggestion to use 0.11
  * release-notes: Mention possibility of priority removal in 0.13, uncertainty of priority calculation being changed back, and request community input
  * release-notes: Cover priority changes correctly, removing mentions of possible futures

-------------------------------------------------------------------
Fri Apr 21 08:34:38 UTC 2017 - marec@detebe.org

- Update to version 0.11.1.0:
  * Make version a release
  * Push back BIP148 date to 31 May 2017
  * Force segwit signalling with getblocktemplate
  * Use correct unix timestamp
  * Implement UASF for SegWit starting on 13 May 2017
  * Bump version and set to prerelease
  * Reduce minimum data dir size to 2GB
  * Release v0.11.0.1
  * Update repo URL
  * Change Bitcoin to Vertcoin

-------------------------------------------------------------------
Fri Mar 17 18:39:18 UTC 2017 - marec@detebe.org

- Update to version 0.11.0.2:
  * Reduce minimum data dir size to 2GB
  * Release v0.11.0.1
  * Update repo URL
  * Change Bitcoin to Vertcoin
  * Fix bug where newly created wallets cannot be loaded
  * Bump version to v0.11.0.1
  * Use Vertcoin README
  * Release version 0.11.0.0
  * Use same RPC port as old VTC by default

-------------------------------------------------------------------
Mon Mar  6 18:58:37 UTC 2017 - marec@detebe.org

- Update to version 0.11.0.1:
  * Release v0.11.0.1
  * Update repo URL
  * Change Bitcoin to Vertcoin
  * Fix bug where newly created wallets cannot be loaded
  * Bump version to v0.11.0.1
  * Use Vertcoin README
  * Release version 0.11.0.0
  * Use same RPC port as old VTC by default
  * Change some GUI text from Bitcoin to Vertcoin and change the about icon

-------------------------------------------------------------------
Thu Mar  2 20:51:45 UTC 2017 - marec@detebe.org

-  bumped to version 0.11.0.0

-------------------------------------------------------------------
Wed Feb 22 14:08:25 UTC 2017 - marec@detebe.org

- bumped to version 0.10.1.0

-------------------------------------------------------------------
Thu Dec 22 20:53:17 UTC 2016 - marec@detebe.org

- bumped to version 0.10.0.2

-------------------------------------------------------------------
Tue Jul  5 17:56:47 UTC 2016 - marec@detebe.org

- bumped to version 0.10.0.1

-------------------------------------------------------------------
Tue Jul 28 09:17:44 UTC 2015 - marec@detebe.org

- bumped to version 0.10.0.0

-------------------------------------------------------------------
Tue Feb 10 20:10:49 UTC 2015 - marec@detebe.org

- initial package build

openSUSE Build Service is sponsored by