commit d8fbd87e1e500c8eb343d36df9cd4bccae6776adab49ec2b84dba1aa5f116b20 Author: Martin Pluskal Date: Wed Jan 15 09:37:39 2025 +0000 - 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 OBS-URL: https://build.opensuse.org/package/show/network:cryptocurrencies/bitcoin?expand=0&rev=72 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..e786d31 --- /dev/null +++ b/_constraints @@ -0,0 +1,10 @@ + + + + 4086 + + + 7 + + + diff --git a/_service b/_service new file mode 100644 index 0000000..44b6684 --- /dev/null +++ b/_service @@ -0,0 +1,19 @@ + + + @PARENT_TAG@ + https://github.com/bitcoin/bitcoin.git + git + enable + .* + v(.*) + refs/tags/v28.0 + + + + gz + *.tar + + + bitcoin.spec + + diff --git a/_servicedata b/_servicedata new file mode 100644 index 0000000..3e8090a --- /dev/null +++ b/_servicedata @@ -0,0 +1,4 @@ + + + https://github.com/bitcoin/bitcoin.git + 110183746150428e6385880c79f8c5733b1361ba \ No newline at end of file diff --git a/bitcoin-27.1.obscpio b/bitcoin-27.1.obscpio new file mode 100644 index 0000000..c25cc17 --- /dev/null +++ b/bitcoin-27.1.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:853d55b9ae68f2dc57001a26f48fb86ca521c4e5543396e8b7e1b4c7ad727d8f +size 46261773 diff --git a/bitcoin-28.0.obscpio b/bitcoin-28.0.obscpio new file mode 100644 index 0000000..a7d1aef --- /dev/null +++ b/bitcoin-28.0.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ff98564936e8968333668d35646ad6a76f58b55f7d8d4b781a8750ec236582e +size 45753357 diff --git a/bitcoin.changes b/bitcoin.changes new file mode 100644 index 0000000..f7a9ec5 --- /dev/null +++ b/bitcoin.changes @@ -0,0 +1,4347 @@ +------------------------------------------------------------------- +Wed Jan 15 08:52:43 UTC 2025 - Martin Pluskal + +- 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 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 + * 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= + * 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 09:37:55 UTC 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 13:08:34 UTC 2024 - Martin Pluskal + +- 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 with + * [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 14:20:00 UTC 2024 - Martin Pluskal + +- 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 9 08:54:52 UTC 2024 - Martin Pluskal + +- Use gcc13 on Leap + +------------------------------------------------------------------- +Wed Feb 14 14:16:11 UTC 2024 - Martin Pluskal + +- Enable LTO and test package for Leap +- Enable sqlite3 support for wallet +- Enable asm optimizations unconditionally + +------------------------------------------------------------------- +Wed Feb 7 12:00:28 UTC 2024 - Dominique Leuenberger + +- Provide user/group symbol for user created during pre. + +------------------------------------------------------------------- +Fri Jan 05 08:05:00 UTC 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 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 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` in `LookupHost` + * p2p, refactor: return vector/optional in `Lookup` + * p2p, refactor: return `std::vector` in `LookupHost` + * p2p, refactor: return `std::vector` 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 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 =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 09:24:59 UTC 2023 - Martin Pluskal + +- 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 6 11:56:11 UTC 2023 - Dominique Leuenberger + +- Add 392dc68e.patch: Fix build with gcc 13. + +------------------------------------------------------------------- +Tue Dec 20 15:28:42 UTC 2022 - Andrea Manzini + +- Update to version 24.0.1 + changelogs: + * https://bitcoincore.org/en/releases/24.0.1/ + * https://bitcoincore.org/en/releases/23.0/ + * https://bitcoincore.org/en/releases/22.1/ + +------------------------------------------------------------------- +Sun May 8 22:33:43 UTC 2022 - Andrei Dziahel + +- fixed upstream version number change: it's not 0.x anymore` + +------------------------------------------------------------------- +Fri Apr 22 13:11:18 UTC 2022 - Andrei Dziahel + ++ disabled tests to fix Tumbleweed build + ++ updated source tarball URL per the upstream recommendation + ++ drop 24104.patch: fixed upstream + ++ Update to version 0.22.0 + * P2P and network changes + - Added support for running Bitcoin Core as an + [I2P (Invisible Internet Project)](https://en.wikipedia.org/wiki/I2P) service + and connect to such services. See [i2p.md](https://github.com/bitcoin/bitcoin/blob/22.x/doc/i2p.md) for details. (#20685) + - This release removes support for Tor version 2 hidden services in favor of Tor + v3 only, as the Tor network [dropped support for Tor + v2](https://blog.torproject.org/v2-deprecation-timeline) with the release of + Tor version 0.4.6. Henceforth, Bitcoin Core ignores Tor v2 addresses; it + neither rumors them over the network to other peers, nor stores them in memory + or to `peers.dat`. (#22050) + - Added NAT-PMP port mapping support via + [`libnatpmp`](https://miniupnp.tuxfamily.org/libnatpmp.html). (#18077) + * New and Updated RPCs + - Due to [BIP 350](https://github.com/bitcoin/bips/blob/master/bip-0350.mediawiki) + being implemented, behavior for all RPCs that accept addresses is changed when + a native witness version 1 (or higher) is passed. These now require a Bech32m + encoding instead of a Bech32 one, and Bech32m encoding will be used for such + addresses in RPC output as well. No version 1 addresses should be created + for mainnet until consensus rules are adopted that give them meaning + (as will happen through [BIP 341](https://github.com/bitcoin/bips/blob/master/bip-0341.mediawiki)). + Once that happens, Bech32m is expected to be used for them, so this shouldn't + affect any production systems, but may be observed on other networks where such + addresses already have meaning (like signet). (#20861) + - The `getpeerinfo` RPC returns two new boolean fields, `bip152_hb_to` and + `bip152_hb_from`, that respectively indicate whether we selected a peer to be + in compact blocks high-bandwidth mode or whether a peer selected us as a + compact blocks high-bandwidth peer. High-bandwidth peers send new block + announcements via a `cmpctblock` message rather than the usual inv/headers + announcements. See BIP 152 for more details. (#19776) + - `getpeerinfo` no longer returns the following fields: `addnode`, `banscore`, + and `whitelisted`, which were previously deprecated in 0.21. Instead of + `addnode`, the `connection_type` field returns manual. Instead of + `whitelisted`, the `permissions` field indicates if the peer has special + privileges. The `banscore` field has simply been removed. (#20755) + - The following RPCs: `gettxout`, `getrawtransaction`, `decoderawtransaction`, + `decodescript`, `gettransaction`, and REST endpoints: `/rest/tx`, + `/rest/getutxos`, `/rest/block` deprecated the following fields (which are no + longer returned in the responses by default): `addresses`, `reqSigs`. + The `-deprecatedrpc=addresses` flag must be passed for these fields to be + included in the RPC response. This flag/option will be available only for this major release, after which + the deprecation will be removed entirely. Note that these fields are attributes of + the `scriptPubKey` object returned in the RPC response. However, in the response + of `decodescript` these fields are top-level attributes, and included again as attributes + of the `scriptPubKey` object. (#20286) + - When creating a hex-encoded bitcoin transaction using the `bitcoin-tx` utility + with the `-json` option set, the following fields: `addresses`, `reqSigs` are no longer + returned in the tx output of the response. (#20286) + - The `listbanned` RPC now returns two new numeric fields: `ban_duration` and `time_remaining`. + Respectively, these new fields indicate the duration of a ban and the time remaining until a ban expires, + both in seconds. Additionally, the `ban_created` field is repositioned to come before `banned_until`. (#21602) + - The `setban` RPC can ban onion addresses again. This fixes a regression introduced in version 0.21.0. (#20852) + - The `getnodeaddresses` RPC now returns a "network" field indicating the + network type (ipv4, ipv6, onion, or i2p) for each address. (#21594) + - `getnodeaddresses` now also accepts a "network" argument (ipv4, ipv6, onion, + or i2p) to return only addresses of the specified network. (#21843) + - The `testmempoolaccept` RPC now accepts multiple transactions (still experimental at the moment, + API may be unstable). This is intended for testing transaction packages with dependency + relationships; it is not recommended for batch-validating independent transactions. In addition to + mempool policy, package policies apply: the list cannot contain more than 25 transactions or have a + total size exceeding 101K virtual bytes, and cannot conflict with (spend the same inputs as) each other or + the mempool, even if it would be a valid BIP125 replace-by-fee. There are some known limitations to + the accuracy of the test accept: it's possible for `testmempoolaccept` to return "allowed"=True for a + group of transactions, but "too-long-mempool-chain" if they are actually submitted. (#20833) + - `addmultisigaddress` and `createmultisig` now support up to 20 keys for + Segwit addresses. (#20867) + Changes to Wallet or GUI related RPCs can be found in the GUI or Wallet section below. + + * Build System + - Release binaries are now produced using the new `guix`-based build system. + The [/doc/release-process.md](/doc/release-process.md) document has been updated accordingly. + + * Files + - The list of banned hosts and networks (via `setban` RPC) is now saved on disk + in JSON format in `banlist.json` instead of `banlist.dat`. `banlist.dat` is + only read on startup if `banlist.json` is not present. Changes are only written to the new + `banlist.json`. A future version of Bitcoin Core may completely ignore + `banlist.dat`. (#20966) + + * New settings + - The `-natpmp` option has been added to use NAT-PMP to map the listening port. + If both UPnP and NAT-PMP are enabled, a successful allocation from UPnP + prevails over one from NAT-PMP. (#18077) + + * Updated settings + Changes to Wallet or GUI related settings can be found in the GUI or Wallet section below. + - Passing an invalid `-rpcauth` argument now cause bitcoind to fail to start. (#20461) + + * Tools and Utilities + - A new CLI `-addrinfo` command returns the number of addresses known to the + node per network type (including Tor v2 versus v3) and total. This can be + useful to see if the node knows enough addresses in a network to use options + like `-onlynet=` or to upgrade to this release of Bitcoin Core 22.0 + that supports Tor v3 only. (#21595) + + - A new `-rpcwaittimeout` argument to `bitcoin-cli` sets the timeout + in seconds to use with `-rpcwait`. If the timeout expires, + `bitcoin-cli` will report a failure. (#21056) + + * Wallet + - External signers such as hardware wallets can now be used through the new + RPC methods `enumeratesigners` and `displayaddress`. Support is also added + to the `send` RPC call. This feature is experimental. See + [external-signer.md](https://github.com/bitcoin/bitcoin/blob/22.x/doc/external-signer.md) + for details. (#16546) + - A new `listdescriptors` RPC is available to inspect the contents of descriptor-enabled wallets. + The RPC returns public versions of all imported descriptors, including their timestamp and flags. + For ranged descriptors, it also returns the range boundaries and the next index to generate addresses from. (#20226) + - The `bumpfee` RPC is not available with wallets that have private keys + disabled. `psbtbumpfee` can be used instead. (#20891) + - The `fundrawtransaction`, `send` and `walletcreatefundedpsbt` RPCs now support an `include_unsafe` option + that when `true` allows using unsafe inputs to fund the transaction. + Note that the resulting transaction may become invalid if one of the unsafe inputs disappears. + If that happens, the transaction must be funded with different inputs and republished. (#21359) + - We now support up to 20 keys in `multi()` and `sortedmulti()` descriptors + under `wsh()`. (#20867) + - Taproot descriptors can be imported into the wallet only after activation + has occurred on the network (e.g. mainnet, testnet, signet) in use. See + [descriptors.md](https://github.com/bitcoin/bitcoin/blob/22.x/doc/descriptors.md) + for supported descriptors. + + * GUI changes + - External signers such as hardware wallets can now be used. These require + an external tool such as [HWI](https://github.com/bitcoin-core/HWI) to be + installed and configured under Options -> Wallet. When creating a new + wallet a new option "External signer" will appear in the dialog. If the + device is detected, its name is suggested as the wallet name. The + watch-only keys are then automatically imported. Receive addresses can be + verified on the device. The send dialog will automatically use the + connected device. This feature is experimental and the UI may freeze for + a few seconds when performing these actions. + + * RPC + - The RPC server can process a limited number of simultaneous RPC requests. + Previously, if this limit was exceeded, the RPC server would respond with + [status code 500 (`HTTP_INTERNAL_SERVER_ERROR`)](https://en.wikipedia.org/wiki/List_of_HTTP_status_codes#5xx_server_errors). + Now it returns status code 503 (`HTTP_SERVICE_UNAVAILABLE`). (#18335) + + - Error codes have been updated to be more accurate for the following error cases (#18466): + - `signmessage` now returns RPC_INVALID_ADDRESS_OR_KEY (-5) if the + passed address is invalid. Previously returned RPC_TYPE_ERROR (-3). + - `verifymessage` now returns RPC_INVALID_ADDRESS_OR_KEY (-5) if the + passed address is invalid. Previously returned RPC_TYPE_ERROR (-3). + - `verifymessage` now returns RPC_TYPE_ERROR (-3) if the passed signature + is malformed. Previously returned RPC_INVALID_ADDRESS_OR_KEY (-5). + * See release-notes-22.0.md for complete changelog + +------------------------------------------------------------------- +Mon Jan 24 05:07:54 UTC 2022 - Bernhard Wiedemann + +- Add 24104.patch to fix build with boost-1.78 + +------------------------------------------------------------------- +Wed Oct 20 05:01:40 UTC 2021 - Jiri Slaby + +- Update to version 0.21.2 + * P2P protocol and network code + * use NetPermissions::HasFlag() in CConnman::Bind() + * Rate limit the processing of rumoured addresses + * Wallet + * Do not iterate a directory if having an error while accessing it + * RPC + * Reset scantxoutset progress before inferring descriptors + * Build System + * depends: update Qt 5.9 source url + * Update Windows code signing certificate + * Use custom MacOS code signing tool + * Fix build with Boost 1.77.0 + * Tests and QA + * Build with --enable-werror by default, and document exceptions + * Fix intermittent feature_taproot issue + * Fix macOS brew install command + * add missing ECCVerifyHandle to base_encode_decode + * Run fuzzer task for the master branch only + * GUI + * Do not use QClipboard::Selection on Windows and macOS. + * Remove user input from URI error message + * Draw "eye" sign at the beginning of watch-only addresses + * Miscellaneous + * Fix crash when parsing command line with -noincludeconf=0 + * util: Properly handle -noincludeconf on command line (take 2) + +------------------------------------------------------------------- +Fri Aug 27 07:49:41 UTC 2021 - Johannes Segitz + +- Added hardening to systemd service(s). Added patch(es): + * harden_bitcoind.service.patch + Modified: + * bitcoind.service + +------------------------------------------------------------------- +Fri May 14 10:54:00 UTC 2021 - Ferdinand Thiessen + +- Update to version 0.21.1 + * Consensus: + * Speedy trial support for versionbits + * Speedy trial activation parameters for Taproot + * P2P protocol and network code + * allow CSubNet of non-IP networks + * Avoid UBSan warning in ProcessMessage + * Wallet + * Introduce DeferredSignatureChecker and have + SignatureExtractorClass subclass it + * Avoid requesting fee rates multiple times during coin selection + * RPC and other APIs: + * Disallow sendtoaddress and sendmany when private keys disabled + CVE-2021-3195 + +------------------------------------------------------------------- +Tue Jan 19 08:59:17 UTC 2021 - Martin Pluskal + +- Update to version 0.21.0: + * For full details see release-notes-0.21.0.md + +------------------------------------------------------------------- +Tue Aug 4 08:02:30 UTC 2020 - Paolo Stivanin + +- Update to version 0.20.1 + * Mining + * Fix GBT: Restore "!segwit" and "csv" to "rules" key + * P2P protocol and network code + * Replace automatic bans with discouragement filter + * Wallet + * Handle concurrent wallet loading + * Minimal fix to restore conflicted transaction notifications + * RPC and other APIs + * Increment input value sum only once per UTXO in decodepsbt + * psbt: Increment input value sum only once per UTXO in decodepsbt + * psbt: Include and allow both non_witness_utxo and witness_utxo for segwit inputs + * GUI + * Add missing QPainterPath include + * update Qt base translations for macOS release + * Misc + * util: Don't reference errno when pthread fails + * Fix locking on WSL using flock instead of fcntl +- Remove fix-qpainterpath.patch + +------------------------------------------------------------------- +Fri Jul 24 04:46:06 UTC 2020 - Michel Normand + +- Add 7GB min disk space and change memory setting to physicalmemory + in existing _constraints file + +------------------------------------------------------------------- +Wed Jun 17 11:57:34 UTC 2020 - Paolo Stivanin + +- Add fix-qpainterpath.patch +- Add -fcommon to allow building against GCC10 + +------------------------------------------------------------------- +Fri Jun 12 05:39:25 UTC 2020 - Martin Pluskal + +- Update to version 0.20.0: + * See https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.20.0.md + +------------------------------------------------------------------- +Thu Mar 26 20:57:22 UTC 2020 - Michał Rostecki + +- Fix build on aarch64. + +------------------------------------------------------------------- +Wed Mar 11 13:25:45 UTC 2020 - Michał Rostecki + +- Do not run bitcoind in daemon mode. Running it not as a + background process makes it working properly with journald + (instead of writing logs in /var/log). + +------------------------------------------------------------------- +Mon Mar 9 20:31:46 UTC 2020 - Michał Rostecki + +- Update to version 0.19.1: + * Wallet + * Fix origfee return for bumpfee with feerate arg + * Fix unique_ptr usage in boost::signals2 + * Fix issue with conflicted mempool tx in listsinceblock + * Bug: IsUsedDestination shouldn't use key id as script id for + ScriptHash + * IsUsedDestination should count any known single-key address + * Reset reused transactions cache + * RPC and other APIs + * cli: Fix fatal leveldb error when specifying + -blockfilterindex=basic twice + * require second argument only for scantxoutset start action + * zmq: Fix due to invalid argument and multiple notifiers + * psbt: handle unspendable psbts + * psbt: check that various indexes and amounts are within + bounds + * GUI + * Fix missing qRegisterMetaType for size_t + * disable File->CreateWallet during startup + * Fix comparison function signature + * Fix unintialized WalletView::progressDialog + * Tests and QA + * Appveyor improvement - text file for vcpkg package list + * fix "bitcoind already running" warnings on macOS + * add missing #include to fix compiler errors + * Platform support + * Update msvc build for Visual Studio 2019 v16.4 + * Updates to appveyor config for VS2019 and Qt5.9.8 + msvc + project fixes + * bug-fix macos: give free bytes to F_PREALLOCATE + * Miscellaneous + * init: Stop indexes on shutdown after ChainStateFlushed + callback + * util: Add missing headers to util/fees.cpp + * Unbreak build with Boost 1.72.0 + * scripts: Fix symbol-check & security-check argument passing + * Log to net category for exceptions in ProcessMessages + * Update univalue subtree + +------------------------------------------------------------------- +Wed Dec 4 23:57:17 UTC 2019 - Michał Rostecki + +- Update to version 0.19.0.1: + * New RPCs + + `getbalances` returns an object with all balances + + `setwalletflag` sets and unsets wallet flags that enable or + disable features specific to that existing wallet + + `getblockfilter` fets the BIP158 filter for the specified + block + * New settings + + `-blockfilterindex` enables the creation of BIP158 block + filters for the entire blockchain + * Updated settings + + `whitebind` and `whitelist` now accept a list of permissions + to provide peers connecting using the indicated interfaces or + IP addresses + + Users setting custom `dbcache` values can increase their + setting slightly without using any more real memory + * Updated RPCs + + `sendmany` no longer has a `minconf` argument + + `getbalance` and `sendtoaddress`, plus the new RPCs + `getbalances` and `createwaller`, now accept an `acoid_reuse` + parameter that controls whether already used addresses should + be included in the operation + + RPCs which have an `include_watchonly` argument or + `includeWatching` option now default to true for watch-only + wallets + + `listunspent` now returns a `reused` bool for each output if + the wallet flag `avoid_reuse` is enabled + + `getblockstats` now uses BlockUndo data instead of the + transaction index, making it much faster, no longer dependent + on the `-txindex` configuration option, and functional for + all non-pruned blocks + + `utxoupdatepsbt` now accepts a `descriptors` parameter that + will fill out input and output scripts and keys when known + + `sendrawtransaction` and `testmempoolaccept` no longer accept + a allowhighfees parameter to fail mempool acceptance if the + transaction fee exceeds the value of the configuration option + `-maxtxfee` + + `getmempoolancestors`, `getmempooldescendants`, + `getmempoolentry`, and `getrawmempool` no longer return a + size field unless the configuration option + `-deprecatedrpc=size` is used + + `getwalletinfo` now includes a scanning field that is either + false (no scanning) or an object with information about the + duration and progress of the wallet's scanning historical + blocks for transactions affecting its balances + + `gettransaction` now accepts a third (boolean) argument + `verbose` + + `createwallet` accepts a new passphrase parameter + + `getchaintxstats` RPC now returns the additional key of + `window_final_block_height` + + `getmempoolentry` now provides a weight field containing the + transaction weight as defined in BIP141 + + The `getnetworkinfo` and `getpeerinfo` commands now contain a + new field with decoded network service flags + + `getdescriptorinfo` now returns an additional `checksum` + field containing the checksum for the unmodified descriptor + provided by the user + + `joinpsbts` now shuffles the order of the inputs and outputs + of the resulting joined PSBT + + `walletcreatefundedpsbt` now signals BIP125 Replace-by-Fee if + the -walletrbf configuration option is set to true + * GUI changes + + The GUI wallet now provides bech32 addresses by default. The + user may change the address type during invoice generation + using a GUI toggle, or the default address type may be + changed with the -addresstype configuration option. + + In 0.18.0, a ./configure flag was introduced to allow + disabling BIP70 support in the GUI (support was enabled by + default). In 0.19.0, this flag is now disabled by default. + * P2P changes + + BIP 61 reject messages were deprecated in version 0.18. They + are now disabled by default, but can be enabled by setting + the -enablebip61 command line option. + + To eliminate well-known denial-of-service vectors in Bitcoin + Core, especially for nodes with spinning disks, the default + value for the -peerbloomfilters configuration option has been + changed to false. + + By default, Bitcoin Core will now make two additional + outbound connections that are exclusively used for + block-relay. + * CLI changes + + The testnet field in bitcoin-cli -getinfo has been renamed to + chain and now returns the current network name as defined in + BIP70 +- Fix installation of desktop file + +------------------------------------------------------------------- +Thu Jul 11 15:31:41 UTC 2019 - Martin Pluskal + +- Fix downloaded source + +------------------------------------------------------------------- +Thu Jul 11 11:41:01 UTC 2019 - Andrei Dziahel + +- Update to version 0.18.0 + See release-notes.md for complete list of changes + +------------------------------------------------------------------- +Wed Jul 10 09:51:31 UTC 2019 - matthias.gerstner@suse.com + +- removal of SuSEfirewall2 service, since SuSEfirewall2 has been replaced by + firewalld, see [1]. + + [1]: https://lists.opensuse.org/opensuse-factory/2019-01/msg00490.html + +------------------------------------------------------------------- +Wed Feb 13 15:46:13 UTC 2019 - Andrei Dziahel + +- Update to version 0.17.1 + * `listtransactions` label support + + See release-notes-0.17.1.md for complete changelog +- fix previous entry date + +------------------------------------------------------------------- +Fri Nov 02 09:03:37 UTC 2018 - sean@suspend.net + +- Update to version 0.17.0.1: + * Resolves bcc#14416 Fix OSX dmg issue + * Resolves bcc#14509 doc:use SegWit in getblocktemplate example + +------------------------------------------------------------------- +Wed Oct 3 14:17:09 UTC 2018 - Martin Pluskal + +- Update to version 0.17.0: + * For complete list of changes see: + + release-notes-0.17.0.md + +------------------------------------------------------------------- +Wed Sep 26 07:55:07 UTC 2018 - Martin Pluskal + +- Update to version 0.16.3: + * For complete list of changes see: + + release-notes-0.16.3.md + + release-notes-0.16.2.md +- Resolves bsc#1108992 CVE-2018-17144 + +------------------------------------------------------------------- +Mon Jun 18 07:48:50 UTC 2018 - mpluskal@suse.com + +- Update to version 0.16.1: + * For complete list of changes see release-notes-0.16.1.md + +------------------------------------------------------------------- +Fri Mar 9 12:24:09 UTC 2018 - develop7@develop7.info + +- Update to version 0.16.0 + * Segwit Wallet + * BIP173 (Bech32) Address support ("bc1..." addresses) + * HD-wallets by default + * Replace-By-Fee by default in GUI + * Wallets directory configuration (`-walletdir`) + * Build: Minimum GCC bumped to 4.8.x + * Support for signalling pruned nodes (BIP159) + * Performance: SHA256 assembly enabled by default + * GUI changes + * RPC changes +- Remove bitcoin-boost_1_66.patch + +------------------------------------------------------------------- +Tue Jan 2 21:13:00 UTC 2018 - jengelh@inai.de + +- Trim redundant wording from description. + +------------------------------------------------------------------- +Mon Jan 1 09:39:27 UTC 2018 - mpluskal@suse.com + +- Update to version 0.15.1: + * Network fork safety enhancements + * Miner block size limiting deprecated + * GUI settings backed up on reset + * Duplicate wallets disallowed + * Debug -minimumchainwork argument added + * Low-level RPC changes +- Fix building with current boost: + * bitcoin-boost_1_66.patch + +------------------------------------------------------------------- +Mon Oct 9 09:12:56 UTC 2017 - mpluskal@suse.com + +- Update to version 0.15.0.1: + * Some clients may have crashed at startup because a custom fee + setting was configured that no longer exists in the GUI + * Small translation updates + * update manpages, forgotten in 0.15.0 +- Small specfile cleanup + +------------------------------------------------------------------- +Tue Sep 12 08:44:43 UTC 2017 - mpluskal@suse.com + +- Update to version 0.15.0 + * For a complete list of changes see provided release-notes + +------------------------------------------------------------------- +Mon Jun 19 07:59:38 UTC 2017 - mpluskal@suse.com + +- Update to version 0.14.2 + * For a complete list of changes see provided release-notes + +------------------------------------------------------------------- +Wed May 31 08:13:30 UTC 2017 - mpluskal@suse.com + +- Update to version 0.14.1: + * For a complete list of changes see provided release-notes +- Update unit file + +------------------------------------------------------------------- +Tue Mar 14 13:46:10 UTC 2017 - mpluskal@suse.com + +- Update to version 0.14.0: + * For a complete list of changes see provided release-notes + +------------------------------------------------------------------- +Wed Feb 1 10:00:28 UTC 2017 - adam.majer@suse.de + +- use individual libboost-*-devel packages instead of boost-devel + +------------------------------------------------------------------- +Wed Dec 14 08:01:13 UTC 2016 - mpluskal@suse.com + +- Update to version 0.13.1: + * For a complete list of changes see provided release-notes + +------------------------------------------------------------------- +Sun Sep 18 10:16:30 UTC 2016 - mpluskal@suse.com + +- Speedup build/reduce it's memory consumption by using gold linker + +------------------------------------------------------------------- +Wed Aug 24 14:35:06 UTC 2016 - mpluskal@suse.com + +- Update to version 0.13.0: + * For a complete list of changes see provided release-notes +- Drop upstreamed patch: + * bitcoin_missing_ppc64le_in_ax_boost_base.m4.patch +- Fail build on testsuite failure + +------------------------------------------------------------------- +Mon Jun 20 15:58:45 UTC 2016 - normand@linux.vnet.ibm.com + +- put back still need patch for ppc64le + bitcoin_missing_ppc64le_in_ax_boost_base.m4.patch + (subset of upstream commit id cf5c786) + +------------------------------------------------------------------- +Sat Jun 18 11:17:59 UTC 2016 - mpluskal@suse.com + +- Update test dependencies +- Build with safer ldflags + +------------------------------------------------------------------- +Fri May 27 07:53:02 UTC 2016 - mpluskal@suse.com + +- Remove unnecessary build dependencies + +------------------------------------------------------------------- +Sat Apr 30 08:38:08 UTC 2016 - mpluskal@suse.com + +- Update to 0.12.1 + * For a complete list of changes see provided release-notes +- Drop no longer needed patch + * bitcoin_missing_ppc64le_in_ax_boost_base.m4.patch +- Small spec file polishing + +------------------------------------------------------------------- +Wed Apr 13 06:56:37 UTC 2016 - mpluskal@suse.com + +- Use pretty name for tarball +- Update describtion in .firewall + +------------------------------------------------------------------- +Sun Feb 21 08:24:50 UTC 2016 - mpluskal@suse.com + +- Update to 0.12.0 + * For a complete list of changes see provided release-notes +- Small spec file cleanups + * remove old obsole/provides + * move icon handling scriplets to correct subpackage + +------------------------------------------------------------------- +Wed Dec 9 11:40:17 UTC 2015 - mpluskal@suse.com + +- Update to 0.11.2 + * no upstream changelog provided + +------------------------------------------------------------------- +Fri Nov 13 09:18:31 UTC 2015 - jimmy@boombatower.com + +- Small consistency cleanups. + +------------------------------------------------------------------- +Thu Nov 12 02:32:41 UTC 2015 - jimmy@boombatower.com + +- Refactor spec to allow for easy building of altcoins. + * drop bitcoin-fix-desktop-icon-name.patch + +------------------------------------------------------------------- +Sat Oct 31 09:43:55 UTC 2015 - mpluskal@suse.com + +- Update to 0.11.1 + +------------------------------------------------------------------- +Fri Aug 7 10:17:04 UTC 2015 - normand@linux.vnet.ibm.com + +- new patch for ppc64le build and remove ExcludeArch ppc ppc64 + bitcoin_missing_ppc64le_in_ax_boost_base.m4.patch + +------------------------------------------------------------------- +Sun Jul 12 22:40:07 UTC 2015 - prusnak@opensuse.org + +- Update to 0.11.0 + +------------------------------------------------------------------- +Mon Jun 1 16:41:59 UTC 2015 - mpluskal@suse.com + +- Build as PIC so that building does not fail with recent qt5 +- Move autoreconf to %prep +- Enable verbose build +- Use macro for systemd tmpfiles creation + +------------------------------------------------------------------- +Wed May 27 07:32:16 UTC 2015 - mpluskal@suse.com + +- Update to 0.10.2 +- Correct desktop file handling scriplets and their dependencies + +------------------------------------------------------------------- +Fri May 15 12:13:17 UTC 2015 - mpluskal@suse.com + +- Update to 0.10.1 + * no upstream changelog available + +------------------------------------------------------------------- +Mon Feb 16 13:54:56 UTC 2015 - mpluskal@suse.com + +- Update to 0.10.0: + * Faster synchronization + * new REST interface + * RPC Server “Warm-Up” Mode + * Improved signing security + * Watch-only wallet support + * Consensus library + * Standard script rules relaxed for P2SH addresses + * New tool bitcoin-tx + * Mining and relay policy enhancements + * BIP 66: strict DER encoding for signatures + * for more details see https://bitcoin.org/en/release/v0.10.0 +- New package libbitcoinconsensus +- Rename package bitcoin-cli to bitcoin-tools +- Exclude ppc and ppc64 from being built - bitcoin does not support + big endian. + +------------------------------------------------------------------- +Sat Jan 31 22:54:32 UTC 2015 - mpluskal@suse.com + +- Enable qr support +- Run tests after build + +------------------------------------------------------------------- +Tue Oct 28 14:16:43 UTC 2014 - mpluskal@suse.com + +- Add _constraint due to memory consumption of build +- Decrease verbosity of bitcoind + +------------------------------------------------------------------- +Thu Oct 23 07:54:03 UTC 2014 - mpluskal@suse.com + +- Enable tests +- Split to multiple packages (bitcoind, bitcoin-qt, bitcoin-cli and bitcoin-test) +- Cleanup spec file +- Add unit file and sude .firewall for bitcoind +- Update to 0.9.3: + + RPC: + + * Avoid a segfault on getblock if it can?t read a block from disk + * Add paranoid return value checks in base58 + * Protocol and network code: + + * Don?t poll showmyip.com, it doesn?t exist anymore + * Add a way to limit deserialized string lengths and use it + * Add a new checkpoint at block 295,000 + * Increase IsStandard() scriptSig length + * Avoid querying DNS seeds, if we have open connections + * Remove a useless millisleep in socket handler + * Stricter memory limits on CNode + * Better orphan transaction handling + * Add -maxorphantx= and -maxorphanblocks= options for control over the maximum orphan transactions and blocks + + Wallet: + + * Check redeemScript size does not exceed 520 byte limit + * Ignore (and warn about) too-long redeemScripts while loading wallet + + GUI: + + * fix ?opens in testnet mode when presented with a BIP-72 link with no fallback? + * AvailableCoins: acquire cs_main mutex + * Fix unicode character display on MacOSX + + Miscellaneous: + + * key.cpp: fail with a friendlier message on missing ssl EC support + * Remove bignum dependency for scripts + * Upgrade OpenSSL to 1.0.1i (see https://www.openssl.org/news/secadv_20140806.txt - just to be sure, no critical issues for Bitcoin Core) + * Upgrade miniupnpc to 1.9.20140701 + * Fix boost detection in build system on some platforms + +------------------------------------------------------------------- +Fri Jun 20 20:30:24 UTC 2014 - prusnak@opensuse.org + +- updated to 0.9.2.1 + +------------------------------------------------------------------- +Sat Apr 12 17:31:30 UTC 2014 - malcolmlewis@opensuse.org + +- Updated to version 0.9.1: + + Dependency-only update to build against fixed openssl security + vulnerability (CVE-2014-0160). +- Create new patch bitcoin-fix-desktop-icon-name.patch: Rename + icon in desktop file to remove size reference. +- Allow to build for QT5. +- Add man pages. +- General spec file clean up. +- Drop bitcoin-desktop.patch. + +------------------------------------------------------------------- +Fri Mar 21 16:15:29 UTC 2014 - prusnak@opensuse.org + +- updated to 0.9.0 + +------------------------------------------------------------------- +Mon Dec 9 15:36:33 UTC 2013 - prusnak@opensuse.org + +- updated to 0.8.6 + +------------------------------------------------------------------- +Sat Sep 14 10:06:37 UTC 2013 - prusnak@opensuse.org + +- updated to 0.8.5 + +------------------------------------------------------------------- +Sun Sep 1 10:06:17 UTC 2013 - prusnak@opensuse.org + +- updated to 0.8.4 + +------------------------------------------------------------------- +Tue Jun 25 23:17:54 UTC 2013 - prusnak@opensuse.org + +- updated to 0.8.3 + +------------------------------------------------------------------- +Thu May 30 23:37:13 UTC 2013 - prusnak@opensuse.org + +- updated to 0.8.2 + +------------------------------------------------------------------- +Mon Mar 18 18:21:03 UTC 2013 - prusnak@opensuse.org + +- updated to 0.8.1 + +------------------------------------------------------------------- +Wed Feb 20 01:02:58 UTC 2013 - prusnak@opensuse.org + +- updated to 0.8.0 + +------------------------------------------------------------------- +Fri Dec 14 19:00:14 UTC 2012 - prusnak@opensuse.org + +- updated to 0.7.2 + +------------------------------------------------------------------- +Mon Oct 29 12:44:09 UTC 2012 - prusnak@opensuse.org + +- updated to 0.7.1 + +------------------------------------------------------------------- +Tue Sep 11 14:53:01 UTC 2012 - prusnak@opensuse.org + +- updated to 0.6.3 + +------------------------------------------------------------------- +Sat May 5 14:51:32 UTC 2012 - fisiu@opensuse.org + +- updated to 0.6.1 + +------------------------------------------------------------------- +Mon Apr 2 18:27:01 UTC 2012 - prusnak@opensuse.org + +- updated to 0.6.0 + +------------------------------------------------------------------- +Sat Mar 17 01:03:30 UTC 2012 - prusnak@opensuse.org + +- updated to 0.5.3 + +------------------------------------------------------------------- +Thu Jan 19 14:25:30 UTC 2012 - prusnak@opensuse.org + +- updated to 0.5.2 + +------------------------------------------------------------------- +Thu Dec 22 01:22:02 UTC 2011 - prusnak@opensuse.org + +- updated to 0.5.1 + +------------------------------------------------------------------- +Thu Nov 24 09:55:05 UTC 2011 - prusnak@opensuse.org + +- created package (version 0.5.0) + diff --git a/bitcoin.conf b/bitcoin.conf new file mode 100644 index 0000000..811c43d --- /dev/null +++ b/bitcoin.conf @@ -0,0 +1,144 @@ +## +## bitcoin.conf configuration file. Lines beginning with # are comments. +## + +# Network-related settings: + +# Run on the test network instead of the real bitcoin network. +#testnet=0 + +# Run a regression test network +#regtest=0 + +# Connect via a SOCKS5 proxy +#proxy=127.0.0.1:9050 + +# Bind to given address and always listen on it. Use [host]:port notation for IPv6 +#bind= + +# Bind to given address and whitelist peers connecting to it. Use [host]:port notation for IPv6 +#whitebind= + +############################################################## +## Quick Primer on addnode vs connect ## +## Let's say for instance you use addnode=4.2.2.4 ## +## addnode will connect you to and tell you about the ## +## nodes connected to 4.2.2.4. In addition it will tell ## +## the other nodes connected to it that you exist so ## +## they can connect to you. ## +## connect will not do the above when you 'connect' to it. ## +## It will *only* connect you to 4.2.2.4 and no one else.## +## ## +## So if you're behind a firewall, or have other problems ## +## finding nodes, add some using 'addnode'. ## +## ## +## If you want to stay private, use 'connect' to only ## +## connect to "trusted" nodes. ## +## ## +## If you run multiple nodes on a LAN, there's no need for ## +## all of them to open lots of connections. Instead ## +## 'connect' them all to one node that is port forwarded ## +## and has lots of connections. ## +## Thanks goes to [Noodle] on Freenode. ## +############################################################## + +# Use as many addnode= settings as you like to connect to specific peers +#addnode=69.164.218.197 +#addnode=10.0.0.2:8333 + +# Alternatively use as many connect= settings as you like to connect ONLY to specific peers +#connect=69.164.218.197 +#connect=10.0.0.1:8333 + +# Listening mode, enabled by default except when 'connect' is being used +#listen=1 + +# Maximum number of inbound+outbound connections. +#maxconnections= + +# +# JSON-RPC options (for controlling a running Bitcoin/bitcoind process) +# + +# server=1 tells Bitcoin-Qt and bitcoind to accept JSON-RPC commands +#server=0 + +# Bind to given address to listen for JSON-RPC connections. Use [host]:port notation for IPv6. +# This option can be specified multiple times (default: bind to all interfaces) +#rpcbind= + +# If no rpcpassword is set, rpc cookie auth is sought. The default `-rpccookiefile` name +# is .cookie and found in the `-datadir` being used for bitcoind. This option is typically used +# when the server and client are run as the same user. +# +# If not, you must set rpcuser and rpcpassword to secure the JSON-RPC API. +# +# The config option `rpcauth` can be added to server startup argument. It is set at initialization time +# using the output from the script in share/rpcauth/rpcauth.py after providing a username: +# +# ./share/rpcauth/rpcauth.py alice +# String to be appended to bitcoin.conf: +# rpcauth=alice:f7efda5c189b999524f151318c0c86$d5b51b3beffbc02b724e5d095828e0bc8b2456e9ac8757ae3211a5d9b16a22ae +# Your password: +# DONT_USE_THIS_YOU_WILL_GET_ROBBED_8ak1gI25KFTvjovL3gAM967mies3E= +# +# On client-side, you add the normal user/password pair to send commands: +#rpcuser=alice +#rpcpassword=DONT_USE_THIS_YOU_WILL_GET_ROBBED_8ak1gI25KFTvjovL3gAM967mies3E= +# +# You can even add multiple entries of these to the server conf file, and client can use any of them: +# rpcauth=bob:b2dd077cb54591a2f3139e69a897ac$4e71f08d48b4347cf8eff3815c0e25ae2e9a4340474079f55705f40574f4ec99 + +# How many seconds bitcoin will wait for a complete RPC HTTP request. +# after the HTTP connection is established. +#rpcclienttimeout=30 + +# By default, only RPC connections from localhost are allowed. +# Specify as many rpcallowip= settings as you like to allow connections from other hosts, +# either as a single IPv4/IPv6 or with a subnet specification. + +# NOTE: opening up the RPC port to hosts outside your local trusted network is NOT RECOMMENDED, +# because the rpcpassword is transmitted over the network unencrypted. + +# server=1 tells Bitcoin-Qt to accept JSON-RPC commands. +# it is also read by bitcoind to determine if RPC should be enabled +#rpcallowip=10.1.1.34/255.255.255.0 +#rpcallowip=1.2.3.4/24 +#rpcallowip=2001:db8:85a3:0:0:8a2e:370:7334/96 + +# Listen for RPC connections on this TCP port: +#rpcport=8332 + +# You can use Bitcoin or bitcoind to send commands to Bitcoin/bitcoind +# running on another host using this option: +#rpcconnect=127.0.0.1 + +# Wallet options + +# Create transactions that have enough fees so they are likely to begin confirmation within n blocks (default: 6). +# This setting is over-ridden by the -paytxfee option. +#txconfirmtarget=n + +# Pay a transaction fee every time you send bitcoins. +#paytxfee=0.000x + +# Miscellaneous options + +# Pre-generate this many public/private key pairs, so wallet backups will be valid for +# both prior transactions and several dozen future transactions. +#keypool=100 + +# Enable pruning to reduce storage requirements by deleting old blocks. +# This mode is incompatible with -txindex and -rescan. +# 0 = default (no pruning). +# 1 = allows manual pruning via RPC. +# >=550 = target to stay under in MiB. +#prune=550 + +# User interface options + +# Start Bitcoin minimized +#min=1 + +# Minimize to the system tray +#minimizetotray=1 diff --git a/bitcoin.obsinfo b/bitcoin.obsinfo new file mode 100644 index 0000000..3a5ef09 --- /dev/null +++ b/bitcoin.obsinfo @@ -0,0 +1,4 @@ +name: bitcoin +version: 28.0 +mtime: 1727803802 +commit: 110183746150428e6385880c79f8c5733b1361ba diff --git a/bitcoin.spec b/bitcoin.spec new file mode 100644 index 0000000..fdd2bab --- /dev/null +++ b/bitcoin.spec @@ -0,0 +1,304 @@ +# +# spec file for package bitcoin +# +# Copyright (c) 2025 SUSE LLC +# Copyright (c) 2011-2014 P Rusnak +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +# typical altcoin changes: name, name_pretty, consensus 0, is_base 0 +%define base bitcoin +%define base_pretty Bitcoin +%define name_pretty %{base_pretty} +%define consensus 0 +%define is_base 1 +Name: bitcoin +Version: 28.0 +Release: 0 +Summary: P2P Digital Currency +License: MIT +URL: https://%{name}.org +Source0: %{name}-%{version}.tar.gz +Source1: %{base}d.service +Source3: %{base}d.conf +Source4: %{base}.conf +Patch0: harden_bitcoind.service.patch +BuildRequires: autoconf +BuildRequires: automake +BuildRequires: gcc-c++ +BuildRequires: git +BuildRequires: java-devel +BuildRequires: lcov +BuildRequires: libboost_filesystem-devel >= 1.73.0 +BuildRequires: libboost_program_options-devel >= 1.73.0 +BuildRequires: libboost_system-devel >= 1.73.0 +BuildRequires: libboost_test-devel >= 1.73.0 +BuildRequires: libboost_thread-devel >= 1.73.0 +BuildRequires: libdb-4_8-devel +BuildRequires: libminiupnpc-devel +BuildRequires: libqt5-qtbase-devel +BuildRequires: libtool +BuildRequires: pkgconfig +BuildRequires: systemd-rpm-macros +BuildRequires: pkgconfig(Qt5Designer) +BuildRequires: pkgconfig(Qt5Help) +BuildRequires: pkgconfig(Qt5UiTools) +BuildRequires: pkgconfig(libevent) +BuildRequires: pkgconfig(libqrencode) +BuildRequires: pkgconfig(libzmq) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(protobuf) +BuildRequires: pkgconfig(python3) +BuildRequires: pkgconfig(sqlite3) + +%description +%{name_pretty} 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. + +%package qt5 +Summary: An end-user Qt5 GUI for the %{name_pretty} crypto-currency +Requires(post): update-desktop-files +Requires(postun): update-desktop-files + +%description qt5 +%{name_pretty} 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 %{name_pretty}-Qt, a GUI for %{name_pretty} based on +Qt. + +%package utils +Summary: An end-user CLI for the %{name_pretty} crypto-currency + +%description utils +%{name_pretty} 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 %{name}-cli — a CLI tool to interact with the daemon. + +%if %{consensus} == 1 +%package -n lib%{name}consensus0 +Summary: %{name_pretty} consensus library + +%description -n lib%{name}consensus0 +The purpose of this library is to make the verification functionality that +is critical to %{name_pretty}’s consensus available to other applications, +e.g. to language bindings such as python-%{name}lib or alternative node +implementations. + +%package -n lib%{name}consensus-devel +Summary: Developmont files for %{name} consensus library +Requires: lib%{name}consensus0 = %{version}-%{release} + +%description -n lib%{name}consensus-devel +The purpose of this library is to make the verification functionality that +is critical to %{name_pretty}’s consensus available to other applications, +e.g. to language bindings such as python-%{name}lib or alternative node +implementations. + +This package contains development files. +%endif + +%package -n %{name}d +Summary: Headless daemon for %{name_pretty} crypto-currency +Provides: group(%{name}) +Provides: user(%{name}) + +%description -n %{name}d +%{name_pretty} 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 %{name}d, headless %{name} daemon. + +%package test +Summary: Automated tests for %{name} client + +%description test +%{name_pretty} 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 automated tests for %{name}-qt5 and %{name}d. + +%prep +%autosetup -p1 + +%build +autoreconf -fiv +%configure \ + --with-asm=auto \ + --with-cli=yes \ + --with-daemon=yes \ + --with-gui=qt5 \ + --with-miniupnpc \ + --with-qrencode \ + --with-sqlite=yes \ + --enable-lto \ +%if %{consensus} == 0 + --without-libs \ +%endif + --disable-hardening +%make_build + +%check +%make_build LC_ALL=C.UTF-8 check + +%install +%make_install + +install -Dpm 0644 doc/man/%{name}d.1 %{buildroot}%{_mandir}/man1/%{name}d.1 +install -Dpm 0644 doc/man/%{name}-qt.1 %{buildroot}%{_mandir}/man1/%{name}-qt.1 + +install -Dpm 0644 %{SOURCE4} %{buildroot}%{_sysconfdir}/%{name}/%{name}.conf + +%if !%{is_base} +sed -i "s/%{base}/%{name}/g" %{SOURCE1} +sed -i "s/%{base}/%{name}/g" %{SOURCE2} +sed -i "s/%{base}/%{name}/g" %{SOURCE3} + +sed -i "s/%{base_pretty}/%{name_pretty}/g" %{SOURCE1} +sed -i "s/%{base_pretty}/%{name_pretty}/g" %{SOURCE2} +sed -i "s/%{base_pretty}/%{name_pretty}/g" %{SOURCE3} +%endif + +mkdir -p %{buildroot}/%{_localstatedir}/lib/%{name} + +mkdir %{buildroot}%{_sbindir} +ln -sv %{_sbindir}/service %{buildroot}%{_sbindir}/rc%{name}d +install -Dpm 0644 %{SOURCE1} %{buildroot}/%{_unitdir}/%{name}d.service +install -Dpm 0644 %{SOURCE3} %{buildroot}/%{_tmpfilesdir}/%{name}d.conf + +# install desktop file +install -Dm 0644 share/pixmaps/bitcoin256.png %{buildroot}%{_datadir}/pixmaps/%{name}.png +%suse_update_desktop_file -c %{name}-qt %{name_pretty} "%{name_pretty} Wallet" %{name}-qt %{name} Office Finance + +%if %{consensus} == 1 +# do not ship these +rm -f %{buildroot}%{_libdir}/lib%{name}consensus.a +rm -f %{buildroot}%{_libdir}/lib%{name}consensus.la +%endif + +%post qt5 +%desktop_database_post + +%postun qt5 +%desktop_database_postun + +%if %{consensus} == 1 +%post -n lib%{name}consensus0 -p /sbin/ldconfig +%postun -n lib%{name}consensus0 -p /sbin/ldconfig +%endif + +%pre -n %{name}d +getent group %{name} >/dev/null || groupadd -r %{name} +getent passwd %{name} >/dev/null || useradd -r -g %{name} -d %{_localstatedir}/lib/%{name} -s /sbin/nologin -c "%{name_pretty} daemon" %{name} +%service_add_pre %{name}d.service + +%post -n %{name}d +%service_add_post %{name}d.service +%if 0%{?suse_version} <= 1320 +systemd-tmpfiles --create %{_tmpfilesdir}/%{name}d.conf >/dev/null 2>&1 || : +%else +%tmpfiles_create %{_tmpfilesdir}/%{name}d.conf +%endif + +%preun -n %{name}d +%service_del_preun %{name}d.service + +%postun -n %{name}d +%service_del_postun %{name}d.service + +%files qt5 +%license COPYING +%doc doc/README.md doc/release-notes.md +%{_bindir}/%{name}-qt +%{_datadir}/applications/%{name}-qt.desktop +%{_datadir}/pixmaps/%{name}.png +%{_mandir}/man1/%{name}-qt.1%{?ext_man} + +%files utils +%license COPYING +%doc doc/README.md doc/release-notes.md +%{_bindir}/%{name}-cli +%{_bindir}/%{name}-tx +%{_bindir}/%{name}-wallet +%{_bindir}/%{name}-util +%{_mandir}/man1/%{name}-cli.1%{?ext_man} +%{_mandir}/man1/%{name}-tx.1%{?ext_man} +%{_mandir}/man1/%{name}-wallet.1%{?ext_man} +%{_mandir}/man1/%{name}-util.1%{?ext_man} + +%if %{consensus} == 1 +%files -n lib%{name}consensus0 +%license COPYING +%doc doc/README.md doc/release-notes.md +%{_libdir}/lib%{name}consensus.so.* + +%files -n lib%{name}consensus-devel +%license COPYING +%doc doc/README.md +%{_libdir}/lib%{name}consensus.so +%{_includedir}/%{name}consensus.h +%{_libdir}/pkgconfig/lib%{name}consensus.pc +%endif + +%files -n %{name}d +%license COPYING +%doc doc/README.md doc/release-notes.md +%{_mandir}/man1/%{name}d.1%{?ext_man} +%{_bindir}/%{name}d +%dir %attr(700,%{name},%{name}) %{_var}/lib/%{name} +%dir %{_sysconfdir}/%{name} +%config(noreplace) %{_sysconfdir}/%{name}/%{name}.conf +%{_unitdir}/%{name}d.service +%{_sbindir}/rc%{name}d +%{_tmpfilesdir}/%{name}d.conf + +%files test +%license COPYING +%doc doc/README.md doc/release-notes.md +%{_bindir}/test_%{name} +%{_bindir}/test_%{name}-qt +%{_bindir}/bench_%{name} + +%changelog diff --git a/bitcoind.conf b/bitcoind.conf new file mode 100644 index 0000000..d8d4966 --- /dev/null +++ b/bitcoind.conf @@ -0,0 +1,2 @@ +# create a directory with permissions 0770 owned by user foo and group bar +d /var/run/bitcoin 0770 root bitcoin diff --git a/bitcoind.service b/bitcoind.service new file mode 100644 index 0000000..3d1f536 --- /dev/null +++ b/bitcoind.service @@ -0,0 +1,27 @@ +[Unit] +Description=Bitcoin Daemon +Requires=network.target +After=network.target + +[Service] +# added automatically, for details please see +# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort +ProtectSystem=full +ProtectHome=true +PrivateDevices=true +ProtectHostname=true +ProtectClock=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictRealtime=true +# end of automatic additions +User=bitcoin +PIDFile=/run/bitcoin/bitcoind.pid +ExecStart=/usr/bin/bitcoind -conf=/etc/bitcoin/bitcoin.conf -pid=/run/bitcoin/bitcoind.pid -datadir=/var/lib/bitcoin +ExecReload=/bin/kill -HUP $MAINPID +Restart=on-failure + +[Install] +WantedBy=multi-user.target diff --git a/harden_bitcoind.service.patch b/harden_bitcoind.service.patch new file mode 100644 index 0000000..8c92ff7 --- /dev/null +++ b/harden_bitcoind.service.patch @@ -0,0 +1,21 @@ +Index: bitcoin-24.0.1/contrib/init/bitcoind.service +=================================================================== +--- bitcoin-24.0.1.orig/contrib/init/bitcoind.service ++++ bitcoin-24.0.1/contrib/init/bitcoind.service +@@ -74,6 +74,16 @@ NoNewPrivileges=true + # Use a new /dev namespace only populated with API pseudo devices + # such as /dev/null, /dev/zero and /dev/random. + PrivateDevices=true ++# added automatically, for details please see ++# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort ++ProtectHostname=true ++ProtectClock=true ++ProtectKernelTunables=true ++ProtectKernelModules=true ++ProtectKernelLogs=true ++ProtectControlGroups=true ++RestrictRealtime=true ++# end of automatic additions + + # Deny the creation of writable and executable memory mappings. + MemoryDenyWriteExecute=true