Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

bitcoin-utils-28.1-2.2 RPM for ppc64le

From OpenSuSE Ports Tumbleweed for ppc64le

Name: bitcoin-utils Distribution: openSUSE Tumbleweed
Version: 28.1 Vendor: openSUSE
Release: 2.2 Build date: Fri Oct 3 12:33:01 2025
Group: Unspecified Build host: reproducible
Size: 6845671 Source RPM: bitcoin-28.1-2.2.src.rpm
Packager: http://bugs.opensuse.org
Url: https://bitcoin.org
Summary: An end-user CLI for the Bitcoin crypto-currency
Bitcoin is a peer-to-peer electronic cash system
that is completely decentralized, without the need for a central server or
trusted parties. Users hold the crypto keys to their own money and
transact directly with each other, with the help of a P2P network to check
for double-spending.

Full transaction history is stored locally at each client. This requires
several GB of space, slowly growing.

This package provides bitcoin-cli — a CLI tool to interact with the daemon.

Provides

Requires

License

MIT

Changelog

* Fri Oct 03 2025 Dominique Leuenberger <dimstar@opensuse.org>
  - Don't require libboost_system-devel with boost 1.89+
* Tue Feb 25 2025 Martin Pluskal <mpluskal@suse.com>
  - Update to version 28.1:
    * doc: Update 28.1 release notes
    * doc: generate 28.1 manpages
    * build: bump to 28.1
    * depends: Fix CXXFLAGS on NetBSD
    * test: generateblocks called by multiple threads
    * rpc: Extend scope of validation mutex in generateblock
    * doc: update release notes for 28.1rc2
    * examples: Generate example bitcoin.conf
    * doc: Generate manpages
    * build: Bump to 28.1rc2
    * Add release note for #31223
    * test: add functional test for -port behavior
    * net, init: derive default onion port if a user specified a -port
    * test: fix MIN macro-redefinition
    * util: use explicit cast in MultiIntBitSet::Fill()
    * fuzz: add cstdlib to FuzzedDataProvider
    * doc: update manual pages for 28.1rc1
    * build: bump version to 28.1rc1
    * doc: update release notes for 28.1rc1
    * build: disable compiling fuzz/utxo_snapshot.cpp with MSVC
    * refactor: Drop deprecated space in operator""_mst
    * addrman: change nid_type from int to int64_t
    * addrman, refactor: introduce user-defined type for internal nId
    * depends: For mingw cross compile use -gcc-posix to prevent library conflict
    * key: clear out secret data in `DecodeExtKey`
    * ci: add LLVM_SYMBOLIZER_PATH to Valgrind fuzz job
    * test: add missing sync to feature_fee_estimation.py
    * doc: add testnet4 section header for config file
    * doc: Archive 28.0 release notes
    * doc: Sync 28.0 release notes with website
* Wed Jan 15 2025 Martin Pluskal <mpluskal@suse.com>
  - Update to version 28.0:
    * doc: 28.0 Release Notes
    * doc: generate manpages
    * build: Bump to 28.0
    * validation: Disable CheckForkWarningConditions for background chainstate
    * test: Use shell builtins in run_command test case
    * doc: Generate manpages
    * build: Bump to 28.0rc2
    * streams: remove AutoFile::Get() entirely
    * streams: cache file position within AutoFile
    * qt: Translations update
    * gui: fix crash when closing wallet
    * test: Wait for local services to update in feature_assumeutxo
    * test: add coverage for assumeUTXO honest peers disconnection
    * assumeUTXO: fix peers disconnection during sync
    * test: Work around boost compilation error
    * depends: build libevent with -D_GNU_SOURCE
    * test: fixing failing system_tests/run_command under some Locales
    * test: Avoid intermittent timeout in p2p_headers_sync_with_minchainwork.py
    * test: fix `TestShell` initialization (late follow-up for #30463)
    * doc: Point release notes to wiki draft
    * examples: Generate example bitcoin.conf
    * doc: Generate manpages
    * build: Bump to 28.0rc1
    * docs: Add 379 and 387 to bips.md
    * docs: Remove release 28.0 release notes fragments
    * seeds: Regenerate mainnet seeds
    * seeds: Pull nodes from Luke's seeder
    * seeds: Pull nodes from virtu's crawler
    * chainparams: Remove seed.bitcoinstats.com
    * build: Bump to 28.99
    * wallet: bugfix: ensure atomicity in settings updates
    * qt: 28.0 translations update
    * test: check xor.dat recreated when missing
    * test: add null block xor key
    * refactor: lift NUM_XOR_BYTES
    * refactor: move read_xor_key() to TestNode
    * refactor: use unlink rather than os.remove
    * test: add blocks_key_path
    * test: Avoid intermittent block download timeout in p2p_ibd_stalling
    * test: Avoid duplicate curl call in get_previous_releases.py
    * test: Add time-timewarp-attack boundary cases
    * Fix maybe-uninitialized warning in IsSpentKey
    * devtools, utxo-snapshot: Fix block height out of range
    * test: replace deprecated secp256k1 context flags usage
    * miner: adjust clock to timewarp rule
    * Add timewarp attack mitigation test
    * consensus: enable BIP94 on regtest
    * test: assumeutxo: check that UTXO-querying RPCs operate on snapshot chainstate
    * consensus: lower regtest nPowTargetTimespan to 144
    * fuzz: Speed up utxo_snapshot fuzz target
    * seeds: Use fjahr's more up to date asmap
    * seeds: Fixed seeds update
    * seeds: Add testnet4 fixed seeds file
    * seeds: Remove manual onion and i2p seeds
    * seeds: Add testnet instructions
    * seeds: Also pull from achow101 seeder
    * makeseeds: Configurable minimum blocks for testnet4's smaller chain
    * headerssync: Update headerssync configuration
    * params: Update assumevalid and minimum chainwork
    * params: Update chainTxData
    * params: Update assumed blockchain and chainstate sizes
    * test: Enable detect_leaks=1 in ASAN_OPTIONS explicitly
    * fuzz: Speed up utxo_snapshot by lazy re-init
    * Rename ReleaseWallet to FlushAndDeleteWallet
    * fuzz: Remove unused DataStream object
    * wallet: WaitForDeleteWallet, do not expect thread safety
    * wallet: rename UnloadWallet to WaitForDeleteWallet
    * wallet: unload, notify GUI as soon as possible
    * makeseeds: Shuffle ips after parsing
    * makeseeds: Support CJDNS
    * makeseeds: Update user agent regex
    * test: add functional test for XORed block/undo files (`-blocksxor`)
    * [doc] mention bip94 support
    * test: refactor: move `read_xor_key`/`util_xor` helpers to util module
    * qt: Update translation source file for v28.0 string freeze
    * gui: Use menu for wallet migration
    * remove repeated word in note
    * Move maximum timewarp attack threshold back to 600s from 7200s
    * Deduplicate list of chain strings in RPC help texts
    * gui: Use wallet name for wallet migration rather than WalletModel
    * gui: don't remove wallet manually before migration
    * gui: Consolidate wallet display name to GUIUtil function
    * wallet, interfaces: Include database format in listWalletDir
    * test: Disallow fee_estimator construction in ChainTestingSetup
    * wallet: fix, detect blank legacy wallets in IsLegacy
    * doc: add missing "testnet4" network string in RPC/init help texts
    * policy/feerate.h: avoid constraint self-dependency
    * add missing #include <cstdint> for GCC 15
    * doc: Update ccache website link
    * chainparams: Handle Testnet4 in GetNetworkForMagic
    * doc: Remove outdated nTx faking comment
    * chainparams: add mainnet assumeutxo param at height 840_000
    * wallet: List sqlite wallets with empty string name
    * wallet: Ignore .bak files when listing wallet files
    * validation: Use MAX_TIMEWARP constant as testnet4 timewarp defense delta
    * net: Clarify that m_addr_local is only set once
    * [test]: remove `ExtractDestination` false assertion for `ANCHOR` script
    * lint: Find function calls in default arguments
    * doc: Add release notes for 29775
    * doc: Align deprecation warnings
    * assumeutxo: Drop block height from metadata
    * Reduce cache lookups in CCoinsViewCache::FetchCoin
    * guix: bump time-machine to 7bf1d7aeaffba15c4f680f93ae88fbef25427252
    * contrib: support reading XORed blocks in linearize-data.py script
    * chainparams: Add initial minimum chain work for Testnet4
    * Revert "depends: Fetch miniupnpc sources from an alternative website"
    * add deprecation warning for mempoolfullrbf
    * [doc] update documentation for new mempoolfullrbf default
    * p2p: For assumeutxo, download snapshot chain before background chain
    * p2p: Restrict downloading of blocks for snapshot chain
    * doc: Drop no longer needed workaround for WSL
    * fuzz: replace hardcoded numbers for bech32 limits
    * validation: don't erase coins cache on prune flushes
    * Add linked-list test to CCoinsViewCache::SanityCheck
    * coins: move Sync logic to CoinsViewCacheCursor
    * coins: pass linked list of flagged entries to BatchWrite
    * test: add cache entry linked list tests
    * coins: track flagged cache entries in linked list
    * testnet: Add timewarp attack prevention for Testnet4
    * testnet: Add Testnet4 difficulty adjustment rules fix
    * testnet: Introduce Testnet4
    * refactor: use c++20 std::views::reverse instead of reverse_iterator.h
    * ci: Silent Homebrew's reinstall warnings
    * doc: release note for 30212
    * rpc: clarify ALREADY_IN_CHAIN rpc errors
    * build: remove check for __declspec(dllexport)
    * build: remove check for __attribute__((visibility..
    * depends: fix ZMQ CMake getcachesize check
    * scripted-diff: Replace uint256S("str") -> uint256{"str"}
    * refactor: Hand-replace some uint256S -> uint256
    * refactor: Add consteval uint256(hex_str)
    * miniscript: Use `ToIntegral` instead of `ParseInt64`
    * scripted-diff: Modernize naming of nChainTx and nTxCount
    * test: Add basic check for nChainTx type
    * chainparams: Change nChainTx to uint64_t
    * refactor: remove un-tested early returns
    * tests: add tests for KeyPair
    * refactor: move SignSchnorr to KeyPair
    * logging: clarify -debug and -debugexclude descriptions
    * rpc: make logging method reject "0" category and correct the help text
    * logging, refactor: minor encapsulation improvement and use BCLog::NONE instead of 0
    * logging, refactor: make category special cases explicit
    * doc + test: Correct uint256 hex string endianness
    * doc: Add missed cmake package to build depends
    * crypto: add KeyPair wrapper class
    * tests: add key tweak smoke test
    * bench: add benchmark for signing with a taptweak
    * doc: Add note about distro's g++-mingw-w64-x86-64-posix version
    * policy: enable full-rbf by default
    * doc: add release notes for full-rbf
    * test: check that keyless P2A 'signing' via `signrawtransactionwithkey` succeeds
    * test: check that P2A with witness data is still consensus-legal
    * test: P2A is a destination type with an address
    * gui, qt: brintToFront workaround for Wayland
    * [rpc, fees]: add more detail on the fee estimation modes
    * [doc]: add `30275` release notes
    * fuzz: fix timeout in crypter target
    * test: Disable known broken USDT test for now
    * Revert "build: pass --with-ecmult-gen-kb=86 to secp256k1"
    * Squashed 'src/secp256k1/' changes from 4af241b320..642c885b61
    * doc: tor.md: use -bind=127.0.0.1:8334=onion for the Tor bind
    * Showing local addresses on the Node Window
    * net: Providing an interface for mapLocalHost
    * coins: call ClearFlags in CCoinsCacheEntry destructor
    * refactor: require self and sentinel parameters for AddFlags
    * refactor: add CoinsCachePair alias
    * refactor: move flags to private uint8_t and rename to m_flags
    * refactor: disallow setting flags in CCoinsCacheEntry constructors
    * refactor: encapsulate flags setting with AddFlags and ClearFlags
    * refactor: encapsulate flags get access for all other checks
    * refactor: encapsulate flags access for dirty and fresh checks
    * clusterlin: improve rechunking in LinearizationChunking (optimization)
    * clusterlin: add MergeLinearizations function + fuzz test + benchmark
    * clusterlin: add PostLinearize + benchmarks + fuzz tests
    * clusterlin: add algorithms for connectedness/connected components
    * clusterlin: rename Intersect -> IntersectPrefixes
    * fuzz: improve scriptpubkeyman target
    * qt: Replace deprecated LogPrintf with LogInfo in GUIUtil::LogQtInfo()
    * qt, build: Drop `QT_STATICPLUGIN` macro
    * depends: Fix `zeromq` build on OpenBSD
    * refactor: remove TxidFromString
    * test: replace WtxidFromString with Wtxid::FromHex
    * fuzz: increase FromHex() coverage
    * test: add uint256::FromHex unittest coverage
    * test: Avoid CScript() as default function argument
    * [fuzz] Harness for version handshake
    * scripted-diff: Rename lazily initialized bloom filters
    * doc: Remove reference to resolved issue
    * [net processing] Lazily initialize m_recent_confirmed_transactions
    * [net processing] Lazily initialize m_recent_rejects_reconsiderable
    * [net processing] Lazily initialize m_recent_rejects
    * test: Try previously intermittently broken USDT test again
    * doc: remove obsolete mention and link to closed PR
    * doc: add release notes for #22729
    * test: Make leaf_script mandatory when scriptpath is set in TaprootSignatureMsg
    * test: fix constructor of msg_tx
    * doc: mention optional dependencies (qrencode, zmq) in OpenBSD build docs
    * test: add P2A ProduceSignature coverage
    * Add release note for P2A output feature
    * test: add P2A coverage for decodescript
    * test: Add anchor mempool acceptance test
    * policy: stop 3rd party wtxid malleability of anchor spend
    * policy: make anchor spend standard
    * policy: Add OP_1 <0x4e73> as a standard output type
    * kernel: Only setup kernel context globals once
    * qt: Update translation source file
    * qt: Bump Transifex slug for 28.x
    * qt: Pull recent translations from Transifex
    * test: fix intermittent failures in feature_proxy.py
    * doc: Update issue reference for libbitcoinkernel
    * rpc: fix maybe-uninitialized compile warning in getchaintxstats
    * ci: enable berkley db on test each commit job
    * rpc: add utxo's blockhash and number of confirmations to scantxoutset output
    * guix: move bison from global scope, to Linux
    * mingw: Document mode wbx workaround
    * Add -blocksxor boolean option
    * rpc: Return precise loadtxoutset error messages
    * Return XOR AutoFile from BlockManager::Open*File()
    * guix: bump time-machine to efc26826400762207cde9f23802cfe75a737963c
    * guix: patch /gnu/store paths out of winpthreads
    * doc: rpc: Use "output script" consistently (2/2)
    * bench: add cluster linearization improvement benchmark
    * clusterlin: permit passing in existing linearization to Linearize
    * clusterlin: add LinearizationChunking class
    * clusterlin: randomize the SearchCandidateFinder search order
    * clusterlin: use bounded BFS exploration (optimization)
    * bench: Candidate finding and linearization benchmarks
    * clusterlin: add Linearize function
    * clusterlin: add chunking algorithm
    * clusterlin: add SearchCandidateFinder class
    * clusterlin: add AncestorCandidateFinder class
    * tests: framework for testing DepGraph class
    * clusterlin: introduce cluster_linearize.h with Cluster and DepGraph types
    * depends: remove ENV unsetting for darwin
    * guix: improve ENV unsetting for macOS
    * depends: patch explicit -lm usage out of Qt tools
    * refactor: Use untranslated error message in ActivateSnapshot
    * depends: cleanup after qrencode build
    * depends: cleanup after miniupnpc build
    * depends: Cleanup postprocess commands after switching to CMake
    * m_tx_download_mutex followups
    * release m_tx_download_mutex before MakeAndPushMessage GETDATA
    * [refactor] change ActiveTipChange to use CBlockIndex ref instead of ptr
    * ci: Add missing qttools5-dev install to Asan task
    * doc: Add release notes for two pull requests
    * refactor: Replace ParseHashStr with FromHex
    * rest: Reject truncated hex txid early in getutxos parsing
    * refactor: Expose FromHex in transaction_identifier
    * refactor: Implement strict uint256::FromHex()
    * ci: add _LIBCPP_REMOVE_TRANSITIVE_INCLUDES to TSAN job
    * refactor: fix missing includes
    * [test]: ensure `estimatesmartfee` default mode is `economical`
    * [doc] TxOrphanage is no longer thread-safe
    * [refactor] combine block vtx loops in BlockConnected
    * cleanse: Use SecureZeroMemory for mingw-w64 (release) builds
    * refactor: Add FlatFileSeq member variables in BlockManager
    * scripted-diff: Rename SetHex to SetHexDeprecated
    * test: refactor: Replace SetHex with uint256 constructor directly
    * depends: Bump `libmultiprocess` for CMake fixes
    * test: Fix intermittent issue in p2p_v2_misbehaving.py
    * net: Log accepted connection after m_nodes.push_back
    * guix: use gcc-12 to compile winpthreads
    * depends: switch to building expat with CMake
    * guix: use GCC 12.4.0 over 12.3.0
    * guix: consolidate back to GCC 12 toolchain for all HOSTS
    * fix: Make TxidFromString() respect string_view length
    * refactor: Change base_blob::SetHex() to take std::string_view
    * test: uint256 - Garbage suffixes and zero padding
    * refactor: Make uint256_tests no longer use deprecated BOOST_CHECK()
    * test: Add test for TxidFromString() behavior
    * doc: use proper doxygen formatting for CTxMemPool::cs
    * fuzz: Speed up PickValue in txorphan
    * lint: Use git clone --depth=1
    * lint: Add missing docker.io prefix to ci/lint_imagefile
    * lint: Use consistent out-of-tree build for python and test_runner
    * Fix lint-spelling warnings
    * doc: Clarify intent of ./ci/lint_run_all.sh
    * lint: Use $CI_RETRY_EXE when building ./ci/lint_imagefile
    * fuzz: reduce keypool size in scriptpubkeyman target
    * Fix MSVC warning C4273 "inconsistent dll linkage"
    * depends: bump libmultiprocess for CMake fixes
    * depends: Fix CMake-generated `libevent*.pc` files
    * fuzz: Deglobalize signature cache in sigcache test
    * fuzz: Limit parse_univalue input length
    * log: Remove NOLINT(bitcoin-unterminated-logprintf)
    * depends: switch zmq to CMake
    * fuzz: Use BasicTestingSetup for coins_view target
    * test: Add arguments for creating a slimmer setup
    * depends: add zeromq no librt patch
    * depends: add zeromq cmake minimum patch
    * depends: add zeromq windows usage patch
    * depends: add zeromq builtin sha1 patch
    * depends: add zeromq mktemp macos patch
    * logging: use std::string_view
    * logging: Apply formatting to early log messages
    * logging: Limit early logging buffer
    * test: Add loadtxoutset test with tip on snapshot block
    * test: Remove already resolved assumeutxo todo comments
    * depends: use CMake to build FreeType
    * contrib: assume binary existence in sec/sym checks
    * [fees]: change `estimatesmartfee` default mode to `economical`
    * contrib: simplify ELF test-security-check
    * contrib: simplify PE test-security-check
    * contrib: simplify MACHO test-security-check
    * refactor: add coinbase constraints to BlockCreateOptions
    * test: bump mocktime after node has received and sent bytes
    * refactor: Use util::Split to avoid a harmless unsigned-integer-overflow
    * test: Non-Shy version sender
    * refactor: Make m_last_notified_header private
    * doc: getaddressinfo[isscript] is optional
    * test: Fix MSVC warning C4101 "unreferenced local variable"
    * univalue, refactor: Convert indentation tabs to spaces
    * qa: Do not assume running `feature_asmap.py` from source directory
    * qa: Consider `cache` and `config.ini` relative to invocation directory
    * scripted-diff: Add `__file__` argument to `BitcoinTestFramework.init()`
    * [refactor] delete EraseTxNoLock, just use EraseTx
    * remove obsoleted TxOrphanage::m_mutex
    * lock m_recent_confirmed_transactions using m_tx_download_mutex
    * remove obsoleted hashRecentRejectsChainTip
    * update recent_rejects filters on ActiveTipChange
    * add ValidationInterface::ActiveTipChange
    * guard TxRequest and rejection caches with new mutex
    * refactor: pass BlockCreateOptions to createNewBlock
    * refactor: use CHECK_NONFATAL to avoid single-use symbol
    * gui: correct replacement of amp character in the wallet name for QMenu
    * test: Fix intermittent failure in p2p_v2_misbehaving.py
    * Add fuzz test for FSChaCha20Poly1305
    * Add fuzz test for AEADChacha20Poly1305
    * fuzz: limit the number of nested wrappers in descriptors
    * fuzz: limit the number of sub-fragments per fragment for descriptors
    * net: Allow DNS lookups on nodes with IPV6 lo only
    * rest: Reject negative outpoint index in getutxos parsing
    * init: change shutdown order of load block thread and scheduler
    * rpc: Use CHECK_NONFATAL over Assert
    * logging: Add DisableLogging()
    * contrib: c++ify test stubs after switching to c++ compilers
    * validation: Don't load a snapshot if it's not in the best header chain.
    * log: Fix __func__ in LogError in blockstorage module
    * log: LogError with FlatFilePos in UndoReadFromDisk
    * refactor: Mark IsBlockPruned const
    * remove truc_policy.cpp from libbitcoin_common_a_SOURCES
    * test: fix inconsistency in fundrawtransaction weight limits test
    * util: Catch translation string errors at compile time
    * Reapply "test: p2p: check that connecting to ourself leads to disconnect"
    * net: prevent sending messages in `NetEventsInterface::InitializeNode`
    * net: fix race condition in self-connect detection
    * package rbf: cpfp structure requires package > parent feerate
    * test package rbf boundary conditions more closely
    * fuzz: mini_miner_selection fixups.
    * MiniMiner: use FeeFrac in AncestorFeerateComparator
    * [doc] archive v26.2 release notes
    * refactor: Mark some static global vars as const
    * refactor: De-globalize last notified header index
    * refactor: De-globalize validation benchmark timekeeping
    * rpc: doc: use "output script" terminology consistently in "asm"/"hex" results
    * test: [refactor] Pass TestOpts
    * tidy: modernize-use-equals-default
    * Use WITH_LOCK in Warnings::Set
    * GUI/OptionsDialog: Prefer to stretch actual options area rather than waste space
    * GUI/OptionsDialog: Allow Maximize of window
    * random: drop ad-hoc Shuffle in favor of std::shuffle
    * bench random: benchmark more functions, and add InsecureRandomContext
    * refactor: Use designated initializer
    * rpc: Use untranslated error strings in loadtxoutset
    * net_processing: use existing RNG object in ProcessGetBlockData
    * random bench refactor: move to new bench/random.cpp
    * test: loadtxoutset in divergent chain with less work
    * refactor: Use named arguments to get path arg in loadtxoutset
    * kernel: De-globalize signature cache
    * fuzz: improve utxo_snapshot target
    * Expose CSignatureCache class in header
    * kernel: De-globalize script execution cache hasher
    * kernel: De-globalize script execution cache
    * validation: Don't error if maxsigcachesize exceeds uint32::max
    * contrib: rename cc to cxx in binary checking scripts
    * contrib: use c++ rather than c for binary tests
    * fuzz: fix key size in crypter target
    * validation: Check if mempool exists before asserting in ActivateSnapshot
    * logging: Add thread safety annotations
    * lint: remove unneeded trailing line fix
    * lint: ignore files ignored by git in mlc
    * test: add test for modififed walletprocesspsbt calls
    * net: require P2P binds to succeed
    * net: report an error if unable to bind on the Tor listening addr:port
    * net: don't extra bind for Tor if binds are restricted
    * [doc] add release note for TRUC
    * use version=3 instead of v3 in debug strings
    * scripted-diff: change names from V3 to TRUC
    * [doc] replace mentions of v3 with TRUC
    * rename mempool_accept_v3.py to mempool_truc.py
    * wallet: fix FillPSBT errantly showing as complete
    * test: Add coverage for getchaintxstats in assumeutxo context
    * rpc: Reorder getchaintxstats output
    * rpc: Avoid getchaintxstats invalid results
    * Revert "test: p2p: check that connecting to ourself leads to disconnect"
    * test: verify wallet is still active post-migration failure
    * wallet: Use LegacyDataSPKM when loading
    * wallet: Move MigrateToDescriptor and DeleteRecords to LegacyDataSPKM
    * wallet: Move LegacyScriptPubKeyMan::IsMine to LegacyDataSPKM
    * wallet: Move LegacySPKM data storage and handling to LegacyDataSPKM
    * random: replace construct/assign with explicit Reseed()
    * random: use LogError for init failure
    * tests: make fuzz tests (mostly) deterministic with fixed seed
    * random: cleanup order, comments, static
    * net, net_processing: use existing RNG objects more
    * random: improve precision of MakeExponentiallyDistributed
    * random: convert GetExponentialRand into rand_exp_duration
    * random: convert GetRand{Micros,Millis} into randrange
    * net: use GetRandMicros for cache expiration
    * random: get rid of GetRand by inlining
    * wallet: update mempool conflicts tests + docs
    * util: Use SteadyClock in RandAddSeedPerfmon
    * random: make GetRand() support entire range (incl. max)
    * tests: overhaul deterministic test randomness
    * random: convert XoRoShiRo128PlusPlus into full RNG
    * random: move XoRoShiRo128PlusPlus into random module
    * xoroshiro128plusplus: drop comment about nonexisting copy()
    * random: modernize XoRoShiRo128PlusPlus a bit
    * random: add RandomMixin::randbits with compile-known bits
    * random: Improve RandomMixin::randbits
    * random: refactor: move rand* utilities to RandomMixin
    * random: use BasicByte concept in randbytes
    * random: add a few noexcepts to FastRandomContext
    * random: move rand256() and randbytes() to .h file
    * random: write rand256() in function of fillrand()
    * ci: Clear unused /msan/llvm-project
    * Moved the repeated -printpriority fetching out of AddToBlock
    * test: Added coverage to Block not found error using gettxoutsetinfo
    * p2p: Start downloading historical blocks from common ancestor
    * test: p2p: check that connecting to ourself leads to disconnect
    * scripted-diff: Log parameter interaction not thrice
    * doc: Fix outdated dev comment about logging
    * wallet: use LogTrace for walletdb log messages at trace level
    * Compare ASMaps with respect to specific addresses
    * [wallet, rpc]: add `max_tx_weight` to tx funding options
    * doc: detail -rpccookieperms option
    * test: add rpccookieperms test
    * init: add option for rpccookie permissions
    * util: add perm string helper functions
    * [wallet]: update the data type of `change_output_size`, `change_spend_size` and `tx_noinputs_size` to `int`
    * [doc]: update reason for deducting change output weight
    * [refactor]: update coin selection algorithms input parameter `max_weight` name
    * Have testBlockValidity hold cs_main instead of caller
    * refactor: use CHECK_NONFATAL to avoid single-use symbol
    * Drop unneeded lock from createNewBlock
    * mempool: move LoadMempool/DumpMempool to node
    * Change MigrateLegacyToDescriptor to reopen wallet as BERKELEY_RO
    * kernel: remove mempool_persist.cpp
    * refactor: Remove no longer needed clang-15 workaround for std::span
    * fuzz: Clarify Apple-Clang-16 workaround
    * build: Bump clang minimum supported version to 16
    * refactor: testBlockValidity make out argument last
    * Add missing include for mining interface
    * test: change comments to `self.log.info` for `test_addnode_getaddednodeinfo`
    * test: add coverage for `node` field of `getaddednodeinfo` RPC
    * rest: don't copy data when sending binary response
    * ci: test-each-commit merge base optional
    * ci: forks can opt-out of CI branch push (Cirrus only)
    * contrib: Fixup verify-binaries OS platform parsing
    * depends: update doc in Qt pwd patch
    * depends: switch libevent to CMake
    * Squashed 'src/secp256k1/' changes from 06bff6dec8..4af241b320
    * build: Drop redundant `sys/sysctl.h` header check
    * doc: Add note to getblockfrompeer on missing undo data
    * rpc: Make pruneheight also reflect undo data presence
    * wallet: notify when preset + automatic inputs exceed max weight
    * ci: increase available ccache size to 300MB
    * test: Check that non empty version packet is ignored and no disconnection happens
    * test: Check that disconnection happens when AAD isn't filled
    * test: Check that disconnection happens when garbage sent/received are different
    * test: Check that disconnection happens when wrong garbage terminator is sent
    * test: Check that disconnection happens when >4095 garbage bytes is sent
    * refactor, blockstorage: Generalize GetFirstStoredBlock
    * build: add -Wundef
    * refactor: use #ifdef HAVE_SOCKADDR_UN
    * randomenv: use ifdef over if
    * zmq: use #ifdef ENABLE_ZMQ
    * build: Suppress warnings from boost and capnproto in multiprocess code
    * test: Remove unnecessary restart in assumeutxo test
    * assumeutxo: Check snapshot base block is not marked invalid
    * ci: clarify Cirrus self-hosted workers setup
    * refactor: remove extraneous lock annotations from function definitions
    * ci: add option for running tests without volume
    * gui: show maximum mempool size in information window
    * add node interface method for getting maximum mempool size
    * contrib: add R(UN)PATH check to ELF symbol-check
    * test: Make blockencodings_tests deterministic
    * refactor: Move early loadtxoutset checks into ActiveSnapshot
    * QA: Expect PACKAGE_NAME rather than constant "Bitcoin Core"
    * fuzz: Fix wallet_bdb_parser 32-bit unhandled fseek error
    * Don't use iterator addresses in IteratorComparator
    * rpc: call IsInitialBlockDownload via miner interface
    * Replace hard-coded constant in test
    * Validate oversized transaction
    * Validate transaction without inputs
    * Use SCRIPT_VERIFY_NONE instead of hard-coded 0 in transaction_tests
    * rpc: minize getTipHash() calls in gbt
    * rpc: call processNewBlock via miner interface
    * rpc: getTransactionsUpdated via miner interface
    * Always pass options to BlockAssembler constructor
    * rpc: call CreateNewBlock via miner interface
    * rpc: getblocktemplate getTipHash() via Miner interface
    * rpc: call TestBlockValidity via miner interface
    * Introduce Mining interface
    * fuzz: have package_rbf always make small txns
    * doc: reword package RBF documentation
    * upnp: add compatibility for miniupnpc 2.2.8
    * rename policy/v3_policy.* to policy/truc_policy.*
    * build: use -no_exported_symbols on macOS
    * ci: remove unused bcc variable from workflow
    * doc: replace mention of V3 with TRUC
    * move-only: refactor CreateTransactionInternal
    * wallet: use CRecipient instead of CTxOut
    * test: expand LimitOrphan and EraseForPeer coverage
    * test: Introduce test types and modify v2 handshake function accordingly
    * test: write functional test results to csv
    * test: Added test coverage to listsinceblock rpc
    * fuzz: FuzzedSock::Recv() don't lose bytes from MSG_PEEK read
    * fuzz: simplify FuzzedSock::m_peek_data
    * netbase: extend CreateSock() to support creating arbitrary sockets
    * ci: enable self-assignment clang-tidy check
    * refactor: add self-assign checks to classes which violate the clang-tidy check
    * doc: rewrite some of the macdeploy docs
    * depends: swap mmacosx-version-min for mmacos-version-min
    * Add release note for size 2 package rbf
    * doc: update package RBF comment
    * mempool: Improve logging of replaced transactions
    * CheckPackageMempoolAcceptResult: Check package rbf invariants
    * Fuzz: pass mempool to CheckPackageMempoolAcceptResult
    * [test] package rbf
    * [policy] package rbf
    * Revert "contrib: macdeploy: monkey-patch gen-sdk to be deterministic"
    * Squashed 'src/leveldb/' changes from e2f10b4e47..688561cba8
    * refactor: remove warnings globals
    * node: update uiInterface whenever warnings updated
    * introduce and use the generalized `node::Warnings` interface
    * move-only: move warnings from common to node
    * refactor: remove unnecessary AppendWarning helper function
    * test: cover more errors for `signrawtransactionwithkey` RPC
    * i2p: fix log when an interruption happens during `Accept`
    * i2p: log errors properly according to their severity
    * doc: archive release notes for v27.1
    * Squashed 'src/minisketch/' changes from 3472e2f5ec..eb37a9b8e7
    * fuzz: Use std::span in FuzzBufferType
    * ci: move Asan / LSan / USDT job to Github Actions
    * guix: use glibc 2.31
    * test: add functional test for tagged MiniWallet instances
    * test: fix MiniWallet internal key derivation for tagged instances
    * utils: add missing include
    * test: fix MiniWallet script-path spend (missing parity bit in leaf version)
    * test: refactor: return TaprootInfo from P2TR address creation routine
    * test: add coverage for errors for `combinerawtransaction` RPC
    * PackageV3Checks: Relax assumptions
    * doc: add release note for 29091 and 29165
    * refactor: rename (macho) ld64 to lld
    * ci: update deps for macOS cross build
    * depends: update install docs for macOS cross compilation
    * depends: remove no-longer used llvm_* vars from macOS build
    * depends: no-longer pass -B to clang in macOS cross-compile
    * depends: remove native LLVM package
    * depends: remove FORCE_USE_SYSTEM_CLANG
    * guix: use clang-toolchain-18 for macOS build
    * tests: add fuzz tests for BitSet
    * util: add BitSet
    * log: use error level for critical log messages
    * test: Remove redundant verack check
    * build: Remove --enable-gprof
    * test: doc: fix units in tx size standardness test (s/vbytes/weight units)
    * refactor: performance-for-range-copy in psbt.h
    * ci: add IPV6 network to ci container
    * refactor: Rename CTransaction::nVersion to version
    * blockman: Replace m_reindexing with m_blockfiles_indexed
    * test: Add functional test for continuing a reindex
    * indexes: Don't wipe indexes again when already reindexing
    * kernel: Add less confusing reindex options
    * consensus: Store transaction nVersion as uint32_t
    * refactor: Add explicit cast to expected_last_page to silence fuzz ISan
    * minor: remove unnecessary semicolons from RPC content type examples
    * refactor: move orphanage constants to header file
    * test: use json-rpc 2.0 in all functional tests by default
    * bitcoin-cli: use json-rpc 2.0
    * test: remove unused variable in interface_rpc.py
    * doc: update and link for JSON-RPC 2.0
    * validation: Remove needs_init from LoadBlockIndex
    * bugfix: Streamline setting reindex option
    * ci: Use relative paths in `win64-native` CI job consistently
    * ci: Remove no longer needed workaround for GHA Windows images
    * tests: add fuzz tests for VecDeque
    * util: add VecDeque
    * fuzz: add I2P harness
    * net_processing: make MaybePunishNodeFor{Block,Tx} return void
    * build: warn on self-assignment
    * refactor: disable self-assign warning for tests
    * test: Add ReceiveWithExtraTransactions Compact Block receive test.
    * test: refactor: Rename extra_txn to const empty_extra_txn as it is empty in all test cases
    * build: re-enable deprecated warning copy
    * test: add `createmultisig` P2MS encoding test for all n (1..20)
    * test: add unit test for `keys_to_multisig_script`
    * test: fix `keys_to_multisig_script` (P2MS) helper for n/k > 16
    * guix: bump time-machine to f0bb724211872cd6158fce6162e0b8c73efed126
    * Reduce memory copying operations in bech32 encode
    * Reserve hrp memory in Decode and LocateErrors
    * build: no-longer allow GCC-10 in C++20 check
    * doc: fixup deps doc after #30198
    * chainparams: Add achow101 DNS seeder
    * test: Set mocktime in p2p_disconnect_ban.py to avoid intermittent test failure
    * test: Fix typos and use names args
    * Support running individual lint checks
    * refactor: remove unused `CKey::Negate` method
    * guix: show *_FLAGS variables in pre-build output
    * [fuzz] Avoid endless waiting in FuzzedSock::{Wait,WaitMany}
    * [fuzz] Make peeking through FuzzedSock::Recv fuzzer friendly
    * depends: Update Boost download link
    * build: Fix building `fuzz` binary on on SunOS / illumos
    * [doc] update bips.md for 431
    * [test] wallet uses CURRENT_VERSION which is 2
    * [policy] make v3 transactions standard
    * doc: JSON-RPC request Content-Type is application/json
    * [fuzz] Use fuzzer friendly ConsumeRandomLengthByteVector in FuzzedSock::Recv
    * depends: consolidate dependency docs
    * net: log connections failures via SOCKS5 with less severity
    * [refactor] use TRUC_VERSION in place of 3
    * test: MiniWallet: respect fee_rate for target_weight, use in mempool_limit.py
    * test: add framework functional test for MiniWallet's tx padding
    * test: MiniWallet: fix tx padding (`target_weight`) for large sizes, improve accuracy
    * net_processing: remove Misbehavior score and increments
    * net_processing: make all Misbehaving increments = 100
    * net_processing: drop 8 headers threshold for incoming BIP130
    * net_processing: drop Misbehavior for unconnecting headers
    * net_processing: do not treat non-connecting headers as response
    * depends: fix Qt macOS build with Clang 18
    * clang-tidy: Add `bugprone-move-forwarding-reference` check
    * build: remove --enable-lcov-branch-coverage
    * depends: qt 5.15.14
    * refactor: use recommended type hiding on multi_index types
    * qa: a fuzz target for the block index database
    * scripted-diff: Replace nNextSweep with m_next_sweep
    * increase txorphan harness stability
    * fuzz: Handle missing BDBRO errors
    * Use `exact_target` shorthand in coinselector_tests
    * log: Add V2 handshake timeout
    * test: Make global TRANSPORT_VERSION variable an instance variable
    * Fold GetSelectionWaste() into ComputeAndSetWaste()
    * test: Add coverage for txid coins count check when loading snapshot
    * assumeutxo: Add network magic ctor param to SnapshotMetadata
    * fuzz: Fix wallet_bdb_parser stdlib error matching
    * lint: add markdown hyperlink checker
    * assumeutxo: Deserialize trailing byte instead of Txid
    * doc: Add release notes for #29612
    * Link to gen-bitcoin-conf.sh instead of bitcoin.conf placeholder
    * [fuzz] Avoid collecting initialization coverage
    * Add sanity checks for various ATMPArgs booleans
    * [refactor] make some members MemPoolAccept-wide
    * cpfp carveout is excluded in packages
    * Add m_allow_sibling_eviction as separate ATMPArgs flag
    * Add description for m_test_accept
    * test: Assumeutxo: snapshots with less work should not be loaded
    * clang-tidy: add check for non-trivial thread_local vars
    * depends: Fetch miniupnpc sources from an alternative website
    * test: add coverage for `mapped_as` from `getrawaddrman`
    * net: rpc: return peer's mapped AS in getrawaddrman
    * doc: Correct pull request prefix for scripts and tools
    * guix: drop binutils from macOS env
    * guix: use GUIX_LD_WRAPPER_DISABLE_RPATH for all HOSTS
    * guix: remove ZERO_AR_DATE export
    * depends: remove cctools & libtapi
    * build: switch to using lld for macOS builds
    * build: add lld into macOS build environment(s)
    * depends: swap cctools-x for llvm-x
    * depends: don't use -no_warning_for_no_symbols in macOS qt build
    * windeploy: Renew certificate
    * wallet, tests: Avoid stringop-overflow warning in PollutePubKey
    * [fuzz] V3_MAX_VSIZE and effective ancestor/descendant size limits
    * [policy] restrict all v3 transactions to 10kvB
    * [policy] explicitly require non-v3 for CPFP carve out
    * test: improve robustness of connect_nodes()
    * rpc: Enhance metadata of the dumptxoutset output
    * assumeutxo: Add documentation on dumptxoutset serialization format
    * assumeutxo: Add test for changed coin size value
    * rpc: Optimize serialization disk space of dumptxoutset
    * build: remove --enable-threadlocal
    * doc: remove comment about using thread_local
    * build: Enable `thread_local` for MinGW-w64 builds
    * refactor: replace hardcoded numbers
    * ci: Add mising -Wno-error=maybe-uninitialized to armhf task
    * rpc: avoid copying into UniValue
    * doc: Update NetBSD Build Guide
    * tests: improve wallet multisig descriptor test and docs
    * build: pass --with-ecmult-gen-kb=86 to secp256k1
    * [[refactor]] Check CTxMemPool options in constructor
    * test: remove unneeded `-maxorphantx=1000` settings
    * bench: bugfix, properly release wallet before erasing directory
    * test: Log when the garbage is actually sent to transport layer
    * wallet, test: Be able to always swap BDB endianness
    * test: Test bdb_ro dump of wallet without reset LSNs
    * test: Test dumping dbs with overflow pages
    * test: Test dumps of other endian BDB files
    * bdb: Be able to make byteswapped databases
    * Error if LSNs are not reset
    * Berkeley RO Database fuzz test
    * tests: Add BerkeleyRO to db prefix tests
    * wallettool: Optionally use BERKELEY_RO as format when dumping BDB wallets
    * Add MakeBerkeleyRODatabase
    * Implement handling of other endianness in BerkeleyRODatabase
    * wallet: implement independent BDB deserializer in BerkeleyRODatabase
    * fuzz: add more coverage for `ScriptPubKeyMan`
    * util: avoid using thread_local variable that has a destructor
    * doc: Clarify distinction between util and common libraries in libraries.md
    * util: Move util/string.h functions to util namespace
    * util: add TransactionError includes and namespace declarations
    * util: move fees.h and error.h to common/messages.h
    * common: Add PSBTError enum
    * util: move error.h TransactionError enum to node/types.h
    * util: move spanparsing.h to script/parsing.h
    * util: move spanparsing.h Split functions to string.h
    * util: move HexStr and HexDigit from util to crypto
    * util: move util/message to common/signmessage
    * build: move memory_cleanse from util to crypto
    * build: move chainparamsbase from util to common
    * test: Add check-deps.sh script to check for unexpected library dependencies
    * kernel: De-globalize fReindex
    * Squashed 'src/secp256k1/' changes from d8311688bd..06bff6dec8
    * refactor: Use type-safe time in txorphanage
    * rpc: Remove index-based Arg accessor
    * crypto: disable asan for sha256_sse4 with clang and -O0
    * ci: Roll test-each-commit Ubuntu
    * ci: Remove clang version pin in test-each-commit
    * blockstorage: Don't move cursor backwards in UpdateBlockInfo
    * blockstorage: Rename FindBlockPos and have it return a FlatFilePos
    * validation, blockstorage: Separate code paths for reindex and saving new blocks
    * blockstorage: split up FindBlockPos function
    * doc: Improve doc for functions involved in saving blocks to disk
    * doc: add comments and release-notes for JSON-RPC 2.0
    * rpc: JSON-RPC 2.0 should not respond to "notifications"
    * rpc: Avoid returning HTTP errors for JSON-RPC 2.0 requests
    * rpc: Add "jsonrpc" field and drop null "result"/"error" fields
    * rpc: identify JSON-RPC 2.0 requests
    * test: add conflicting topology test case
    * tests, fuzz: use new NUMS_H const
    * [log] updates in TxOrphanage
    * [functional test] attackers sending mutated orphans
    * [unit test] TxOrphanage handling of same-txid-different-witness txns
    * [p2p] allow entries with the same txid in TxOrphanage
    * [refactor] TxOrphanage::EraseTx by wtxid
    * [refactor] TxOrphanage::HaveTx only by wtxid
    * [p2p] don't query orphanage by txid
    * kernel: Remove batchpriority from kernel library
    * crypto: add NUMS_H const
    * wallet: implement BerkeleyRODatabase::Backup
    * wallet: implement BerkeleyROBatch
    * wallet: add dummy BerkeleyRODatabase and BerkeleyROBatch classes
    * refactor: simplify `FormatSubVersion` using strprintf/Join
    * cli: Add warning for duplicate port definition
    * cli: Sanitize ports in rpcconnect and rpcport
    * rpc: move UniValue in blockToJSON
    * depends: set RANLIB for CMake
    * depends: set NM for CMake
    * depends: set AR for CMake
    * refactor: Model the bech32 charlimit as an Enum
    * script/sign: avoid duplicated signature verification after signing
    * bench: add benchmark for `SignTransaction`
    * test: add GetAddedNodeInfo() CJDNS regression unit test
    * p2p, bugfix: detect addnode cjdns peers in GetAddedNodeInfo()
    * refactor, subprocess: Remove unused stream API calls
    * refactor, subprocess: Remove unused `Popen::child_created_` data member
    * refactor, subprocess: Remove unused `Popen::poll()`
    * refactor, subprocess: Remove `Popen::pid()`
    * test: test sendall does ancestor aware funding
    * contrib: drop dead get_machine from test sym check
    * contrib: use env_flags in get_arch
    * Refactor: Remove ECC_Start and ECC_Stop from key header
    * kernel: Remove key module from kernel library
    * tools: Use ECC_Context helper in bitcoin-tx and bitcoin-wallet tools
    * test: Use ECC_Context helper in bench and fuzz tests
    * common: Add ECC_Context RAII wrapper for ECC_Start/ECC_Stop
    * blockstorage: Add Assume for fKnown / snapshot chainstate
    * build, test: Remove unused `TIMEOUT` environment variable
    * build: swap otool for (llvm-)objdump
    * test: Remove struct.pack from almost all places
    * scripted-diff: test: Use int.to_bytes over struct packing
    * test: Use int.to_bytes over struct packing
    * test: Normalize struct.pack format
    * ci: Exclude feature_init for now in valgrind task
    * doc: rpc: fix submitpackage examples
    * rpc: update min package size error message in submitpackage
    * doc: rpc: submitpackage takes sorted array
    * test: add bounds checking for submitpackage RPC
    * test: added test coverage to loadtxoutset
    * refactor: Simply include CTxMemPool::Options in CTxMemPool directly rather than duplicating definition
    * build, test, doc: Temporarily remove Android-related stuff
    * test: use tagged ephemeral MiniWallet instance in fill_mempool
    * test: add MiniWallet tagging support to avoid UTXO mixing
    * test: refactor: eliminate COINBASE_MATURITY magic number in fill_mempool
    * test: refactor: move fill_mempool to new module mempool_util
    * net: reduce LOCK(cs_main) scope in ProcessGetBlockData
    * net: reduce LOCK(cs_main) scope in GETBLOCKTXN
    * build, msvc: Compile test\fuzz\miniscript.cpp
    * test: addmultisigaddress, coverage for script size limits
    * bugfix: addmultisigaddress, add unsupported operation for redeem scripts over 520 bytes
    * test: coverage for 16-20 segwit multisig scripts
    * rpc: bugfix, incorrect segwit redeem script size used in signrawtransactionwithkey
    * fix incorrect multisig redeem script size limit for segwit
    * test: rpc_createmultisig, decouple 'test_sortedmulti_descriptors_bip67'
    * test: rpc_createmultisig, decouple 'test_mixing_uncompressed_and_compressed_keys'
    * test: rpc_createmultisig, remove unnecessary checkbalances()
    * test: refactor, multiple cleanups in rpc_createmultisig.py
    * test: rpc_createmultisig, remove manual wallet initialization
    * miniscript: make operator_mst consteval
    * doc: fix broken relative md links
    * [test]: remove duplicate WITNESS_SCALE_FACTOR
    * gui: fix misleading signmessage error with segwit
    * build: no-longer disable WARN_CXXFLAGS when CXXFLAGS is set
    * ci: remove -Wdocumentation from -Werror in multiprocess CI
    * ci: remove -Warray-bounds from -Werror for win64
    * ci: disable -Werror=maybe-uninitialized for Windows builds
    * refactor, test: Always initialize pointer
    * Replace remaining "520" magic numbers with MAX_SCRIPT_ELEMENT_SIZE
    * refactor: Avoid unused-variable warning in init.cpp
    * [refactor] use reference in for loop through iters
    * refactor: Make 64-bit shift explicit
    * fuzz: wallet, add target for Crypter
    * fuzz: txorphan tests fixups
    * rpc: return warnings as an array instead of just a single one
    * Process every MempoolAcceptResult regardless of PackageValidationResult
    * [refactor] have ProcessPackageResult take a PackageToValidate
    * [doc] remove redundant PackageToValidate comment
    * [txpackages] use std::lexicographical_compare instead of sorting hex strings
    * [refactor] make MempoolAcceptResult::m_replaced_transactions non-optional
    * Add lint check for bitcoin-config.h include IWYU pragma
    * scripted-diff: Add IWYU pragma keep to bitcoin-config.h includes
    * lint: [doc] Clarify Windows line endings (CR LF) not to be used
    * test: use sleepy wait-for-log in reindex readonly
    * doc: add release-notes-27064.md
    * system: use %LOCALAPPDATA% as default datadir on windows
    * depends: fix miniupnpc snprintf usage on Windows
    * depends: switch miniupnpc to CMake
    * depends: add upstream CMake patch to miniupnpc
    * depends: miniupnpc 2.2.7
    * guix: fix suggested fake date for openssl -1.1.1l
    * test: Don't rely on incentive incompatible replacement in mempool_accept_v3.py
    * doc: removed help text saying that peers may not connect automatically
    * functional test: ensure confirmed utxo being sourced for 2nd chain
    * test: Handle functional test disk-full error
    * doc: add LLVM instruction for macOS < 13
    * depends: Fix build of Qt for 32-bit platforms
    * fuzz: don't allow adding duplicate transactions to the mempool
    * update comments in cpp-subprocess (check_output references)
    * remove unused method `Popen::kill` from cpp-subprocess
    * net: Fix misleading comment for Discover
    * net: Replace ifname check with IFF_LOOPBACK in Discover
    * build, msvc: Compile `test\fuzz\bitdeque.cpp`
    * refactor: Fix "error C2248: cannot access private member" on MSVC
    * build: Bump clang minimum supported version to 15
    * build, msvc: Drop duplicated `common\url.cpp` source file
    * validation: allow to specify frequency for -checkblockindex
    * validation: improve performance of CheckBlockIndex
    * test: adds outbound eviction tests for non outbound-full-relay peers
    * test: adds outbound eviction functional tests, updates comment in ConsiderEviction
    * [Test] Assumeutxo: ensure failure when importing a snapshot twice
    * [functional test] opportunistic 1p1c package submission
    * [p2p] opportunistically accept 1-parent-1-child packages
    * [p2p] add separate rejections cache for reconsiderable txns
    * [fuzz] break out parent functions and add GetChildrenFrom* coverage
    * [unit test] TxOrphanage::GetChildrenFrom*
    * [txorphanage] add method to get all orphans spending a tx
    * [txpackages] add canonical way to get hash of package
    * test: Add two more urlDecode tests
    * refactor: Avoid copying util::Result values
    * refactor: Drop util::Result operator=
    * remove commented out code in cpp-subprocess
    * contrib: Add asmap-tool
    * contrib: rpcauth.py - Add new option (-j/--json) to output text in json format
    * test: Add test case for spending bare multisig
    * depends: pass verbose through to cmake based make
    * Fix typos in description.md and wallet_util.py
    * remove unused templates from cpp-subprocess
    * common: Don't terminate on null character in UrlDecode
    * scripted-diff: Modernize name of urlDecode function and param
    * refactor: Remove hooking code for urlDecode
    * refactor: Replace libevent use in urlDecode with our own code
    * test: Add unit tests for urlDecode
    * doc: Bash is needed in gen_id and is not installed on FreeBSD by default
    * doc: suggest only necessary Qt packages for installation on FreeBSD
    * doc: Suggest only necessary Qt packages for installation on OpenBSD
    * test: add missing comparison of node1's mempool in MempoolPackagesTest
    * test: Run framework unit tests in parallel
    * Replace locale-dependent `std::strerror` with `SysErrorString`
    * refactor: Rename `subprocess.hpp` to follow our header name conventions
    * remove unneeded environment option from cpp-subprocess
    * test:Validate UTXO snapshot with coin_height > base_height & amount > money_supply
    * Added seednode prioritization message to help output
    * Gives seednode priority over dnsseed if both are provided
    * sign: don't assume we are parsing a sane Miniscript
    * doc: explain what the wallet password does
    * Avoid explicitly computing diagram; compare based on chunks
    * test: Fix intermittent timeout in p2p_tx_download.py
    * ci: Drop no longer needed `-I` flag in "tidy" task
    * guix: remove no-longer-used bzip2
    * depends: switch qrencode to .tar.gz
    * depends: switch libxcb_util_wm to .tar.gz
    * depends: switch libxcb_util_render to .tar.gz
    * depends: switch libxcb_util_keysyms to .tar.gz
    * depends: switch libxcb_util_image to .tar.gz
    * depends: switch libxcb_util to .tar.gz
    * depends: switch xproto to .tar.gz
    * depends: switch libXau to .tar.gz
    * depends: switch fontconfig to .tar.gz
    * depends: switch boost to .tar.gz
    * test: Fix intermittent issue in p2p_handshake.py
    * [doc] update release-process.md and backports section of CONTRIBUTING
    * net: attempts to connect to all resolved addresses when connecting to a node
    * test: Fix `test/streams_tests.cpp` compilation on SunOS / illumos
    * ci, msvc: Add "Run fuzz binaries" step
    * fuzz: Pass `SystemRoot` environment variable to subprocess
    * ci, msvc: Add "Clone fuzz corpus" step
    * build, msvc: Build `fuzz.exe` binary
    * build, msvc: Enable preprocessor conformance mode
    * fuzz: Re-implement `read_stdin` in portable way
    * index: race fix, lock cs_main while 'm_synced' is subject to change
    * build: better scope usage of -Wl,-headerpad_max_install_names
    * build: don't use install_name_tool for macOS deploy when cross-compiling
    * build: don't pass strip to macOS deploy if cross-compiling
    * doc: release notes for PR 27679
    * test: cover unix sockets in zmq interface
    * zmq: accept unix domain socket address for notifier
    * test: fix intermittent failure in p2p_compactblocks_hb.py
    * wallet: return and display signer error
    * wallet: compare address returned by displayaddress
    * test: use h marker for external signer mock
    * fuzz: explicitly cap the vsize of RBFs for diagram checks
    * test: Fix failing univalue float test
    * netbase: clean up Proxy logging
    * remove unneeded cwd option from cpp-subprocess
    * remove unneeded bufsize option from cpp-subprocess
    * remove unneeded close_fds option from cpp-subprocess
    * remove unneeded session_leader option from cpp-subprocess
    * remove unneeded defer_spawn option from cpp-subprocess
    * remove unneeded preexec function option from cpp-subprocess
    * remove unneeded shell option from cpp-subprocess
    * [doc] restore comment about why we check if ptx HasWitness before caching rejected txid
    * guard against MempoolAcceptResult::m_replaced_transactions
    * doc: archive 27.0 release notes
    * test: p2p: add test for rejected tx request logic (`m_recent_rejects` filter)
    * fixup: get all utxos up front in fill_mempool, discourage wallet mixing
    * chore: fix some typos in comments
    * refactor: Use chrono type for g_mock_time
    * test: Add missing Assert(mock_time_in >= 0s) to SetMockTime
    * [rpc, bugfix] Enforce maximum value for setmocktime
    * rpc: Reword SighashFromStr error message
    * ci: use clang-16 for Valgrind
    * ci: Bump s390x to ubuntu:24.04
    * build: remove minisketch clz check
    * Squashed 'src/minisketch/' changes from a571ba20f9..3472e2f5ec
    * build: Fix false positive `CHECK_ATOMIC` test for clang-15
    * psbt: Check non witness utxo outpoint early
    * net: Decrease nMaxIPs when learning from DNS seeds
    * Fix typos in `subprocess.hpp`
    * Remove timedata
    * [net processing] Move IgnoresIncomingTxs to PeerManagerInfo
    * [net processing] Introduce PeerManagerInfo
    * Add TimeOffsets helper class
    * [net processing] Use std::chrono for type-safe time offsets
    * [net processing] Move nTimeOffset to net_processing
    * guix: replace GCC unaligned VMOV patch with binutils patch
    * depends: remove no longer needed patch for Boost::Process
    * gui: Hide peers details
    * ci: disable _FORTIFY_SOURCE with MSAN
    * fuzz: Add coverage for client_maxfeerate
    * AcceptMultipleTransactions: Fix workspace client_maxfeerate
    * fill_mempool: assertions and docsctring update
    * Move fill_mempool to util function
    * Change MAC_OSX macro to __APPLE__ in crypto package
    * Revert "ci: Temporarily disable bpfcc-tools"
    * fill_mempool: remove subtest-specific comment
    * doc: 25.2 historical release notes
    * guix: remove gcc-toolchain static from Windows build
    * [clang-tidy] Enable the misc-no-recursion check
    * depends: add the new LLVM debug macro
    * refactor: Simplify `extra_txn` to be a vec of CTransactionRef instead of a vec of pair<Wtxid, CTransactionRef>
    * test: remove immediate tx relay workaround in wallet_groups.py
    * fuzz: Introduce `BITCOINFUZZ` environment variable
    * fuzz, refactor: Deduplicate fuzz binary path creation
    * refactor, bench, fuzz: Drop unneeded `UCharCast` calls
    * ci: remove --with-asm usage (secp256k1)
    * ci: use LLVM 18.1.3 in MSAN jobs
    * crypto: chacha20: always use our fallback timingsafe_bcmp rather than libc's
    * ci: Drop duplicated compiler flags
    * depends: switch libnatpmp to CMake
    * depends: libnatpmp f2433bec24ca3d3f22a8a7840728a3ac177f94ba
    * test: add unit tests for `calculate_input_weight`
    * test: introduce and use `calculate_input_weight` helper
    * doc: i2p: improve `-i2pacceptincoming` mention
    * gui: don't permit port in proxy IP option
    * test: Fix debug recommendation in argsman_tests
    * test: Extends wait_for_getheaders so a specific block hash can be checked
    * Squashed 'src/secp256k1/' changes from efe85c70a2..d8311688bd
    * guix: Remove another leftover from #29648
    * build, depends: Fix `libmultiprocess` cross-compilation
    * Update the developer mailing list address.
    * depends: remove -g from sqlite debug flags
    * depends: add -g to DEBUG=1 flags
    * test: Bump timeouts in feature_index_prune and wallet_importdescriptors
    * Drop Windows Socket dependency for `randomenv.cpp`
    * guix: remove errant leftover from #29648
    * ci: Temporarily disable bpfcc-tools
    * [doc] add historical release notes for 26.1
    * Add AutoFile::seek and tell
    * Fix #29767, set m_synced = true after Commit()
    * bench: Disable WalletCreate* benchmarks when building with MSVC
    * msvc, bench: Add missing source files to bench_bitcoin project
    * ci: Use clang-18 in asan/fuzz/tsan task
    * gui: fix create unsigned transaction fee bump
    * ci: Bump clang+llvm in i686_multiprocess task
    * ci: Pull in qtbase5-dev instead of seperate low-level libraries
    * doc: Suggest installing dev packages for debian/ubuntu qt5 build
    * refactor: Use typesafe Wtxid in compact block encoding message, instead of ambiguous uint256.
    * test: add coverage for -reindex and assumeutxo
    * doc: Override `-g` properly to skip debugging information
    * test: check disconnection when sending sendaddrv2 after verack
    * gui: change example address from legacy (P2PKH) to bech32m (P2TR)
    * test: fix StopIteration exception in p2p_node_network_limited.py
    * validation: don't clear cache on periodic flush
    * depends: qt 5.15.13
    * test: makes timeout a forced named argument in tests methods that use it
    * build: remove boost::process dependency for building external signer support
    * external_signer: replace boost::process with cpp-subprocess
    * Add `cpp-subprocess` header-only library
    * log: renamed disk to file so wording was more accurate
    * mempool: Log added for dumping mempool transactions to disk
    * depends: fix mingw-w64 Qt DEBUG=1 build
    * ci: Print tsan errors to stderr
    * ci: use codespell 2.2.6
    * doc: fix some typos
    * doc: Fix typos
    * CalculateFeerateDiagramsForRBF: update misleading description of old diagram contents
    * test: remove duplicated ban test
    * CompareFeerateDiagram: short-circuit comparison when detected as incomparable
    * remove erroneous CompareFeerateDiagram comment about slope
    * unit test: clarify unstated assumption for calc_feerate_diagram_rbf chunking
    * s/effected/affected/
    * CalculateFeerateDiagramsForRBF: remove size tie-breaking from chunking conflicts
    * fuzz: Add more invariant checks for package_rbf
    * fuzz: finer grained ImprovesFeerateDiagram check on error result
    * unit test: improve ImprovesFeerateDiagram coverage with one less vb case
    * unit test: make calc_feerate_diagram_rbf less brittle
    * fuzz: add PrioritiseTransaction coverage in diagram checks
    * unit test: add coverage showing priority affects diagram check results
    * unit test: add CheckConflictTopology case for not the only child
    * build, macos: Drop unused `osx_volname` target
    * unit test: check tx4 conflict error message
    * unit test: have CompareFeerateDiagram tested with diagrams both ways
    * ImprovesFeerateDiagram: Spelling fix and removal of unused diagram vectors
    * doc: fix comment about non-existing CompareFeeFrac
    * test: Refactor subtree exclusion in lint tests
    * depends: switch to building libqrencode with CMake
    * guix: make cmake-minimal a global requirement
    * init, validation: Fix -reindex option with an existing snapshot
    * use const ref for client_maxfeerate
    * scripted-diff: Rename max_sane_feerate to client_maxfeerate
    * depends: always set CMAKE_POSITION_INDEPENDENT_CODE=ON
    * depends: always set CMAKE_INSTALL_LIBDIR=lib/
    * correct '-dbcache' to '-prune'
    * init: clarify -test error
    * addrman: drop /*deterministic=*/ comment
    * test: check that addrman seeding is successful
    * test: make p2p_handshake robust against timeoffset warnings
    * tidy: remove C compiler check
    * tidy: set CMAKE_CXX_STANDARD to 20
    * tidy: remove terminfo TODO
    * tidy: set minimum CMake to 3.22
    * doc: Rename `contrib/devtools/bitcoin-tidy/README` to `README.md`
    * lint: Fix COMMIT_RANGE issues
    * refactor: Avoid implicit-integer-sign-change in processNewTransaction
    * refactor: Avoid implicit-signed-integer-truncation-or-sign-change in FreedesktopImage
    * refactor: Avoid implicit-integer-sign-change in createTransaction
    * guix: build GCC with --enable-standard-branch-protection
    * node: Use log levels in noui_ThreadSafeMessageBox
    * node: Make translations of fatal errors consistent
    * Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us
    * lint: scripted-diff verification also requires GNU grep
    * guix: use GCC 11 for macOS builds
    * cli: improve bitcoin-cli error when not connected
    * bench: add benchmark for checkblockindex
    * test: Add test for createwalletdescriptor
    * wallet: Test upgrade of pre-taproot wallet to have tr() descriptors
    * wallet, rpc: Add createwalletdescriptor RPC
    * wallet: Be able to retrieve single key from descriptors
    * wallet: Add GetActiveHDPubKeys to retrieve xpubs from active descriptors
    * wallet, descspkm: Refactor wallet descriptor generation to standalone func
    * wallet: Refactor function for single DescSPKM setup
    * tests: Test for gethdkeys
    * wallet, rpc: Add gethdkeys RPC
    * wallet, rpc: show mempool conflicts in `gettransaction` result
    * wallet: track mempool conflicts
    * test: add coverage for bech32m in `wallet_keypool_topup`
    * index: Move last_locator_write_time and logging to end of threadsync loop
    * ci: Bump msan to llvm-18
    * test: fix test to ensure hidden RPC is present in detailed help
    * test: remove unused mocktime in test_addpeeraddress
    * rpc: "addpeeraddress tried" return error on failure
    * remove libbitcoinconsensus
    * assumeutxo: Remove BLOCK_ASSUMED_VALID flag
    * test: assumeutxo snapshot block CheckBlockIndex crash test
    * test: assumeutxo stale block CheckBlockIndex crash test
    * assumeutxo: Get rid of faked nTx and nChainTx values
    * doc: Improve comments describing setBlockIndexCandidates checks
    * validation: Check GuessVerificationProgress is not called with disconnected block
    * ci: add getchaintxstats ubsan suppressions
    * assumeutxo test: Add RPC test for fake nTx and nChainTx values
    * wallet: Add IsActiveScriptPubKeyMan
    * desc spkm: Add functions to retrieve specific private keys
    * build: Remove HAVE_GMTIME_R
    * refactor: FormatISO8601* without gmtime*
    * Revert "time: add runtime sanity check"
    * Unit tests for CalculateFeerateDiagramsForRBF
    * test: unit test for ImprovesFeerateDiagram
    * Add fuzz test for FeeFrac
    * fuzz: fuzz diagram creation and comparison
    * test: Add tests for CompareFeerateDiagram and CheckConflictTopology
    * fuzz: Add fuzz target for ImprovesFeerateDiagram
    * Implement ImprovesFeerateDiagram
    * Add FeeFrac unit tests
    * Add FeeFrac utils
    * lint: Add lint runner build dir and lint pycache to clean task
    * lint: Add lint runner build dir to gitignore
    * lint: Clarify lint runner rust dependency
    * ci: Drop `--enable-c++20` option
    * fuzz: actually test garbage >64b in p2p transport test
    * wallet refactor: use CWalletTx member functions to determine tx state
    * ci: Bump `TIDY_LLVM_V`
    * doc: Add example of mixing private and public keys in descriptors
    * Bugfix: GUI: Help messages already have a trailing newline, so don't add an extra one
    * Bugfix: bitcoin-cli: Check length of peer.transport_protocol_type
    * scripted-diff: wallet: s/TxStateConflicted/TxStateBlockConflicted
    * test: Add tests for wallet mempool conflicts
    * depends: always configure with --with-pic
    * Remove unused g++-10 workaround
    * guix: bump time-machine to dc4842797bfdc5f9f3f5f725bf189c2b68bd6b5a
    * build: Bump g++ minimum supported version to 11
    * depends: drop 1 qt determinism patch
    * ci: Better tidy errors
    * netbase: remove unnecessary log message
    * lint: Use git --no-pager to print any output in one go
    * Avoid divide-by-zero in header sync logs when NodeClock is behind
    * refactor: Modernize header sync logs
    * RPC: Add maxfeerate and maxburnamount args to submitpackage
    * test: simplify test_runner.py
    * test: fix intermittent failures with test=addrman
    * rest: read raw block in rest_block and deserialize for json
    * rpc: read raw block in getblock and deserialize for verbosity > 0
    * test: check more details on zmq raw block response
    * zmq: read raw block with ReadRawBlockFromDisk
    * blockstorage: check nPos in ReadRawBlockFromDisk before seeking back
    * guix: temporarily disable powerpcle taget
    * guix: use GCC 12.3.0
    * ci: use Debian Bookworm (GCC 12) for ARM ci job
    * ci: use Debian Bookworm (GCC 12) for win64 job
    * log: Remove error() reference
    * refactor: init, simplify index shutdown code
    * index: decrease ThreadSync cs_main contention
    * index: cache last block filter header
    * blockstorage: do not flush block to disk if it is already there
    * lint: Fix lint-whitespace issues
    * index: blockfilter, decouple header lookup into its own function
    * index: blockfilter, decouple Write into its own function
    * bench: basic block filter index initial sync
    * ci, macos: Use `--break-system-packages` with Homebrew's python
    * test: p2p: check limited peers desirability (depending on best block depth)
    * test: p2p: check disconnect due to lack of desirable service flags
    * test: p2p: support disconnect waiting for `add_outbound_p2p_connection`
    * refactor: Remove unused error()
    * scripted-diff: Replace error() with LogError()
    * refactor: Make error() return type void
    * scripted-diff:  return error(...);  ==>  error(...); return false;
    * refactor: Add missing {} around error() calls
    * [refactor] consolidate invalid MempoolAcceptResult processing
    * [refactor] consolidate valid MempoolAcceptResult processing
    * test: Support disconnect waiting for add_p2p_connection
    * test: Rename early key response test and move random_bitflip to util
    * test: fix accurate multisig sigop count (BIP16), add unit test
    * ci: Add workaround for Homebrew's python link error
    * wallet: default wallet migration, modify inconvenient backup filename
    * Reserve memory for ToLower/ToUpper conversions
    * build, msvc: Cleanup `bitcoin_config.h.in`
    * depends: don't use -h with touch on OpenBSD
    * doc: Wrap flags with code in developer-notes.md
    * rpc: refactor single/batch requests
    * rpc: Avoid copies in JSONRPCReplyObj()
    * test: cover JSONRPC 2.0 requests, batches, and notifications
    * test: refactor interface_rpc.py
    * test: test_bitcoin: allow -testdatadir=<datadir>
    * contrib: list other binaries in manpage output
    * build: ignore deprecated-declaration warnings in objc++ macOS code
    * build: Add missed definition for `AM_OBJCXXFLAGS`
    * [fuzz] Apply fuzz env (suppressions, etc.) when fetching harness list
    * ci: add print of powershell version to win64 job
    * build: bump version to 27.99
    * test: exit with code 1 when no fn tests are found
    * Rename CalculateHeadersWork to CalculateClaimedHeadersWork
    * crypto: Guard code with `ENABLE_SSE41` macro
    * build: Fix test for SSE4.1 intrinsics
    * qt, test: Clean settings after tests
    * qt, test: Set organization name
    * doc: add release notes and help text for unix sockets
    * test: cover UNIX sockets in feature_proxy.py
    * init: allow UNIX socket path for -proxy and -onion
    * gui: accomodate unix socket Proxy in updateDefaultProxyNets()
    * i2p: construct Session with Proxy instead of CService
    * net: split ConnectToSocket() from ConnectDirectly() for unix sockets
    * proxy: rename randomize_credentials to m_randomize_credentials
    * netbase: extend Proxy class to wrap UNIX socket as well as TCP
    * net: move CreateSock() calls from ConnectNode() to netbase methods
    * netbase: allow CreateSock() to create UNIX sockets if supported
    * netbase: refactor CreateSock() to accept sa_family_t
    * configure: test for unix domain sockets
    * [functional test] sibling eviction
    * [unit test] sibling not returned from SingleV3Checks if 1p2c or 3gen
    * [policy] sibling eviction for v3 transactions
    * rpc: access some args by name
    * rpc: add named arg helper
    * rpc: add arg helper unit test
    * ci: add --v2transport to an existing CI job
    * test: ignore --v2transport for older versions instead of asserting
    * test: add -v1transport option and use it in test_runner
    * tests: Provide more helpful assert_equal errors
    * Preallocate result in `TryParseHex` to avoid resizing
    * Add benchmark for TryParseHex
    * protocol: make message types constexpr
    * net: make the list of known message types a compile time constant
    * docs: add release notes for #27114
    * test: add coverage for whitelisting manual connections
    * test: add option to speed up tx relay/mempool sync
    * Accept "in" and "out" flags to -whitelist to allow whitelisting manual connections
    * net_processing: Move extra service flag into InitializeNode
    * net: Move `NetPermissionFlags::Implicit` verification to `AddWhitelistPermissionFlags`
    * net: store `-whitelist{force}relay` values in `CConnman`
    * test: Update --tmpdir doc string to say directory must not exist
    * test: Add test for loadtxoutset when headers are not synced
    * test: Remove unnecessary sync_blocks in assumeutxo tests
    * [refactor] return pair from SingleV3Checks
    * test: check_mempool_result negative feerate
    * serialization: Add ParamsStream GetStream() method
    * net: Simplify ParamsStream usage
    * serialization: Accept multiple parameters in ParamsStream constructor
    * serialization: Reverse ParamsStream constructor order
    * serialization: Drop unnecessary ParamsStream references
    * serialization: Drop references to GetVersion/GetType
    * descriptor: Be able to get the pubkeys involved in a descriptor
    * key: Add constructor for CExtKey that takes CExtPubKey and CKey
    * serfloat: improve/simplify tests
    * serfloat: do not test encode(bits)=bits anymore
    * qt: keep focus on "Hide" while ModalOverlay is visible
    * kernel: Remove dependency on CScheduler
    * scripted-diff: Rename MainSignals to ValidationSignals
    * scripted-diff: Rename SingleThreadedSchedulerClient to SerialTaskRunner
    * [refactor] Make MainSignals RAII styled
    * refactor: De-globalize g_signals
    * [refactor] Prepare for g_signals de-globalization
    * [refactor] Make signals optional in mempool and chainman
    * Wallet encrypt on create, allow to navigate options
    * logging: remove unused BCLog::UTIL
    * log: deduplicate category names and improve logging.cpp
    * wallet, rpc: implement ancestor aware funding for sendall
    * rpc, test: test sendall spends unconfirmed change and unconfirmed inputs when specified
    * test: add coverage for parsing cryptographically invalid pubkeys
    * rpc: use `HexToPubKey` helper for all legacy pubkey-parsing RPCs
    * rpc: check and throw specific pubkey parsing errors in `HexToPubKey`
    * i2p: log connection was refused due to arbitrary port
    * test: avoid requesting blocks beyond limited peer threshold
    * p2p: sync from limited peer, only request blocks below threshold
    * refactor: Make FindNextBlocks friendlier
    * test: bumpfee with user specified fee_rate ignores walletIncrementalRelayFee
    * bumpfee: ignore WALLET_INCREMENTAL_RELAY_FEE when user specifies fee rate
    * test: add script compression coverage for not-on-curve P2PK outputs
    * gui: debugwindow: update session ID tooltip
    * serialization: Support for multiple parameters
    * [test] Use deterministic addrman in addrman info tests
    * [test] Restart a node with empty addrman
    * [test] Use deterministic addrman in addpeeraddress test
    * Revert "test: avoid non-determinism in asmap-addrman test"
    * [init] Create deterministic addrman in tests using -test=addrman
    * [init] Remove -addrmantest command line arg
    * [init] Add new command line arg for use only in functional tests
    * doc: fixup NAT-PMP help doc
    * init: remove redundant upnp #ifdef
    * security: restrict abis in bitcoind.service
* Mon Jun 24 2024 andrea.manzini@suse.com
  - Update to version 27.1:
    * doc: update manual pages for 27.1
    * build: bump version to v27.1 final
    * depends: Update Boost download link
    * build: Fix building `fuzz` binary on on SunOS / illumos
    * qt: 27.1rc1 translations update
    * depends: Fetch miniupnpc sources from an alternative website
    * test: add GetAddedNodeInfo() CJDNS regression unit test
    * p2p, bugfix: detect addnode cjdns peers in GetAddedNodeInfo()
    * crypto: disable asan for sha256_sse4 with clang and -O0
    * rpc: move UniValue in blockToJSON
    * gui: don't permit port in proxy IP option
    * gui: fix create unsigned transaction fee bump
    * depends: Fix build of Qt for 32-bit platforms
    * Fix #29767, set m_synced = true after Commit()
    * sign: don't assume we are parsing a sane Miniscript
    * rpc: Reword SighashFromStr error message
    * build: Fix false positive `CHECK_ATOMIC` test for clang-15
    * test: Fix failing univalue float test
    * doc: archive 27.0 release notes
    * [rpc, bugfix] Enforce maximum value for setmocktime
    * Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us
* Mon Apr 29 2024 Martin Pluskal <mpluskal@suse.com>
  - Update to version 27.0:
    * doc: update manual pages for v27.0
    * build: bump version to v27.0 final
    * doc: import release notes from devwiki
    * Update the developer mailing list address.
    * ci: Print tsan errors to stderr
    * ci: Pull in qtbase5-dev instead of seperate low-level libraries
    * doc: Suggest installing dev packages for debian/ubuntu qt5 build
    * ci: Bump msan to llvm-18
    * ci, macos: Use `--break-system-packages` with Homebrew's python
    * ci: Add workaround for Homebrew's python link error
    * serfloat: improve/simplify tests
    * serfloat: do not test encode(bits)=bits anymore
    * doc: point release-notes.md to the dev wiki
    * doc: generate example bitcoin.conf for v27.0rc1
    * doc: generate manual pages for v27.0rc1
    * build: bump version to v27.0rc1
    * fuzz: restrict fopencookie usage to Linux & FreeBSD
    * docs: Fix broken reference to CI setup in test/lint/README.md
    * seeds: Update testnet seeds
    * seeds: Update mainnet seeds
    * makeseeds: Check i2p seeds too
    * makeseeds: Update PATTERN_AGENT
    * doc: remove rel note fragments
    * kernel: chainparams updates for 27.x
    * kernel: update chainTxData for 27.x
    * kernel: update nMinimumChainWork & defaultAssumeValid for 27.x
    * qt: 27.0 translations update
    * doc: update signet faucet link in offline-signing-tutorial.md
    * test: remove file-wide interpreter.cpp ubsan suppression
    * ci: Fix functional tests step for pull requests in Windows GHA job
    * build, msvc: Do not compile redundant sources
    * build: move sha256_sse4 into libbitcoin_crypto_base
    * test: fix flaky wallet_send functional test
    * test: fix weight estimates in functional tests
    * p2p: Don't consider blocks mutated if they don't connect to known prev block
    * doc: correct function name in AssumeUTXO design docs
    * doc: remove references to disable-asm option now that it's gone
    * build: remove confusing and inconsistent disable-asm option
    * refactor: gui, simplify boost signals disconnection
    * fuzz: add target for local addresses
    * test: removes unnecessary check from validation_tests
    * test: Fix intermittent failure in rpc_net.py --v2transport
    * gui: guard accessing a nullptr 'clientModel'
    * ci: print python version on win64 native job
    * serialization: use internal endian conversion functions
    * serialization: detect byteswap builtins without autoconf tests
    * test: make sure keypool sizes do not change on `getrawchangeaddress`/`getnewaddress` failures
    * wallet: Avoid updating `ReserveDestination::nIndex` when `GetReservedDestination` fails
    * doc: Fix Broken Links
    * serialization: replace char-is-int8_t autoconf detection with c++20 concept
    * Squashed 'src/crc32c/' changes from 0bac72c455..b60d2b7334
    * test: Remove Windows-specific code from `system_tests/run_command`
    * [test] IsBlockMutated unit tests
    * Add transaction_identifier::size to allow Span conversion
    * [validation] Cache merkle root and witness commitment checks
    * [test] Add regression test for #27608
    * [net processing] Don't process mutated blocks
    * [validation] Merkle root malleation should be caught by IsBlockMutated
    * [validation] Introduce IsBlockMutated
    * [refactor] Cleanup merkle root checks
    * [validation] Isolate merkle root checks
    * build: remove -Wdocumentation conditional
    * crypto: replace CountBits with std::bit_width
    * crypto: replace non-standard CLZ builtins with c++20's bit_width
    * doc: Update OpenBSD build docs to 7.4
    * test: Drop `x` modifier in `fsbridge::fopen` call for mingw builds
    * test: Add option to skip unit tests for the test runner
    * Fix CI-detected codespell warnings
    * doc: document preference for list-initialization
    * test: Fix intermittent issue in interface_rest.py
    * [fuzz] Avoid partial negative result
    * ci: avoid running git diff after patching
    * test: assert rpc error for addnode v2transport not enabled
    * refactor: Add missing include for USE_BDB, USE_SQLITE to bench/wallet_ismine.cpp
    * lint: Check for missing or redundant bitcoin-config.h includes
    * lint: Make lint error easier to spot in output
    * doc: Add missing RUST_BACKTRACE=1
    * lint: Add get_subtrees() helper
    * docs: ci multi-arch requires qemu
    * doc: document that BIP324 on by default for v27.0
    * qt, test: Recognize dialog object by name
    * depends: fix BDB compilation on OpenBSD
    * wallet: Retrieve ID from loaded DescSPKM directly
    * wallet: Use scriptPubKeyCache in GetSolvingProvider
    * wallet: Use scriptPubKey cache in GetScriptPubKeyMans
    * wallet: Use scriptPubKey cache in IsMine
    * wallet: Cache scriptPubKeys for all DescriptorSPKMs
    * wallet: Introduce a callback called after TopUp completes
    * bench: Add a benchmark for ismine
    * ci: Skip git install if it is already installed
    * doc: Clarify maxfeerate help
    * rpc: Fixed signed integer overflow for large feerates
    * rpc: Add ParseFeeRate helper
    * doc: Update translation_process.md
    * rpc: Implement RPCHelpMan::ArgValue<> for UniValue
    * scripted-diff: Fix bitcoin_config_h includes
    * qt: Update translation source file for v27.0 string freeze
    * test: fix intermittent failure in wallet_reorgrestore.py
    * wallet: simplify EraseRecords by using 'ErasePrefix'
    * wallet: bdb batch 'ErasePrefix', do not create txn internally
    * wallet: db, introduce 'RunWithinTxn()' helper function
    * test: enable v2 for python p2p depending on global --v2transport flag
    * [test] second child of a v3 tx can be replaced individually
    * [refactor] use MAX_PUBKEYS_PER_MULTISIG instead of magic numbers in test
    * [test] PackageV3Checks with inheritance violation in mempool ancestor
    * [doc] fix docs and comments from v3
    * scripted-diff: rename ZapSelectTx to RemoveTxs
    * wallet: batch and simplify ZapSelectTx process
    * opt: Skip over barren combinations of tiny UTXOs
    * opt: Skip checking max_weight separately
    * opt: Cut if last addition was minimal weight
    * opt: Skip heavier UTXOs with same effective value
    * opt: Tiebreak UTXOs by weight for CoinGrinder
    * opt: Skip evaluation of equivalent input sets
    * opt: Track remaining effective_value in lookahead
    * opt: Skip branches with worse weight
    * fuzz: Test optimality of CoinGrinder
    * fuzz: Add CoinGrinder fuzz target
    * coinselection: Track whether CG completed
    * test: Add coin_grinder_tests
    * coinselection: Add CoinGrinder algorithm
    * test, assumeutxo: Add test to ensure failure when mempool not empty
    * [doc] v3 signaling in mempool-replacements.md
    * [fuzz] v3 transactions and sigop-adjusted vsize
    * [functional test] v3 transaction submission
    * test framework: Add and use option for tx-version in MiniWallet methods
    * [policy/validation] allow v3 transactions with certain restrictions
    * [policy] add v3 policy rules
    * fuzz: increase length of string used for `NetWhitelist{bind}Permissions::TryParse`
    * wallet: migration, batch addressbook records removal
    * wallet: addressbook migration, batch db writes
    * refactor: wallet, simplify addressbook migration
    * refactor: SetAddressBookWithDB, minimize number of map lookups
    * refactor: SetAddrBookWithDB, signal only if write succeeded
    * wallet: clean redundancies in DelAddressBook
    * test: Fix SegwitV0SignatureMsg nLockTime signedness
    * test: Fix utxo set hash serialisation signedness
    * qt: Update translation source file
    * qt: Bump Transifex slug for 27.x
    * qt: Translation updates from Transifex
    * test: Don't use v2transport when it's too slow.
    * test: enable p2p_invalid_messages.py with v2transport
    * test: enable p2p_sendtxrcncl.py with v2transport
    * test: wallet, coverage for concurrent db transactions
    * tests: Test for concurrent writes with db tx
    * sqlite: Ensure that only one SQLiteBatch is writing to db at a time
    * test: speedup bip324_cipher.py unit test
    * fuzz: remove unused `args` and `context` from `FuzzedWallet`
    * test: check that mempool msgs lead to disconnect if uploadtarget is reached
    * test: check for specific disconnect reasons in feature_maxuploadtarget.py
    * test: verify `-maxuploadtarget` limit state via `getnettotals` RPC result
    * fuzz: Set -rss_limit_mb=8000 for generate as well
    * fuzz: Generate with random libFuzzer settings
    * test: Add makefile target for running unit tests
    * wallet: remove unused 'accept_no_keys' arg from decryption process
    * test: fix intermittent failure in rpc_setban.py --v2transport
    * tests: Test that descriptors flag is set for migrated blank wallets
    * wallet: Make sure that the descriptors flag is set for blank wallets
    * test: Test migration of tx with both spendable and watchonly
    * wallet: Keep txs that belong to both watchonly and migrated wallets
    * test: Make sure that migration test does not rescan on reloading
    * wallet: Reload the wallet if migration exited early
    * wallet: Write bestblock to watchonly and solvable wallets
    * refactor: Fix timedata includes
    * test: p2p: adhere to typical VERSION message protocol flow
    * test: p2p: process post-v2-handshake data immediately
    * test: p2p: introduce helper for sending prepared VERSION message
    * test: Fix CPartialMerkleTree.nTransactions signedness
    * Modify command line help to show support for BIP21 URIs
    * Don't use scientific notation in log messages
    * [test] make v2transport arg in addconnection mandatory and few cleanups
    * test: fix intermittent failure in p2p_v2_earlykeyresponse
    * test: Assumeutxo with more than just coinbase transactions
    * libconsensus: deprecate
    * test: sqlite, add coverage for dangling to-be-reverted db txns
    * sqlite: guard against dangling to-be-reverted db transactions
    * sqlite: introduce HasActiveTxn method
    * sqlite: add ability to interrupt statements
    * rpc: Do not wait for headers inside loadtxoutset
    * net: enable v2transport by default
    * fuzz: Print coverage summary after run_once
    * doc: update `BroadcastTransaction` comment
    * test: fix wallet_import_rescan unrounded minimum amount
    * test: Remove struct import from messages.py
    * scripted-diff: test: Use int from_bytes and to_bytes over struct packing
    * test: Use int from_bytes and to_bytes over struct packing
    * test: Treat msg_version.relay as unsigned
    * depends: remove (darwin) libtool now that it's no longer used
    * depends: use ar rather than libtool for miniupnpc/libnatpmp
    * [rpc] return full string for package_msg and package-error
    * fuzz: also set MSAN_SYMBOLIZER_PATH
    * ci: Use DEBUG=1 in depends for MSAN jobs
    * ci: use LLVM 17.0.6 in MSAN jobs
    * refactor: Compile unreachable code
    * depends: Do not override CFLAGS when building SQLite with DEBUG=1
    * depends: Ensure definitions are passed when building SQLite with DEBUG=1
    * ci: Update cache action
    * qt: Avoid non-self-contained Windows header
    * [test] Add functional test to test early key response behaviour in BIP 324
    * [test] Check whether v2 TestNode performs downgrading
    * [test] Add functional tests to test v2 P2P behaviour
    * [test] Ignore BIP324 decoy messages
    * [test] Allow inbound and outbound connections supporting v2 P2P protocol
    * [test] Reconnect using v1 P2P when v2 P2P terminates due to magic byte mismatch
    * [test] Build v2 P2P messages
    * [test] Use lock for sending P2P messages in test framework
    * [test] Read v2 P2P messages
    * [test] Perform initial v2 handshake
    * [test] Introduce EncryptedP2PState object in P2PConnection
    * fuzz: Exit and log stderr for parse_test_list errors
    * [test] Construct class to handle v2 P2P protocol functions
    * wallet: clarify replaced_by_txid and replaces_txid in help output
    * init: settings, do not load auto-generated warning msg
    * validation: move nChainTx assert down in CheckBlockIndex
    * doc: fix checkblockindex comments
    * [test] Move MAGIC_BYTES to messages.py
    * [test/crypto] Add ECDH
    * [rpc/net] Allow v2 p2p support in addconnection
    * net: remove now unused global 'g_initial_block_download_completed'
    * test: add coverage for peerman adaptive connections service flags
    * net: peer manager, dynamically adjust desirable services flag
    * fuzz: extend ConsumeNetAddr() to return I2P and CJDNS addresses
    * depends: Update libmultiprocess library to fix C++20 macos build error
    * settings: add auto-generated warning msg for editing the file manually
    * init: improve corrupted/empty settings file error msg
    * wallet: remove unused `SignatureData` instances in spkm's `FillPSBT` methods
    * Move TRACEx parameters to seperate lines
    * wallet: fix coin selection tracing to return -1 when no change pos
    * test: ensure output is large enough to pay for its fees
    * refactor: pass CRecipient to FundTransaction
    * refactor: simplify `CreateRecipients`
    * refactor: remove out param from `ParseRecipients`
    * refactor: move parsing to new function
    * refactor: move normalization to new function
    * test: add tests for fundrawtx and sendmany rpcs
    * build: Pass sanitize flags to instrument `libsecp256k1` code
    * refactor: remove CTxMemPool::queryHashes()
    * refactor: Mark prevector iterator with std::contiguous_iterator_tag
    * ci: vary /tmp/env
    * wallet: avoid returning a reference to vMasterKey after releasing the mutex that guards it
    * refactor: Fix binary operator+ for prevector iterators
    * refactor: Fix constness for prevector iterators
    * refactor: Add missing default constructor to prevector iterators
    * test: Use blocks_path where possible
    * rpc: Fix race in loadtxoutset
    * contrib: Fix clang-format-diff.py lint errors
    * contrib: Latest clang-format-diff.py script
    * refactor: Allow std::span construction from CKey
    * [refactor] change Workspace::m_conflicts and adjacent funcs/structs to use Txid
    * Add missing XOnlyPubKey::data() to get mutable data
    * test: Remove all-lint.py script
    * doc: move-only lint docs to one place
    * build: move -mlinker-version to *FLAGS
    * depends: deduplicate use of mmacosx-version-min in macOS build
    * build: fix optimisation flags used for --coverage
    * ci: cleanup C*FLAG usage in Valgrind jobs
    * build: add sanitizer flags to configure output
    * build: always set -g -O2 in CORE_CXXFLAGS
    * depends: add NM output to gen_id
    * test: wallet db, exercise deadlock after write failure
    * doc, test: Test and explain service flag handling
    * opt: Tie-break UTXO sort by waste for BnB
    * doc: Document max_weight on BnB
    * net: move state dependent peer services flags
    * net: decouple state independent service flags from desirable ones
    * net: store best block tip time inside PeerManager
    * wallet: Reset chain notifications handler if AttachChain fails
    * doc: Add missing backtick in developer notes logging section
    * [test] import descriptor wallet with reorged parent + IsFromMe child in mempool
    * Make v2transport default for addnode RPC when enabled
    * [log] mempool loading
    * [test] rescan legacy wallet with reorged parent + IsFromMe child in mempool
    * Add test for negative transaction version w/ CSV to tx_valid.json
    * tests: Test migration of blank wallets
    * wallet: Better error message when missing LegacySPKM during migration
    * wallet: Check for descriptors flag before migration
    * wallet: Skip key and script migration for blank wallets
    * [depends] Allow PATH with spaces in directory names.
    * doc: refer to "Node relay options" in policy/README
    * doc: add unconditional info loglevel following merge of PR 28318
    * ci: Rename tasks (previous releases, macOS cross)
    * test: Assert that a new tx with a delta of 0 is never added
    * rpc: exposing modified_fee in getprioritisedtransactions
    * ci: move CMake into base packages
    * doc: upgrade Bitcoin Core license to 2024
    * [fuzz] Improve fuzzing stability for ellswift_roundtrip harness
    * test: assumeutxo: spend coin from snapshot chainstate after loading
    * Fix -netinfo backward compat with getpeerinfo pre-v26
    * fuzz: fix `connman` initialization
    * fuzz: Assume presence of __builtin_*_overflow, without checks
    * Revert "build: Fix undefined reference to __mulodi4"
    * build: Bump clang minimum supported version to 14
    * rpc: renaming txid -> transactionid
    * rpc: changed prioritisation-map -> ""
    * build: Drop `ALLOW_HOST_PACKAGES` support in depends
    * test: wallet migration, add coverage for tx extra data
    * ci: Switch native macOS CI job to Xcode 15.0
    * net: create I2P sessions with both ECIES-X25519 and ElGamal encryption
    * build: Fix `-Xclang -internal-isystem` option
    * wallet: migration, remove extra NotifyTransactionChanged call
    * wallet: ZapSelectTx, remove db rewrite code
    * Remove GetAdjustedTime
    * crypto: remove sha256_sse4 from the base crypto helper lib
    * crypto, hash: replace custom rotl32 with std::rotl
    * ci, iwyu: Drop backported mappings
    * fuzz: set `nMaxOutboundLimit` in connman target
    * build: remove --enable-lto
    * crypto: remove use of BUILD_BITCOIN_INTERNAL macro in sha256
    * doc: Clarify C++20 comments
    * RPC/Blockchain: scanblocks: Accept named param for filter_false_positives
    * Revert "depends: systemtap: remove variadic params that trigger compiler warnings"
    * Squashed 'src/secp256k1/' changes from 199d27cea3..efe85c70a2
    * build: Fix check whether `-latomic` needed
    * wallet: Fix use-after-free in WalletBatch::EraseRecords
    * contrib: add macho branch protection check
    * test: change `m_submitted_in_package` input to fuzz data provider boolean
    * tx fees: update `m_from_disconnected_block` to `m_mempool_limit_bypassed`
    * doc: fix typo and update incorrect comment
    * fuzz: rule-out too deep derivation paths in descriptor parsing targets
    * cli: add transport protcol column to -netinfo
    * net: attempt v2 transport for addrfetch connections if we support it
    * net: attempt v2 transport for manual connections if we support it
    * During IBD, prune as much as possible until we get close to where we will eventually keep blocks
    * refactor: share and use `GenerateRandomKey` helper
    * doc: Add multiprocess design doc
    * Allow int8_t optimized vector serialization
    * Faster std::byte (pre)vector (un)serialize
    * depends: patch around non-determinism in qt
    * build: rename native_clang to native_llvm
    * Revert "build: Patch Qt to handle minimum macOS version properly"
    * guix: use clang-toolchain-17 for macOS build
    * build: Bump `native_clang` up to 17.0.6
    * Use hardened runtime on macOS release builds.
    * logging: Replace uses of LogPrintfCategory
    * logging: add LogError, LogWarning, LogInfo, LogDebug, LogTrace
    * wallettool: Don't create CWallet when dumping DB
    * wallettool: Don't unilaterally reset wallet_instance if loading error
    * [doc]: add doxygen return comment for CheckPackageLimits
    * doc: Rework guix docs after 1.4 release
    * wallet, mempool: propagete `checkChainLimits` error message to wallet
    * Allow std::byte C-style array serialization
    * refactor: Print verbose serialize compiler error messages
    * fuzz: coinselection, improve `min_viable_change`/`change_output_size`
    * tests: ensure functional tests set permitbaremultisig=1 when needed
    * tests: test both settings for permitbaremultisig in p2sh tests
    * logging: add -loglevelalways=1 option
    * logging: treat BCLog::ALL like BCLog::NONE
    * logging: Drop BCLog::Level::None
    * logging: Log Info messages unconditionally
    * logging: make [cat:debug] and [info] implicit
    * logging: refactor: pull prefix code out
    * Update security.md contact for achow101
    * [fuzz] Improve fuzzing stability for minisketch harness
    * refactor: Rename fs::path::u8string() to fs::path::utf8string()
    * ci: Set `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` to avoid failures
    * fuzz: Limit p2p fuzz targets to MAX_PROTOCOL_MESSAGE_LENGTH
    * build: Bump guix time-machine to unlock riscv64 metal
    * fuzz: set `m_fallback_fee`/`m_fee_mode` in `wallet_fees` target
    * msvc: Fix `test\config.ini` content
    * test: add TestNode wait_until helper
    * test: Actually fail when a python unit test fails
    * build: Bump minimum required Boost to 1.73.0 to support C++20
    * test: wallet, fix change position out of range error
    * depends: build libmultiprocess with position independant code
    * depends: always install libmultiprocess to /lib
    * depends: always install capnp to /lib
    * Revert "ci: Only run functional tests on windows in master"
    * fuzz: disable BnB when SFFO is enabled
    * test: add coverage for BnB-SFFO restriction
    * wallet: Assert that the wallet is not initialized in LoadWallet
    * tests, bench: Remove incorrect LoadWallet() calls
    * test: Add tests for CFeeRate multiplication operator
    * doc: update/clarify max outbound connection count
    * doc: Update bitcoin-tx replaceable documentation
    * Remove deprecated -rpcserialversion
    * ArgsManager: return path by value from GetBlocksDirPath()
    * refactor: Remove pre-C++20 fs code
    * Add tests for C++20 std::u8string
    * refactor: Avoid copy/move in fs.h
    * refactor: Use C++20 std::chrono::days
    * Add a note to msvc readme re building Qt for Bitcoin Core.
    * msvc: Define the same `QT_...` macros as in Autotools builds
    * Add multiplication operator to CFeeRate
    * msvc: Optimize "Release" builds
    * test: fix intermittent error in rpc_net.py (#29030)
    * tests: Add unit tests for bitcoin-tx replaceable command
    * wallet: return CreatedTransactionResult from FundTransaction
    * wallet: use optional for change position as an optional in CreateTransaction
    * wallet: Explicitly preserve scriptSig and scriptWitness in CreateTransaction
    * wallet: Explicitly preserve transaction version in CreateTransaction
    * wallet: Explicitly preserve transaction locktime in CreateTransaction
    * wallet: Set preset input sequence through coin control
    * wallet: Replace SelectExternal with SetTxOut
    * coincontrol: Replace HasInputWeight with returning optional from Get
    * wallet: Introduce and use PreselectedInput class in CCoinControl
    * test: fix `addnode` functional test failure on OpenBSD
    * doc: test: mention OS detection preferences in style guideline
    * test: detect OS consistently using `platform.system()`
    * test: use `skip_if_platform_not_linux` helper where possible
    * fuzz: Improve fuzzing stability for txorphan harness
    * wallet: fix key parsing check for miniscript expressions in `ParseScript`
    * wallet: create tx, log resulting coin selection info
    * wallet: skip BnB when SFFO is active
    * qt: update widgets availability on wallet selection
    * doc: Missing additions to 26.0 release notes
    * doc: Add link to needs-release-notes label
    * doc: add historical release notes for 26.0
    * doc: add minimum required Linux Kernel to release-notes
    * refactor: rpc: Pass CBlockIndex by reference instead of pointer
    * refactor: Use reference instead of pointer in IsBlockPruned
    * fuzz: Use C++20 starts_with in rpc.cpp
    * Revert "tracepoints: Disables `-Wgnu-zero-variadic-macro-arguments` to compile without warnings"
    * refactor: Drop unused _Pragma to ignore -Wgnu-zero-variadic-macro-arguments
    * refactor: modernize-use-default-member-init for bit-fields (C++20)
    * build: Require C++20 compiler
    * test: Extends MEMPOOL msg functional test
    * fuzz: Detect deadlocks in process_message
    * fuzz: Avoid timeout in bitdeque
    * test: wait for fee estimator to catch up before estimating fees
    * fuzz: p2p: Detect peer deadlocks
    * test: fix v2 transport intermittent test failure (#29002)
    * test: add regression test for the getrawtransaction segfault
    * rpc: getwalletinfo, return wallet 'birthtime'
    * test: coverage for wallet birth time interaction with -reindex
    * wallet: fix legacy spkm default birth time
    * rpc, doc: encryptwallet, mention HD seed rotation and new backup
    * wallet: Migrate entire address book entries
    * rpc: fix getrawtransaction segfault
    * build: Enable -Wunreachable-code
    * build: use macOS 14 SDK (Xcode 15.0)
    * build: patch boost process for macOS 14 SDK
    * depends: add -platform_version to macOS build flags
    * bitcoin-tx: Make replaceable value optional
    * fuzz: txorphan check wtxids using GenTxid::Wtxid not GenTxid::Txid
    * Get rid of shutdown.cpp/shutdown.h, use SignalInterrupt directly
    * refactor: Add InitContext function to initialize NodeContext with global pointers
    * refactor: Remove calls to StartShutdown from KernelNotifications
    * refactor: Remove call to StartShutdown from stop RPC
    * util: Get rid of uncaught exceptions thrown by SignalInterrupt class
    * refactor: Remove call to ShutdownRequested from IndexWaitSynced
    * refactor: Remove call to ShutdownRequested from HTTPRequest
    * refactor: Add NodeContext::shutdown member
    * refactor: Remove call to StartShutdown from qt
    * refactor: Remove call to ShutdownRequested from rpc/mining
    * refactor: Remove call to ShutdownRequested from chainstate init
    * depends: Build `native_capnp` package with CMake
    * depends: Build `capnp` package with CMake
    * init: don't delete PID file if it was not generated
    * ci: Use Ubuntu 24.04 Noble for asan
    * ci: Use Ubuntu 24.04 Noble for tsan,tidy,fuzz
    * test: Fix test by checking the actual exception instance
    * net: Add continuous ASMap health check logging
    * build: disable external-signer for Windows
    * ci: remove --enable-external-signer from win64 job
    * contrib: drop GCC MAX_VERSION to 4.3.0 in symbol-check
    * ci: remove libz-dev from macOS build deps
    * Rename version.h to node/protocol_version.h
    * Remove unused version.h include
    * Remove unused SER_NETWORK, SER_DISK
    * Remove unused CDataStream
    * fuzz: Drop unused version from fuzz input format
    * guix: switch from guix environment to guix shell
    * test_submitpackage: only make a chain of 3 txns
    * doc: submitpackage vsize results are sigops-adjusted
    * RPC submitpackage: change return format to allow partial errors
    * fuzz: Avoid signed-integer-overflow in wallet_notifications fuzz target
    * fuzz: Fix nullptr deref in scriptpubkeyman
    * ci: Reduce use of bash -c
    * test: Add missing CBlockPolicyEstimator::processBlockTx suppression
    * test: Setup networking globally
    * multiprocess: Add type conversion code for UniValue types
    * multiprocess: Add type conversion code for serializable types
    * test: add ipc test to test multiprocess type conversion code
    * guix: remove input labels
    * refactor: Use Txid in CMerkleBlock
    * ci: Rename test script to 03_test_script.sh
    * scripted-diff: Use DataStream in most places
    * refactor: SpanReader without nVersion
    * fuzz: Avoid timeout in process_messages
    * fuzz: BIP324: damage ciphertext/aad in full byte range
    * fuzz: Faster wallet_notifications target
    * bench: add readblock benchmark
    * msvc: Specify `boost-date-time` package explicitly
    * msvc: Update vcpkg manifest baseline up to "2023.08.09 Release"
    * msvc: No need to specify the default feature for `libevent` package
    * Change petertodd seeds to petertodd.net
    * Revert "ci: Avoid toolset ambiguity that MSVC can't handle"
    * ci: Set MSVC toolset version explicitly
    * ci: Run vcpkg with path prefix
    * Export assert from util/check.h
    * ci: remove python3-setuptools from mac build deps
    * Fix IWYU for the script_flags fuzz target
    * fuzz: Limit fuzz buffer size in script_flags target
    * fuzz: CDataStream -> DataStream in script_flags
    * test: Add gettransaction test for "coin-join" tx
    * wallet: birth time update during tx scanning
    * refactor: rename FirstKeyTimeChanged to MaybeUpdateBirthTime
    * refactor: P2P transport without serialize version and type
    * rpc: `SyncWithValidationInterfaceQueue` on fee estimation RPC's
    * tx fees, policy: CBlockPolicyEstimator update from `CValidationInterface` notifications
    * CValidationInterface: modify the parameter of `TransactionAddedToMempool`
    * tx fees, policy: update `CBlockPolicyEstimator::processBlock` parameter
    * CValidationInterface, mempool: add new callback to `CValidationInterface`
    * tx fees, policy: cast with static_cast instead of C-Style cast
    * tx fees, policy: bugfix: move `removeTx` into reason != `BLOCK` condition
    * ci: Switch from `apt` to `apt-get`
    * ci: Update apt cache
    * wallet: batch external signer descriptor import
    * wallet: descriptors setup, batch db operations
    * wallet: batch legacy spkm TopUp
    * wallet: batch descriptor spkm TopUp
    * test: Directly constructing 2 entry map for getprioritisedtransactions
    * test: Add uint256 string parse tests
    * refactor: Remove unused and fragile string interface from arith_uint256
    * Use Txid in COutpoint
    * fuzz: add target for `DescriptorScriptPubKeyMan`
    * fuzz: create ConsumeCoins
    * fuzz: move `MockedDescriptorConverter` to `fuzz/util`
    * pool: change memusage_test to use int64_t, add allocation check
    * build: Fix regression in "ARMv8 CRC32 intrinsics" test
    * refactor: NetMsg::Make() without nVersion
    * pool: make sure PoolAllocator uses the correct alignment
    * refactor: Make CTxMemPoolEntry only explicitly copyable
    * depends: bump libmultiprocess to fix capnproto deprecation warnings
    * streams: Drop unused CAutoFile
    * refactor: switch from CAutoFile to AutoFile
    * blockstorage: switch from CAutoFile to AutoFile
    * ci: Avoid toolset ambiguity that MSVC can't handle
    * streams: Remove unused CAutoFile::GetVersion
    * streams: Base BufferedFile on AutoFile instead of CAutoFile
    * Remove unused Make() overload in netmessagemaker.h
    * refactor: VectorWriter without nVersion
    * doc: Simplify guix install doc, after 1.4 release
    * doc: remove mingw-w64 install for "older" systems
    * test: replace `Callable`/`Iterable` with their `collections.abc` alternative (PEP 585)
    * test: add unit test for CConnman::AddedNodesContain()
    * p2p: do not make automatic outbound connections to addnode peers
    * test: fix `AddNode` unit test failure on OpenBSD
    * bench: add benchmark for wallet creation procedure
    * Include version.h in fewer places
    * Convert some CDataStream to DataStream
    * serialize: Drop useless version param from GetSerializeSize()
    * serialize: drop GetSerializeSizeMany
    * serialize: Drop nVersion from [C]SizeComputer
    * doc: remove x86_64 build assumption from depends doc
    * contrib: use a raw string for a regular expression literal that contains backslashes in signet/miner
    * doc: remove mention of missing bdb being a configure error
    * bench: Update nanobench to 4.3.11
    * fuzz: AutoFile with XOR
    * fuzz: Reduce LIMITED_WHILE limit for file fuzzing
    * fuzz: Remove FuzzedAutoFileProvider
    * depends: remove PYTHONPATH from config.site
    * test: migrate to some per-symbol ubsan suppressions
    * depends: Include `config.guess` and `config.sub` into `meta_depends`
    * Drop CHashWriter
    * Drop OverrideStream
    * Use ParamsWrapper for witness serialization
    * script: Enhance validations in utxo_snapshot.sh
    * ci: Add missing COPY for ./test/lint/test_runner
    * lint: Report all lint errors instead of early exit
    * guix: default ssp for Windows GCC
    * guix: remove ssp workaround from Windows GCC
    * build: remove explicit libssp linking from Windows build
    * guix: remove python-macholib
    * guix: update signapple
    * test: Add test for array serialization
    * refactor: Initialize magic bytes in constructor initializer
    * doc: rewrite explanation for -par=
    * test: add assumeutxo wallet test
    * guix: update time-machine to 77386bdbfe6b0c649c05ab37f08051d1ab3e5074
    * build: Patch Qt to handle minimum macOS version properly
    * test: fix node index bug when comparing peerinfo
    * [refactor] remove access to mapTx in validation_block_tests
    * [refactor] rewrite BlockAssembler inBlock and failedTx as sets of txids
    * scripted-diff: rename vTxHashes to txns_randomized
    * [refactor] rewrite vTxHashes as a vector of CTransactionRef
    * [refactor] remove access to mapTx in validation.cpp
    * [txmempool] make CTxMemPoolEntry::lockPoints mutable
    * [refactor] use CheckPackageLimits for checkChainLimits
    * [refactor] remove access to mapTx.find in mempool_tests.cpp
    * [refactor] remove access to mapTx in blockencodings_tests.cpp
    * [refactor] remove access to mapTx from rpc/mempool.cpp
    * [refactor] get wtxid from entry instead of vTxHashes
    * [refactor] use exists() instead of mapTx.find()
    * [refactor] remove access to mapTx from policy/rbf.cpp
    * [refactor] Add helper for retrieving mempool entry
    * [refactor] Add helper for iterating through mempool entries
    * test, assumeutxo: Use assert_debug_log for error details
    * mempool: persist with XOR
    * build: Add an old hack to remove bind_at_load from libtool.
    * build: remove -bind_at_load usage
    * fuzz: allow fake and duplicate inputs in tx_package_eval target
    * fuzz: allow reaching MempoolAcceptResult::ResultType::DIFFERENT_WITNESS in tx_package_eval target
    * test: Avoid intermittent failures in feature_init
    * ci: remove "--exclude banman" for fuzzing in mac
    * fuzz: call lookup functions before calling `Ban`
    * ci: Switch IWYU to `clang_17` branch
    * ci: win64 task does use boost:process
    * test: enable v2 transport for p2p_timeouts.py
    * test: enable v2 transport for rpc_net.py
    * test: enable v2 transport for p2p_node_network_limited.py
    * test: enable --v2transport in combination with --usecli
    * test: persist -v2transport over restarts and respect -v2transport=0
    * [refactor] updating miniminer comments to be more accurate
    * ci: remove note re M1 usage
    * test: Add missing wait for version to be sent in add_outbound_p2p_connection
    * fuzz: Avoid timeout and bloat in fuzz targets
    * tests: Increase wallet_miniscript.py rpc timeout to 90 seconds
    * Throw error if invalid parameters passed to getnetworkhashps RPC endpoint
    * fuzz: explicitly specify llvm-symbolizer path in runner
    * [refactor] Miniminer var cached_descendants to descendants
    * [refactor] Change MiniMinerMempoolEntry order
    * [validation] change package-fee-too-low, return wtxid(s) and effective feerate
    * [test] use CheckPackageMempoolAcceptResult in previous tests
    * doc: fix typos
    * [validation] add TxValidationResult::TX_RECONSIDERABLE, TX_UNKNOWN
    * [refactor] use Wtxid for m_wtxids_fee_calculations
    * test: remove custom rpc timeout for `wallet_miniscript.py`, reorder in test_runner
    * wallet: cache descriptor ID to avoid repeated descriptor string creation
    * build: Drop no longer needed MSVC warning suppressions
    * ci: Drop no longer needed "Fix Visual Studio installation" step
    * snapshots: don't core dump when running -checkblockindex after `loadtxoutset`
    * fuzz: Avoid utxo_total_supply timeout
    * test: bugfix CheckPackageMempoolAcceptResult return all error strings
    * init: completely remove `-zapwallettxes` (remaining hidden option)
    * guix: switch to 6.1 kernel headers over 5.15
    * rpc: keep .cookie if it was not generated
    * test: Add missing sync on send_version in peer_connect
    * depends: Bump to capnproto-c++-1.0.1
    * build: latest config.sub in depends
    * build: latest config.guess in depends
    * [test] MiniMiner::Linearize and manual construction
    * [refactor] unify fee amounts in miniminer_tests
    * [MiniMiner] track inclusion order and add Linearize() function
    * [test] add case for MiniMiner working with negative fee txns
    * [MiniMiner] make target_feerate optional
    * [MiniMiner] allow manual construction with non-mempool txns
    * [refactor] change MiniMinerMempoolEntry ctor to take values, update includes
    * [lint] update expected boost includes
    * doc: update docs for CHECK_ATOMIC macro
    * depends: drop -O1 workaround from arm64 apple Qt build
    * Use CheckPackageMempoolAcceptResult for package evaluation fuzzing
    * [test util] CheckPackageMempoolAcceptResult for sanity-checking results
    * tests: Fix LCOV_OPTS to be in the correct position
    * MOVEONLY: CleanupTemporaryCoins into its own function
    * [test util] CreateValidTransaction multi-in/out, configurable feerate, signal BIP125
    * scripted-diff: rename CheckPackage to IsWellFormedPackage
    * [refactor] move package checks into helper functions
    * refactor: Remove unused circular include dependency from validation.cpp
    * build: Update `qt` package up to 5.15.11
    * [primitives] Precompute result of CTransaction::HasWitness
    * fuzz: tx_pool checks ATMP result invariants
    * Create net_peer_connection unit tests
    * netbase: use reliable send() during SOCKS5 handshake
    * sock: change Sock::SendComplete() to take Span
    * guix: Zip needs to include all files with time as SOURCE_DATE_EPOCH
    * guix: update signapple
    * build: remove potential for duplciate natpmp linking
    * build: remove duplicate -lminiupnpc linking
    * gui: fix crash on selecting "Mask values" in transaction view
    * addrman: log AS only when using asmap
    * Allow unit tests to access additional CConnman members
    * net/rpc: Makes CConnman::GetAddedNodeInfo able to return only non-connected address on request
    * rpc: Prevents adding the same ip more than once when formatted differently
    * net/rpc: Check all resolved addresses in ConnectNode rather than just one
    * refactor: Remove unused gcc-9 workaround in txrequest
    * Always enable -Wsuggest-override
    * Bump g++ minimum supported version to 10
    * refactor: Fix bugprone-string-constructor warning
    * Remove WithParams serialization helper
    * [test] Test i2p private key constraints
    * Remove feature_txindex_compatibility.py in V27
    * refactor: Add LIFETIMEBOUND to all (w)txid getters
    * Add offline signing tutorial
    * [net] Check i2p private key constraints
    * Fix bugprone-lambda-function-name errors
    * Remove DirIsWritable, GetUniquePath
    * Return LockResult::ErrorWrite in LockDirectory
    * refactor: Return enum in LockDirectory
    * bugfix: Mark CNoDestination and PubKeyDestination constructor explicit
    * test: add coverage for snapshot chainstate not matching AssumeUTXO parameters
    * test: replace random_bytes with randbytes #28720
    * iwyu: Export prevector.h from script.h
    * assumeutxo, blockstorage: prevent core dump on invalid hash
    * scripted-diff: use PEP 585 built-in collection types for verify-binary script
    * test: use built-in collection types for type hints (Python 3.9 / PEP 585)
    * gui: Check for private keys disabled before attempting unlock
    * build: Bump minimum supported Clang to clang-13
    * Bump .python-version from 3.9.17 to 3.9.18
    * depends: zeromq 4.3.5
    * doc: remove release note fragments for 26.x branch
    * build: bump version to 26.99
    * test: remove unused `find_output` helper
    * test: refactor: support sending funds with outpoint result
    * tests: Reset node context members on ~BasicTestingSetup
    * shutdown: Destroy kernel last
    * wallet: Add asserts to detect unset transaction height values
    * wallet, refactor: Add CWalletTx::updateState function
    * lint: Add `lint-qt-translation.py`
    * qt: Avoid error prone leading spaces in translatable strings
    * qt, refactor: Drop superfluous type conversions
    * doc: fix broken doc/design/multiprocess.md links after #24352
    * span: Make Span template deduction guides work in SFINAE context
    * util: Add ArgsManager SetConfigFilePath method
    * interfaces: Rename CalculateBumpFees methods to be compatible with capn'proto
    * interfaces: Change getUnspentOutput return type to avoid multiprocess segfault
    * interfaces: Add schedulerMockForward method so mockscheduler RPC can work across processes
    * interfaces: Fix const virtual method that breaks multiprocess support
    * streams: Add SpanReader ignore method
    * [test] DisconnectedBlockTransactions::DynamicMemoryUsage
    * bugfix: correct DisconnectedBlockTransactions memory usage
    * rpc: mention that migratewallet can take a while
    * assume duplicate transactions are not added to `iters_by_txid`
    * move only: move implementation code to disconnected_transactions.cpp
    * Move compat.h include from system.h to system.cpp
    * refactor: update `MAX_DISCONNECTED_TX_POOL` from kb to bytes
    * scripted-diff: Use ser params operator
    * test: Use SER_PARAMS_OPFUNC in serialize_tests.cpp
    * Use type-safe txid types in orphanage
    * Introduce types for txids & wtxids
    * test: check that we don't send a getaddr msg to an inbound peer
    * test: make python p2p not send getaddr messages when it's being connected to
    * [net processing] Use HasWitness over comparing (w)txids
    * test: randomized perturbing in feature_init
    * test: simplify feature_init
    * test: Add tests for unfiltered GetAddr usage
    * fuzz: Let fuzzers use filter options in GetAddr/GetAddresses
    * net: Optionally include terrible addresses in GetAddr results
    * Move compat/assumptions.h include to one place that actually needs it
    * Remove __cplusplus from compat/assumptions.h
    * Remove duplicate NDEBUG check from compat/assumptions.h
    * doc: improve documentation around connection limit maximums
    * scripted-diff: Rename connection limit variables
    * net: add m_max_inbound to connman
    * net, refactor: move calculations for connection type limits into connman
    * refactor: Move `{MAX,DEFAULT}_SCRIPTCHECK_THREADS` constants
    * refactor: Make `CCheckQueue` non-copyable and non-movable explicitly
    * refactor: Drop unneeded declaration
    * refactor: Make `CCheckQueue` constructor start worker threads
    * Make `CCheckQueue` destructor stop worker threads
    * Move global `scriptcheckqueue` into `ChainstateManager` class
    * Add support for RNDR/RNDRRS for aarch64 on Linux
    * [test/crypto] Add FSChaCha20Poly1305 AEAD python implementation
    * [test/crypto] Add FSChaCha20 python implementation
    * [test/crypto] Add RFC 8439's ChaCha20Poly1305 AEAD
    * [test/crypto] Add Poly1305 python implementation
    * [test/crypto] Use chacha20_block function in `data_to_num3072`
    * [test/crypto] Add ChaCha20 python implementation
    * addrman, refactor: improve stochastic test in `AddSingle`
    * test: add coverage to rpc_blockchain.py
    * refactor: drop protocol.h include header in rpc/util.h
    * refactor: move GetServicesNames from rpc/util.{h,cpp} to rpc/net.cpp
    * gui: Update Node window title with chain type
    * ci: Add filesystem lint check
    * refactor: Replace <filesystem> with <util/fs.h>
    * [test/crypto] Add HMAC-based Key Derivation Function (HKDF)
    * [test] Move test framework crypto functions to crypto/
    * doc: Recommend lint image build on every call
    * Bump python minimum version to 3.9
    * ci: Bump i686_multiprocess.sh to latest Ubuntu LTS
    * doc: remove out-of-date external link in src/util/strencodings.h
    * refactor: use string_view to pass string literals to Parse{Hash,Hex}
    * Update JSON-RPC-interface.md
    * GUI: OptionsDialog: Replace verbose two-option font selector with simple combobox with Custom... choice
    * GUI: Use FontChoice type in OptionsModel settings abstraction
    * GUI: Load custom FontForMoney from QSettings
    * GUI: Add possibility for an explicit QFont for FontForMoney in OptionsModel
    * GUI: Move "embedded font or not" decision into new OptionsModel::getFontForMoney method
    * rpc: Drop migratewallet experimental warning
    * gui: Show error if unrecognized command line args are present
    * GUI/Intro: Never change the prune checkbox after the user has touched it
    * Bugfix: GUI/Intro: Disable GUI prune option if -prune is set, regardless of set value
    * p2p: return `CSubNet` in `LookupSubNet`
    * sync: unpublish LocksHeld() which is used only in sync.cpp
    * doc: clarify that LOCK() does AssertLockNotHeld() internally
    * Fee estimation: extend bucket ranges consistently
    * refactor: Add more negative `!m_banned_mutex` thread safety annotations
    * refactor: replace RecursiveMutex m_banned_mutex with Mutex
    * scripted-diff: rename m_cs_banned -> m_banned_mutex
    * refactor: Get rid of `BanMan::SetBannedSetDirty()`
    * refactor: Get rid of `BanMan::BannedSetIsDirty()`
    * qt: change QLineEdit error background
* Mon Apr 15 2024 Martin Pluskal <mpluskal@suse.com>
  - Update to version 26.1:
    * [doc] add manual pages for 26.1
    * [doc] update release notes 26.1
    * [build] bump version to 26.1 final
    * ci, macos: Use `--break-system-packages` with Homebrew's python
    * ci: Add workaround for Homebrew's python link error
    * [doc] update manual pages for v26.1rc2
    * [build] bump version to v26.1rc2
    * update release notes 26.1
    * fuzz: restrict fopencookie usage to Linux & FreeBSD
    * test: make sure keypool sizes do not change on `getrawchangeaddress`/`getnewaddress` failures
    * wallet: Avoid updating `ReserveDestination::nIndex` when `GetReservedDestination` fails
    * p2p: Don't consider blocks mutated if they don't connect to known prev block
    * [test] IsBlockMutated unit tests
    * [validation] Cache merkle root and witness commitment checks
    * [test] Add regression test for #27608
    * [net processing] Don't process mutated blocks
    * [validation] Merkle root malleation should be caught by IsBlockMutated
    * [validation] Introduce IsBlockMutated
    * [refactor] Cleanup merkle root checks
    * [validation] Isolate merkle root checks
    * test: Drop `x` modifier in `fsbridge::fopen` call for mingw builds
    * rpc: keep .cookie if it was not generated
    * [doc] add release notes for 26.1rc1
    * [doc] update manual pages for 26.1rc1
    * [build] bump version to 26.1rc1
    * qt: 26.1rc1 translations update
    * ci: Switch native macOS CI job to Xcode 15.0
    * build: Fix `-Xclang -internal-isystem` option
    * Use hardened runtime on macOS release builds.
    * [test] import descriptor wallet with reorged parent + IsFromMe child in mempool
    * [test] rescan legacy wallet with reorged parent + IsFromMe child in mempool
    * snapshots: don't core dump when running -checkblockindex after `loadtxoutset`
    * [log] mempool loading
    * net: create I2P sessions with both ECIES-X25519 and ElGamal encryption
    * [refactor] Add helper for iterating through mempool entries
    * doc: update release notes for 26.x
    * wallet: Fix use-after-free in WalletBatch::EraseRecords
    * ci: Set `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` to avoid failures
    * rpc: getwalletinfo, return wallet 'birthtime'
    * test: coverage for wallet birth time interaction with -reindex
    * wallet: fix legacy spkm default birth time
    * wallet: birth time update during tx scanning
    * refactor: rename FirstKeyTimeChanged to MaybeUpdateBirthTime
    * fuzz: disable BnB when SFFO is enabled
    * test: add coverage for BnB-SFFO restriction
    * wallet: create tx, log resulting coin selection info
    * wallet: skip BnB when SFFO is active
    * test: add regression test for the getrawtransaction segfault
    * rpc: fix getrawtransaction segfault
    * ci: Use Ubuntu 24.04 Noble for asan
    * ci: Use Ubuntu 24.04 Noble for tsan,tidy,fuzz
    * doc: Missing additions to 26.0 release notes
    * doc: add historical release notes for 26.0
* Sat Mar 09 2024 Martin Pluskal <mpluskal@suse.com>
  - Use gcc13 on Leap
* Wed Feb 14 2024 Martin Pluskal <mpluskal@suse.com>
  - Enable LTO and test package for Leap
  - Enable sqlite3 support for wallet
  - Enable asm optimizations unconditionally
* Wed Feb 07 2024 Dominique Leuenberger <dimstar@opensuse.org>
  - Provide user/group symbol for user created during pre.
* Fri Jan 05 2024 andrea.manzini@suse.com
  - Update to version 26.0:
    * doc: update release notes for 26.0
    * doc: update manual pages for 26.0
    * build: bump version to v26.0 final
    * doc: update release notes for v26.0rc3
    * doc: update manual pages for v26.0rc3
    * build: bump version to v26.0rc3
    * build: Fix regression in "ARMv8 CRC32 intrinsics" test
    * ci: Avoid toolset ambiguity that MSVC can't handle
    * p2p: do not make automatic outbound connections to addnode peers
    * ci: Switch from `apt` to `apt-get`
    * ci: Update apt cache
    * pool: change memusage_test to use int64_t, add allocation check
    * pool: make sure PoolAllocator uses the correct alignment
    * doc: regenerate example bitcoin.conf
    * doc: rewrite explanation for -par=
    * doc: update manual pages for v26.0rc2
    * build: bump version to v26.0rc2
    * gui: fix crash on selecting "Mask values" in transaction view
    * guix: update signapple
    * guix: Zip needs to include all files with time as SOURCE_DATE_EPOCH
    * test: add coverage for snapshot chainstate not matching AssumeUTXO parameters
    * assumeutxo, blockstorage: prevent core dump on invalid hash
    * [test] Test i2p private key constraints
    * [net] Check i2p private key constraints
    * bugfix: Mark CNoDestination and PubKeyDestination constructor explicit
    * qt: 26.0rc2 translations update
    * doc: generate example bitcoin.conf for v26.0rc1
    * doc: generate manual pages for v26.0rc1
    * build: bump version to v26.0rc1
    * qt: 26.0rc1 translations update
    * doc: consolidate release note fragments
    * test: enable reindex readonly test on *BSD and macOS as root
    * ci: Add missing --external to podman image prune
    * Revert "gui: provide wallet controller context to wallet actions"
    * doc: add historical release notes for 24.2
    * chainparams, assumeutxo: Fix signet txoutset hash
    * chainparams, assumeutxo: Fix testnet txoutset hash
    * assumeutxo: Check deserialized coins for out of range values
    * docs: Add release notes for #28685
    * scripted-diff: Rename hash_serialized_2 to hash_serialized_3
    * coinstats: Fix hash_serialized2 calculation
    * fuzz: Increase merge -rss_limit_mb
    * refactor: Remove CBlockFileInfo::SetNull
    * build: Include `config/bitcoin-config.h` explicitly in `util/trace.h`
    * [fuzz] Delete i2p target
    * log: Don't log cache rebalancing in absense of a snapshot chainstate
    * test: De-dublicate/optimize assumeutxo test for further extensions
    * test: check au file with changed outpoint index
    * test: Check tx metadata is migrated to watchonly
    * wallet: Reload watchonly and solvables wallets after migration
    * wallet: Copy all tx metadata to watchonly wallet
    * build: move -fstack-reuse=none to CORE_CXXFLAGS
    * docs: Add reference to total.coverage report
    * test: Fix failing time check in rpc_net.py
    * test: Check that a failed wallet migration is cleaned up
    * doc: add historical release notes for 25.1
    * test: assumeutxo file with unknown block hash
    * test: Add assumeutxo test for wrong hash
    * assumeutxo: fail early if snapshot block hash doesn't match AssumeUTXO parameters
    * fuzz: Allow multiple --m_dir args
    * net: remove unused CConnman::FindNode(const CSubNet&)
    * netbase: possibly change the result of LookupSubNet() to CJDNS
    * doc: add release note for #27460 (new `importmempool` RPC)
    * gui: disable top bar menu actions during shutdown
    * gui: provide wallet controller context to wallet actions
    * miniscript: make GetWitnessSize accurate for tapscript
    * test: add tests for miniscript GetWitnessSize
    * test: remove mutable global contexts in miniscript fuzzer/test
    * fuzz: Merge with -set_cover_merge=1
    * lint: Include test_utxo_snapshots in lint_shell
    * fuzz: add coverage for `bitcoinconsensus_verify_script_with_spent_outputs`
    * docs: add release notes for #28539
    * docs: add docs for additional libconsensus functions
    * docs: link to rust-bitcoinconsensus
    * lib: add Taproot support to libconsensus
    * test: fix `assert_debug_log` call-site bugs, add type checks
    * ci: always prune all dangling bitcoin-ci-test images
    * ci: Add missing CI_RETRY_EXE before git clone
    * ci: Export `IN_GETOPT_BIN` on macOS
    * Revert "ci: Upgrading pip version in macos environment"
    * ci: add label to docker images
    * test: Fuzz merge with -use_value_profile=0 for now
    * ci: Bump asan
    * ci: Drop no longer needed `NOLINTNEXTLINE`
    * tidy: modernize-use-emplace
    * test: Check snapshot file with wrong number of coins
    * refactor: Remove unused nchaintx from SnapshotMetadata constructor
    * test: don't run old binaries under valgrind
    * test: BIP324: add check for missing garbage terminator detection
    * doc: assumeutxo prune and index notes
    * ci: Install Android API 31 platform as Qt expects
    * test: Add Wallet Unlock Context Manager
    * test: Use pathlib over os.path #28362
    * build: add `-mbranch-protection=bti` to aarch64 hardening flags
    * devtools: test_utxo_snapshots.sh sleep cleanup and documentation
    * contrib: add test for macOS linker version to symbol-check
    * depends: update LD64_VERSION to 711
    * ci: use LLVM/Clang 17 in tidy job
    * ci: use LLVM 17.0.2 in MSAN jobs
    * test: check that loading snapshot not matching AssumeUTXO parameters fails
    * docs: fix typo
    * test: fix usdt undeclared function errors on mantis
    * test: Unit test for inferring scripts with hybrid and uncompressed keys
    * test: Scripts with hybrid pubkeys are migrated to watchonly
    * descriptors: Move InferScript's pubkey validity checks to InferPubkey
    * descriptors: Check result of InferPubkey
    * ci: move-only CI_CONTAINER_ID to 02_run_container.sh
    * ci: Work around podman stop bug
    * ci: Add set -ex to 02_run_container.sh
    * ci: Rename 04_install to 02_run_container
    * qt: Update translation source file for v26.0 string freeze
    * Adjust Gradle properties
    * miniscript: remove P2WSH-specific part of GetStackSize doc comment
    * qa: bound testing for TapMiniscript
    * miniscript: have a custom Node destructor
    * qa: Tapscript Miniscript signing functional tests
    * qa: list descriptors in Miniscript signing functional tests
    * script/sign: Miniscript support in Tapscript
    * MOVEONLY: script/sign: move Satisfier declaration above Tapscript signing
    * qa: functional test Miniscript inside Taproot descriptors
    * descriptor: parse Miniscript expressions within Taproot descriptors
    * descriptor: Tapscript-specific Miniscript key serialization / parsing
    * fuzz: miniscript: higher sensitivity for max stack size limit under Tapscript
    * qa: test Miniscript max stack size tracking
    * miniscript: check maximum stack size during execution
    * fuzz: adapt Miniscript targets to Tapscript
    * qa: Tapscript-Miniscript unit tests
    * pubkey: introduce a GetEvenCorrespondingCPubKey helper
    * miniscript: account for keys as being 32 bytes under Taproot context
    * miniscript: adapt resources checks depending on context
    * serialize: make GetSizeOfCompactSize constexpr
    * miniscript: sanity asserts context in ComputeType
    * miniscript: make 'd:' have the 'u' property under Tapscript context
    * miniscript: introduce a multi_a fragment
    * miniscript: restrict multi() usage to P2WSH context
    * miniscript: store the script context within the Node structure
    * miniscript: introduce a MsContext() helper to contexts
    * miniscript: don't anticipate signature presence in CalcStackSize()
    * miniscript: add a missing dup key check bypass in Parse()
    * gui: fix coin control input size accounting for taproot spends
    * gui: remove legacy wallet creation
    * rpc: Use Ensure(Any)Chainman in assumeutxo related RPCs
    * doc: Drop references to assumevalid in assumeutxo docs
    * test: Rename wait_until_helper to wait_until_helper_internal
    * chain: Rename HaveTxsDownloaded to HaveNumChainTxs
    * blockstorage: Let FlushChainstateBlockFile return true in case of missing cursor
    * validation, test: Improve and document nChainTx check for testability
    * doc: Add snapshot chainstate removal warning to reindexing documentation
    * test: Improvements of feature_assumeutxo
    * doc: Add and edit some comments around assumeutxo
    * validation: remove unused mempool param in DetectSnapshotChainstate
    * test: Use feerate higher than minrelay fee in wallet_fundraw
    * doc: update example pulls in release-process.md
    * github actions: Fix test-one-commit when parent of head is merge commit
    * wallet: No BDB creation, unless -deprecatedrpc=create_bdb
    * assumeutxo: change getchainstates RPC to return a list of chainstates
    * net: move MaybeFlipIPv6toCJDNS() from net to netbase
    * net: move IsReachable() code to netbase and encapsulate it
    * fuzz: ConsumeNetAddr(): avoid IPv6 addresses that look like CJDNS
    * net: put CJDNS prefix byte in a constant
    * test: display abrupt shutdown errors in console output
    * i2p: destroy the session if we get an unexpected error from the I2P router
    * i2p: also sleep after errors in Accept()
    * ci: Avoid cache depends/build
    * test: Bump walletpassphrase timeouts to avoid intermittent issues
    * headerssync: update params for 26.x
    * kernel: update m_assumed_* chain params for 26.x
    * kernel: update chainTxData for 26.x
    * kernel: update nMinimumChainWork & defaultAssumeValid for 26.x
    * qt: enable -ltcg for windows HOST
    * test: BIP324: add checks for v1 prefix matching / wrong network magic detection
    * gui: Add wallet name to address book page
    * ci: Only run functional tests on windows in master
    * tests: assumeutxo: accept final height from either chainstate
    * descriptors: disallow hybrid public keys
    * test: assumeutxo: avoid race in functional test
    * test: add wait_for_connect to BitcoinTestFramework.connect_nodes
    * net: raise V1_PREFIX_LEN from 12 to 16
    * build: Update qt package up to 5.15.10
    * [test] Make PeerManager's rng deterministic in tests
    * [net processing] FeeFilterRounder doesn't own a FastRandomContext
    * [net processing] Make fee filter rounder non-global
    * qt: Add "Session id" label to peer details
    * refactor: add and use EnsureAnyAddrman in rpc
    * doc: add release notes for #27511
    * rpc: `getaddrmaninfo` followups
    * typo: in packages.md
    * ci: Print Linux kernel info
    * http: bugfix: track closed connection
    * http: log connection instead of request count
    * http: refactor: use encapsulated HTTPRequestTracker
    * depends: fix unusable memory_resource in macos qt build
    * [net processing] Addr shuffle uses PeerManager's rng
    * [net processing] PushAddress uses PeerManager's rng
    * [net processing] PeerManager holds a FastRandomContext
    * qt: Add "Transport" label to peer details
    * doc: mention BIP324 support in bips.md
    * test: enable v2 transport between nodes in some functional tests
    * test: Functional test for opportunistic encryption
    * net: expose transport types/session IDs of connections in RPC and logs
    * net: reconnect with V1Transport under certain conditions
    * sync: modernize CSemaphore / CSemaphoreGrant
    * rpc: addnode arg to use BIP324 v2 p2p
    * net: use V2Transport when NODE_P2P_V2 service flag is present
    * rpc: don't report v2 handshake bytes in the per-type sent byte statistics
    * net: advertise NODE_P2P_V2 if CLI arg -v2transport is on
    * chainparams: add signet assumeutxo param at height 160_000
    * chainparams: add testnet assumeutxo param at height 2_500_000
    * test: getrawaddrman RPC
    * rpc: getrawaddrman for addrman entries
    * bench: drop NO_THREAD_SAFETY_ANALYSIS from disconnected_txs
    * doc: fix link to developer-notes.md file in multiprocess.md
    * [doc] add release note for submitpackage
    * [rpc] allow submitpackage to be called outside of regtest
    * [rpc] require package to be a tree in submitpackage
    * [txpackages] IsChildWithParentsTree()
    * [doc] parent pay for child in aggregate CheckFeeRate
    * test: add coverage to feature_addrman.py
    * doc: add note about confusing HaveTxsDownloaded name
    * contrib: add script to demo/test assumeutxo
    * test: add feature_assumeutxo functional test
    * rpc: add getchainstates
    * refuse to activate a UTXO snapshot if mempool not empty
    * rpc: add loadtxoutset
    * validation: do not activate snapshot if behind active chain
    * validation: assumeutxo: swap m_mempool on snapshot activation
    * blockstorage: segment normal/assumedvalid blockfiles
    * validation: populate nChainTx value for assumedvalid chainstates
    * test: adjust chainstate tests to use recognized snapshot base
    * validation: pruning for multiple chainstates
    * validation: indexing changes for assumeutxo
    * net_processing: validationinterface: ignore some events for bg chain
    * wallet: validationinterface: only handle active chain notifications
    * validationinterface: only send zmq notifications for active
    * validation: pass ChainstateRole for validationinterface calls
    * validation: only call UpdatedBlockTip for active chainstate
    * validation: add ChainstateRole
    * validation: MaybeRebalanceCaches when chain leaves IBD
    * chainparams: add blockhash to AssumeutxoData
    * assumeutxo: remove snapshot during -reindex{-chainstate}
    * bugfix: correct is_snapshot_cs in VerifyDB
    * net_processing: Request assumeutxo background chain blocks
    * Add instructions for headerssync-params.py to release-process.md
    * Update parameters in headerssync.cpp
    * Add headerssync-params.py script to the repository
    * lint: fix custom mypy cache dir setting
    * Add package evaluation fuzzer
    * key: don't allocate secure mem for null (invalid) key
    * Add make_secure_unique helper
    * wallet: Add TxStateString function for debugging and logging
    * tests: Use manual bumps instead of bumpfee for resendwallettransactions
    * test: Avoid test failure on Linux root without cap-add LINUX_IMMUTABLE
    * build, macos: Fix `qt` package build with new Xcode 15 linker
    * net: Simplify v2 recv logic by decoupling AAD from state machine
    * net: Drop v2 garbage authentication packet
    * test: Test loading wallets with conflicts without a chain
    * wallet: Check last block and conflict height are valid in MarkConflicted
    * rpc: bumpfee, improve doc for 'reduce_output' arg
    * ci: Install Homebrew's `pkg-config` package
    * bench: Add SHA256 implementation specific benchmarks
    * Add ability to specify SHA256 implementation for benchmark purposes
    * doc: Be vague instead of wrong about MALLOC_ARENA_MAX
    * test: add unit test coverage for Python ECDSA implementation
    * Add functional test to catch too large vsize packages
    * Handle over-sized (in virtual bytes) packages with no in-mempool ancestors
    * Bugfix: Pass correct virtual size to CheckPackageLimits
    * Replace MAX_PACKAGE_SIZE with MAX_PACKAGE_WEIGHT to avoid vbyte confusion
    * test: add functional test for getaddrmaninfo
    * ci: Use nproc over MAKEJOBS in 01_base_install
    * Remove SER_GETHASH, hard-code client version in CKeyPool serialize
    * Remove CHashWriter type
    * Remove unused GetType() from OverrideStream, CVectorWriter, SpanReader
    * Add regression test for m_limit mutation
    * contrib/bash-completions: use package naming conventions
    * fuzz: Add missing PROVIDE_FUZZ_MAIN_FUNCTION guard to __AFL_FUZZ_INIT
    * rpc: Introduce getaddrmaninfo for count of addresses stored in new/tried table
    * ci: Reintroduce fixed "test-each-commit" job
    * doc: add release note
    * test: check `descriptorprocesspsbt` return hex encoded tx
    * rpc: `descriptorprocesspsbt` return hex encoded tx
    * Refactor: Replace 'isMockableChain' with inline 'ChainType' check for 'submitpackage'
    * build: remove dmg dependencies
    * macdeploy: remove DMG generation from deploy script
    * build: produce a .zip for macOS distribution
    * build: add -zip option to macdeployqtplus
    * Return CAutoFile from BlockManager::Open*File()
    * Make BufferedFile to be a CAutoFile wrapper
    * refactor: Drop unused fclose() from BufferedFile
    * tests: fix incorrect assumption in v2transport_test
    * Remove MemPoolAccept::m_limits, only have local copies for carveouts
    * doc: Remove confusing assert linter
    * test: cover read-only blockstore
    * [fuzz] Don't use afl++ deferred forkserver mode
    * build: use _LIBCPP_ENABLE_DEBUG_MODE over ENABLE_ASSERTIONS
    * Revert "Merge bitcoin/bitcoin#28279: ci: Add test-each-commit task"
    * ci: use LLVM 17.0.0 in MSAN jobs
    * scripted-diff: use SER_PARAMS_OPFUNC
    * serialize: add SER_PARAMS_OPFUNC
    * serialize: specify type for ParamsWrapper not ref
    * serialize: move ser_action functions out of global namespace
    * Amend bumpfee for inputs with overlapping ancestry
    * Bump unconfirmed parent txs to target feerate
    * coinselection: Move GetSelectionWaste into SelectionResult
    * [node] interface to get bump fees
    * Make MiniMinerMempoolEntry fields private
    * Remove unused imports
    * Fix calculation of ancestor set feerates in test
    * Match tx names to index in miniminer overlap test
    * [test] mempool coins disappearing mid-package evaluation
    * [refactor] split setup in mempool_limit test
    * [test framework] add ability to spend only confirmed utxos
    * [validation] don't LimitMempoolSize in any subpackage submissions
    * [validation] return correct result when already-in-mempool tx gets evicted
    * [refactor] back-fill results in AcceptPackage
    * [validation] make PackageMempoolAcceptResult members mutable
    * [validation] add AcceptSubPackage to delegate Accept* calls and clean up m_view
    * [CCoinsViewMemPool] track non-base coins and allow Reset
    * [policy] check for duplicate txids in package
    * fuzz: Rework addr fuzzing
    * fuzz: Drop unused params from serialize helpers
    * make DisconnectedBlockTransactions responsible for its own memory management
    * MOVEONLY: DisconnectedBlockTransactions to its own file
    * rewrite DisconnectedBlockTransactions as a list + map
    * ci: clang-17 for fuzz and tsan
    * Do not use std::vector = {} to release memory
    * add std::list to memusage
    * [bench] DisconnectedBlockTransactions
    * [refactor] Remove compat.h from kernel headers
    * [refactor] Remove netaddress.h from kernel headers
    * [refactor] Add CChainParams member to CConnman
    * [refactor] Add missing includes for next commit
    * kernel: Move MessageStartChars to its own file
    * [refactor] Define MessageStartChars as std::array
    * [refactor] Allow std::array<std::byte, N> in serialize.h
    * gui: macOS, make appMenuBar part of the main app window
    * wallet: Use CTxDestination in CRecipient rather than scriptPubKey
    * Add PubKeyDestination for P2PK scripts
    * Allow CNoDestination to represent a raw script
    * Make WitnessUnknown members private
    * [fuzz] Use afl++ shared-memory fuzzing
    * doc: Clarify that -fstack-reuse=all bugs exist on all versions of GCC
    * scripted-diff: Rename CBufferedFile to BufferedFile
    * Remove unused GetType() from CBufferedFile and CAutoFile
    * dbwrapper: Use DataStream for batch operations
    * qt: Silence `-Wcast-function-type` warning
    * rpc: Deprecate rpcserialversion=0
    * doc: fix typos and mistakes in BIP324 code comments
    * net: do not use send buffer to store/cache garbage
    * net: merge V2Transport constructors, move key gen
    * gui: macOS, do not process dock icon actions during shutdown
    * refactor: remove clientversion include from dbwrapper.h
    * refactor: Use DataStream now that version/type are unused
    * Remove version/hashing options from CBlockLocator/CDiskBlockIndex
    * index: add [nodiscard] attribute to functions writing to the db
    * consensus/validation.h: remove needless GetTransactionOutputWeight helper
    * [refactor] batch-add transactions to DisconnectedBlockTransactions
    * index: coinstats reorg, fail when block cannot be reversed
    * net: detect wrong-network V1 talking to V2Transport
    * test: add unit tests for V2Transport
    * net: make V2Transport preallocate receive buffer space
    * net: make V2Transport send uniformly random number garbage bytes
    * net: add short message encoding/decoding support to V2Transport
    * net: make V2Transport auto-detect incoming V1 and fall back to it
    * net: add V2Transport class with subset of BIP324 functionality
    * crypto: Spanify EllSwiftPubKey constructor
    * net: remove unused Transport::SetReceiveVersion
    * net: add have_next_message argument to Transport::GetBytesToSend()
    * doc: s/--no-substitute/--no-substitutes in guix/INSTALL
    * doc: add release note for PR #28414
    * test: remove unnecessary finalizepsbt rpc calls
    * depends: cctools 986 & ld64 711
    * depends: libtapi 1300.0.6.5
    * ci: enable chattr +i capability inside containers
    * unit test: add coverage for BlockManager
    * fuzz: introduce and use `ConsumePrivateKey` helper
    * wallet rpc: return final tx hex from walletprocesspsbt if complete
    * test: remove unused variables in `p2p_invalid_block`
    * test: Combine sync_send_with_ping and sync_with_ping
    * Remove unused legacy CHashVerifier
    * test: add tests that exercise WithParams()
    * Use serialization parameters for CAddress serialization
    * Squashed 'src/secp256k1/' changes from c545fdc374..199d27cea3
    * ci: Limit test-each-commit to --max-count=6
    * ci: Add test-each-commit task
    * ci: Bump `actions/checkout` version
    * test: p2p: check that `getaddr` msgs are only responded once per connection
    * test: remove fixed timeouts from feature_config_args
    * ci: Avoid saving the same Ccache cache
    * ci: Avoid oversubscription in functional tests on Windows
    * qt: Update translation source file
    * qt: Bump Transifex slug for 26.x
    * qt: Translation updates from Transifex
    * blockstorage: Return on fatal undo file flush error
    * blockstorage: Return on fatal block file flush error
    * blockstorage: Mark FindBlockPos as nodiscard
    * Refactor: Remove m_is_test_chain
    * fuzz: add ConstructPubKeyBytes function
    * build: use -muse-unaligned-vector-move for Windows
    * doc: Fill in the required skills in the good_first_issue template
    * ci, windows: Do not run extended functional tests for pull requests
    * guix: remove GCC 10 workaround from NSIS
    * ci: Asan with -ftrivial-auto-var-init=pattern
    * [doc] move comment about AlreadyHaveTx DoS score to the right place
    * [log] add more logs related to orphan handling
    * [log] add category TXPACKAGES for orphanage and package relay
    * [log] include wtxid in tx {relay,validation,orphanage} logging
    * Support for serialization parameters
    * Rename CSerAction* to Action*
    * Replace READWRITEAS macro with AsBase wrapping function
    * test: improve sock_tests/move_assignment
    * doc: Release notes for testnet defaulting to -acceptnonstdtxn=0
    * config: default acceptnonstdtxn=0 on all chains
    * ci: Remove unused TEST_RUNNER_ENV="LC_ALL=C" from s390x task
    * ci: Remove /ro_base bind mount
    * doc: Remove sudo from command that is already run as root
    * test: Support powerpc64le in get_previous_releases.py
    * log: Print error message when coindb is in inconsistent state
    * guix: use clang-toolchain-15 for macOS compilation
    * depends: use LLVM/Clang 15.0.6 for macOS cross-compile
    * script: replace deprecated pkg_resources with importlib.metadata
    * refactor: Use HashWriter over legacy CHashWriter (via SerializeHash)
    * refactor: Use HashWriter over legacy CHashWriter
    * ci: Run "Win64 native" job on GitHub Actions
    * net: remove Sock default constructor, it's not necessary
    * net: remove now unnecessary Sock::Get()
    * wallet: accurately account for the size of the witness stack
    * wallet: use descriptor satisfaction size to estimate inputs size
    * script/signingprovider: introduce a MultiSigningProvider
    * descriptor: introduce a method to get the satisfaction size
    * miniscript: introduce a helper to get the maximum witness size
    * miniscript: make GetStackSize independent of P2WSH context
    * net: don't check if the socket is valid in ConnectSocketDirectly()
    * net: don't check if the socket is valid in GetBindAddress()
    * i2p: avoid using Sock::Get() for checking for a valid socket
    * rpc: Add MaybeArg() and Arg() default helper
    * guix: drop Windows broken-longjmp.patch
    * guix: drop NSIS patch now that we use 3.09
    * guix: use cross-* keyword arguments
    * guix: update time-machine to 160f78a4d92205df986ed9efcce7d3aac188cb24
    * guix: update python-oscrypto to 1.3.0
    * guix: backport glibc patch to fix powerpc build
    * test: previous releases: speed up fetching sources with shallow clone
    * refactor: make Transport::ReceivedBytes just return success/fail
    * net: move message conversion to wire bytes from PushMessage to SocketSendData
    * net: measure send buffer fullness based on memory usage
    * fuzz: add bidirectional fragmented transport test
    * net: make V1Transport implicitly use current chainparams
    * net: abstract sending side of transport serialization further
    * refactor: rename Transport class receive functions
    * net: add V1Transport lock protecting receive state
    * refactor: merge transport serializer and deserializer into Transport class
    * test: roundtrip wallet backwards compat downgrade
    * test: Add 25.0 to wallet backwards compatibiilty test
    * test: Run upgrade test on all nodes
    * test: Run downgrade test on descriptor wallets
    * test: Add 0.21 tr() incompatibility test
    * test: add logging 0.17 incompatibilities in wallet back compat
    * test: Refactor v19 addmultisigaddress test to be distinct
    * test: Remove w1_v18 from wallet backwards compatibility
    * test: Fix 0.16 wallet paths and downgrade test
    * ci: Add missing docker.io prefix to CI_IMAGE_NAME_TAG
    * fuzz: coinselection, fix `m_cost_of_change`
    * fuzz: coinselection, BnB should never produce change
    * fuzz: coinselection, compare `GetSelectedValue` with target
    * fuzz: coinselection, improve `ComputeAndSetWaste`
    * fuzz: coinselection, add coverage for `Merge`
    * fuzz: coinselection, add coverage for `GetShuffledInputVector`/`GetInputSet`
    * fuzz: coinselection, add coverage for `AddInputs`
    * ci: Remove no longer applicable section
    * ci: Start with clean env
    * ci: Limit scope of some env vars
    * test: wallet_backup.py, fix intermittent failure in "restore using dumped wallet"
    * Update help text for spend and rawtransaction rpcs
    * test: add functional test for deadlock situation
    * fuzz: coinselection, add coverage for `EligibleForSpending`
    * fuzz: coinselection, add `CreateCoins`
    * test: add basic tests for sendmsgtopeer to rpc_net.py
    * rpc: add test-only sendmsgtopeer rpc
    * guix: consolidate Linux GCC package
    * guix: consolidate glibc 2.27 package
    * ci: Use concurrency for pull requests only
    * test: Fix intermittent issue in mempool_reorg
    * test: Support riscv64 in get_previous_releases.py
    * test: fix 'unknown named parameter' test in `wallet_basic`
    * ci: Disable cache save for pull requests in GitHub Actions
    * test: ensure acceptstalefeeestimates is supported only on regtest chain
    * assumeutxo cleanup: Move IsInitialBlockDownload & NotifyHeaderTip to ChainstateManager
    * ci: Remove distro-name from task name
    * ci: Switch remaining tasks to self-hosted
    * ci: Add missing amd64 to win64-cross task
    * ci: Add missing ${CI_RETRY_EXE} before curl
    * guix: pre time-machine bump changes (Windows)
    * Remove unused includes from wallet.cpp
    * doc, refactor: Changing -torcontrol help to specify that a default port is used
    * removed StrFormatInternalBug quote delimitation
    * rpc: remove one more quote from non-string oneline description
    * crypto: make ChaCha20::SetKey wipe buffer
    * tests: miscellaneous hex / std::byte improvements
    * fuzz: support std::byte in Consume{Fixed,Variable}LengthByteVector
    * crypto: require key on ChaCha20 initialization
    * random: simplify FastRandomContext::randbytes using fillrand
    * crypto: refactor ChaCha20 classes to use Span<std::byte> interface
    * Remove unused includes from blockfilter.h
    * Make post-p2sh consensus rules mandatory for tx relay
    * doc, policy: Clarify comment on STANDARD_SCRIPT_VERIFY_FLAGS
    * move-only: Create src/kernel/mempool_removal_reason.h
    * Remove unused includes from txmempool.h
    * Refactor: Remove confusing static_cast
    * refactor: Add missing includes
    * ci: Refactor: Remove CI_USE_APT_INSTALL
    * ci: Ensure that only a single workflow processes `github.ref` at a time
    * tx fees, policy: doc: update and delete unnecessary comment
    * bitcoin-tidy: Apply bitcoin-unterminated-logprintf to spkm as well
    * refactor: Enable all clang-tidy plugin bitcoin tests
    * ci: Avoid error on macOS native
    * ci: Fix macOS-cross SDK rsync
    * refactor: Remove PERSISTENT_WORKER_* yaml templates
    * refactor: add missing headers for BIP324 ciphersuite
    * Rename script/standard.{cpp/h} to script/solver.{cpp/h}
    * Clean up script/standard.{h/cpp} includes
    * Clean up things that include script/standard.h
    * MOVEONLY: Move datacarrier defaults to policy.h
    * Move CTxDestination to its own file
    * Move Taproot{SpendData/Builder} to signingprovider.{h/cpp}
    * Move CScriptID to script.{h/cpp}
    * Remove ScriptHash from CScriptID constructor
    * Move MANDATORY_SCRIPT_VERIFY_FLAGS from script/standard.h to policy/policy.h
    * ci: Drop no longer needed `macos_sdk_cache`
    * [functional test] transaction orphan handling
    * [test framework] make it easier to fast-forward setmocktime
    * crypto: BIP324 ciphersuite follow-up
    * gui: make '-min' minimize wallet loading dialog
    * test: check backup from `migratewallet` can be successfully restored
    * fuzz: coins_view: remove an incorrect assertion
    * bitcoin-tidy: fix macOS build
    * test: wallet, verify migration doesn't crash for an invalid script
    * wallet: disallow migration of invalid or not-watched scripts
    * test: locked_wallet, skip default fee estimation
    * doc: use llvm-config for bitcoin-tidy example
    * doc: Improve documentation of rpcallowip rpchelp
    * ci: Move tidy to persistent worker
    * ci: Use hard-coded root path for CI containers
    * ci: Only create folders when needed
    * ci: Drop BASE_SCRATCH_DIR from LIBCXX_DIR
    * ci: Run "macOS native x86_64" job on GitHub Actions
    * Sort includes in compat.h
    * remove unused limits.h include in compat.h
    * Replace LocaleIndependentAtoi with ToIntegral
    * iwyu on torcontrol
    * Remove unused boost signals2 from torcontrol
    * refactor: Enforce C-str fmt strings in WalletLogPrintf()
    * doc: Fix bitcoin-unterminated-logprintf tidy comments
    * ci: Use qemu-user through container engine
    * doc: remove Fedora libdb4-*-devel install docs
    * mempool_entry: improve struct packing
    * test: add bip157 coverage for (start height > stop height) disconnect
    * test: check for specific disconnect reasons in p2p_blockfilters.py
    * Add importmempool RPC
    * refactor: Add and use kernel::ImportMempoolOptions
    * doc: Clarify the getmempoolinfo.loaded RPC field documentation
    * Remove Chainstate::LoadMempool
    * refactor: Correct dbwrapper key naming
    * build: Remove leveldb from BITCOIN_INCLUDES
    * refactor: Move CDBWrapper leveldb members to their own context struct
    * refactor: Split dbwrapper CDBWrapper::EstimateSize implementation
    * refactor: Move HandleError to dbwrapper implementation
    * refactor: Split dbwrapper CDBWrapper::Exists implementation
    * refactor: Fix logging.h includes
    * refactor: Split dbwrapper CDBWrapper::Read implementation
    * refactor: Pimpl leveldb::Iterator for CDBIterator
    * refactor: Split dbwrapper CDBIterator::GetValue implementation
    * refactor: Split dbwrapper CDBIterator::GetKey implementation
    * refactor: Split dbwrapper CDBIterator::Seek implementation
    * refactor: Pimpl leveldb::batch for CDBBatch
    * refactor: Split dbwrapper CDBatch::Erase implementation
    * refactor: Split dbwrapper CDBBatch::Write implementation
    * fuzz: coins_view: correct an incorrect assertion
    * p2p: network-specific management of outbound connections
    * test: Add test for outbound protection by network
    * p2p: Protect extra full outbound peers by network
    * doc: Add release note
    * p2p: Introduce data struct to track connection counts by network
    * tidy: Integrate bicoin-tidy clang-tidy plugin
    * refactor: fix unterminated LogPrintf()s
    * lint: remove  /* Continued */ markers from codebase
    * lint: remove lint-logs.py
    * lint: drop DIR_IWYU global
    * scripted-diff: Specify Python major version explicitly on Windows
    * net_processing: Clean up INVENTORY_BROADCAST_MAX constants
    * test: Check tx from disconnected block is immediately requestable
    * net_processing: don't add txids to m_tx_inventory_known_filter
    * net_processing: drop m_recently_announced_invs bloom filter
    * refactor: use "if constexpr" in std::vector's Unserialize()
    * refactor: use "if constexpr" in std::vector's Serialize()
    * refactor: use "if constexpr" in prevector's Unserialize()
    * refactor: use "if constexpr" in prevector's Serialize()
    * refactor: use fold expressions instead of recursive calls in UnserializeMany()
    * refactor: use fold expressions instead of recursive calls in SerializeMany()
    * validation: when adding txs due to a block reorg, allow immediate relay
    * mempool_entry: add mempool entry sequence number
    * qa: Close SQLite connection properly
    * doc: make it clear that `node` in `addnode` refers to the node's address
    * test: `addnode` with an invalid command should throw an error
    * rpc, refactor: clean-up `addnode`
    * scripted-diff: Rename CBlockTreeDB -> BlockTreeDB
    * refactor: Wrap DestroyDB in dbwrapper helper
    * ci: Add missing linux-headers package to ASan task
    * ci: Move ASan USDT to persistent_worker
    * Fixup style of moved code
    * move-only: Move CBlockTreeDB to node/blockstorage
    * index: Drop legacy -txindex check
    * scripted-diff: Use blocks_path where possible
    * script: update flake8 to 6.1.0
    * test: python E721 updates
    * Remove unused MessageStartChars parameters from BlockManager methods
    * ci: Use documented `CCACHE_MAXSIZE` instead of `CCACHE_SIZE`
    * qa, doc: Fix comment
    * test: remove redundant test values
    * test: use common assert_signing_completed_successfully helper
    * test: add coverage for passing an invalid sighashtype
    * Remove unused raw-pointer read helper from univalue
    * refactor: Revert addition of univalue sighash string check
    * doc: Correct release-notes for sighashtype exceptions
    * tests: add decryption test to bip324_tests
    * Add BIP324Cipher, encapsulating key agreement, derivation, and stream/AEAD ciphers
    * crypto: support split plaintext in ChaCha20Poly1305 Encrypt/Decrypt
    * bench: add benchmark for FSChaCha20Poly1305
    * crypto: add FSChaCha20Poly1305, rekeying wrapper around ChaCha20Poly1305
    * crypto: add FSChaCha20, a rekeying wrapper around ChaCha20
    * crypto: add the ChaCha20Poly1305 AEAD as specified in RFC8439
    * crypto: remove outdated variant of ChaCha20Poly1305 AEAD
    * test: remove unused `totalOut` code
    * test: remove unecessary `decoderawtransaction` calls
    * net processing: clamp -blockreconstructionextratxn to uint32_t bounds
    * net processing: clamp -maxorphantx to uint32_t bounds
    * doc: document PeerManager::Options members
    * test: refactor: deduplicate segwitv0 ECDSA signing for tx inputs
    * kernel: Remove Univalue from kernel library
    * kernel: Split ParseSighashString
    * test: Avoid intermittent issues due to async events in validationinterface_tests
    * test: drop duplicate getaddrs from p2p_getaddr_caching
    * test: fix intermittent failure in p2p_getaddr_caching
    * scripted-diff: Use blocks_path where possible
    * test: Add blocks_path property to TestNode
    * test: Drop 22.x node from TxindexCompatibilityTest
    * refactor: deduplicate ignores_incoming_txs
    * refactor: set ignore_incoming_txs in ApplyArgsManOptions
    * test: Use clean chain in MempoolCompatibilityTest
    * doc: misc changes in release-process
    * suppressions: note that 'type:ClassName::MethodName' should be used
    * doc: filter out merge-script from list of authors
    * doc: remove generate changelog section from release-process.md
    * doc: remove note to update bips.md version number
    * valgrind: add suppression for bug 472219
    * Don't derive secure_allocator from std::allocator
    * Remove unused function `reliesOnAssumedValid`
    * Cache block index entry corresponding to assumeutxo snapshot base blockhash
    * Move CheckBlockIndex() from Chainstate to ChainstateManager
    * Documentation improvements for assumeutxo
    * Fix initialization of setBlockIndexCandidates when working with multiple chainstates
    * Tighten requirements for adding elements to setBlockIndexCandidates
    * [net processing] Move -capturemessages to PeerManager::Options
    * [net processing] Move -blockreconstructionextratxn to PeerManager::Options
    * [net processing] Move -maxorphantx to PeerManager::Options
    * [net processing] Move -txreconciliation to PeerManager::Options
    * [net processing] Use ignore_incoming_txs from m_opts
    * [net processing] Introduce PeerManager options
    * ci: Keep system env vars as-is
    * ci: Set PATH inside the CI env
    * ci: Remove P_CI_DIR and --workdir
    * test: create wallet specific for test_locked_wallet case
    * refactor: Use reinterpret_cast where appropriate
    * refactor: Avoid casting away constness
    * refactor: Remove unused C-style casts
    * Add UBSan `-fsanitize=integer` suppressions for `src/secp256k1` subtree
    * fuzz: use `ConnmanTestMsg` in `connman`
    * refactor: Make more transaction size variables signed
    * fuzz: Re-enable symbolize=1 in ASAN_OPTIONS
    * RPC/Mining: Document template_request better for getblocktemplate
    * RPC/rpcdoccheck: Error if a oneline_description has a quote for a non-string
    * Bugfix: RPC: Remove quotes from non-string oneline descriptions
    * fuzz: increase coverage of the descriptor targets
    * fuzz: add a new, more efficient, descriptor parsing target
    * Move block-storage-related logic to ChainstateManager
    * refactor: Use EnsureAnyNodeContext
    * test: Add SyncWithValidationInterfaceQueue to mockscheduler RPC
    * fuzz: make the parsed descriptor testing into a function
    * Rework receive buffer pushback
    * test: wallet, add coverage for watch-only raw sh script migration
    * descriptor: InferScript, do not return top-level only func as sub descriptor
    * doc: correct Fedora systemtap dep
    * lint: Ignore check_fileopens failure on **kwargs
    * test: Ignore UTF-8 errors in assert_debug_log
    * test: Fix debug_log_size helper
    * Inline short, often-called, rarely-changed basic CNetAddr getters
    * Convert GetLocal() to std::optional and remove out-param
    * Use higher-level CNetAddr and CNode helpers in net.cpp
    * Add CNetAddr::IsPrivacyNet() and CNode::IsConnectedThroughPrivacyNet()
    * test: fix intermittent failure in wallet_resendwallettransactions.py
    * GetLocal() type-safety, naming, const, and formatting cleanups
    * Add and use CNetAddr::HasCJDNSPrefix() helper
    * Move GetLocal() declaration from header to implementation
    * Move CaptureMessageToFile() declaration from header to implementation
    * Move IsPeerAddrLocalGood() declaration from header to implementation
    * test: cover addrv2 support in anchors.dat with a TorV3 address
    * streams: Teach AutoFile how to XOR
    * lint: Add missing `set -ex` to ci/lint/06_script.sh
    * doc: Add doc comment to ci/test_imagefile
    * test: fix feature_init.py file perturbation
    * contrib: move user32.dll from bitcoind.exe libs
    * init: abort loading of blockindex in case of missing height.
    * build: adapt Windows builds for libsecp256k1 build changes
    * Squashed 'src/secp256k1/' changes from 705ce7ed8c..c545fdc374
    * ci: document that -Wreturn-type has been fixed upstream (Windows)
    * depends: xcb-proto 1.15.2
    * clang-tidy: turn on modernize-use-noexcept
    * validation: use noexcept instead of deprecated throw()
    * test: Disable known broken USDT test
    * refactor: use Span for SipHash::Write
    * fuzz: Bump FuzzedDataProvider.h
    * doc: update windows -fstack-clash-protection doc
    * ci: Use DOCKER_BUILDKIT for lint image
    * test: Clear block index flags when testing snapshots
    * Update CheckBlockIndex invariants for chains based on an assumeutxo snapshot
    * Add wrapper for adding entries to a chainstate's block index candidates
    * Move block-arrival information / preciousblock counters to ChainstateManager
    * test: Add helper functions for checking node versions
    * Remove CChain dependency in node/blockstorage
    * Explicitly track maximum block height stored in undo files
    * Added `longpollid` and `data` params to `template_request` #27998
    * scripted-diff: Use new FUZZ_TARGET macro everywhere
    * fuzz: Accept options in FUZZ_TARGET macro
    * Add AutoFile::detail_fread member function
    * refactor: Modernize AutoFile
    * Switch all callers from poly1305_auth to Poly1305 class
    * tests: add more Poly1305 test vectors
    * crypto: add Poly1305 class with std::byte Span interface
    * crypto: switch poly1305 to incremental implementation
    * fuzz: Generate process_message targets individually
    * ci: Add missing -O2 to valgrind tasks
    * guix: backport glibc patch to prevent redundant librt link
    * contrib: remove librt from release deps
    * build: remove check for gettimeofday & librt
    * doc: Remove comments that just repeat what the code does
    * refactor: Remove redundant file check from AutoFile shift operators
    * Extract util::Xor, Add key_offset option, Add bench
    * refactor: Remove duplicate allNetMessageTypesVec
    * kernel: Remove StartShutdown calls from validation code
    * wallet: loading, log descriptor parsing error details
    * refactor: Move stopafterblockimport handling out of blockstorage
    * test: indexes, fix on error infinite loop
    * test: add keep_alive option to socks5 proxy in test_framework
    * test: cover TorV3 address in p2p_addrv2_relay
    * test: add support for all networks in CAddress in messages.py
    * index: verify blocks data existence only once
    * init: don't start indexes sync thread prematurely
    * refactor: simplify pruning violation check
    * make GetFirstStoredBlock assert that 'start_block' always has data
    * refactor: index, decouple 'Init' from 'Start'
    * test: Check expected_stderr after stop
    * test: add ChaCha20 test triggering 32-bit block counter overflow
    * test: make assumeUTXO test capture the expected fatal error
    * refactor: init indexes, decouple 'Start()' from the creation step
    * doc: describe 'init load' thread actions
    * scripted-diff: rename 'loadblk' thread name to 'initload'
    * init: start indexes sync earlier
    * tests: improve ChaCha20 unit tests
    * crypto: Implement RFC8439-compatible variant of ChaCha20
    * wallet: bdb: include bdb header from our implementation files only
    * wallet: bdb: don't use bdb define in header
    * wallet: bdb: move BerkeleyDatabase constructor to cpp file
    * wallet: bdb: move SafeDbt to cpp file
    * wallet: bdb: move SpanFromDbt to below SafeDbt's implementation
    * test: miner: add coverage for `-blockmintxfee` setting
    * wallet: bdb: move TxnBegin to cpp file since it uses a bdb function
    * wallet: bdb: drop default parameter
    * wallet: sqlite: force sqlite3.h to be included by the cpp files
    * test: wallet, add coverage for addressbook migration
    * wallet: migration bugfix, persist empty labels
    * wallet: migration bugfix, clone 'send' record label to all wallets
    * test: remove race in the user-agent reception check
    * test: Restore unlimited timeout in IndexWaitSynced
    * ci: Print full lscpu output
    * ci: Remove deprecated container.greedy
    * gui: send, left alignment for "bytes" and "change" label
    * Fix RPCConsole wallet selection
    * qt: remove confusing "Dust" label from coincontrol / sendcoins dialog
    * test: refactor: deduplicate legacy ECDSA signing for tx inputs
    * docs: fixup honggfuzz patch
    * descriptor: assert we never parse a sane miniscript with no pubkey
    * qa: make sure we don't let unspendable Miniscript descriptors be imported
    * descriptor: refuse to parse unspendable miniscript descriptors
    * Consolidate Win32-specific error formatting
    * Show descriptive error messages when FileCommit fails
    * ci: re-enable gui tests for s390x
    * doc: Fix verify-binaries link in contrib README
    * Allow std::byte serialization
    * Allow FastRandomContext::randbytes for all byte types
    * script: appease spelling linter
    * script: update ignored-words.txt
    * script: update linter dependencies
    * test: fix PEP484 no implicit optional argument types errors
    * script, test: add missing python type annotations
    * test: add ellswift test vectors from BIP324
    * test: Add ellswift unit tests
    * test: Add python ellswift implementation to test framework
    * test: Rename EncodeDecimal to serialization_fallback
    * refactor: remove in-code warning suppression
    * contrib: add macOS fixup_chains check to security-check
    * ci: filter all subtrees from tidy output
    * build: support -no_fixup_chains in ld64
    * miniscript: make GetStackSize() and GetOps() return optionals
    * Remove now-unnecessary poll, fcntl includes from net(base).cpp
    * refactor: Drop unsafe AsBytePtr function
    * fuzz: Generate rpc fuzz targets individually
    * test: add coverage for descriptor ID
    * wallet: bugfix, always use apostrophe for spkm descriptor ID
    * refactor: extract descriptor ID calculation from spkm GetID()
    * wallet: do not allow loading descriptor with an invalid ID
    * guix: Specify symbols in modules explicitly
    * guix: Drop unneeded modules
    * guix: Unify fetch methods
    * test: Use same timeout for all index sync
    * ci: remove duplicate python3 from CI configs
    * ci: remove duplicate bsdmainutils from CI configs
    * kernel: Add fatalError method to notifications
    * kernel: Add flushError method to notifications
    * scripted-diff: Rename FatalError to FatalErrorf
    * kernel: Pass interrupt reference to chainman
    * util: Add SignalInterrupt class and use in shutdown.cpp
    * doc: simplify the router options in doc/i2p.md
    * doc: clarify when and how to launch the SAM bridge in doc/i2p.md
    * doc: Add release note for wallet loading changes
    * walletdb: Remove loading code where the database is iterated
    * walletdb: refactor decryption key loading
    * walletdb: refactor defaultkey and wkey loading
    * walletdb: refactor active spkm loading
    * walletdb: refactor tx loading
    * walletdb: refactor address book loading
    * walletdb: Refactor descriptor wallet records loading
    * walletdb: Refactor legacy wallet record loading into its own function
    * test: EC: optimize scalar multiplication of G by using lookup table
    * test: add secp256k1 module with FE (field element) and GE (group element) classes
    * Use only Span{} constructor for byte-like types where possible
    * util: Allow std::byte and char Span serialization
    * tests: Test for bumping single output transaction
    * test: Test bumpfee reduce_output
    * bumpfee: Allow original change position to be specified
    * net: remove unused `CConnmanTest`
    * wallet: Give deprecation warning when loading a legacy wallet
    * gui: Add File > Migrate Wallet
    * Bench test for EllSwift ECDH
    * gui: Optionally return passphrase after unlocking
    * Bench tests for CKey->EllSwift
    * Fuzz test for Ellswift ECDH
    * Fuzz test for CKey->EllSwift->CPubKey creation/decoding
    * Unit test for ellswift creation/decoding roundtrip
    * Add ElligatorSwift key creation and ECDH logic
    * Enable ellswift module in libsecp256k1
    * gui: Disable and uncheck blank when private keys are disabled
    * http: update libevent workaround to correct version
    * MaybePunishNodeForTx: Remove unused message arg and logging
    * guix: Update `python-lief` package to 0.13.2
    * test: refactor: usdt_mempool: store all events
    * test: refactor: remove unnecessary nonlocal
    * test: log sanity check assertion failures
    * test: store utxocache events
    * test: refactor: deduplicate handle_utxocache_* logic
    * test: refactor:  rename inbound to is_inbound
    * test: refactor: remove unnecessary blocks_checked counter
    * test: Fix intermittent issue in mining_getblocktemplate_longpoll.py
    * test: Add implicit-signed-integer-truncation:*/include/c++/ suppression
    * GUI: TransactionRecord: When time/index/etc match, sort send before receive
    * Bugfix: Ignore ischange flag when we're not the sender
    * GUI: Remove SendToSelf TransactionRecord type
    * GUI: TransactionRecord: Refactor to turn send-to-self into send+receive pairs
    * GUI: TransactionRecord: Use "any from me" as the criteria for deciding whether a transaction is a send or receive
    * contrib: remove macOS lazy_bind check
    * build: explicitly opt-in to new fixup_chains functionality for darwin
    * depends: Bump MacOS minimum runtime requirement to 11.0
    * depends: bump darwin clang to 11.1
    * test: added coverage to estimatefee
    * test: Run fuzz tests on macOS
    * Added static_assert to check that base_blob is using whole bytes.
    * [fuzz] Show that SRD budgets for non-dust change
    * [bug] Increase SRD target by change_fee
    * Add more tests for the BIP21 implementation
    * net: Give seednodes time before falling back to fixed seeds
    * Squashed 'src/secp256k1/' changes from 4258c54f4e..705ce7ed8c
    * test: Use TestNode *_path properties where possible
    * test: Allow pathlib.Path as RPC argument via authproxy
    * scripted-diff: Use wallets_path and chain_path where possible
    * test: Use wallet_dir lambda in wallet_multiwallet test where possible
    * fuzz: Avoid OOM in transaction fuzz target
    * qt: show own outputs on PSBT signing window
    * depends: modernize clang flags
    * ci: disable false-positive warnings for now
    * ci: Run fuzz target even if input folder is empty
    * ci: install llvm-symbolizer in MSAN jobs
    * ci: use LLVM 16.0.6 in MSAN jobs
    * fuzz: Fix implicit-integer-sign-change in wallet/fees fuzz target
    * scripted-diff: Following the C++ Standard rules for identifiers with _.
    * fuzz: addrman, avoid `ConsumeDeserializable` when possible
    * salvage: Remove use of ReadKeyValue in salvage
    * feerate: For GetFeePerK() return nSatoshisPerK instead of round trip through GetFee
    * test: refactor: introduce `generate_keypair` helper with WIF support
    * walletdb: Refactor hd chain loading to its own function
    * walletdb: Refactor encryption key loading to its own function
    * walletdb: Refactor crypted key loading to its own function
    * walletdb: Refactor key reading and loading to its own function
    * Manage exceptions in bcc callback functions
    * fuzz: wallet, add target for CoinControl
    * bench: disable birth time block skip for wallet_create_tx.cpp
    * doc: test: update TestShell instructions
    * validation: add missing insert to m_dirty_blockindex
    * Remove the syscall sandbox
    * validation: Stricter assumeutxo error handling in InvalidateCoinsDBOnDisk
    * validation: Stricter assumeutxo error handling in LoadChainstate
    * refactor: rename BCLog::BLOCKSTORE to BLOCKSTORAGE
    * doc: release note re raising on invalid -debug/debugexclude/loglevel
    * init: remove config option names from translated -loglevel strings
    * net: net_processing, add `ProcessCompactBlockTxns`
    * refactor: Avoid copy of bilingual_str when formatting, Fix ADL violation
    * build: suppress external warnings by default
    * test: clean up is node stopped
    * test: ensure old fee_estimate.dat not read on restart and flushed
    * tx fees, policy: read stale fee estimates with a regtest-only option
    * tx fees, policy: do not read estimates of old fee_estimates.dat
    * refactor: Make m_count_with_* in CTxMemPoolEntry int64_t, drop UBSAN supp
    * tx fees, policy: periodically flush fee estimates to fee_estimates.dat
    * test: Make linter to look for `BOOST_ASSERT` macros
    * test: Kill `BOOST_ASSERT`
    * test: move random.h include header from setup_common.h to cpp
    * test: move remaining random test util code from setup_common to random
    * test: -loglevel raises on invalid values
    * init: raise on invalid loglevel config option
    * test: -debug and -debugexclude raise on invalid values
    * init: raise on invalid debug/debugexclude config options
    * fuzz: wallet, add target for `fees`
    * ci: Switch to `amd64` container in "ARM" task
    * ci: Bump macOS cross task to ubuntu:jammy
    * interfaces, wallet: Expose migrate wallet
    * ci: Use latest `macos-ventura-xcode:14.3.1` image
    * wallet: Document blank flag use in descriptor wallets
    * wallet: Ensure that the blank wallet flag is unset after imports
    * build: make sure we can overwrite config.{guess,sub}
    * scripted-diff: Use datadir from options in chainstatemanager test
    * test: Add test for migrating default wallet and plain file wallet
    * wallet: Generated migrated wallet's path from walletdir and name
    * Remove txmempool implicit-integer-sign-change sanitizer suppressions
    * Use `int32_t` type for most transaction size/weight values
    * test: fix intermittent failure in p2p_leak_tx.py
    * fuzz: Fix mini_miner_selection running out of coin
    * net: do not `break` when `addr` is not from a distinct network group
    * test: add coverage for `/deploymentinfo` passing a blockhash
    * rest: bugfix, fix crash error when calling `/deploymentinfo`
    * refactor: decouple early return commands from AppInit
    * gui: return EXIT_FAILURE on post-init fatal errors
    * Return EXIT_FAILURE on post-init fatal errors
    * ci: Use podman stop over podman kill
    * contrib: docs fix --import-keys flag on verify.py
    * refactor: index: use `AbortNode` in fatal error helper
    * move ThreadImport ABC error to use AbortNode
    * rpc, wallet: Include information about blank flag
    * doc: Clarify that -datacarriersize applies to the full raw scriptPubKey, not the data push
    * test: Add -datacarriersize=2 tests
    * Remove mapRelay
    * net_processing: relay txs from m_most_recent_block
    * walletdb: Refactor wallet flags loading
    * walletdb: Refactor minversion loading
    * ci: Invalidate Cirrus CI docker cache
    * ci: Nuke Android APK task, Use credits for tsan
    * test: add unit test for local address advertising
    * net: restrict self-advertisements with privacy networks
    * net, refactor: pass reference for peer address in GetReachabilityFrom
    * net, refactor: pass CNode instead of CNetAddr to GetLocalAddress
    * ci: enable AArch64 target in MSAN jobs
    * ci: use LLVM 16.0.5 in MSAN jobs
    * doc: add release note about removal of `deprecatedrpc=walletwarningfield` flag
    * Restorewallet/createwallet help documentation fixups/improvements
    * rpc: remove deprecated "warning" field from {create,load,restore,unload}wallet
    * test: avoid sporadic MINIMALDATA failure in feature_taproot.py (fixes #27595)
    * [fuzz] Only check duplicate coinbase script when block was valid
    * wallet: Add tracing for sqlite statements
    * guix: remove cURL from build env
    * Mitigate timeout in CalculateTotalBumpFees
    * Update .style.yapf
    * wallet: Add GetPrefixCursor to DatabaseBatch
    * streams: Drop confusing DataStream::Serialize method and << operator
    * doc: update getnodeaddresses for CJDNS, I2P and Tor and rm link
    * walletdb: Handle when database keys are empty
    * walletdb: Consistently clear key and value streams before writing
    * Add public Boost headers explicitly
    * test: Avoid `BOOST_ASSERT` macro
    * fuzz: fix wallet notifications.cpp
    * test: add block sync to getblockfrompeer.py
    * scripted-diff: move settings to common namespace
    * move-only: Move settings to the common library
    * kernel: Remove chainparams, chainparamsbase, args, settings from kernel library
    * refactor: Remove gArgs access from validation.cpp
    * refactor: Add path argument to FindSnapshotChainstateDir
    * refactor: Add stop_at_height option in ChainstateManager
    * fuzz: Avoid timeout in utxo_total_supply
    * ci: Enable float-divide-by-zero check
    * ci: Use podman for persistent workers
    * ci: Prune dangling images on RESTART_CI_DOCKER_BEFORE_RUN
    * ci: return to using Ubuntu 22.04 in MSAN jobs
    * ci: compile clang and compiler-rt in MSAN jobs
    * ci: use LLVM 16.0.4 in MSAN jobs
    * ci: remove extra CC & CXX from MSAN jobs
    * ci: standardize custom libc++ usage in MSAN jobs
    * fix includes for touched header files (iwyu)
    * Add [[nodiscard]] where ignoring a Result return type is an error
    * lint: stop ignoring LIEF imports
    * ci: Avoid leaking HOME var into CI pod
    * ci: Remove "default" test env
    * ci: Add missing set -e to 01_base_install.sh
    * contrib/init: Better systemd integration
    * test: ensure addrman test is finite
    * addrman: change asserts to Assumes
    * p2p, refactor: return `std::optional<CNetAddr>` in `LookupHost`
    * p2p, refactor: return vector/optional<CService> in `Lookup`
    * p2p, refactor: return `std::vector<CNetAddr>` in `LookupHost`
    * p2p, refactor: return `std::vector<CNetAddr>` in `LookupIntern`
    * fuzz: Change LIMIT_TO_MESSAGE_TYPE from a compile-time to a run-time setting
    * doc: Fix broken link in release notes
    * test: Move test_chain_listunspent wallet check from mempool_packages to wallet_basic
    * p2p: Log addresses of stalling peers
    * bench: Remove incorrect LoadWallet call in WalletBalance
    * tests: Move ADDRESS_BCRT1_UNSPENDABLE to wallet/test/util.h
    * tests, bench: Consolidate {Test,Bench}Un/LoadWallet helper
    * test: Throw error when -signetchallenge is non-hex
    * Fix `#include`s in `src/wallet`
    * wallet: skip block scan if block was created before wallet birthday
    * refactor: single method to append new spkm to the wallet
    * doc: Fix typo in doc/release-process.md URL
    * doc: Add doc/release-notes/release-notes-25.0.md
    * use 'byte'/'bytes' for bech32(m) validation error
    * doc: update `Select` function description
    * refactor: de-duplicate lookups
    * Unconditionally return when compact block status == READ_STATUS_FAILED
    * refactor: Replace std::optional<bilingual_str> with util::Result
    * util: Add void support to util::Result
    * Add tests for parallel compact block downloads
    * Support up to 3 parallel compact block txn fetchings
    * rpc: Fix invalid bech32 handling
    * build: disable boost multi index safe mode
    * depends: remove redundant stdlib option
    * index: prevent race by calling 'CustomInit' prior setting 'synced' flag
    * test: Make `util/test_runner.py` honor `BITCOINUTIL` and `BITCOINTX`
    * ci: Log qa-assets repo last commit
    * fuzz: Print error message when FUZZ is missing
    * test: p2p: check misbehavior for non-continuous headers messages
    * ci: remove MSAN getrandom syscall workaround
    * random: switch to using getrandom() directly
    * random: add [[maybe_unused]] to GetDevURandom
    * random: getentropy on macOS does not need unistd.h
    * ci, iwyu: Double maximum line length for includes
    * refactor: Move system from util to common library
    * refactor: Split util::AnyPtr into its own file
    * refactor: Split util::insert into its own file
    * refactor: Move ScheduleBatchPriority to its own file
    * kernel: Add warning method to notifications
    * kernel: Add progress method to notifications
    * kernel: Add headerTip method to notifications
    * kernel: Add notification interface
    * test: Explicitly specify directory where to search tests for
    * test: fix `include_immature_coinbase` logic in `get_utxos`
    * test: fix `interface_usdt_mempool` by mining a block after each test
    * test: fix mature utxos addition to wallet in `mempool_package_limits`
    * test: fix intermittent issue in `feature_bip68_sequence`
    * doc: add 24.1 release notes
    * doc: add 23.2 release notes
    * Only request full blocks from the peer we thought had the block in-flight
    * Convert mapBlocksInFlight to a multimap
    * Remove nBlocksInFlight
    * alias BlockDownloadMap for mapBlocksInFlight
    * build: Detect USDT the same way how it is used in the code
    * doc: remove Security section from build-unix.md
    * build: Bump minimum supported GCC to g++-9
    * ci: Bump centos:stream8 to centos:stream9
    * ci: Document the false positive error for g++-9
    * build: Do not define `ENABLE_ZMQ` when ZMQ is not available
    * test: Add test to check tx in the last block can be downloaded
    * test: Split up test_notfound_on_unannounced_tx test case
    * index: Enable reindex-chainstate with active indexes
    * index: Use first block from locator instead of looking for fork point
    * ci: Reduce tsan CPU and memory for faster scheduling
    * ci: Use credits for ARM task
    * msvc: Provide `ObjectFileName` explicitly
    * doc: remove mention of glibc 2.10+
    * doc: Rework build-unix.md
    * ci: remove RUN_SECURITY_TESTS
    * ci: Drop NO_WERROR=1 for clang-10 build
    * build: Bump minimum Clang to clang-10
    * doc: Remove outdated CentOS comment
    * qt, test: Add missed header
    * ci: Fix "Number of CPUs" output
    * ConnectTip: don't log total disk read time in bench
    * guix: remove redundant glibc patches
    * guix: document when certain guix patches can be dropped
    * ci: Remove unused errtrace trap ERR
    * walletdb: Remove unused CreateMockWalletDatabase
    * add `lief` to `spelling.ignore-words`
    * test: fix spelling in `interface_usdt_utxocache`
    * test: add coverage for wallet read write db deadlock
    * walletdb: scope bdb::EraseRecords under a single db txn
    * wallet: bugfix, GetNewCursor() misses to provide batch ptr to BerkeleyCursor
    * doc, test: Document steps to reproduce TSan warning for `libdb`
    * doc: Remove unused NO_BLOOM_VERSION constant
    * build, doc: Adjust comment after PR27254
    * Add wallets_conflicts
    * wallet, tests: mark unconflicted txs as inactive
    * ci: Run iwyu on all src files
    * build: cleanup comments after adding yet another libtool hack
    * build: Fix shared lib linking for darwin with lld
    * test: Return dict in MiniWallet::send_to
    * doc: remove version number from bips.md
    * depends: no-longer nuke libc++abi.so* in native_clang package
    * [mempool] clear mapDeltas entry if prioritisetransaction sets delta to 0
    * [functional test] prioritisation is not removed during replacement and expiry
    * [functional test] getprioritisedtransactions RPC
    * [rpc] add getprioritisedtransactions
    * [mempool] add GetPrioritisedTransactions
    * refactor, blockstorage: Replace stopafterblockimport arg
    * refactor, blockstorage: Replace blocksdir arg
    * refactor, BlockManager: Replace fastprune from arg with options
    * refactor/iwyu: Complete includes for blockmanager_args
    * refactor: Move functions to BlockManager methods
    * zmq: Pass lambda to zmq's ZMQPublishRawBlockNotifier
    * ci: Remove CI_EXEC bloat
    * test: added coverage to mining_basic.py
    * move-only: Move almost all CI_EXEC code to 06_script_b.sh
    * refactor: Declare g_zmq_notification_interface as unique_ptr
    * msvc: Do not define `HAVE_CONSENSUS_LIB`
    * msvc: Clean up `libbitcoin_consensus` source files
    * scripted-diff: Rename `libbitcoinconsensus` to `libbitcoin_consensus`
    * refactor: Use ChainType enum exhaustively
    * net_processing: Boost inv trickle rate
    * txmempool: have CompareDepthAndScore sort missing txs first
    * Temporarily work around gcc-13 warning bug in interfaces_tests
    * p2p: Avoid prematurely clearing download state for other peers
    * Fix clang-tidy performance-unnecessary-copy-initialization warnings
    * Remove unused find_value global function
    * scripted-diff: Use UniValue::find_value method
    * Add UniValue::find_value method
    * scripted-diff: Remove unused chainparamsbase includes
    * Add missing definitions in prep for scripted diff
    * refactor: Replace string chain name constants with ChainTypes
    * refactor: Introduce ChainType getters for ArgsManager
    * refactor: Create chaintype files
    * add ryanofsky to trusted-keys
    * doc: clarify PR 26076 release note
    * refactor: Remove unused GetTimeMillis
    * test: add test for `descriptorprocesspsbt` RPC
    * ci: fix asan task name
    * test: Treat `bitcoin-wallet` binary in the same way as others
    * test, refactor: Add `set_binary_paths` function
    * util: improve streams.h:FindByte() performance
    * [bench] add streams findbyte
    * fuzz: BIP 42, BIP 30, CVE-2018-17144
    * Move LoadVerifyActivateChainstate to ChainTestingSetup
    * msvc: Cleanup after upgrading libsecp256k1 up to 0.3.0
    * ci: Remove CI_EXEC bloat in test/06_script_b.sh
    * ci: Move CI container kill out of 06_script_b.sh
    * ci: Pass full env to CI pod to avoid missing a var
    * scripted-diff: Use platform-agnostic `ALWAYS_INLINE` macro
    * Introduce platform-agnostic `ALWAYS_INLINE` macro
    * [doc] Add post branch-off note about fuzz input pruning
    * Remove unused chainparams from BlockManager methods
    * Replace pindex pointer with block reference
    * Add BlockManagerOpts::chainparams reference
    * rpc: add descriptorprocesspsbt rpc
    * test: dedup file hashing using `sha256sum_file` helper
    * rpc: Add check for unintended option/parameter name clashes
    * test: Update python tests to use named parameters instead of options objects
    * RPC: Allow RPC methods accepting options to take named parameters
    * RPC: Add add OBJ_NAMED_PARAMS type
    * wallet, bench: Remove unused database options from WalletBenchLoading
    * tests: Modify records directly in wallet ckey loading test
    * tests: Update DuplicateMockDatabase for MockableDatabase
    * scripted-diff: Replace CreateMockWalletDB with CreateMockableWalletDB
    * wallet, tests: Include wallet/test/util.h
    * wallet: Move DummyDatabase to salvage
    * wallet, tests: Replace usage of dummy db with mockable db
    * Introduce MockableDatabase for wallet unit tests
    * ci: Use arm_container.dockerfile
    * clarify processing of mempool-msgs when NODE_BLOOM
    * Avoid dereferencing interruption_point if it is nullptr
    * contrib: add ELF ABI check to symbol-check.py
    * test: Add util to mine invalid blocks
    * fuzz: addrman, add coverage for `network` field in `Select()`, `Size()` and `GetAddr()`
    * test: Simplify feature_fastprune.py
    * test: add ripemd160 to test framework modules list
    * test: added coverage to rpc_scantxoutset.py
    * ci: remove usage of untrusted bpfcc-tools
    * ci: use LLVM/clang-16 in native_asan job
    * rpc: scanblocks, add "completed" flag to the result obj
    * rpc: scanblocks, do not traverse the whole chain block by block
    * test: remove modinv python util helper function
    * rpc: return block hash & height in getbalances, gettransaction & getwalletinfo JSONs
    * refactor: Make ListSelected return vector
    * wallet: Move CoinCointrol definitions to .cpp
    * wallet: Use std::optional for GetExternalOutput and fixups
    * scripted-diff: Rename setSelected->m_selected_inputs
    * test: fix `feature_addrman.py` on big-endian systems
    * build: Use newest `config.{guess,sub}` available
    * test: simplify uint256 (de)serialization routines
    * wallet: introduce generic recursive tx state updating function
    * ci: Bump ci/lint/Dockerfile
    * bugfix: Fix incorrect debug.log config file path
    * init: Error if ignored bitcoin.conf file is found
    * lint: Fix lint-format-strings false positives when format specifiers have argument positions
    * depends: latest config.sub
    * depends: latest config.guess
    * test: Use python3.8 pow()
    * Bump python minimum version to 3.8
    * test: Remove unused sanitizer suppressions
    * test: prevent intermittent failures
    * depends: reuse _config_opts for CMake options
    * test: cover fastprune with excessive block size
    * blockstorage: Adjust fastprune limit if block exceeds blockfile size
    * move-only: Extract common/args and common/config.cpp from util/system
    * p2p: "skip netgroup diversity of new connections for tor/i2p/cjdns" follow-up
    * [test] mempool full in package accept
    * [validation] set PackageValidationState when mempool full
    * [policy] disallow transactions under min relay fee, even in packages
    * [test] package cpfp bumps parents <mempoolminfee but >=minrelaytxfee
    * [test util] mock mempool minimum feerate
    * test: bumpfee, add coverage for "send coins back to yourself"
    * bumpfee: enable send coins back to yourself
    * fuzz: re-enable prioritisetransaction & analyzepsbt RPC
    * refactor: Remove CAddressBookData::destdata
    * wallet: Add DatabaseBatch::ErasePrefix method
    * [fuzz] Add MiniMiner target + diff fuzz against BlockAssembler
    * [unit test] GatherClusters and MiniMiner unit tests
    * refactor: coinselector_tests, unify wallet creation code
    * test: coverage for bnb max weight
    * wallet: clean post coin selection max weight filter
    * coin selection: BnB, don't return selection if exceeds max allowed tx weight
    * test: coin selection, add coverage for SRD
    * coin selection: heap-ify SRD, don't return selection if exceeds max tx weight
    * coin selection: knapsack, select closest UTXO above target if result exceeds max tx size
    * test: add coverage to ensure the first arg of scantxoutset is needed
    * logging: log ASN when using `-asmap`
    * tracepoints: Disables `-Wgnu-zero-variadic-macro-arguments` to compile without warnings
    * Switch hardened derivation marker to h in descriptors
    * wallet: Use steady clock to calculate number of derive iterations
    * wallet: Use steady clock to measure scanning duration
    * qt: Use steady clock to throttle GUI notifications
    * test: Use steady clock in index tests
    * net: Use steady clock in InterruptibleRecv
    * net: add `GetMappedAS` in `CConnman`
    * Implement Mini version of BlockAssembler to calculate mining scores
    * validation: Move warningcache to ChainstateManager
    * [mempool] find connected mempool entries with GatherClusters(…)
    * util: implement prevector's move ctor & move assignment
    * test: CScriptCheck is used a lot in std::vector, make sure that's efficient
    * util: prevector's move ctor and move assignment is `noexcept`
    * bench: Add benchmark for prevector usage in std::vector
    * test: various `converttopsbt` check cleanups in rpc_psbt.py
    * Use PoolAllocator for CCoinsMap
    * Call ReallocateCache() on each Flush()
    * Add PoolResource fuzzer
    * Calculate memory usage correctly for unordered_maps that use PoolAllocator
    * Add pool based memory resource & allocator
    * refactor: rpc: hide and rename ParseNonRFCJSONValue()
    * test: move coverage on ParseNonRFCJSONValue() to UniValue::read()
    * rpc, tests: in `utxoupdatepsbt` also look for the transaction in the txindex
    * doc: clarify new_only param for Select function
    * bench: test select for a new table with only one address
    * bench: add coverage for addrman select with network parameter
    * test: increase coverage of addrman select (without network)
    * test: add addrman test for special case
    * tests: add addrman_select_by_network test
    * addrman: add functionality to select by network
    * scripted-diff: rename local variables to match modern conventions
    * refactor: consolidate select logic for new and tried tables
    * refactor: generalize select logic
    * addrman: Introduce helper to generalize looking up an addrman entry
    * test: add coverage for `-bantime`
    * doc: document json rpc endpoints
    * wallet: refactor coin selection algos to return util::Result
    * refactor: update Select_ function
    * prune, import: fixes #23852
    * Build: Log when test -f fails in Makefile
    * Build: Use AM_V_GEN in Makefiles where appropriate
    * rpc: extract psbt updating logic into ProcessPSBT
    * doc: add release notes for `abandoned` field in `gettransaction` and `listtransactions`
    * rpc, wallet: add `abandoned` field for all categories of transactions in ListTransactions
    * assumeutxo: catch and log fs::remove error instead of two exist checks
    * test: test banlist database recreation
    * Add test for `sendmany` rpc that uses `subtractfeefrom` parameter
    * test, init: perturb file to ensure failure instead of only deleting them
    * rpc, docs: Add note for commands that supports only legacy wallets
    * test: perturb anchors.dat to test it doesn't throw an error during initialization
    * Periodically check disk space to avoid corruption
    * Implement CCoinsViewErrorCatcher::HaveCoin
    * test: add coverage for rpc error when trying to rescan beyond pruned data
    * build: Drop redundant qt/bitcoin.cpp
    * build: Include qt sources for parsing with extract_strings.py
* Wed May 31 2023 Martin Pluskal <mpluskal@suse.com>
  - Update to version 25.0:
    * doc: update release notes for 25.0
    * doc: update manual pages for 25.0
    * build: bump version to v25.0 final
    * doc: update manual pages for v25.0rc2
    * build: bump version to v25.0rc2
    * net_processing: Boost inv trickle rate
    * txmempool: have CompareDepthAndScore sort missing txs first
    * p2p: Avoid prematurely clearing download state for other peers
  - Drop 392dc68e.patch
* Thu Apr 06 2023 Dominique Leuenberger <dimstar@opensuse.org>
  - Add 392dc68e.patch: Fix build with gcc 13.

Files

/usr/bin/bitcoin-cli
/usr/bin/bitcoin-tx
/usr/bin/bitcoin-util
/usr/bin/bitcoin-wallet
/usr/share/doc/packages/bitcoin-utils
/usr/share/doc/packages/bitcoin-utils/README.md
/usr/share/doc/packages/bitcoin-utils/release-notes.md
/usr/share/licenses/bitcoin-utils
/usr/share/licenses/bitcoin-utils/COPYING
/usr/share/man/man1/bitcoin-cli.1.gz
/usr/share/man/man1/bitcoin-tx.1.gz
/usr/share/man/man1/bitcoin-util.1.gz
/usr/share/man/man1/bitcoin-wallet.1.gz


Generated by rpm2html 1.8.1

Fabrice Bellet, Tue Mar 31 22:51:52 2026