| Index | index by Group | index by Distribution | index by Vendor | index by creation date | index by Name | Mirrors | Help | Search |
| 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.
MIT
* 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.
/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