net: Fix -Wmissing-braces - #34090
Conversation
|
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers. Code Coverage & BenchmarksFor details see: https://corecheck.dev/bitcoin/bitcoin/pulls/34090. ReviewsSee the guideline for information on the review process.
If your review is incorrectly listed, please copy-paste ConflictsReviewers, this pull request conflicts with the following ones:
If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first. |
233f976 to
23734ac
Compare
|
https://github.com/bitcoin/bitcoin/actions/runs/20307057596/job/58327346295?pr=34090#step:11:495: net_processing.cpp
netgroup.cpp
D:\a\bitcoin\bitcoin\src\net.cpp(3309,41): error C2440: '<function-style-cast>': cannot convert from 'initializer list' to 'in6_addr' [D:\a\bitcoin\bitcoin\build\src\bitcoin_node.vcxproj]
D:\a\bitcoin\bitcoin\src\net.cpp(3309,41):
'in6_addr::in6_addr': no overloaded function could convert all the argument types
C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared\in6addr.h(30,1):
could be 'in6_addr::in6_addr(in6_addr &&)'
D:\a\bitcoin\bitcoin\src\net.cpp(3309,41):
'in6_addr::in6_addr(in6_addr &&)': cannot convert argument 1 from 'initializer list' to 'in6_addr &&'
D:\a\bitcoin\bitcoin\src\net.cpp(3309,42):
Reason: cannot convert from 'initializer list' to 'in6_addr'
D:\a\bitcoin\bitcoin\src\net.cpp(3309,42):
Invalid aggregate initialization
D:\a\bitcoin\bitcoin\src\net.cpp(3309,42):
'initializing': cannot convert from 'initializer list' to 'UCHAR'
D:\a\bitcoin\bitcoin\src\net.cpp(3309,42):
Too many braces around initializer for 'UCHAR'
C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\shared\in6addr.h(30,1):
or 'in6_addr::in6_addr(const in6_addr &)'
D:\a\bitcoin\bitcoin\src\net.cpp(3309,41):
'in6_addr::in6_addr(const in6_addr &)': cannot convert argument 1 from 'initializer list' to 'const in6_addr &'
D:\a\bitcoin\bitcoin\src\net.cpp(3309,42):
Reason: cannot convert from 'initializer list' to 'const in6_addr'
D:\a\bitcoin\bitcoin\src\net.cpp(3309,42):
Invalid aggregate initialization
D:\a\bitcoin\bitcoin\src\net.cpp(3309,42):
'initializing': cannot convert from 'initializer list' to 'UCHAR'
D:\a\bitcoin\bitcoin\src\net.cpp(3309,42):
Too many braces around initializer for 'UCHAR'
D:\a\bitcoin\bitcoin\src\net.cpp(3309,41):
while trying to match the argument list '(initializer list)' |
b27a944 to
d307567
Compare
d307567 to
f46e3ec
Compare
|
ACK f46e3ec Builds clean, |
|
Would it not make sense to enable |
MSVC has C5246 disabled by default for a reason. It emits tons of false positives: https://github.com/hebasto/bitcoin/actions/runs/21151989194/job/60829717946
This can be handled by a new job in nightly builds. |
|
review ACK f46e3ec 👭 Show signatureSignature: |
|
Friendly ping @vasild :) |
…91030ac8b9e 891030ac8b9e Merge bitcoin/bitcoin#33822: kernel: Add block header support and validation 0871e104a26d Merge bitcoin/bitcoin#34242: Prepare string and net utils for future HTTP operations 1b079becf14d Merge bitcoin/bitcoin#34317: fuzz: Exclude too expensive inputs in descriptor_parse targets cdb42a8df8cd Merge bitcoin/bitcoin#34380: test: Fix P2PK script test 7b48b09b7f77 Merge bitcoin/bitcoin#34376: bench/test: clarify merkle bench and witness test intent fab2f3df4beb fuzz: Exclude too expensive inputs in descriptor_parse targets 1911db8c6dc6 string: add LineReader ee62405cce2b time: implement and test RFC1123 timestamp string eea38787b9be string: add AsciiCaseInsensitive{KeyEqual, Hash} for unordered map 1d8cb78d5b1c Merge bitcoin/bitcoin#34309: guix: stop passing depends sources to codesigning 4e300df7123a string: add `base` argument for ToIntegral to operate on hexadecimal 0b0d9125c19c Modernize GetBindAddress() 7041648ee5bd Merge bitcoin/bitcoin#34375: doc: mempool: fix `removeUnchecked` incorrect comment 9a9d797ef6ed kernel: Add support for block headers 1137debb8530 doc: mempool: fix `removeUnchecked` incorrect comment c9ce1c7c4a12 test: Fix P2PK script test 691dc830c669 Merge bitcoin/bitcoin#34377: test: Rename wallet in restore attempt in wallet_assumeutxo d7fd8c6952f2 Merge bitcoin/bitcoin#34090: net: Fix `-Wmissing-braces` 1fbbdd20cde9 Merge bitcoin/bitcoin#34355: doc: Fix wrong code in WITH_LOCK doxygen comment 9016858282b6 Merge bitcoin/bitcoin#34297: p2p: add validation checks for initial self-announcement e1dc4afeeb6b test: Rename wallet name in restore attempt in wallet_assumeutxo 8b9d30e3facf bench/test: clarify merkle bench and witness test intent 5715748333fe Merge bitcoin/bitcoin#34366: test: switch order of error code and message check 2a1234001c46 Merge bitcoin/bitcoin#34269: wallet: disallow creating new or restoring to an unnamed (default) wallet 3ea2b6fe180e Merge bitcoin/bitcoin#34369: test: Scale NetworkThread close timeout with timeout_factor fab055c907f1 test: Scale NetworkThread close timeout with timeout_factor e324925d1990 Merge bitcoin/bitcoin#34363: Update libmultiprocess subtree to avoid occasional rpc_misc.py timeout fa267551c4ea Merge bitcoin/bitcoin#34353: refactor: Use std::bind_front over std::bind b851ff6cae71 kernel: Add Handle/View pattern for BlockValidationState fa61fadad1c3 doc: Fix wrong code in WITH_LOCK doxygen comment 52096de2121d Merge bitcoin/bitcoin#34032: util: Add some more Unexpected and Expected methods 0aba464ce765 test: switch order of error code and message check 8c07800b193e Merge bitcoin/bitcoin#32497: merkle: pre‑reserve leaves to prevent reallocs with odd vtx count a365c9fe1fc3 Merge bitcoin/bitcoin#33738: log: avoid collecting `GetSerializeSize` data when compact block logging is disabled bc3c4cd8b235 Merge bitcoin/bitcoin#32724: Musig2 tests f7e88e298aed Merge bitcoin/bitcoin#32471: wallet/rpc: fix listdescriptors RPC fails to return descriptors with private key information when wallet contains descriptors missing any key 7f5ebef56a0f Merge bitcoin/bitcoin#34302: fuzz: Restore SendMessages coverage in process_message(s) fuzz targets a6e8cd306eae Merge bitcoin/bitcoin#34310: iwyu: Add missed line to IWYU patch f4413706f9d4 Merge bitcoin/bitcoin#34344: ci: update GitHub Actions versions faa18dceba1d refactor: Use std::bind_front over std::bind c84c752506d7 Merge bitcoin/bitcoin#34319: Drop some `IWYU pragma: export` and document IWYU usage 38f951f8287d Merge bitcoin/bitcoin#34308: doc: Document IWYU workaround ab80588f52b4 Merge bitcoin/bitcoin#34345: clang-format: use AngleBracket for main includes 977be171f2aa Merge bitcoin/bitcoin#34188: test: Add multiple transactions and error handling tests for getreceivedbyaddress 347840164faf Merge bitcoin/bitcoin#32143: Fix 11-year-old mis-categorized error code in OP_IF evaluation 969c840db52d log,blocks: avoid `ComputeTotalSize` and `GetHash` work when logging is disabled babfda332b6a log,net: avoid `ComputeTotalSize` when logging is disabled 1658b8f82b99 refactor: rename `CTransaction::GetTotalSize` to signal that it's not cached 75b704df9d5c wallettool: Disallow creating new unnamed wallets 5875a9c50263 wallet: disallow unnamed wallets in createwallet and restorewallet 0dafc0d83c3e clang-format: use AngleBracket for main includes 03f363d37884 doc: Document IWYU workaround d938947b3a89 doc: Add "Using IWYU" to Developer Notes e1a90bcecc82 iwyu: Do not export `crypto/hex_base.h` header 19a2edde50c3 iwyu: Do not export C++ headers in most cases 9482f00df0b0 chore: Update outdated GitHub Actions versions 898e8d3a2d35 Merge bitcoin/bitcoin#34296: refactor: [move-only] Merge core_io module, remove from libkernel faf07bd1ab26 doc: Fix typo found by LLM faf66673ac60 refactor: [move-only] Merge core_io module fa6947f4915f kernel: Remove unused core_read.cpp from kernel 5e49f5d63c74 Merge bitcoin/bitcoin#33779: ci, iwyu: Fix warnings in `src/kernel` and treat them as errors c57fbbe99d8f Merge bitcoin/bitcoin#31650: refactor: Avoid copies by using const references or by move-construction d45ec3fba905 test: Add getreceivedbyaddress coverage to wallet_listreceivedby 22bde74d1d8f Merge bitcoin-core/gui#924: Show an error message if the restored wallet name is empty 81bf4209e9dc Merge bitcoin/bitcoin#34318: contrib: Revert "verify-commits sha1 exceptions" a5a8c4139c81 ci, iwyu: Fix warnings in `src/kernel` and treat them as errors fa38ffac6ff5 contrib: [refactor] Use shorter read_text from pathlib fab8bc03082d contrib: Revert "verify-commits sha1 exceptions" de509c6df979 iwyu: Add missed line to IWYU patch faa59b367985 util: Add Expected::swap() fabb47e4e3db util: Implement Expected::operator*()&& d94d7b1a4b70 guix: stop passing depends sources to codesigning 0ffb20dee178 Merge bitcoin/bitcoin#34282: qa: Fix Windows logging bug fab9721430aa util: Implement Expected::value()&& and Expected::error()&& fac480095986 util: Add Expected<void, E> specialization fa6575d6c2d2 util: Make Expected::value() throw 697bc7f6a2dc Merge bitcoin/bitcoin#34300: test: use ephemeral ports in p2p_private_broadcast.py 37cb2092777e Merge bitcoin/bitcoin#34238: wallet: remove erroneous-on-reorg Assume() fabf8d1c5bdb fuzz: Restore SendMessages coverage in process_message(s) fuzz targets fac7fed397f0 refactor: Use std::reference_wrapper<AddrMan> in Connman d08c1b3ed934 Merge bitcoin/bitcoin#34288: fuzz: Exclude too expensive inputs in miniscript_string target 6a8dbf9b9352 p2p: add validation check for initial self-announcement baa554f7089d Merge bitcoin/bitcoin#34259: Find minimal chunks in SFL 3e340672ecad test: use ephemeral ports in p2p_private_broadcast.py 9d2b8fddad46 Merge bitcoin/bitcoin#34210: bench: Remove -priority-level= option ae3b5a99f826 Merge bitcoin/bitcoin#34186: test: use dynamic port allocation in proxy tests f4364cedb321 Merge bitcoin/bitcoin#33728: test: Add bitcoin-chainstate test for assumeutxo functionality 80c4c2df3f52 Merge bitcoin/bitcoin#34146: p2p: send first addr self-announcement in separate message 🎄 fa64d8424b8d refactor: Enforce readability-avoid-const-params-in-decls faf0c2d942c8 refactor: Avoid copies by using const references or by move-construction cd0959ce9b7c Merge bitcoin/bitcoin#34185: test: fix `feature_pruning` when built without wallet b0b65336e761 Merge bitcoin/bitcoin#32740: refactor: Header sync optimisations & simplifications fac70ea8b5bb fuzz: Exclude too expensive inputs in miniscript_string target fa9078647860 iwyu: Fix includes for test/fuzz/util/descriptor module c0219f6beaa0 Merge bitcoin/bitcoin#34285: ci: Install `pyzmq` for functional tests on Windows f62568c97cbb ci: Install `pyzmq` for functional tests on Windows 2d380aee43cd Merge bitcoin/bitcoin#34243: doc: validation: fix `PackageMempoolChecks` incorrect comment db6e576710ad Merge bitcoin/bitcoin#34279: test: Fail on self-check warnings in test_runner.py c447eea43d5a Merge bitcoin/bitcoin#34145: test: Add unit test for OP_NUMEQUALVERIFY 979d41bfab24 qa: Fix Windows logging bug 28f70c571bd4 Merge bitcoin/bitcoin#34240: ci: Run feature_unsupported_utxo_db.py on Windows fa2959e16d8c test: Fail on self-check warnings in test_runner.py ac76d94117be Merge bitcoin/bitcoin#34109: refactor: Use uint64_t over size_t for serialize corruption check in fees.dat fa5032f0e4d4 ci: Run feature_unsupported_utxo_db.py on Windows 57350c5352fa Merge bitcoin/bitcoin#34272: psbt: Fix `PSBTInputSignedAndVerified` bounds `assert` 88a7294356e7 Merge bitcoin/bitcoin#34260: contrib: Remove unused functions 8e8d8f29a822 Merge bitcoin/bitcoin#33775: guix: use GCC 14.3.0 over 13.3.0 d20037893ad0 Merge bitcoin/bitcoin#34244: test: Prevent loop from running out of utxos in bip68 test 4aa80c3b5eae Merge bitcoin/bitcoin#34230: fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target 72e0999ddbee Merge bitcoin/bitcoin#34099: test: Improve code coverage for pubkey checks 377c6dbc3ced Merge bitcoin/bitcoin#34224: init: Return EXIT_SUCCESS on interrupt c094a966d6d6 Merge bitcoin/bitcoin#34246: verify-commits: Allow specific commits to allow sha1 c352d3c51cf7 Merge bitcoin/bitcoin#34168: qa: Require `--exclude` for each excluded test d30ad4a9129d wallet, rpc: Use HandleWalletError in createwallet 7fc465ece882 doc: fix incorrect description of `PackageMempoolChecks` 62557c95298d Merge bitcoin/bitcoin#33819: mining: getCoinbase() returns struct instead of raw tx 73d0fe62d3db Merge commit '7562e2aeed95b0dc627e8e3a849941992f0189bb' into pr/subtree-7 7562e2aeed95 Squashed 'src/ipc/libmultiprocess/' changes from a4f92969649..1fc65008f7d 2f5b1c5f8059 psbt: Fix `PSBTInputSignedAndVerified` bounds `assert` fa3df5271232 bench: Require semicolon after BENCHMARK(foo) fa8938f08c9a bench: Remove incorrect __LINE__ in BENCHMARK macro fa51a28a948d scripted-diff: Remove priority_level from BENCHMARK macro fa790c3eeaae bench: Remove -priority-level= option dd904298c13b gui: Show an error message if the restored wallet name is empty 3c8d389a84d2 Merge bitcoin/bitcoin#34249: doc: archive v30.2 release notes 5e98a6a470e3 Merge bitcoin/bitcoin#34266: release note: cpfp carveout removed in 31.0 61726483e1c2 release note: cpfp carveout removed in 31.0 da56ef239b12 clusterlin: minimize chunks (feature) d09a19fd41cb test: add coverage for issue 34206 a0ca851d26f8 Make GetBindAddress() callable from outside net.cpp 796f18e559d6 Merge bitcoin/bitcoin#29415: Broadcast own transactions only via short-lived Tor or I2P connections facaf5621446 contrib: Remove unused functions abc6a3a4eb98 Merge bitcoin/bitcoin#34252: doc: add 433 (Pay to Anchor) to bips.md 44b12cdb11f0 doc: add 433 (Pay to Anchor) to bips.md f664860e52e1 doc: archive v30.2 release notes ce63d37ebee8 test: use dynamic port allocation to avoid test conflicts 8ac134be5e57 contrib: verify-commits sha1 exceptions ab41492c6ba7 test: Prevent loop from running out of utxos in bip68 test aeaa67a9eac0 Merge bitcoin/bitcoin#33428: depends: Boost 1.90.0 1412b779ad0a refactor: execute `PackageMempoolChecks` during package rbf only 4c7cfd37ad95 wallet: remove erroneous-on-reorg Assume() 8fb5e5f41ddf test: check wallet rescan properly in feature_pruning 595504a43209 Merge bitcoin/bitcoin#34236: Add sedited to trusted-keys 5c724f3b0455 Merge bitcoin/bitcoin#34235: miniminer: stop assuming ancestor fees >= self fees 2d87afcf7dff Merge bitcoin/bitcoin#34227: guix: Fix `osslsigncode` tests 7b17fb78fa3a Merge bitcoin/bitcoin#34226: wallet: test: Relative wallet failed migration cleanup eeaf28dbe0e0 wallet: test: Failed migration cleanup 997e7b4d7cf7 init: Fix non-zero code on interrupt d1b227f3ad19 Add sedited to trusted-keys 6c3fb719d1a8 Merge bitcoin-core/gui#921: Remove deprecated "Starting Block" from Peer Detail 2cade5d5d170 [miniminer] stop assuming ancestor fees >= self fees fa8d56f9f092 fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target fabac1b3950e fuzz: Reject some more "expensive" descriptors in the scriptpubkeyman target 194114daf385 guix: Fix `osslsigncode` tests 333333356f43 fuzz: [refactor] Use std::span over FuzzBufferType in descriptor utils 8d5700ab0f12 Merge bitcoin/bitcoin#34221: test: migration, avoid backup name mismatch in default_wallet_failure cbf0bd35bbf3 test: migration, avoid backup name mismatch in default_wallet_failure cd6e4c9235f7 Merge bitcoin/bitcoin#34215: wallettool: fix unnamed createfromdump failure walletsdir deletion 90d651a81f51 Merge bitcoin/bitcoin#34156: wallet: fix unnamed legacy wallet migration failure 9c7e4771b13d test: Test listdescs with priv works even with missing priv keys ed945a685473 walletrpc: reject listdes with priv key on w-only wallets 9e5e9824f11b descriptor: ToPrivateString() pass if at least 1 priv key exists 5c4db25b61d4 descriptor: refactor ToPrivateString for providers 2dc74e3f4e5e wallet/migration: use HavePrivateKeys in place of ToPrivateString e842eb90bb6d descriptors: add HavePrivateKeys() f78f6f1dc8e1 wallettool: do not use fs::remove_all in createfromdump cleanup a9daa6dbd3ae Merge bitcoin/bitcoin#34135: rpc: [wallet] Use unsigned type for tx version in sendall a3c71c720158 [test] Add BIP 328 test vectors for Musig2 b7c34d08dd95 test: coverage for migration failure when last sync is beyond prune height 82caa8193a3e wallet: migration, fix watch-only and solvables wallets names d70b159c4200 wallet: improve post-migration logging f011e0f0680a test: restorewallet, coverage for existing dirs, unnamed wallet and prune failure 36093bde6328 test: add coverage for unnamed wallet migration failure f4c7e28e80bf wallet: fix unnamed wallet migration failure 4ed0693a3f2a wallet: RestoreWallet failure, erase only what was created c60f9cb66ee7 Merge bitcoin/bitcoin#34085: cluster mempool: exploit SFL properties in txgraph 2a746500fa76 ci: migrate some jobs to Debian Trixie, use GCC 14 fb0e6edfe881 guix: Apply SSA generation patch to maintain determinism 34909799fe60 guix: use GCC 14.3.0 over 13.3.0 47be9122a7f5 guix: disable gprofng in GCC ea29329eb706 guix: build GCC with --enable-host-bind-now 6f54e267d01d guix: disable libquadmath in GCC 7735901ed266 guix: disable building libgomp in GCC 114901c0655d Merge bitcoin/bitcoin#34203: doc: p2p: replace last remaining "command" terminology with "message type" d7cbdfa090b2 Merge bitcoin/bitcoin#34204: test: fix intermittent failure in p2p_addr_selfannouncement 301d9eea66ca qt: Remove "Starting Block" from Peer Detail. Following Deprecation in `bitcoin#34197` 0ad4376a49fa Merge bitcoin/bitcoin#33142: test: Run bench sanity checks in parallel with functional tests c267b3a2c695 Merge bitcoin/bitcoin#34197: rpc, net: deprecate `startingheight` field of `getpeerinfo` RPC d6a6afd955b5 Merge bitcoin/bitcoin#34010: psbt: detect invalid MuSig2 pubkeys in deserialization 5b7bf47f9b92 doc: p2p: replace last remaining "command" terminology with "message type" 1808b5aaf7c4 clusterlin: remove unused FixLinearization (cleanup) 34a77138b7a6 txgraph: permit non-topological clusters to defer fixing (optimization) 3380e0cbb59b txgraph: use PostLinearize less prior to linearizing 62dd88624a7f txgraph: drop NEEDS_SPLIT_ACCEPTABLE (simplification) 01ffcf464a46 clusterlin: support fixing linearizations (feature) 755f0900a28a Merge bitcoin/bitcoin#34136: test: Allow mempool_updatefromblock.py to run on 32-bit 5805a8b54083 psbt: detect invalid MuSig2 pubkeys in deserialization 792e2edf57ab p2p: first addr self-announcement in separate msg 31852057ea39 test: fix intermittent failure in p2p_addr_selfannouncement 48f57bb35bbd mining: add new getCoinbaseTx() returning a struct bd4f4782f23b Merge bitcoin/bitcoin#34154: test: Enable ruff E713 lint 4ce3f4a26565 rpc, net: deprecate `startingheight` field of `getpeerinfo` RPC ab233255d444 Merge bitcoin/bitcoin#33866: refactor: Let CCoinsViewCache::BatchWrite return void 2628de7479f0 Merge bitcoin/bitcoin#33135: wallet: warn against accidental unsafe older() import 9b57c8d2bd15 test: fix feature_pruning when built without wallet c631553732f9 Merge bitcoin/bitcoin#34191: doc: archive release notes for v30.1 bd730cb0a1ec doc: archive release notes for v30.1 c5825d4b7fe9 qa: Require `--exclude` for each excluded test 6ed2cf5184fc Merge bitcoin/bitcoin#34169: fuzz: change fuzz runner test_runner.py to be cwd independent fb49d62d8f69 Merge bitcoin/bitcoin#34177: policy/refactor: remove constant parameter from `IsWellFormedPackage` fa65bc0e79da test: Run bench sanity checks in parallel with functional tests fa9fdbce7928 test: Pass bench exe into test framework utils adbb4b320834 Merge bitcoin/bitcoin#34174: doc: update copyright year to 2026 891aed2f7505 Merge bitcoin/bitcoin#34172: Fix intermittent issue in p2p_1p1c_network.py 7590a72a5e17 Merge bitcoin/bitcoin#34182: doc: Update OpenBSD Build Guide a50d7a7929d3 Merge bitcoin/bitcoin#34183: doc: fix double-word typos in comments 2bff9ebeff87 Merge bitcoin/bitcoin#34102: depends: capnp 1.3.0 08ed802babb5 doc: fix double-word typos in comments 84d8c5266254 doc: Update OpenBSD Build Guide 77c9b3c08f5f change test_runner.py to be cwd independent by calling subprocess.run with cwd arg. 658d38106a39 policy: remove constant parameter from `IsWellFormedPackage` b23b901363c5 doc: update copyright year 95ef0fc5e781 test: ensure clean orphanage before continuing 25e84d377202 test: change low fee parents to 0-fee 2bcb3f64648a Merge bitcoin/bitcoin#34112: rpc: [mempool] Remove erroneous Univalue integral casts 7249bcc4f899 Merge bitcoin/bitcoin#34119: contrib: remove `copyright_header.py` 0f6a526f4330 Merge bitcoin/bitcoin#34160: policy: Remove stale rationale paragraph 337b4a23690b Remove stale rationale paragraph fab300b37894 test: Enable ruff E713 lint b7625387569a test: Add unit test for SCRIPT_ERR_NUMEQUALVERIFY 3dd815f048c8 validation: pre-reserve leaves to prevent reallocs with odd vtx count 7fd47e0e5608 bench: make `MerkleRoot` benchmark more representative fac5a1b10a69 test: Allow mempool_updatefromblock.py to run on 32-bit fafbc70d48e1 rpc: [wallet] Use unsigned type for tx version in sendall ba6315d2f6fe contrib: remove copyright_header.py 3e4765ee10a6 scripted-diff: [doc] Unify stale copyright headers fab1f4b800d0 rpc: [mempool] Remove erroneous Univalue integral casts d59b4cdb5772 mining: rename getCoinbaseTx() to ..RawTx() fa1d17d56c83 refactor: Use uint64_t over size_t for serialize corruption check in fees.dat 7b5d256af4a0 test: Add bitcoin-chainstate test for assumeutxo functionality 2bc326564985 Fix `ChainstateManager::AddChainstate()` assertion crash 5f3d6bdb6659 Add regtest support to bitcoin-chainstate tool 719158db5cd5 depends: capnp 1.3.0 6bb66fcccb5b test: Improve code coverage for pubkey checks f46e3ec0f956 net: Fix `-Wmissing-braces` 89372213048a doc: add release notes for 29415 582016fa5f01 test: add unit test for the private broadcast storage e74d54e04896 test: add functional test for private broadcast 818b780a05db rpc: use private broadcast from sendrawtransaction RPC if -privatebroadcast is ON eab595f9cf13 net_processing: retry private broadcast 37b79f9c39db net_processing: stop private broadcast of a transaction after round-trip 2de53eee742d net_processing: handle ConnectionType::PRIVATE_BROADCAST connections 30a9853ad353 net_processing: move a debug check in VERACK processing earlier d1092e5d48ce net_processing: modernize PushNodeVersion() 9937a12a2fd5 net_processing: move the debug log about receiving VERSION earlier a098f37b9e24 net_processing: reorder the code that handles the VERSION message 679ce3a0b8df net_processing: store transactions for private broadcast in PeerManager a3faa6f944a6 node: extend node::TxBroadcast with a 3rd option 95c051e21051 net_processing: rename RelayTransaction() to better describe what it does bb49d26032c5 net: implement opening PRIVATE_BROADCAST connections 01dad4efe2b3 net: introduce a new connection type for private broadcast 94aaa5d31b6f init: introduce a new option to enable/disable private broadcast d6ee490e0a9a log: introduce a new category for private broadcast 6da6f503a6dd refactor: Let CCoinsViewCache::BatchWrite return void f0a218310874 test: adjust `ComputeMerkleRoot` tests fa1de1103fe5 util: Add Unexpected::error() faa109f8be7f test: refactor: Use BOOST_CHECK_EQUAL over BOOST_CHECK == fad4a9fe2b8d Set bugprone-unused-return-value.AllowCastToVoid ca4a844eed48 depends: Boost 1.90.0 76c092ff8058 wallet: warn against accidental unsafe older() import 592157b75946 test: move SEQUENCE_LOCKTIME flags to script de4242f47476 refactor: Use reference for chain_start in HeadersSyncState e37555e5401f refactor: Use initializer list in CompressedHeader 0488bdfefe92 refactor: Remove unused parameter in ReportHeadersPresync 256246a9fa5b refactor: Remove redundant parameter from CheckHeadersPoW ca0243e3a6d7 refactor: Remove useless CBlock::GetBlockHeader 456865222245 refactor: Use std::span in HasValidProofOfWork 4066bfe561a4 refactor: Compute work from headers without CBlockIndex 0bf6139e194f p2p: Avoid an IsAncestorOfBestHeaderOrTip call a7b581423e44 Fix 11-year-old mis-categorized error code in OP_IF evaluation git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 891030ac8b9e3f91084a9c8e0d8d9a158a2bbf93
…b8c204275aa 5b8c204275aa Merge bitcoin/bitcoin#34384: Remove epoch logic from mempool 891030ac8b9e Merge bitcoin/bitcoin#33822: kernel: Add block header support and validation 0871e104a26d Merge bitcoin/bitcoin#34242: Prepare string and net utils for future HTTP operations 1b079becf14d Merge bitcoin/bitcoin#34317: fuzz: Exclude too expensive inputs in descriptor_parse targets cdb42a8df8cd Merge bitcoin/bitcoin#34380: test: Fix P2PK script test 40735450c00b Remove unused epochguard.h 1a8494d16c7b Rework CTxMemPool::GetChildren() to not use epochs 7b48b09b7f77 Merge bitcoin/bitcoin#34376: bench/test: clarify merkle bench and witness test intent fab2f3df4beb fuzz: Exclude too expensive inputs in descriptor_parse targets 1911db8c6dc6 string: add LineReader ee62405cce2b time: implement and test RFC1123 timestamp string eea38787b9be string: add AsciiCaseInsensitive{KeyEqual, Hash} for unordered map 1d8cb78d5b1c Merge bitcoin/bitcoin#34309: guix: stop passing depends sources to codesigning 4e300df7123a string: add `base` argument for ToIntegral to operate on hexadecimal 0b0d9125c19c Modernize GetBindAddress() 7041648ee5bd Merge bitcoin/bitcoin#34375: doc: mempool: fix `removeUnchecked` incorrect comment 9a9d797ef6ed kernel: Add support for block headers 1137debb8530 doc: mempool: fix `removeUnchecked` incorrect comment c9ce1c7c4a12 test: Fix P2PK script test 691dc830c669 Merge bitcoin/bitcoin#34377: test: Rename wallet in restore attempt in wallet_assumeutxo d7fd8c6952f2 Merge bitcoin/bitcoin#34090: net: Fix `-Wmissing-braces` 1fbbdd20cde9 Merge bitcoin/bitcoin#34355: doc: Fix wrong code in WITH_LOCK doxygen comment 9016858282b6 Merge bitcoin/bitcoin#34297: p2p: add validation checks for initial self-announcement e1dc4afeeb6b test: Rename wallet name in restore attempt in wallet_assumeutxo 8b9d30e3facf bench/test: clarify merkle bench and witness test intent 5715748333fe Merge bitcoin/bitcoin#34366: test: switch order of error code and message check 2a1234001c46 Merge bitcoin/bitcoin#34269: wallet: disallow creating new or restoring to an unnamed (default) wallet 3ea2b6fe180e Merge bitcoin/bitcoin#34369: test: Scale NetworkThread close timeout with timeout_factor fab055c907f1 test: Scale NetworkThread close timeout with timeout_factor e324925d1990 Merge bitcoin/bitcoin#34363: Update libmultiprocess subtree to avoid occasional rpc_misc.py timeout fa267551c4ea Merge bitcoin/bitcoin#34353: refactor: Use std::bind_front over std::bind b851ff6cae71 kernel: Add Handle/View pattern for BlockValidationState fa61fadad1c3 doc: Fix wrong code in WITH_LOCK doxygen comment 52096de2121d Merge bitcoin/bitcoin#34032: util: Add some more Unexpected and Expected methods 0aba464ce765 test: switch order of error code and message check 8c07800b193e Merge bitcoin/bitcoin#32497: merkle: pre‑reserve leaves to prevent reallocs with odd vtx count a365c9fe1fc3 Merge bitcoin/bitcoin#33738: log: avoid collecting `GetSerializeSize` data when compact block logging is disabled bc3c4cd8b235 Merge bitcoin/bitcoin#32724: Musig2 tests f7e88e298aed Merge bitcoin/bitcoin#32471: wallet/rpc: fix listdescriptors RPC fails to return descriptors with private key information when wallet contains descriptors missing any key 7f5ebef56a0f Merge bitcoin/bitcoin#34302: fuzz: Restore SendMessages coverage in process_message(s) fuzz targets a6e8cd306eae Merge bitcoin/bitcoin#34310: iwyu: Add missed line to IWYU patch f4413706f9d4 Merge bitcoin/bitcoin#34344: ci: update GitHub Actions versions faa18dceba1d refactor: Use std::bind_front over std::bind c84c752506d7 Merge bitcoin/bitcoin#34319: Drop some `IWYU pragma: export` and document IWYU usage 38f951f8287d Merge bitcoin/bitcoin#34308: doc: Document IWYU workaround ab80588f52b4 Merge bitcoin/bitcoin#34345: clang-format: use AngleBracket for main includes 977be171f2aa Merge bitcoin/bitcoin#34188: test: Add multiple transactions and error handling tests for getreceivedbyaddress 347840164faf Merge bitcoin/bitcoin#32143: Fix 11-year-old mis-categorized error code in OP_IF evaluation 969c840db52d log,blocks: avoid `ComputeTotalSize` and `GetHash` work when logging is disabled babfda332b6a log,net: avoid `ComputeTotalSize` when logging is disabled 1658b8f82b99 refactor: rename `CTransaction::GetTotalSize` to signal that it's not cached 75b704df9d5c wallettool: Disallow creating new unnamed wallets 5875a9c50263 wallet: disallow unnamed wallets in createwallet and restorewallet 0dafc0d83c3e clang-format: use AngleBracket for main includes 03f363d37884 doc: Document IWYU workaround d938947b3a89 doc: Add "Using IWYU" to Developer Notes e1a90bcecc82 iwyu: Do not export `crypto/hex_base.h` header 19a2edde50c3 iwyu: Do not export C++ headers in most cases 9482f00df0b0 chore: Update outdated GitHub Actions versions 898e8d3a2d35 Merge bitcoin/bitcoin#34296: refactor: [move-only] Merge core_io module, remove from libkernel faf07bd1ab26 doc: Fix typo found by LLM faf66673ac60 refactor: [move-only] Merge core_io module fa6947f4915f kernel: Remove unused core_read.cpp from kernel 5e49f5d63c74 Merge bitcoin/bitcoin#33779: ci, iwyu: Fix warnings in `src/kernel` and treat them as errors c57fbbe99d8f Merge bitcoin/bitcoin#31650: refactor: Avoid copies by using const references or by move-construction d45ec3fba905 test: Add getreceivedbyaddress coverage to wallet_listreceivedby 22bde74d1d8f Merge bitcoin-core/gui#924: Show an error message if the restored wallet name is empty 81bf4209e9dc Merge bitcoin/bitcoin#34318: contrib: Revert "verify-commits sha1 exceptions" a5a8c4139c81 ci, iwyu: Fix warnings in `src/kernel` and treat them as errors fa38ffac6ff5 contrib: [refactor] Use shorter read_text from pathlib fab8bc03082d contrib: Revert "verify-commits sha1 exceptions" de509c6df979 iwyu: Add missed line to IWYU patch faa59b367985 util: Add Expected::swap() fabb47e4e3db util: Implement Expected::operator*()&& d94d7b1a4b70 guix: stop passing depends sources to codesigning 0ffb20dee178 Merge bitcoin/bitcoin#34282: qa: Fix Windows logging bug fab9721430aa util: Implement Expected::value()&& and Expected::error()&& fac480095986 util: Add Expected<void, E> specialization fa6575d6c2d2 util: Make Expected::value() throw 697bc7f6a2dc Merge bitcoin/bitcoin#34300: test: use ephemeral ports in p2p_private_broadcast.py 37cb2092777e Merge bitcoin/bitcoin#34238: wallet: remove erroneous-on-reorg Assume() fabf8d1c5bdb fuzz: Restore SendMessages coverage in process_message(s) fuzz targets fac7fed397f0 refactor: Use std::reference_wrapper<AddrMan> in Connman d08c1b3ed934 Merge bitcoin/bitcoin#34288: fuzz: Exclude too expensive inputs in miniscript_string target 6a8dbf9b9352 p2p: add validation check for initial self-announcement baa554f7089d Merge bitcoin/bitcoin#34259: Find minimal chunks in SFL 3e340672ecad test: use ephemeral ports in p2p_private_broadcast.py 9d2b8fddad46 Merge bitcoin/bitcoin#34210: bench: Remove -priority-level= option ae3b5a99f826 Merge bitcoin/bitcoin#34186: test: use dynamic port allocation in proxy tests f4364cedb321 Merge bitcoin/bitcoin#33728: test: Add bitcoin-chainstate test for assumeutxo functionality 80c4c2df3f52 Merge bitcoin/bitcoin#34146: p2p: send first addr self-announcement in separate message 🎄 fa64d8424b8d refactor: Enforce readability-avoid-const-params-in-decls faf0c2d942c8 refactor: Avoid copies by using const references or by move-construction cd0959ce9b7c Merge bitcoin/bitcoin#34185: test: fix `feature_pruning` when built without wallet b0b65336e761 Merge bitcoin/bitcoin#32740: refactor: Header sync optimisations & simplifications fac70ea8b5bb fuzz: Exclude too expensive inputs in miniscript_string target fa9078647860 iwyu: Fix includes for test/fuzz/util/descriptor module c0219f6beaa0 Merge bitcoin/bitcoin#34285: ci: Install `pyzmq` for functional tests on Windows f62568c97cbb ci: Install `pyzmq` for functional tests on Windows 2d380aee43cd Merge bitcoin/bitcoin#34243: doc: validation: fix `PackageMempoolChecks` incorrect comment db6e576710ad Merge bitcoin/bitcoin#34279: test: Fail on self-check warnings in test_runner.py c447eea43d5a Merge bitcoin/bitcoin#34145: test: Add unit test for OP_NUMEQUALVERIFY 979d41bfab24 qa: Fix Windows logging bug 28f70c571bd4 Merge bitcoin/bitcoin#34240: ci: Run feature_unsupported_utxo_db.py on Windows fa2959e16d8c test: Fail on self-check warnings in test_runner.py ac76d94117be Merge bitcoin/bitcoin#34109: refactor: Use uint64_t over size_t for serialize corruption check in fees.dat fa5032f0e4d4 ci: Run feature_unsupported_utxo_db.py on Windows 57350c5352fa Merge bitcoin/bitcoin#34272: psbt: Fix `PSBTInputSignedAndVerified` bounds `assert` 88a7294356e7 Merge bitcoin/bitcoin#34260: contrib: Remove unused functions 8e8d8f29a822 Merge bitcoin/bitcoin#33775: guix: use GCC 14.3.0 over 13.3.0 d20037893ad0 Merge bitcoin/bitcoin#34244: test: Prevent loop from running out of utxos in bip68 test 4aa80c3b5eae Merge bitcoin/bitcoin#34230: fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target 72e0999ddbee Merge bitcoin/bitcoin#34099: test: Improve code coverage for pubkey checks 377c6dbc3ced Merge bitcoin/bitcoin#34224: init: Return EXIT_SUCCESS on interrupt c094a966d6d6 Merge bitcoin/bitcoin#34246: verify-commits: Allow specific commits to allow sha1 c352d3c51cf7 Merge bitcoin/bitcoin#34168: qa: Require `--exclude` for each excluded test d30ad4a9129d wallet, rpc: Use HandleWalletError in createwallet 7fc465ece882 doc: fix incorrect description of `PackageMempoolChecks` 62557c95298d Merge bitcoin/bitcoin#33819: mining: getCoinbase() returns struct instead of raw tx 73d0fe62d3db Merge commit '7562e2aeed95b0dc627e8e3a849941992f0189bb' into pr/subtree-7 7562e2aeed95 Squashed 'src/ipc/libmultiprocess/' changes from a4f92969649..1fc65008f7d 2f5b1c5f8059 psbt: Fix `PSBTInputSignedAndVerified` bounds `assert` fa3df5271232 bench: Require semicolon after BENCHMARK(foo) fa8938f08c9a bench: Remove incorrect __LINE__ in BENCHMARK macro fa51a28a948d scripted-diff: Remove priority_level from BENCHMARK macro fa790c3eeaae bench: Remove -priority-level= option dd904298c13b gui: Show an error message if the restored wallet name is empty 3c8d389a84d2 Merge bitcoin/bitcoin#34249: doc: archive v30.2 release notes 5e98a6a470e3 Merge bitcoin/bitcoin#34266: release note: cpfp carveout removed in 31.0 61726483e1c2 release note: cpfp carveout removed in 31.0 da56ef239b12 clusterlin: minimize chunks (feature) d09a19fd41cb test: add coverage for issue 34206 a0ca851d26f8 Make GetBindAddress() callable from outside net.cpp 796f18e559d6 Merge bitcoin/bitcoin#29415: Broadcast own transactions only via short-lived Tor or I2P connections facaf5621446 contrib: Remove unused functions abc6a3a4eb98 Merge bitcoin/bitcoin#34252: doc: add 433 (Pay to Anchor) to bips.md 44b12cdb11f0 doc: add 433 (Pay to Anchor) to bips.md f664860e52e1 doc: archive v30.2 release notes ce63d37ebee8 test: use dynamic port allocation to avoid test conflicts 8ac134be5e57 contrib: verify-commits sha1 exceptions ab41492c6ba7 test: Prevent loop from running out of utxos in bip68 test aeaa67a9eac0 Merge bitcoin/bitcoin#33428: depends: Boost 1.90.0 1412b779ad0a refactor: execute `PackageMempoolChecks` during package rbf only 4c7cfd37ad95 wallet: remove erroneous-on-reorg Assume() 8fb5e5f41ddf test: check wallet rescan properly in feature_pruning 595504a43209 Merge bitcoin/bitcoin#34236: Add sedited to trusted-keys 5c724f3b0455 Merge bitcoin/bitcoin#34235: miniminer: stop assuming ancestor fees >= self fees 2d87afcf7dff Merge bitcoin/bitcoin#34227: guix: Fix `osslsigncode` tests 7b17fb78fa3a Merge bitcoin/bitcoin#34226: wallet: test: Relative wallet failed migration cleanup eeaf28dbe0e0 wallet: test: Failed migration cleanup 997e7b4d7cf7 init: Fix non-zero code on interrupt d1b227f3ad19 Add sedited to trusted-keys 6c3fb719d1a8 Merge bitcoin-core/gui#921: Remove deprecated "Starting Block" from Peer Detail 2cade5d5d170 [miniminer] stop assuming ancestor fees >= self fees fa8d56f9f092 fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target fabac1b3950e fuzz: Reject some more "expensive" descriptors in the scriptpubkeyman target 194114daf385 guix: Fix `osslsigncode` tests 333333356f43 fuzz: [refactor] Use std::span over FuzzBufferType in descriptor utils 8d5700ab0f12 Merge bitcoin/bitcoin#34221: test: migration, avoid backup name mismatch in default_wallet_failure cbf0bd35bbf3 test: migration, avoid backup name mismatch in default_wallet_failure cd6e4c9235f7 Merge bitcoin/bitcoin#34215: wallettool: fix unnamed createfromdump failure walletsdir deletion 90d651a81f51 Merge bitcoin/bitcoin#34156: wallet: fix unnamed legacy wallet migration failure 9c7e4771b13d test: Test listdescs with priv works even with missing priv keys ed945a685473 walletrpc: reject listdes with priv key on w-only wallets 9e5e9824f11b descriptor: ToPrivateString() pass if at least 1 priv key exists 5c4db25b61d4 descriptor: refactor ToPrivateString for providers 2dc74e3f4e5e wallet/migration: use HavePrivateKeys in place of ToPrivateString e842eb90bb6d descriptors: add HavePrivateKeys() f78f6f1dc8e1 wallettool: do not use fs::remove_all in createfromdump cleanup a9daa6dbd3ae Merge bitcoin/bitcoin#34135: rpc: [wallet] Use unsigned type for tx version in sendall a3c71c720158 [test] Add BIP 328 test vectors for Musig2 b7c34d08dd95 test: coverage for migration failure when last sync is beyond prune height 82caa8193a3e wallet: migration, fix watch-only and solvables wallets names d70b159c4200 wallet: improve post-migration logging f011e0f0680a test: restorewallet, coverage for existing dirs, unnamed wallet and prune failure 36093bde6328 test: add coverage for unnamed wallet migration failure f4c7e28e80bf wallet: fix unnamed wallet migration failure 4ed0693a3f2a wallet: RestoreWallet failure, erase only what was created c60f9cb66ee7 Merge bitcoin/bitcoin#34085: cluster mempool: exploit SFL properties in txgraph 2a746500fa76 ci: migrate some jobs to Debian Trixie, use GCC 14 fb0e6edfe881 guix: Apply SSA generation patch to maintain determinism 34909799fe60 guix: use GCC 14.3.0 over 13.3.0 47be9122a7f5 guix: disable gprofng in GCC ea29329eb706 guix: build GCC with --enable-host-bind-now 6f54e267d01d guix: disable libquadmath in GCC 7735901ed266 guix: disable building libgomp in GCC 114901c0655d Merge bitcoin/bitcoin#34203: doc: p2p: replace last remaining "command" terminology with "message type" d7cbdfa090b2 Merge bitcoin/bitcoin#34204: test: fix intermittent failure in p2p_addr_selfannouncement 301d9eea66ca qt: Remove "Starting Block" from Peer Detail. Following Deprecation in `bitcoin#34197` 0ad4376a49fa Merge bitcoin/bitcoin#33142: test: Run bench sanity checks in parallel with functional tests c267b3a2c695 Merge bitcoin/bitcoin#34197: rpc, net: deprecate `startingheight` field of `getpeerinfo` RPC d6a6afd955b5 Merge bitcoin/bitcoin#34010: psbt: detect invalid MuSig2 pubkeys in deserialization 5b7bf47f9b92 doc: p2p: replace last remaining "command" terminology with "message type" 1808b5aaf7c4 clusterlin: remove unused FixLinearization (cleanup) 34a77138b7a6 txgraph: permit non-topological clusters to defer fixing (optimization) 3380e0cbb59b txgraph: use PostLinearize less prior to linearizing 62dd88624a7f txgraph: drop NEEDS_SPLIT_ACCEPTABLE (simplification) 01ffcf464a46 clusterlin: support fixing linearizations (feature) 755f0900a28a Merge bitcoin/bitcoin#34136: test: Allow mempool_updatefromblock.py to run on 32-bit 5805a8b54083 psbt: detect invalid MuSig2 pubkeys in deserialization 792e2edf57ab p2p: first addr self-announcement in separate msg 31852057ea39 test: fix intermittent failure in p2p_addr_selfannouncement 48f57bb35bbd mining: add new getCoinbaseTx() returning a struct bd4f4782f23b Merge bitcoin/bitcoin#34154: test: Enable ruff E713 lint 4ce3f4a26565 rpc, net: deprecate `startingheight` field of `getpeerinfo` RPC ab233255d444 Merge bitcoin/bitcoin#33866: refactor: Let CCoinsViewCache::BatchWrite return void 2628de7479f0 Merge bitcoin/bitcoin#33135: wallet: warn against accidental unsafe older() import 9b57c8d2bd15 test: fix feature_pruning when built without wallet c631553732f9 Merge bitcoin/bitcoin#34191: doc: archive release notes for v30.1 bd730cb0a1ec doc: archive release notes for v30.1 c5825d4b7fe9 qa: Require `--exclude` for each excluded test 6ed2cf5184fc Merge bitcoin/bitcoin#34169: fuzz: change fuzz runner test_runner.py to be cwd independent fb49d62d8f69 Merge bitcoin/bitcoin#34177: policy/refactor: remove constant parameter from `IsWellFormedPackage` fa65bc0e79da test: Run bench sanity checks in parallel with functional tests fa9fdbce7928 test: Pass bench exe into test framework utils adbb4b320834 Merge bitcoin/bitcoin#34174: doc: update copyright year to 2026 891aed2f7505 Merge bitcoin/bitcoin#34172: Fix intermittent issue in p2p_1p1c_network.py 7590a72a5e17 Merge bitcoin/bitcoin#34182: doc: Update OpenBSD Build Guide a50d7a7929d3 Merge bitcoin/bitcoin#34183: doc: fix double-word typos in comments 2bff9ebeff87 Merge bitcoin/bitcoin#34102: depends: capnp 1.3.0 08ed802babb5 doc: fix double-word typos in comments 84d8c5266254 doc: Update OpenBSD Build Guide 77c9b3c08f5f change test_runner.py to be cwd independent by calling subprocess.run with cwd arg. 658d38106a39 policy: remove constant parameter from `IsWellFormedPackage` b23b901363c5 doc: update copyright year 95ef0fc5e781 test: ensure clean orphanage before continuing 25e84d377202 test: change low fee parents to 0-fee 2bcb3f64648a Merge bitcoin/bitcoin#34112: rpc: [mempool] Remove erroneous Univalue integral casts 7249bcc4f899 Merge bitcoin/bitcoin#34119: contrib: remove `copyright_header.py` 0f6a526f4330 Merge bitcoin/bitcoin#34160: policy: Remove stale rationale paragraph 337b4a23690b Remove stale rationale paragraph fab300b37894 test: Enable ruff E713 lint b7625387569a test: Add unit test for SCRIPT_ERR_NUMEQUALVERIFY 3dd815f048c8 validation: pre-reserve leaves to prevent reallocs with odd vtx count 7fd47e0e5608 bench: make `MerkleRoot` benchmark more representative fac5a1b10a69 test: Allow mempool_updatefromblock.py to run on 32-bit fafbc70d48e1 rpc: [wallet] Use unsigned type for tx version in sendall ba6315d2f6fe contrib: remove copyright_header.py 3e4765ee10a6 scripted-diff: [doc] Unify stale copyright headers fab1f4b800d0 rpc: [mempool] Remove erroneous Univalue integral casts d59b4cdb5772 mining: rename getCoinbaseTx() to ..RawTx() fa1d17d56c83 refactor: Use uint64_t over size_t for serialize corruption check in fees.dat 7b5d256af4a0 test: Add bitcoin-chainstate test for assumeutxo functionality 2bc326564985 Fix `ChainstateManager::AddChainstate()` assertion crash 5f3d6bdb6659 Add regtest support to bitcoin-chainstate tool 719158db5cd5 depends: capnp 1.3.0 6bb66fcccb5b test: Improve code coverage for pubkey checks f46e3ec0f956 net: Fix `-Wmissing-braces` 89372213048a doc: add release notes for 29415 582016fa5f01 test: add unit test for the private broadcast storage e74d54e04896 test: add functional test for private broadcast 818b780a05db rpc: use private broadcast from sendrawtransaction RPC if -privatebroadcast is ON eab595f9cf13 net_processing: retry private broadcast 37b79f9c39db net_processing: stop private broadcast of a transaction after round-trip 2de53eee742d net_processing: handle ConnectionType::PRIVATE_BROADCAST connections 30a9853ad353 net_processing: move a debug check in VERACK processing earlier d1092e5d48ce net_processing: modernize PushNodeVersion() 9937a12a2fd5 net_processing: move the debug log about receiving VERSION earlier a098f37b9e24 net_processing: reorder the code that handles the VERSION message 679ce3a0b8df net_processing: store transactions for private broadcast in PeerManager a3faa6f944a6 node: extend node::TxBroadcast with a 3rd option 95c051e21051 net_processing: rename RelayTransaction() to better describe what it does bb49d26032c5 net: implement opening PRIVATE_BROADCAST connections 01dad4efe2b3 net: introduce a new connection type for private broadcast 94aaa5d31b6f init: introduce a new option to enable/disable private broadcast d6ee490e0a9a log: introduce a new category for private broadcast 6da6f503a6dd refactor: Let CCoinsViewCache::BatchWrite return void f0a218310874 test: adjust `ComputeMerkleRoot` tests fa1de1103fe5 util: Add Unexpected::error() faa109f8be7f test: refactor: Use BOOST_CHECK_EQUAL over BOOST_CHECK == fad4a9fe2b8d Set bugprone-unused-return-value.AllowCastToVoid ca4a844eed48 depends: Boost 1.90.0 76c092ff8058 wallet: warn against accidental unsafe older() import 592157b75946 test: move SEQUENCE_LOCKTIME flags to script de4242f47476 refactor: Use reference for chain_start in HeadersSyncState e37555e5401f refactor: Use initializer list in CompressedHeader 0488bdfefe92 refactor: Remove unused parameter in ReportHeadersPresync 256246a9fa5b refactor: Remove redundant parameter from CheckHeadersPoW ca0243e3a6d7 refactor: Remove useless CBlock::GetBlockHeader 456865222245 refactor: Use std::span in HasValidProofOfWork 4066bfe561a4 refactor: Compute work from headers without CBlockIndex 0bf6139e194f p2p: Avoid an IsAncestorOfBestHeaderOrTip call a7b581423e44 Fix 11-year-old mis-categorized error code in OP_IF evaluation git-subtree-dir: libbitcoinkernel-sys/bitcoin git-subtree-split: 5b8c204275aa1335fe9c336a2bd1d397b49a8ac6
8593d965191e Merge bitcoin/bitcoin#33067: test: refactor ValidWitnessMalleatedTx class to helper function 34a5ecadd720 Merge bitcoin/bitcoin#34397: doc: fix arg name hints so bugprone can validate them 1cc58d3a0c65 Merge bitcoin/bitcoin#34281: build: Temporarily remove confusing and brittle `-fdebug-prefix-map` 2778eb46647a Merge bitcoin/bitcoin#34337: fuzz: Return chrono point from ConsumeTime(), Add ConsumeDuration() d70fb8a5754f Merge bitcoin/bitcoin#34351: util: Remove `FilterHeaderHasher` 6472ba06c36a Merge bitcoin/bitcoin#34388: doc: Explain that low-effort pull requests may be closed 5f66fca633c8 Merge bitcoin-core/gui#920: Set peer version and subversion to N/A when not available or detecting 02240a7698e3 Merge bitcoin/bitcoin#34390: test: allow overriding `tar` in `get_previous_releases.py` a73a3ec5532d doc: fix invalid arg name hints for bugprone validation 5b8c204275aa Merge bitcoin/bitcoin#34384: Remove epoch logic from mempool eeee3755f8c4 fuzz: Return chrono point from ConsumeTime(), Add ConsumeDuration() fa15a8d2d03b doc: Explain that low-effort pull requests may be closed be2b48b9f3e5 test: allow overriding tar in get_previous_releases 891030ac8b9e Merge bitcoin/bitcoin#33822: kernel: Add block header support and validation 0871e104a26d Merge bitcoin/bitcoin#34242: Prepare string and net utils for future HTTP operations 1b079becf14d Merge bitcoin/bitcoin#34317: fuzz: Exclude too expensive inputs in descriptor_parse targets cdb42a8df8cd Merge bitcoin/bitcoin#34380: test: Fix P2PK script test 40735450c00b Remove unused epochguard.h 1a8494d16c7b Rework CTxMemPool::GetChildren() to not use epochs 7b48b09b7f77 Merge bitcoin/bitcoin#34376: bench/test: clarify merkle bench and witness test intent fab2f3df4beb fuzz: Exclude too expensive inputs in descriptor_parse targets 1911db8c6dc6 string: add LineReader ee62405cce2b time: implement and test RFC1123 timestamp string eea38787b9be string: add AsciiCaseInsensitive{KeyEqual, Hash} for unordered map 1d8cb78d5b1c Merge bitcoin/bitcoin#34309: guix: stop passing depends sources to codesigning 4e300df7123a string: add `base` argument for ToIntegral to operate on hexadecimal 0b0d9125c19c Modernize GetBindAddress() 7041648ee5bd Merge bitcoin/bitcoin#34375: doc: mempool: fix `removeUnchecked` incorrect comment 9a9d797ef6ed kernel: Add support for block headers 1137debb8530 doc: mempool: fix `removeUnchecked` incorrect comment c9ce1c7c4a12 test: Fix P2PK script test 691dc830c669 Merge bitcoin/bitcoin#34377: test: Rename wallet in restore attempt in wallet_assumeutxo d7fd8c6952f2 Merge bitcoin/bitcoin#34090: net: Fix `-Wmissing-braces` 1fbbdd20cde9 Merge bitcoin/bitcoin#34355: doc: Fix wrong code in WITH_LOCK doxygen comment 9016858282b6 Merge bitcoin/bitcoin#34297: p2p: add validation checks for initial self-announcement e1dc4afeeb6b test: Rename wallet name in restore attempt in wallet_assumeutxo 8b9d30e3facf bench/test: clarify merkle bench and witness test intent 5715748333fe Merge bitcoin/bitcoin#34366: test: switch order of error code and message check 2a1234001c46 Merge bitcoin/bitcoin#34269: wallet: disallow creating new or restoring to an unnamed (default) wallet 3ea2b6fe180e Merge bitcoin/bitcoin#34369: test: Scale NetworkThread close timeout with timeout_factor fab055c907f1 test: Scale NetworkThread close timeout with timeout_factor e324925d1990 Merge bitcoin/bitcoin#34363: Update libmultiprocess subtree to avoid occasional rpc_misc.py timeout fa267551c4ea Merge bitcoin/bitcoin#34353: refactor: Use std::bind_front over std::bind b851ff6cae71 kernel: Add Handle/View pattern for BlockValidationState fa61fadad1c3 doc: Fix wrong code in WITH_LOCK doxygen comment 52096de2121d Merge bitcoin/bitcoin#34032: util: Add some more Unexpected and Expected methods 0aba464ce765 test: switch order of error code and message check 3f5211cba8e7 test: remove child_one/child_two (w)txid variables 7cfe790820cf test: replace ValidWitnessMalleatedTx class with function 8c07800b193e Merge bitcoin/bitcoin#32497: merkle: pre‑reserve leaves to prevent reallocs with odd vtx count a365c9fe1fc3 Merge bitcoin/bitcoin#33738: log: avoid collecting `GetSerializeSize` data when compact block logging is disabled bc3c4cd8b235 Merge bitcoin/bitcoin#32724: Musig2 tests f7e88e298aed Merge bitcoin/bitcoin#32471: wallet/rpc: fix listdescriptors RPC fails to return descriptors with private key information when wallet contains descriptors missing any key ccf9172ab3bb util: Remove `FilterHeaderHasher` 7f5ebef56a0f Merge bitcoin/bitcoin#34302: fuzz: Restore SendMessages coverage in process_message(s) fuzz targets a6e8cd306eae Merge bitcoin/bitcoin#34310: iwyu: Add missed line to IWYU patch f4413706f9d4 Merge bitcoin/bitcoin#34344: ci: update GitHub Actions versions faa18dceba1d refactor: Use std::bind_front over std::bind 81675a781f3a test: use pre-generated chain 969c840db52d log,blocks: avoid `ComputeTotalSize` and `GetHash` work when logging is disabled babfda332b6a log,net: avoid `ComputeTotalSize` when logging is disabled 1658b8f82b99 refactor: rename `CTransaction::GetTotalSize` to signal that it's not cached 75b704df9d5c wallettool: Disallow creating new unnamed wallets 5875a9c50263 wallet: disallow unnamed wallets in createwallet and restorewallet 9482f00df0b0 chore: Update outdated GitHub Actions versions faa5a9ebad15 fuzz: Use min option in ConsumeTime de509c6df979 iwyu: Add missed line to IWYU patch faa59b367985 util: Add Expected::swap() fabb47e4e3db util: Implement Expected::operator*()&& d94d7b1a4b70 guix: stop passing depends sources to codesigning fab9721430aa util: Implement Expected::value()&& and Expected::error()&& fac480095986 util: Add Expected<void, E> specialization fa6575d6c2d2 util: Make Expected::value() throw fabf8d1c5bdb fuzz: Restore SendMessages coverage in process_message(s) fuzz targets fac7fed397f0 refactor: Use std::reference_wrapper<AddrMan> in Connman 6a8dbf9b9352 p2p: add validation check for initial self-announcement fa37928536e0 build: Temporarily remove confusing and brittle -fdebug-prefix-map d30ad4a9129d wallet, rpc: Use HandleWalletError in createwallet 73d0fe62d3db Merge commit '7562e2aeed95b0dc627e8e3a849941992f0189bb' into pr/subtree-7 7562e2aeed95 Squashed 'src/ipc/libmultiprocess/' changes from a4f92969649..1fc65008f7d a0ca851d26f8 Make GetBindAddress() callable from outside net.cpp 9c7e4771b13d test: Test listdescs with priv works even with missing priv keys ed945a685473 walletrpc: reject listdes with priv key on w-only wallets 9e5e9824f11b descriptor: ToPrivateString() pass if at least 1 priv key exists 5c4db25b61d4 descriptor: refactor ToPrivateString for providers 2dc74e3f4e5e wallet/migration: use HavePrivateKeys in place of ToPrivateString e842eb90bb6d descriptors: add HavePrivateKeys() a3c71c720158 [test] Add BIP 328 test vectors for Musig2 3dd815f048c8 validation: pre-reserve leaves to prevent reallocs with odd vtx count 7fd47e0e5608 bench: make `MerkleRoot` benchmark more representative b261100e7169 [qt] Set peer version and subversion to N/A when not available or detecting f46e3ec0f956 net: Fix `-Wmissing-braces` f0a218310874 test: adjust `ComputeMerkleRoot` tests fa1de1103fe5 util: Add Unexpected::error() faa109f8be7f test: refactor: Use BOOST_CHECK_EQUAL over BOOST_CHECK == fad4a9fe2b8d Set bugprone-unused-return-value.AllowCastToVoid git-subtree-dir: depend/bitcoin git-subtree-split: 8593d965191e1c0860614dec122e02ac2f91d031
891030ac8b Merge bitcoin/bitcoin#33822: kernel: Add block header support and validation 0871e104a2 Merge bitcoin/bitcoin#34242: Prepare string and net utils for future HTTP operations 1b079becf1 Merge bitcoin/bitcoin#34317: fuzz: Exclude too expensive inputs in descriptor_parse targets cdb42a8df8 Merge bitcoin/bitcoin#34380: test: Fix P2PK script test 7b48b09b7f Merge bitcoin/bitcoin#34376: bench/test: clarify merkle bench and witness test intent fab2f3df4b fuzz: Exclude too expensive inputs in descriptor_parse targets 1911db8c6d string: add LineReader ee62405cce time: implement and test RFC1123 timestamp string eea38787b9 string: add AsciiCaseInsensitive{KeyEqual, Hash} for unordered map 1d8cb78d5b Merge bitcoin/bitcoin#34309: guix: stop passing depends sources to codesigning 4e300df712 string: add `base` argument for ToIntegral to operate on hexadecimal 0b0d9125c1 Modernize GetBindAddress() 7041648ee5 Merge bitcoin/bitcoin#34375: doc: mempool: fix `removeUnchecked` incorrect comment 9a9d797ef6 kernel: Add support for block headers 1137debb85 doc: mempool: fix `removeUnchecked` incorrect comment c9ce1c7c4a test: Fix P2PK script test 691dc830c6 Merge bitcoin/bitcoin#34377: test: Rename wallet in restore attempt in wallet_assumeutxo d7fd8c6952 Merge bitcoin/bitcoin#34090: net: Fix `-Wmissing-braces` 1fbbdd20cd Merge bitcoin/bitcoin#34355: doc: Fix wrong code in WITH_LOCK doxygen comment 9016858282 Merge bitcoin/bitcoin#34297: p2p: add validation checks for initial self-announcement e1dc4afeeb test: Rename wallet name in restore attempt in wallet_assumeutxo 8b9d30e3fa bench/test: clarify merkle bench and witness test intent 5715748333 Merge bitcoin/bitcoin#34366: test: switch order of error code and message check 2a1234001c Merge bitcoin/bitcoin#34269: wallet: disallow creating new or restoring to an unnamed (default) wallet 3ea2b6fe18 Merge bitcoin/bitcoin#34369: test: Scale NetworkThread close timeout with timeout_factor fab055c907 test: Scale NetworkThread close timeout with timeout_factor e324925d19 Merge bitcoin/bitcoin#34363: Update libmultiprocess subtree to avoid occasional rpc_misc.py timeout fa267551c4 Merge bitcoin/bitcoin#34353: refactor: Use std::bind_front over std::bind b851ff6cae kernel: Add Handle/View pattern for BlockValidationState fa61fadad1 doc: Fix wrong code in WITH_LOCK doxygen comment 52096de212 Merge bitcoin/bitcoin#34032: util: Add some more Unexpected and Expected methods 0aba464ce7 test: switch order of error code and message check 8c07800b19 Merge bitcoin/bitcoin#32497: merkle: pre‑reserve leaves to prevent reallocs with odd vtx count a365c9fe1f Merge bitcoin/bitcoin#33738: log: avoid collecting `GetSerializeSize` data when compact block logging is disabled bc3c4cd8b2 Merge bitcoin/bitcoin#32724: Musig2 tests f7e88e298a Merge bitcoin/bitcoin#32471: wallet/rpc: fix listdescriptors RPC fails to return descriptors with private key information when wallet contains descriptors missing any key 7f5ebef56a Merge bitcoin/bitcoin#34302: fuzz: Restore SendMessages coverage in process_message(s) fuzz targets a6e8cd306e Merge bitcoin/bitcoin#34310: iwyu: Add missed line to IWYU patch f4413706f9 Merge bitcoin/bitcoin#34344: ci: update GitHub Actions versions faa18dceba refactor: Use std::bind_front over std::bind c84c752506 Merge bitcoin/bitcoin#34319: Drop some `IWYU pragma: export` and document IWYU usage 38f951f828 Merge bitcoin/bitcoin#34308: doc: Document IWYU workaround ab80588f52 Merge bitcoin/bitcoin#34345: clang-format: use AngleBracket for main includes 977be171f2 Merge bitcoin/bitcoin#34188: test: Add multiple transactions and error handling tests for getreceivedbyaddress 347840164f Merge bitcoin/bitcoin#32143: Fix 11-year-old mis-categorized error code in OP_IF evaluation 969c840db5 log,blocks: avoid `ComputeTotalSize` and `GetHash` work when logging is disabled babfda332b log,net: avoid `ComputeTotalSize` when logging is disabled 1658b8f82b refactor: rename `CTransaction::GetTotalSize` to signal that it's not cached 75b704df9d wallettool: Disallow creating new unnamed wallets 5875a9c502 wallet: disallow unnamed wallets in createwallet and restorewallet 0dafc0d83c clang-format: use AngleBracket for main includes 03f363d378 doc: Document IWYU workaround d938947b3a doc: Add "Using IWYU" to Developer Notes e1a90bcecc iwyu: Do not export `crypto/hex_base.h` header 19a2edde50 iwyu: Do not export C++ headers in most cases 9482f00df0 chore: Update outdated GitHub Actions versions 898e8d3a2d Merge bitcoin/bitcoin#34296: refactor: [move-only] Merge core_io module, remove from libkernel faf07bd1ab doc: Fix typo found by LLM faf66673ac refactor: [move-only] Merge core_io module fa6947f491 kernel: Remove unused core_read.cpp from kernel 5e49f5d63c Merge bitcoin/bitcoin#33779: ci, iwyu: Fix warnings in `src/kernel` and treat them as errors c57fbbe99d Merge bitcoin/bitcoin#31650: refactor: Avoid copies by using const references or by move-construction d45ec3fba9 test: Add getreceivedbyaddress coverage to wallet_listreceivedby 22bde74d1d Merge bitcoin-core/gui#924: Show an error message if the restored wallet name is empty 81bf4209e9 Merge bitcoin/bitcoin#34318: contrib: Revert "verify-commits sha1 exceptions" a5a8c4139c ci, iwyu: Fix warnings in `src/kernel` and treat them as errors fa38ffac6f contrib: [refactor] Use shorter read_text from pathlib fab8bc0308 contrib: Revert "verify-commits sha1 exceptions" de509c6df9 iwyu: Add missed line to IWYU patch faa59b3679 util: Add Expected::swap() fabb47e4e3 util: Implement Expected::operator*()&& d94d7b1a4b guix: stop passing depends sources to codesigning 0ffb20dee1 Merge bitcoin/bitcoin#34282: qa: Fix Windows logging bug fab9721430 util: Implement Expected::value()&& and Expected::error()&& fac4800959 util: Add Expected<void, E> specialization fa6575d6c2 util: Make Expected::value() throw 697bc7f6a2 Merge bitcoin/bitcoin#34300: test: use ephemeral ports in p2p_private_broadcast.py 37cb209277 Merge bitcoin/bitcoin#34238: wallet: remove erroneous-on-reorg Assume() fabf8d1c5b fuzz: Restore SendMessages coverage in process_message(s) fuzz targets fac7fed397 refactor: Use std::reference_wrapper<AddrMan> in Connman d08c1b3ed9 Merge bitcoin/bitcoin#34288: fuzz: Exclude too expensive inputs in miniscript_string target 6a8dbf9b93 p2p: add validation check for initial self-announcement baa554f708 Merge bitcoin/bitcoin#34259: Find minimal chunks in SFL 3e340672ec test: use ephemeral ports in p2p_private_broadcast.py 9d2b8fddad Merge bitcoin/bitcoin#34210: bench: Remove -priority-level= option ae3b5a99f8 Merge bitcoin/bitcoin#34186: test: use dynamic port allocation in proxy tests f4364cedb3 Merge bitcoin/bitcoin#33728: test: Add bitcoin-chainstate test for assumeutxo functionality 80c4c2df3f Merge bitcoin/bitcoin#34146: p2p: send first addr self-announcement in separate message 🎄 fa64d8424b refactor: Enforce readability-avoid-const-params-in-decls faf0c2d942 refactor: Avoid copies by using const references or by move-construction cd0959ce9b Merge bitcoin/bitcoin#34185: test: fix `feature_pruning` when built without wallet b0b65336e7 Merge bitcoin/bitcoin#32740: refactor: Header sync optimisations & simplifications fac70ea8b5 fuzz: Exclude too expensive inputs in miniscript_string target fa90786478 iwyu: Fix includes for test/fuzz/util/descriptor module c0219f6bea Merge bitcoin/bitcoin#34285: ci: Install `pyzmq` for functional tests on Windows f62568c97c ci: Install `pyzmq` for functional tests on Windows 2d380aee43 Merge bitcoin/bitcoin#34243: doc: validation: fix `PackageMempoolChecks` incorrect comment db6e576710 Merge bitcoin/bitcoin#34279: test: Fail on self-check warnings in test_runner.py c447eea43d Merge bitcoin/bitcoin#34145: test: Add unit test for OP_NUMEQUALVERIFY 979d41bfab qa: Fix Windows logging bug 28f70c571b Merge bitcoin/bitcoin#34240: ci: Run feature_unsupported_utxo_db.py on Windows fa2959e16d test: Fail on self-check warnings in test_runner.py ac76d94117 Merge bitcoin/bitcoin#34109: refactor: Use uint64_t over size_t for serialize corruption check in fees.dat fa5032f0e4 ci: Run feature_unsupported_utxo_db.py on Windows 57350c5352 Merge bitcoin/bitcoin#34272: psbt: Fix `PSBTInputSignedAndVerified` bounds `assert` 88a7294356 Merge bitcoin/bitcoin#34260: contrib: Remove unused functions 8e8d8f29a8 Merge bitcoin/bitcoin#33775: guix: use GCC 14.3.0 over 13.3.0 d20037893a Merge bitcoin/bitcoin#34244: test: Prevent loop from running out of utxos in bip68 test 4aa80c3b5e Merge bitcoin/bitcoin#34230: fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target 72e0999ddb Merge bitcoin/bitcoin#34099: test: Improve code coverage for pubkey checks 377c6dbc3c Merge bitcoin/bitcoin#34224: init: Return EXIT_SUCCESS on interrupt c094a966d6 Merge bitcoin/bitcoin#34246: verify-commits: Allow specific commits to allow sha1 c352d3c51c Merge bitcoin/bitcoin#34168: qa: Require `--exclude` for each excluded test d30ad4a912 wallet, rpc: Use HandleWalletError in createwallet 7fc465ece8 doc: fix incorrect description of `PackageMempoolChecks` 62557c9529 Merge bitcoin/bitcoin#33819: mining: getCoinbase() returns struct instead of raw tx 73d0fe62d3 Merge commit '7562e2aeed95b0dc627e8e3a849941992f0189bb' into pr/subtree-7 7562e2aeed Squashed 'src/ipc/libmultiprocess/' changes from a4f92969649..1fc65008f7d 2f5b1c5f80 psbt: Fix `PSBTInputSignedAndVerified` bounds `assert` fa3df52712 bench: Require semicolon after BENCHMARK(foo) fa8938f08c bench: Remove incorrect __LINE__ in BENCHMARK macro fa51a28a94 scripted-diff: Remove priority_level from BENCHMARK macro fa790c3eea bench: Remove -priority-level= option dd904298c1 gui: Show an error message if the restored wallet name is empty 3c8d389a84 Merge bitcoin/bitcoin#34249: doc: archive v30.2 release notes 5e98a6a470 Merge bitcoin/bitcoin#34266: release note: cpfp carveout removed in 31.0 61726483e1 release note: cpfp carveout removed in 31.0 da56ef239b clusterlin: minimize chunks (feature) d09a19fd41 test: add coverage for issue 34206 a0ca851d26 Make GetBindAddress() callable from outside net.cpp 796f18e559 Merge bitcoin/bitcoin#29415: Broadcast own transactions only via short-lived Tor or I2P connections facaf56214 contrib: Remove unused functions abc6a3a4eb Merge bitcoin/bitcoin#34252: doc: add 433 (Pay to Anchor) to bips.md 44b12cdb11 doc: add 433 (Pay to Anchor) to bips.md f664860e52 doc: archive v30.2 release notes ce63d37ebe test: use dynamic port allocation to avoid test conflicts 8ac134be5e contrib: verify-commits sha1 exceptions ab41492c6b test: Prevent loop from running out of utxos in bip68 test aeaa67a9ea Merge bitcoin/bitcoin#33428: depends: Boost 1.90.0 1412b779ad refactor: execute `PackageMempoolChecks` during package rbf only 4c7cfd37ad wallet: remove erroneous-on-reorg Assume() 8fb5e5f41d test: check wallet rescan properly in feature_pruning 595504a432 Merge bitcoin/bitcoin#34236: Add sedited to trusted-keys 5c724f3b04 Merge bitcoin/bitcoin#34235: miniminer: stop assuming ancestor fees >= self fees 2d87afcf7d Merge bitcoin/bitcoin#34227: guix: Fix `osslsigncode` tests 7b17fb78fa Merge bitcoin/bitcoin#34226: wallet: test: Relative wallet failed migration cleanup eeaf28dbe0 wallet: test: Failed migration cleanup 997e7b4d7c init: Fix non-zero code on interrupt d1b227f3ad Add sedited to trusted-keys 6c3fb719d1 Merge bitcoin-core/gui#921: Remove deprecated "Starting Block" from Peer Detail 2cade5d5d1 [miniminer] stop assuming ancestor fees >= self fees fa8d56f9f0 fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target fabac1b395 fuzz: Reject some more "expensive" descriptors in the scriptpubkeyman target 194114daf3 guix: Fix `osslsigncode` tests 333333356f fuzz: [refactor] Use std::span over FuzzBufferType in descriptor utils 8d5700ab0f Merge bitcoin/bitcoin#34221: test: migration, avoid backup name mismatch in default_wallet_failure cbf0bd35bb test: migration, avoid backup name mismatch in default_wallet_failure cd6e4c9235 Merge bitcoin/bitcoin#34215: wallettool: fix unnamed createfromdump failure walletsdir deletion 90d651a81f Merge bitcoin/bitcoin#34156: wallet: fix unnamed legacy wallet migration failure 9c7e4771b1 test: Test listdescs with priv works even with missing priv keys ed945a6854 walletrpc: reject listdes with priv key on w-only wallets 9e5e9824f1 descriptor: ToPrivateString() pass if at least 1 priv key exists 5c4db25b61 descriptor: refactor ToPrivateString for providers 2dc74e3f4e wallet/migration: use HavePrivateKeys in place of ToPrivateString e842eb90bb descriptors: add HavePrivateKeys() f78f6f1dc8 wallettool: do not use fs::remove_all in createfromdump cleanup a9daa6dbd3 Merge bitcoin/bitcoin#34135: rpc: [wallet] Use unsigned type for tx version in sendall a3c71c7201 [test] Add BIP 328 test vectors for Musig2 b7c34d08dd test: coverage for migration failure when last sync is beyond prune height 82caa8193a wallet: migration, fix watch-only and solvables wallets names d70b159c42 wallet: improve post-migration logging f011e0f068 test: restorewallet, coverage for existing dirs, unnamed wallet and prune failure 36093bde63 test: add coverage for unnamed wallet migration failure f4c7e28e80 wallet: fix unnamed wallet migration failure 4ed0693a3f wallet: RestoreWallet failure, erase only what was created c60f9cb66e Merge bitcoin/bitcoin#34085: cluster mempool: exploit SFL properties in txgraph 2a746500fa ci: migrate some jobs to Debian Trixie, use GCC 14 fb0e6edfe8 guix: Apply SSA generation patch to maintain determinism 34909799fe guix: use GCC 14.3.0 over 13.3.0 47be9122a7 guix: disable gprofng in GCC ea29329eb7 guix: build GCC with --enable-host-bind-now 6f54e267d0 guix: disable libquadmath in GCC 7735901ed2 guix: disable building libgomp in GCC 114901c065 Merge bitcoin/bitcoin#34203: doc: p2p: replace last remaining "command" terminology with "message type" d7cbdfa090 Merge bitcoin/bitcoin#34204: test: fix intermittent failure in p2p_addr_selfannouncement 301d9eea66 qt: Remove "Starting Block" from Peer Detail. Following Deprecation in `bitcoin#34197` 0ad4376a49 Merge bitcoin/bitcoin#33142: test: Run bench sanity checks in parallel with functional tests c267b3a2c6 Merge bitcoin/bitcoin#34197: rpc, net: deprecate `startingheight` field of `getpeerinfo` RPC d6a6afd955 Merge bitcoin/bitcoin#34010: psbt: detect invalid MuSig2 pubkeys in deserialization 5b7bf47f9b doc: p2p: replace last remaining "command" terminology with "message type" 1808b5aaf7 clusterlin: remove unused FixLinearization (cleanup) 34a77138b7 txgraph: permit non-topological clusters to defer fixing (optimization) 3380e0cbb5 txgraph: use PostLinearize less prior to linearizing 62dd88624a txgraph: drop NEEDS_SPLIT_ACCEPTABLE (simplification) 01ffcf464a clusterlin: support fixing linearizations (feature) 755f0900a2 Merge bitcoin/bitcoin#34136: test: Allow mempool_updatefromblock.py to run on 32-bit 5805a8b540 psbt: detect invalid MuSig2 pubkeys in deserialization 792e2edf57 p2p: first addr self-announcement in separate msg 31852057ea test: fix intermittent failure in p2p_addr_selfannouncement 48f57bb35b mining: add new getCoinbaseTx() returning a struct bd4f4782f2 Merge bitcoin/bitcoin#34154: test: Enable ruff E713 lint 4ce3f4a265 rpc, net: deprecate `startingheight` field of `getpeerinfo` RPC ab233255d4 Merge bitcoin/bitcoin#33866: refactor: Let CCoinsViewCache::BatchWrite return void 2628de7479 Merge bitcoin/bitcoin#33135: wallet: warn against accidental unsafe older() import 9b57c8d2bd test: fix feature_pruning when built without wallet c631553732 Merge bitcoin/bitcoin#34191: doc: archive release notes for v30.1 bd730cb0a1 doc: archive release notes for v30.1 c5825d4b7f qa: Require `--exclude` for each excluded test 6ed2cf5184 Merge bitcoin/bitcoin#34169: fuzz: change fuzz runner test_runner.py to be cwd independent fb49d62d8f Merge bitcoin/bitcoin#34177: policy/refactor: remove constant parameter from `IsWellFormedPackage` fa65bc0e79 test: Run bench sanity checks in parallel with functional tests fa9fdbce79 test: Pass bench exe into test framework utils adbb4b3208 Merge bitcoin/bitcoin#34174: doc: update copyright year to 2026 891aed2f75 Merge bitcoin/bitcoin#34172: Fix intermittent issue in p2p_1p1c_network.py 7590a72a5e Merge bitcoin/bitcoin#34182: doc: Update OpenBSD Build Guide a50d7a7929 Merge bitcoin/bitcoin#34183: doc: fix double-word typos in comments 2bff9ebeff Merge bitcoin/bitcoin#34102: depends: capnp 1.3.0 08ed802bab doc: fix double-word typos in comments 84d8c52662 doc: Update OpenBSD Build Guide 77c9b3c08f change test_runner.py to be cwd independent by calling subprocess.run with cwd arg. 658d38106a policy: remove constant parameter from `IsWellFormedPackage` b23b901363 doc: update copyright year 95ef0fc5e7 test: ensure clean orphanage before continuing 25e84d3772 test: change low fee parents to 0-fee 2bcb3f6464 Merge bitcoin/bitcoin#34112: rpc: [mempool] Remove erroneous Univalue integral casts 7249bcc4f8 Merge bitcoin/bitcoin#34119: contrib: remove `copyright_header.py` 0f6a526f43 Merge bitcoin/bitcoin#34160: policy: Remove stale rationale paragraph 337b4a2369 Remove stale rationale paragraph 94ddc2dced Merge bitcoin/bitcoin#34113: refactor: [rpc] Remove confusing and brittle integral casts c575990651 Merge bitcoin/bitcoin#34147: scripted-diff: refactor: wallet: Delete duplicate IsCrypted() fab300b378 test: Enable ruff E713 lint 11ce5cf799 scripted-diff: refactor: wallet: Delete IsCrypted b762538756 test: Add unit test for SCRIPT_ERR_NUMEQUALVERIFY 3dd815f048 validation: pre-reserve leaves to prevent reallocs with odd vtx count 7fd47e0e56 bench: make `MerkleRoot` benchmark more representative fac5a1b10a test: Allow mempool_updatefromblock.py to run on 32-bit fafbc70d48 rpc: [wallet] Use unsigned type for tx version in sendall ba6315d2f6 contrib: remove copyright_header.py 3e4765ee10 scripted-diff: [doc] Unify stale copyright headers fa66e2d07a refactor: [rpc] Remove confusing and brittle integral casts fab1f4b800 rpc: [mempool] Remove erroneous Univalue integral casts d59b4cdb57 mining: rename getCoinbaseTx() to ..RawTx() fa1d17d56c refactor: Use uint64_t over size_t for serialize corruption check in fees.dat 7b5d256af4 test: Add bitcoin-chainstate test for assumeutxo functionality 2bc3265649 Fix `ChainstateManager::AddChainstate()` assertion crash 5f3d6bdb66 Add regtest support to bitcoin-chainstate tool 719158db5c depends: capnp 1.3.0 6bb66fcccb test: Improve code coverage for pubkey checks f46e3ec0f9 net: Fix `-Wmissing-braces` 8937221304 doc: add release notes for 29415 582016fa5f test: add unit test for the private broadcast storage e74d54e048 test: add functional test for private broadcast 818b780a05 rpc: use private broadcast from sendrawtransaction RPC if -privatebroadcast is ON eab595f9cf net_processing: retry private broadcast 37b79f9c39 net_processing: stop private broadcast of a transaction after round-trip 2de53eee74 net_processing: handle ConnectionType::PRIVATE_BROADCAST connections 30a9853ad3 net_processing: move a debug check in VERACK processing earlier d1092e5d48 net_processing: modernize PushNodeVersion() 9937a12a2f net_processing: move the debug log about receiving VERSION earlier a098f37b9e net_processing: reorder the code that handles the VERSION message 679ce3a0b8 net_processing: store transactions for private broadcast in PeerManager a3faa6f944 node: extend node::TxBroadcast with a 3rd option 95c051e210 net_processing: rename RelayTransaction() to better describe what it does bb49d26032 net: implement opening PRIVATE_BROADCAST connections 01dad4efe2 net: introduce a new connection type for private broadcast 94aaa5d31b init: introduce a new option to enable/disable private broadcast d6ee490e0a log: introduce a new category for private broadcast 6da6f503a6 refactor: Let CCoinsViewCache::BatchWrite return void f0a2183108 test: adjust `ComputeMerkleRoot` tests fa1de1103f util: Add Unexpected::error() faa109f8be test: refactor: Use BOOST_CHECK_EQUAL over BOOST_CHECK == fad4a9fe2b Set bugprone-unused-return-value.AllowCastToVoid ca4a844eed depends: Boost 1.90.0 76c092ff80 wallet: warn against accidental unsafe older() import 592157b759 test: move SEQUENCE_LOCKTIME flags to script de4242f474 refactor: Use reference for chain_start in HeadersSyncState e37555e540 refactor: Use initializer list in CompressedHeader 0488bdfefe refactor: Remove unused parameter in ReportHeadersPresync 256246a9fa refactor: Remove redundant parameter from CheckHeadersPoW ca0243e3a6 refactor: Remove useless CBlock::GetBlockHeader 4568652222 refactor: Use std::span in HasValidProofOfWork 4066bfe561 refactor: Compute work from headers without CBlockIndex 0bf6139e19 p2p: Avoid an IsAncestorOfBestHeaderOrTip call a7b581423e Fix 11-year-old mis-categorized error code in OP_IF evaluation git-subtree-dir: depend/bitcoin git-subtree-split: 891030ac8b9e3f91084a9c8e0d8d9a158a2bbf93
f0e2cbc5e5 Merge bitcoin/bitcoin#34800: [31.x] Backports
b241f3c82d doc: update example bitcoin conf for 31.0rc2
718c31cfb7 doc: update manual pages for v31.0rc2
a30e50538b build: bump version to v31.0rc2
ac13aca72b test: scale IPC mining wait timeouts by timeout_factor
39c87621d5 test: verify IPC error handling for invalid coinbase
660947352c test: move make_mining_ctx to ipc_util.py
acd7e3d061 test: verify createNewBlock wakes promptly when tip advances
e3d571691a test: Remove confusing assert_debug_log in wallet_reindex.py
87d1691f3e wallet: feebumper, fix crash when combined bump fee is unavailable
11b69922b3 wallet: fix amount computed as boolean in coin selection
d171afa9e8 ci: Temporarily use clang in valgrind tasks
198bc4da87 ci: Clarify why valgrind task has gui disabled
6993aa1915 test: Scale feature_dbcrash.py timeout with factor
051afe9e1a depends: Remove no longer necessary `dsymutil`
3b79852984 depends: Fix cross-compiling on macOS for Windows
e53c20d750 gui: Fix TransactionsView on setCurrentWallet
7118559f8c tests: applied PYTHON_GIL to the env for every test
d9a57912c6 ci: Avoid intermittent Windows generate download failures
335a098afa kernel: acquire coinstats cursor and block info atomically
e930c6d60f rpc: fix race condition in gettxoutsetinfo
ca781e49e5 cmake: Migrate away from deprecated SQLite3 target
068951211c test: [refactor] Use verbosity=0 named arg
8379f005da test: Fix intermittent issue in feature_assumeutxo.py
72d6c88165 test: Move event loop creation to network thread
c7127f21df test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy()
a69f8c329e ci: Use arch-appropriate binaries in lint install
e3383ac932 ci: check macos bundle structure and codesigning
ab37d3d7cd macdeploy: use plugins dir to find plugins
bb9fcffd4c macdeploy: subprocess out to zip rather than shutil.make_archive
d20ba02caa build: Set AUTHOR_WARNING on warnings
2724c39208 guix: Make guix-clean less destructive
a28d78c44a test: use static methods and clarify comment in addr_relay
5642a2b0fe test: protect outbound connection from eviction in getaddr_test
a3c1eda8f2 test: fix addr relay test silent pass and wrong peerinfo index
207087b1c4 ci: bump cirruslabs actions versions
a74dfe3ae2 lint: Temporarily revert to vulture==2.14
f7f7e682b5 ci: Bump GHA actions versions
a3ffff0201 depends: delete Boost extra files
9852bbd218 depends: disable Qt sbom generation
d3737769ca Merge bitcoin/bitcoin#34795: [31.x] Bump to 31.0rc1
c5ae5f0adf doc: Point release notes to 31.0 wiki draft
88e21e57e5 examples: Generate example bitcoin.conf for 31.0rc1
62716a8c93 doc: Generate manpages for 31.0rc1
2a5b96eb54 build: bump to 31.0rc1
b97abdcdf1 Merge bitcoin/bitcoin#34766: Pre-31.x branching updates
eed3161893 Merge bitcoin/bitcoin#34792: clusterlin: update SFL comments for deterministic order
730308386a Merge bitcoin/bitcoin#34696: Update embedded asmap to 1772726400 for v31
951863d022 Merge bitcoin/bitcoin#34769: doc: update http worker thread names
d67c8ed788 clusterlin: update SFL comments for deterministic order
0690a5d0f2 Update embedded asmap to 1772726400
f82d076771 Merge bitcoin/bitcoin#34784: ci: use latest versions of lint deps
a9baf19172 Merge bitcoin/bitcoin#34789: doc: update build guides pre v31
48f26e2040 Merge bitcoin/bitcoin#34751: doc: Update asmap-data repository rule for file inclusion
6b20ad84e0 doc: update build guides pre v31
195306c359 Merge bitcoin/bitcoin#34785: ci: remove TODOs from retry
c08f0c3c29 ci: remove TODOs from retry
9f3752c437 ci: use latest versions of lint deps
544c15ff4e Merge bitcoin/bitcoin#34759: walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
9aea2905fe Merge bitcoin/bitcoin#34783: depends: link to upstream qt issue
3a83715c2a depends: link to upstream qt issue
8dcd79949f Merge bitcoin/bitcoin#34718: Release: 31.0 translations update
5f9068bdcd Merge bitcoin/bitcoin#34781: test: Remove fixed TODO in address_to_scriptpubkey
d21afb297c qt: 31.0 translations update
fa0587a306 test: Remove fixed TODO in address_to_scriptpubkey
46189fd526 doc: update http worker thread names
d3056bc149 Merge bitcoin/bitcoin#34606: doc: clarify swapping impact on IBD performance
f201ccc800 Merge bitcoin/bitcoin#34673: contrib: Update fixed seeds pre-31.0
42f97c542d Merge bitcoin/bitcoin#34705: kernel: Use fs:: namespace and unicode path in kernel tests
7691e8a005 Merge bitcoin/bitcoin#34471: refactor: Use aliasing shared_ptr in Sock::Wait
49bd12bd89 Merge bitcoin/bitcoin#34693: doc: Use relative markdown links
aefa8e6d14 Merge bitcoin/bitcoin#34361: test: clean up tx resurrection (re-org) test in feature_block.py
3a222507fd Merge bitcoin/bitcoin#34037: wallet, doc: clarify the coin selection filters that enforce cluster count
501a3dd4ad walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
d198635fa2 Merge bitcoin/bitcoin#34677: kernel: Chainparams and headerssync updates pre-31.0
9833ef5f86 Merge bitcoin/bitcoin#34702: doc: Fix fee field in getblock RPC result
f2f0a0ca4c Merge bitcoin/bitcoin#34700: script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
48b952cbb6 build: bump to 31.99
1b3d58f128 docs Remove 31.0 release notes fragments
b7cf2f87d0 docs: Update bips.md
c7a3ea2483 Merge bitcoin/bitcoin#34692: Bump dbcache to 1 GiB
8b70ed6996 Merge bitcoin/bitcoin#34521: validation: fix UB in `LoadChainTip`
f6d3201e14 Merge bitcoin/bitcoin#33929: test: Remove `system_tests/run_command` runtime dependencies
b5737b755d Merge bitcoin/bitcoin#34650: depends: Update Qt to version 6.8.3
c0802e20be Merge bitcoin/bitcoin#34734: test: Fix shutdown vptr race in BlockFilterIndexSync bench
2ac4f6e019 Merge bitcoin/bitcoin#34612: leveldb: remove unused files
d97df29d5d Merge bitcoin/bitcoin#34747: test: Sync mempools and wait for txospender index to be synced in rpc_gettxspendingprevout
c12be53f85 Merge bitcoin/bitcoin#34635: rpc, index: txospenderindex improve formatting, docs and test coverage
8bc62ce173 doc: Update asmap-data repository rule for file inclusion
15c4889497 index: document TxoSpenderIndex::FindSpender
f8b9595aaa test: Add missing txospenderindex coverage in feature_init
cbdb891de2 test: Wait for txospender index to be synced in rpc_gettxspendingprevout
2db5c049bb test: Sync mempools after tx creation in rpc_gettxspendingprevout
ca45461ddb Merge bitcoin/bitcoin#33986: doc: improvements to doc/descriptors.md
fc39a4f568 Merge bitcoin/bitcoin#34713: depends: Allow building Qt packages after interruption
a1074d852a index, rpc, test: Misc formatting fixes
7e91060ec7 Merge bitcoin/bitcoin#34733: subprocess: replace __USING_WINDOWS__ with WIN32
69b2c813f0 Merge bitcoin/bitcoin#34591: cmake: Improve `install_name_tool` workaround
f2f5619360 Merge bitcoin/bitcoin#34709: wallet, test: improve wallet functional tests
083242aac8 Merge bitcoin/bitcoin#34725: fuzz: assert we accept any PSBT serialization we create
20ae9b98ea Extend functional test for setBlockIndexCandidates UB
4c40a923f0 Merge bitcoin/bitcoin#34728: test: Fix intermittent issue in wallet_assumeutxo.py
854a6d5a9a validation: fix UB in LoadChainTip
fa79098ce2 test: Fix shutdown vptr race in BlockFilterIndexSync bench
9249e6089e validation: remove LoadChainTip call from ActivateSnapshot
d76ec4de14 fuzz: make sure PSBT serialization roundtrips
faa68ed4bd test: Fix intermittent issue in wallet_assumeutxo.py
bff8a7a80d subprocess: replace __USING_WINDOWS__ with WIN32
e09b81638b Merge bitcoin/bitcoin#34219: psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
89386e700e kernel: Use fs:: namespace and unicode path in kernel tests
01dcb2fcc5 Merge bitcoin/bitcoin#34715: test: avoid interface_ipc.py race and null pointer dereference
dc109e1b34 Merge bitcoin/bitcoin#34706: doc: Improve dependencies.md IPC documentation
0a6724aaae doc: Update Windows build notes
473e5f8efc qt: Add patch to fix SFINAE warnings in QAnyStringView with gcc16
3cb4d6066b qt: add patches to fix SFINAE errors/warnings with gcc16
d7e972a90d qt: add patch to fix build with gcc16
19693a8c91 depends: Update Qt to 6.8.3
c55584575a cmake: Fix `FindQt` module
2eaf701bc0 Merge bitcoin/bitcoin#34679: ci: Download script_assets_test.json for Windows CI
17a04039bc Merge bitcoin/bitcoin#34662: ci: use LLVM/Clang 22 in tidy job
5e35a9069d interpreter: remove clang-tidy suppression
4089682f5c ci: use Clang 22 in tidy task
7ea076f996 tidy: remove deprecated header
eb17f29aa5 tidy: clang-tidy is required
bf9ef4f043 Merge bitcoin/bitcoin#34422: Update libmultiprocess subtree to be more stable with rust IPC client
2702711c3a Merge bitcoin/bitcoin#34642: wallet: call SyncWithValidationInterfaceQueue after disconnecting chain notifications
1c1de334e9 test: avoid interface_ipc.py race and null pointer dereference
2a7a4f608a depends: Allow building Qt packages after interruption
6b0a980de9 Merge bitcoin/bitcoin#34410: test: let connections happen in any order in p2p_private_broadcast.py
a61907e5d9 doc: explain swapping in `reduce-memory.md`
5c005363a8 test: improve `wallet_backup` test
04d9515748 test: improve `wallet_assumeutxo` func test
b87a1c27c9 doc: Improve dependencies.md IPC documentation
f580cc7e9f doc: Fix `fee` field in `getblock` RPC result
4ae9a10ada doc: add release notes for dbcache bump
37d49f5de6 doc: mention Miniscript expressions inside reference
771f7642bc doc: fix typo in descriptors.md
708b84999b doc: reference descriptor BIPs in descriptors.md
8f2a869a19 doc: do not list descriptor RPCs or history
65a8b6c2ef doc: mention musig() in descriptors.md
c510d126ef doc: update dbcache default in reduce-memory.md
027cac8527 qt: show GetDefaultDBCache() in settings
5b34f25184 dbcache: bump default from 450MB -> 1024MB if enough memory
44feab23a7 script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
9cad97f6cd Merge bitcoin/bitcoin#34690: test: Add missing timeout_factor to zmq socket
5a6dd7c693 Merge bitcoin/bitcoin#34661: ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
98e8af4bb9 wallet: Drain validation interface queue after notifications disconnect
52992ebe1c interfaces: Add waitForNotifications() to call SyncWithValidationInterfaceQueue()
fa9d0623a3 doc: Use relative markdown links
ceff6771b8 Merge bitcoin/bitcoin#34583: ci: [refactor] Drop last use of pwsh
b0833b560a Merge bitcoin/bitcoin#34668: test: Add missing resolve() to valgrind.supp file for test shell
fa48f8c865 test: Add missing timeout_factor to zmq socket
3a8b4e89f6 Merge bitcoin/bitcoin#34687: ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
286de1e7b3 Merge bitcoin/bitcoin#34093: netif: fix compilation warning in QueryDefaultGatewayImpl()
fab51e470e test: Move valgrind.supp to the other sanitizer_suppressions files
fa9cf81d39 test: Add missing resolve() to valgrind.supp file
05cd3b00b9 Merge bitcoin/bitcoin#34597: util: Fix UB in SetStdinEcho when ENOTTY
3c7b0f97e0 Merge bitcoin/bitcoin#34656: doc: clarify confusing `git range-diff` add/delete output
701b8d7148 Merge bitcoin/bitcoin#34609: test: remove appveyor reference in comment
fa18be2f2b test: Fix typo
fac932698f ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
c1361fc42d netif: fix compilation warning in QueryDefaultGatewayImpl()
b6b8f8ac55 Merge bitcoin/bitcoin#34562: ThreadPool follow-ups, proactive shutdown and HasReason dependency cleanup
8834e4e86c test: remove appveyor reference in comment
fa7612f253 ci: Download script_assets_test.json for Windows CI
bb3ac00cf8 Merge bitcoin/bitcoin#34001: test: fix test_limit_enforcement_package
107a204d24 Merge bitcoin/bitcoin#34682: ci: fix vcpkg tools cache key collision between windows matrix jobs
7777a13306 test: Move Fetching-print to download_from_url util
faf96286ce test: move-only download_from_url to stand-alone util file
17a079c2fb ci: fix vcpkg tools cache key collision between windows matrix jobs
408d5b12e8 test: include response body in non-JSON HTTP error msg
9dc653b3b4 test: threadpool, add coverage for all Submit() errors
ce2a984ee3 test: cleanup, use HasReason in threadpool_tests.cpp
d9c6769d03 test: refactor, decouple HasReason from test framework machinery
dbbb780af0 test: move and simplify BOOST_CHECK ostream helpers
3b7cbcafcb test: ensure Stop() thread helps drain the queue
ca101a2315 test: coverage for queued tasks completion after interrupt
bf2c607aaa threadpool: active-wait during shutdown
e88d274430 test: add threadpool Start-Stop race coverage
af99643454 Merge bitcoin/bitcoin#34054: net processing: Add ibd check before processing block for txdownloadman
fa0cc1c5a4 test: [doc] Remove outdated comment
44538f8ada kernel: Add recent assumeutxo snapshot info
58c2e23fca kernel: Update headerssync params
cf261b071f kernel: update chainTxData
8eaf1d26d4 kernel: update defaultAssumeValid and minimumChainWork
5ca0c55517 kernel: update assumed blockchain and chainstate sizes
fec58229fa contrib: Update fixed feeds
27fbdb009f makeseeds: Choose node info with most recent success when deduplicating
982883a1bc makeseeds: Update known user agents
707ad46696 Merge bitcoin/bitcoin#34671: doc: Update Guix install for Debian/Ubuntu
faa70ca764 doc: Update Guix install for Debian/Ubuntu
7c80301439 Merge bitcoin/bitcoin#33616: policy: don't CheckEphemeralSpends on reorg
8fe91f3719 test: Updates needed after bitcoin-core/libmultiprocess#240
cb15f5a317 Merge commit 'b7ca3bf061b51108d155283c1ad503c0af7eab0d' into pr/subtree-8
b7ca3bf061 Squashed 'src/ipc/libmultiprocess/' changes from 1fc65008f7d..1868a84451f
33fbaed310 policy: don't CheckEphemeralSpends on reorg
b9bf24cfe2 Merge bitcoin/bitcoin#34616: Cluster mempool: SFL cost model (take 2)
403523127b Merge bitcoin/bitcoin#34608: test: Fix broken --valgrind handling after bitcoin wrapper
76eb04b16f Merge bitcoin/bitcoin#34655: fuzz: keep `coins_view` fuzzers within caller contracts
21cd1ba182 Merge bitcoin/bitcoin#34286: test: verify node state after restart in assumeutxo
f3887cf694 Merge bitcoin/bitcoin#34561: wallet: rpc: manpage: fix example missing `fee_rate` argument
8cd4a4363f threadpool: guard against Start-Stop race
9ff1e82e7d test: cleanup, block threads via semaphore instead of shared_future
f50d53c847 Merge bitcoin/bitcoin#34627: guix: use a temporary file over sponge, drop moreutils
c88c916e72 Merge bitcoin/bitcoin#34653: test: improve txospender index tests code
744d47fcee clusterlin: adopt trained cost model (feature)
4eefdfc5b7 clusterlin: rescale costs (preparation)
bbc8f1e0a7 ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
a7cabf92e4 init refactor: Only initialize node.notifications one time
ecc9a84f85 clusterlin: use 'cost' terminology instead of 'iters' (refactor)
9e7129df29 clusterlin: introduce CostModel class (preparation)
e8f8b74a46 test: index, improve txospenderindex_initial_sync() test code
c8e332cb33 init refactor: Remove node.init accesss in AppInitInterfaces
5db78c84ad Merge bitcoin/bitcoin#34660: ci: use LLVM 22 in sanitizer tasks
fa5d478853 test: valgrind --trace-children=yes for bitcoin wrapper
fa29fb72cb test: Remove redundant warning about missing binaries
fa03fbf7e3 test: Fix broken --valgrind handling after bitcoin wrapper
bd9e0e65f5 Merge bitcoin/bitcoin#34184: mining: add cooldown to createNewBlock() immediately after IBD
a28eedb8c2 ci: use LLVM 22 in sanitizer tasks
ab8a7af742 Merge bitcoin/bitcoin#34646: Fix two issues in p2p_private_broadcast.py
9581a0a5b1 Merge bitcoin/bitcoin#34615: mempool: expose optimality of mempool to log / rpc
3281824ecf fuzz: prevent invalid `FRESH` entries and surface `BatchWrite` errors
780f460635 fuzz: avoid invalid `AddCoin` overwrites
d7e0d510f2 fuzz: make `AddCoins` query view for overwrites
b8fa6f0f70 util: introduce `TrySub` to prevent unsigned underflow
ac3bea07cd test: improve rpc_gettxspendingprevout.py code
da7f70a532 test: use port 0 for I2P addresses in p2p_private_broadcast.py
a8ebcfd34c test: let connections happen in any order in p2p_private_broadcast.py
45133c589a doc: clarify `git range-diff` add/delete output
e5f0613503 net processing: Check if we are in ibd before processing block for txdownloadman
ce8b692897 Add functional test exercising tx downloadman recently confirmed filter
c462e54f9d test: don't always assert NUM_PRIVATE_BROADCAST_PER_TX broadcasts
3710566305 test: move abortprivatebroadcast test at the end
d9c7364ac5 Merge bitcoin/bitcoin#34141: miniscript: Use Func and Expr when parsing keys, hashes, and locktimes
38a7a67126 cmake: Provide `install_name_tool` stub instead of disabling it
6c8d628b74 Merge bitcoin-core/gui#931: Release: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
fa194fca8e Merge bitcoin/bitcoin#34622: test: assert_debug_log timeouts follow-up
d907d65acd Merge bitcoin/bitcoin#29770: index: Check all necessary block data is available before starting to sync
ce6898f9a8 Merge bitcoin/bitcoin#34605: build: define CMAKE_COMPILE_WARNING_AS_ERROR as a cache option
fcaec2544b doc: release note for IPC cooldown and interrupt
1e82fa498c mining: add interrupt()
a11297a904 mining: add cooldown argument to createNewBlock()
a9e59f7d95 rpc: add optimal result to getmempoolinfo
a3fb3dd55c mempool: log if we detect a non-optimal mempool
3feabb203a leveldb: remove unused files
c86bce597a guix: use a temporary file over sponge
a2fd558760 Merge bitcoin/bitcoin#34572: cmake: Fix NetBSD-specific workaround for Boost
ef987683dc qt: Update src/qt/locale/bitcoin_en.xlf after string freeze
cb3473a680 Merge bitcoin/bitcoin#34568: mining: Break compatibility with existing IPC mining clients
641a1954f7 Merge bitcoin/bitcoin#34633: Revert "ci: Treat SHA1 LLVM signing key as warning"
3574905cec Revert "ci: Treat SHA1 LLVM signing key as warning"
1a54886b63 Merge bitcoin/bitcoin#24539: Add a "tx output spender" index
fa4424fd98 test: Fixup assert_debug_log timeouts in feature_config_args.py
faed837f27 test: Add missing syncwithvalidationinterfacequeue
ee2065fdea Merge bitcoin/bitcoin#34165: coins: don't mutate main cache when connecting block
96bec216ec Merge bitcoin/bitcoin#34549: net: reduce log level for PCP/NAT-PMP NOT_AUTHORIZED failures
76de2f8e55 Merge bitcoin/bitcoin#34571: test: Fix intermittent issues in feature_assumevalid.py
c808dfbbdc Merge bitcoin/bitcoin#34329: rpc,net: Add private broadcast RPCs
739f75c098 Merge bitcoin/bitcoin#33512: coins: use dirty entry count for flush warnings and disk space checks
02c83fef84 Merge bitcoin/bitcoin#34577: http: fix submission during shutdown race
0b96b9c600 Minimize mempool lock, sync txo spender index only when and if needed
d0998cbe34 Merge bitcoin/bitcoin#33199: fees: enable `CBlockPolicyEstimator` return sub 1 sat/vb fee rate estimates
37e449dcc7 Merge bitcoin/bitcoin#34512: rpc: add coinbase_tx field to getblock
097c18239b Merge bitcoin/bitcoin#34385: subprocess: Fix `-Wunused-private-field` when building with clang-cl on Windows
910bd1c964 Merge bitcoin/bitcoin#34582: rpc: Properly parse -rpcworkqueue/-rpcthreads
e0463b4e8c rpc: add coinbase_tx field to getblock
5a8a427610 Merge bitcoin/bitcoin#32745: scripted-diff: Update DeriveType enum values to mention ranged derivations
3d82ec5bdd Add a "tx output spender" index
8ee24d764a Merge bitcoin/bitcoin#34604: guix: remove double export of `TZ`
4933d1fbba Merge bitcoin/bitcoin#28792: build: Embedded ASMap [3/3]: Build binary dump header file
6d482b22de Merge bitcoin/bitcoin#32138: wallet, rpc: remove settxfee and paytxfee
726b3663cc http: properly respond to HTTP request during shutdown
241ad5853b Merge bitcoin-core/gui#929: Use plurals where necessary
a849b7e1ff Merge bitcoin-core/gui#928: Replace three dots with ellipsis
fa6af85634 refactor: Use static_cast<decltype(...)> to suppress integer sanitizer warning
fa692974ac util: Fix UB in SetStdinEcho when ENOTTY
9e4567b17a Merge bitcoin/bitcoin#34581: test: Set assert_debug_log timeout to 0
655b9d12ee Merge bitcoin/bitcoin#32950: validation: remove BLOCK_FAILED_CHILD
97e7e79435 test: Enable `system_tests/run_command` "stdin" test on Windows
a4324ce095 test: Remove `system_tests/run_command` runtime dependencies
2706758dc3 Merge bitcoin/bitcoin#34349: util: Remove brittle and confusing sp::Popen(std::string)
59e10a5463 Merge bitcoin/bitcoin#34023: Optimized SFL cluster linearization
fa36adeb71 ci: [refactor] Drop last use of pwsh
fae31b1e2f ci: [refactor] Move github_import_vs_env to python script
59d24bd5dd threadpool: make Submit return Expected instead of throwing
fb3e1bf9c9 test: check LoadBlockIndex correctly recomputes invalidity flags
29740c06ac validation: remove BLOCK_FAILED_MASK
b5b2956bda validation: reset BLOCK_FAILED_CHILD to BLOCK_FAILED_VALID when loading from disk
37bc207852 validation: stop using BLOCK_FAILED_CHILD
120c631e16 refactor: use clearer variables in InvalidateBlock()
fa4cb96bde test: Set assert_debug_log timeout to 0
c2fcf25069 clusterlin: inline GetReachable into Deactivate (optimization)
d90f98ab4a clusterlin: inline UpdateChunk into (De)Activate (optimization)
b684f954bb clusterlin: unidirectional MakeTopological initially (optimization)
1daa600c1c clusterlin: track suboptimal chunks (optimization)
63b06d5523 clusterlin: keep track of active children (optimization)
ae16485aa9 clusterlin: special-case self-merges (optimization)
3221f1a074 clusterlin: make MergeSequence take SetIdx (simplification)
7194de3f7c clusterlin: precompute reachable sets (optimization)
6f898dbb8b clusterlin: simplify PickMergeCandidate (optimization)
dcf458ffb9 clusterlin: split up OptimizeStep (refactor)
cbd684a471 clusterlin: abstract out functions from MergeStep (refactor)
b75574a653 clusterlin: improve TxData::dep_top_idx type (optimization)
73cbd15d45 clusterlin: get rid of DepData (optimization)
7c6f63a8a9 clusterlin: pool SetInfos (preparation)
20e2f3e96d scripted-diff: rename _rep -> _idx in SFL
268fcb6a53 clusterlin: add more Assumes and sanity checks (tests)
d69c9f56ea clusterlin: count chunk deps without loop (optimization)
f66fa69ce0 clusterlin: split tx/chunk dep counting (preparation)
900e459778 clusterlin: avoid depgraph argument in SanityCheck (cleanup)
666b37970f clusterlin: fix type to count dependencies
a7c29df0e5 Merge bitcoin/bitcoin#34552: fees: refactor: separate feerate format from fee estimate mode
231dd04b8d build: define CMAKE_COMPILE_WARNING_AS_ERROR as a cache option
fa48d42163 test: Stricter unit test
fa626bd143 util: Remove brittle and confusing sp::Popen(std::string)
fd06157d14 test: Add coverage for restarted node without any block sync
3d7ab7ecb7 rpc, test: Address feedback from #29668
312919c9dd test: Indices can not start based on block data without undo data
a9a3b29dd6 index: Check availability of undo data for indices
c8c9c1e617 Merge bitcoin/bitcoin#34383: ci: remove commit count limit from `test-each-commit` and fail fast
62e378584e guix: don't export TZ twice
badcf1c68d guix: fix typo in guix-codesign
8a050b9cb6 Merge bitcoin/bitcoin#34575: test: Avoid empty errmsg in JSONRPCException
746d8cddc1 qt: Use plurals where necessary
fa5672dcaf refactor: [gui] Use SettingTo<int64_t> over deprecated SettingToInt
35e6444fdc Merge bitcoin/bitcoin#34570: doc: update Windows MSVC build guide to utilize winget to install build requirements
d159b10398 doc: update Windows MSVC build guide to utilize WinGet to install apps
afea2af139 net: reduce log level for PCP/NAT-PMP NOT_AUTHORIZED failures
fac3ecaf69 rpc: Properly parse -rpcworkqueue/-rpcthreads
faee36f63b util: Add SettingTo<Int>() and GetArg<Int>()
6df4a045f7 qt: Replace three dots with ellipsis
80dc4359b8 cmake: Apply workaround for `install_name_tool` conditionally
211111b804 test: Avoid empty errmsg in JSONRPCException
b65ff0e5a1 Merge bitcoin/bitcoin#34548: ci: Add and use ci-windows-cross.py helper
03e5f063b5 Merge bitcoin/bitcoin#34559: ci: split vcpkg tools cache into restore/save
84e826ddc1 Merge bitcoin/bitcoin#34511: test: fully reset the state of CConnman in tests
309c51d89d Merge bitcoin/bitcoin#34546: kernel: Avoid duplicating symbols in the kernel library
24f93c9af7 release note
331a5279d2 wallet, rpc:remove settxfee and paytxfee
eafd530d20 kernel: avoid potential duplicate object in shared library/binary
24c3b47010 build: add kernel-specific warnings
cae6d895f8 fuzz: add target for CoinsViewOverlay
86eda88c8e fuzz: move backend mutating block to end of coins_view
89824fb27b fuzz: pass coins_view_cache to TestCoinsView in coins_view
73e99a5966 coins: don't mutate main cache when connecting block
67c0d1798e coins: introduce CoinsViewOverlay
69b01af0eb coins: add PeekCoin()
f700609e8a doc: Release notes for mining IPC interface bump
79c934b51c cmake: Fix NetBSD-specific workaround for Boost
fa90d44a22 test: Fix intermittent issues in feature_assumevalid.py
07b924775e Merge bitcoin/bitcoin#34427: lint: Flatten lint image entry points
9453c15361 ipc mining: break compatibility with existing clients (version bump)
70de5cc2d2 ipc mining: pass missing context to BlockTemplate methods (incompatible schema change)
2278f017af ipc mining: remove deprecated methods (incompatible schema change)
c6638fa7c5 ipc mining: provide default option values (incompatible schema change)
a4603ac774 ipc mining: declare constants for default field values
ff995b50cf ipc test: add workaround to block_reserved_weight exception test
b970cdf20f test framework: expand expected_stderr, expected_ret_code options
df53a3e5ec rpc refactor: stop using deprecated getCoinbaseCommitment method
0b4cd08fcd Merge bitcoin/bitcoin#33965: mining: fix -blockreservedweight shadows IPC option
2a1d0db799 doc: Mention private broadcast RPCs in release notes
c3378be10b test: Cover abortprivatebroadcast in p2p_private_broadcast
557260ca14 rpc: Add abortprivatebroadcast
15dff452eb test: Cover getprivatebroadcastinfo in p2p_private_broadcast
996f20c18a rpc: Add getprivatebroadcastinfo
5e64982541 net: Add PrivateBroadcast::GetBroadcastInfo
a067ca3410 [doc] coin selection filters by max cluster count, not descendant
55c49ff8f4 Merge bitcoin/bitcoin#34143: build: Prevent system header fallback and include path pollution
c134b1a4bc Merge bitcoin/bitcoin#34257: txgraph: deterministic optimal transaction order
4a05825a3f Merge bitcoin/bitcoin#33689: http: replace WorkQueue and single threads handling for ThreadPool
50cf6838e6 wallet: rpc: manpage: fix example missing `fee_rate` argument
c1355493e2 refactor: fees: split fee rate format from fee estimate mode
c413cf12c5 ci: Split vcpkg tools cache into restore/save
337fef9f2f Merge bitcoin/bitcoin#34554: build: avoid exporting secp256k1 symbols
922ebf96ed refactor: move-only: move `FeeEstimateMode` enum to `util/fees.h`
cb1798000c Merge bitcoin/bitcoin#33861: build: Bump VS minimum supported version to 18.3
7640863a0f Merge bitcoin/bitcoin#34555: doc: archive release notes for v29.3
d29bc5e6dd doc: archive release notes for v29.3
fd625d84ae Merge bitcoin/bitcoin#34539: test: Fixup TODO comment in feature_dbcrash.py; remove unnecessary sleep
6777314310 Merge bitcoin/bitcoin#34551: ci: Extend diff context for clang-format
452c743951 refactor: Remove workaround for resolved MSVC bug
7164a0cab6 build: Bump VS minimum supported version to 18.3
2ccfdb582b build: avoid exporting secp256k1 symbols
f7be5fb8fc [refactor] rename variable to clarify it is unused and cluster count
fa8c89511d Fixup TODO comment in feature_dbcrash.py; remove unnecessary sleep
f8d2f30bf3 ci: Extend diff context for clang-format
91a8e9b549 Merge bitcoin-core/gui#807: refactor: interfaces, make 'createTransaction' less error-prone
573bb542be net: Store recipient node address in private broadcast
fa13b13239 ci: [refactor] Use pathlib over os.path
fa2719ab1b ci: [refactor] Move run_unit_tests to ci-windows-cross.py
fa99ba5f14 ci: Set PREVIOUS_RELEASES_DIR env var in ci-windows-cross.py
fa4a1cab6c ci: Move run_functional_tests into ci-windows-cross.py
1111108685 ci: [refactor] Move pyzmq install and get_previous_releases into ci-windows-cross.py
fac9c7bd66 ci: [refactor] Move config.ini rewrite to ci-windows-cross.py
faf7389466 ci: Move check_manifests step to ci-windows-cross.py
fa674d55df ci: [refactor] Move print_version step into ci-windows-cross.py helper
6f113cb184 txgraph: use fallback order to sort chunks (feature)
0a3351947e txgraph: use fallback order when linearizing (feature)
fba004a3df txgraph: pass fallback_order to TxGraph (preparation)
941c432a46 txgraph test: subclass TxGraph::Ref like mempool does (preparation)
39d0052cbf clusterlin: make optimal linearizations deterministic (feature)
8bfbba3207 txgraph: sort distinct-cluster chunks by equal-feerate-prefix size (feature)
e0bc73ba92 clusterlin: sort tx in chunk by feerate and size (feature)
6c1bcb2c7c txgraph: clear cluster's chunk index in ~Ref (preparation)
7427c7d098 txgraph: update chunk index on Compact (preparation)
3ddafceb9a txgraph: initialize Ref in AddTransaction (preparation)
64294c8909 Merge bitcoin/bitcoin#34500: ci: Print verbose Windows CI build failure
5f6bfa3649 Merge bitcoin/bitcoin#34057: test: add tests for cluster chunks
6ca7782db9 Merge bitcoin/bitcoin#34523: doc: Clarify why performance-move-const-arg.CheckTriviallyCopyableMove=false
44afed4cd9 Merge bitcoin/bitcoin#34524: refactor: [rpc] Remove confusing and brittle integral casts (take 2)
3764746404 Merge bitcoin/bitcoin#34241: test: Check that interrupt results in EXIT_SUCCESS
18f11695c7 validation: don't update BLOCK_FAILED_VALID to BLOCK_FAILED_CHILD in InvalidateBlock
acefdce083 Merge bitcoin/bitcoin#34469: consensus/test/doc: cover errors in `CheckTxInputs` with unit tests
7e5e0b20ea Merge bitcoin/bitcoin#32773: cmake: Create subdirectories in build tree in advance
fa90277d22 ci: Use ubuntu-slim for [meta] runners
fa9627af9f ci: Rely on cmake --preset toolchain file
fa3f89acaa ci: Add check_manifests to ci-windows.py
1111079a16 ci: Add run_tests step to ci-windows.py
6d625af283 Merge bitcoin/bitcoin#32621: contrib: utxo_to_sqlite.py: add option to store txid/spk as BLOBs
afb1bc120e validation: Use dirty entry count in flush warnings and disk space checks
b413491a1c coins: Keep track of number of dirty entries in `CCoinsViewCache`
7e52b1b945 fuzz: call `EmplaceCoinInternalDANGER` as well in `SimulationTest`
8f0e1f6540 Merge bitcoin/bitcoin#34465: refactor: separate log generation from log handling
b2805eec35 Merge bitcoin/bitcoin#34528: test: Fix intermittent failure in `feature_assumevalid.py` by ensuring invalid block was processed before checking debug.log
72030efd4b Merge bitcoin/bitcoin#34525: Release: Prepare "Open Transifex translations for v31.0" step
fe0b1513a7 test: add a test for txgraph staging
ef253a9d3d test: add block builder tests for txgraph
4a1ac31e97 test: add a chunk test for txgraph
b623fab1ba mining: enforce minimum reserved weight for IPC
d3e49528d4 mining: fix -blockreservedweight shadows IPC option
418b7995dd test: have mining template helpers return None
54bd49c7e3 Merge bitcoin/bitcoin#34452: test: split interface_ipc.py
3b39a8aeb4 Merge bitcoin/bitcoin#34483: refactor: Use SpanReader over DataStream
6f68e0c8b7 Merge bitcoin/bitcoin#34181: refactor: [p2p] Make ProcessMessage private again, Use references when non-null
4c0d4f6f93 refactor: interfaces, make 'createTransaction' less error-prone
e2c3ec9bf4 refactor: move CreatedTransactionResult to types.h
45372175c3 gui: remove AmountWithFeeExceedsBalance error special case
d88997b809 Merge bitcoin/bitcoin#34299: wallet: remove PreSelectedInputs and re-activate "AmountWithFeeExceedsBalance" error
b73a62f667 test: Ensure invalid block was processed before checking debug.log
633d183119 test: misc interface_ipc_mining.py improvements
52ccd9215e test: split interface_ipc_mining.py into subtests
4e49fa2a68 test: add interface_ipc_mining.py
01a1ae889e test: move IPC helpers to ipc_util.py
28160c1e3d Merge bitcoin/bitcoin#34421: ci: add Chimera Linux LTO config
576f892027 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
4b9f5beafe Update Transifex slug for 31.x
46e1288df2 Merge bitcoin/bitcoin#34498: iwyu: Fix patch to prefer `<cstdint>`
fa6801366d refactor: [rpc] Remove confusing and brittle integral casts (take 2)
d79249d279 ci: add chimera Linux LTO CI job
48161f6a05 wallet: introduce "tx amount exceeds balance when fees are included" error
b7fa609ed1 wallet: remove PreSelectedInputs
7819da2c16 walllet: use CoinsResult instead of PreSelectedInputs
0cd309c75e Merge bitcoin/bitcoin#34492: ci: Drop valgrind fuzz from GHA matrix
fa561682ce ci: [refactor] Add .github/ci-windows.py prepare_tests step
fa3e607c6d ci: Print verbose Windows CI build failure
4444808dd3 ci: [refactor] Add .github/ci-windows.py build step
fabdd4e823 ci: Refactor Windows CI into script
fa88ac3f4f doc: Clarify why performance-move-const-arg.CheckTriviallyCopyableMove=false
fa0677d131 refactor: Use SpanReader over DataStream
e5474079f1 wallet: introduce GetAppropriateTotal() in CoinsResult
d8ea921d01 wallet: correctly reserve in CoinsResult::All()
7072d825e3 wallet: ensure COutput added in set are unique
fefa3be782 wallet: fix, make 'total_effective_amount' optional actually optional
9ec1ae0e98 Merge bitcoin/bitcoin#34437: rpc: `uptime` should begin on application start
d692e07228 Merge bitcoin/bitcoin#32894: FUZZ: Test that BnB finds best solution
28d8607882 Merge bitcoin/bitcoin#34504: build: replace `WERROR` with `CMAKE_COMPILE_WARNING_AS_ERROR`
ad1940a006 Merge bitcoin/bitcoin#34517: drop my key from trusted-keys
322c4ec442 build: replace WERROR with CMAKE_COMPILE_WARNING_AS_ERROR
65134c7e5f depends: Prefix include path for headers-only `systemtap` package
94a692b6aa cmake: Add missed `USDT::headers`
b5375c44ed depends: Prefix include path for headers-only `boost` package
d73378ffcc cmake: Add missed `Boost::headers`
eb97250421 Merge bitcoin/bitcoin#34496: build: don't pass on boost dependency to kernel consumers
9d76947294 Merge bitcoin/bitcoin#34464: Change BlockRequestAllowed() to take ref (minor refactor)
8966352df3 doc: add release notes
704a09fe71 test: ensure fee estimator provide fee rate estimate < 1 s/vb
243e48cf49 fees: delete unused dummy field
fc4fbda42a fees: bump fees file version
b54dedcc85 fees: reduce `MIN_BUCKET_FEERATE` to 100
2cb7e99dee test: also reset CConnman::m_private_broadcast in tests
41b9b76cce Merge bitcoin/bitcoin#34510: doc: fix broken bpftrace installation link
91b7c874e2 test: add ConnmanTestMsg convenience method Reset()
42ee31e80c doc: fix broken bpftrace installation link
54d0393058 FUZZ: Test that BnB finds best solution
eb510f8678 ci: fail fast in test-each-commit script
04c4d71008 ci: remove commit count limit from `test-each-commit`
4ae00e9a71 Merge bitcoin/bitcoin#32636: Split `CWallet::Create()` into `CreateNew` and `LoadExisting`
d4bc620ad8 Merge bitcoin/bitcoin#34488: refactor: Small style and test fixups for bitcoinkernel
eb3dbbaf30 Merge bitcoin/bitcoin#34493: contrib: Remove valgrind suppression for bug 472219
1e64aeaaec Merge bitcoin/bitcoin#34295: test: Improve STRICTENC/DERSIG unit tests
b65a3d8009 iwyu: Fix patch to prefer `<cstdint>`
a50d0b6720 build: don't pass on boost dependency to kernel consumers
3532e24213 Merge bitcoin/bitcoin#32748: fees: fix noisy flushing log
fad9dd1a88 test: kernel test fixups
fabb58d42d test: Use clang-tidy named args for create_chainman
fa51594c5c refactor: Small style fixups in src/kernel/bitcoinkernel.cpp
fa33acec89 Revert "valgrind: add suppression for bug 472219"
24699fec84 doc: Add initial asmap data documentation
bab085d282 ci: Use without embedded asmap build option in one ci job
e53934422a doc: Expand documentation on asmap feature and tooling
6244212a55 init, net: Implement usage of binary-embedded asmap data
6202b50fb9 build: Generate ip_asn.dat.h during build process
634cd60dc8 build: Add embedded asmap data
faa4ab113c ci: Drop valgrind fuzz from GHA matrix
02b5f6078d fees: make flushes log debug only
faa016af54 refactor: Use aliasing shared_ptr in Sock::Wait
b58eebf152 Merge bitcoin/bitcoin#34470: Bump leveldb subtree and remove UB workaround in CI
8bb277c123 Merge bitcoin/bitcoin#34481: Update secp256k1 subtree to latest master
a4941132d3 Merge bitcoin/bitcoin#34461: ci: Print verbose build error message in test-each-commit
fad7d86d8d ci: Remove unused workaround after leveldb subtree bump
fabced56f6 Bump leveldb subtree
be35408c5a Merge bitcoin/bitcoin#34474: ci: update ccache to improve hitrate
2f2952c5f2 Squashed 'src/leveldb/' changes from cad64b151d..ab6c84e6f3
7528d18796 ci: show more verbose ccache stats
47c9297172 Merge bitcoin/bitcoin#32420: mining, ipc: omit dummy extraNonce from coinbase
4b53cbd692 test: Test for musig() in various miniscript expressions
ec0f47b15c miniscript: Using Func and Expr when parsing keys, hashes, and locktimes
6fd780d4fb descriptors: Increment key_exp_index in ParsePubkey(Inner)
b12281bd86 miniscript: Use a reference to key_exp_index in KeyParser
ce4c66eb7c test: Test that key expression indexes match key count
8c03318387 consensus/doc: explain `GetValueOut()` precondition
82ef92c8d0 consensus/doc: explain unreachable `bad-txns-fee-outofrange` check
fad3eb3956 refactor: Use SpanReader over DataStream
fa06e26764 refactor: [qt] Use SpanReader to avoid two vector copies
fabd4d2e2e refactor: Avoid UB in SpanReader::ignore
37cc2a2d95 logging: use util/log.h where possible
8799eb7440 Merge bitcoin/bitcoin#33878: refactor, docs: Embedded ASMap [2/3]: Refactor asmap internals and add documentation
bb8e9e7c4c logging: Move message formatting to util/log.h
001f0a428e move-only: Move logging macros to util/log.h
94c0adf4e8 move-onlyish: Move logging levels to util/log.h
56d113cab0 move-only: move logging categories to logging/categories.h
f5233f7e98 move-only: Move SourceLocation to util/log.h
fa20bc2ec2 refactor: Use empty() over eof() in the streams interface
fa879db735 test: Read debug log for self-checking comment
d405713197 ci: use Alpine 3.23
1cee0e4cd3 ci: detect apk usage generally
1ed3de5a6d Update secp256k1 subtree to latest master
9d4c9b0035 Squashed 'src/secp256k1/' changes from 14e56970cb..57315a6985
9f8764c814 Merge bitcoin/bitcoin#34475: ci: Treat SHA1 LLVM signing key as warning
3c8f5e48f7 ci: Treat SHA1 LLVM signing key as warning
5cb4cf9b42 Merge bitcoin/bitcoin#34036: contrib: update macOS SDK to Xcode-26.1.1-17B100
41034a032f Merge bitcoin/bitcoin#34396: fuzz: pull the latest FuzzedDataProvider.h from upstream
580e9eefe3 ci: bump CCACHE_MAXSIZE to 2G
ff09583928 Merge bitcoin/bitcoin#34432: test: Turn ElapseSteady into SteadyClockContext
67696b207f net: extend log message to include attempted connection type
81e67d9aa1 Merge bitcoin/bitcoin#34179: refactor: Enable transparent lookup for setBlockIndexCandidates to remove const_cast
ec70bead5e Merge bitcoin/bitcoin#34433: script: remove unused `SCRIPT_ERR_LAST`
08547ee1b0 Merge bitcoin/bitcoin#34443: validation: follow-up nits for lock-free `IsInitialBlockDownload()`
881ab4fc82 support multiple block status checks in CheckBlockDataAvailability
232a2bce90 consensus/test: add out-of-range output unit tests for `CTransaction::GetValueOut`
aa87aae14f consensus/test: add `MoneyRange` unit tests for `CheckTxInputs`
8bb77f348e Merge bitcoin/bitcoin#34455: ci, iwyu: Fix warnings in `src/univalue` and treat them as errors
1bf3842223 ci, iwyu: Fix warnings in `src/univalue` and treat them as errors
3d180d3c7f Merge bitcoin/bitcoin#34462: util: Drop *BSD headers in `batchpriority.cpp`
1eed88a3ec Merge bitcoin/bitcoin#34460: iwyu: Update mappings
101daa4163 Merge bitcoin/bitcoin#34338: ci, iwyu: Fix warnings in `src/zmq` and treat them as errors
dfb9364609 fuzz: pull latest FuzzedDataProvider.h from upstream
705705e5b1 Merge bitcoin/bitcoin#33701: test: add case where `TOTAL_TRIES` is exceeded yet solution remains
88f8029835 Merge bitcoin/bitcoin#34100: doc: Use multipath descriptors in descriptors.md and linked test
5ad94cf6b7 Merge bitcoin/bitcoin#34381: script: return proper error for `CScriptNum` errors
4f85b05131 Merge bitcoin/bitcoin#31713: miniscript refactor: Remove unique_ptr-indirection
1f8f7d477a Change BlockRequestAllowed() to take ref
5d2707307e Merge bitcoin/bitcoin#34454: wallet: Rename `RecordType::DELETE` to `RecordType::DELETE_FLAG`
38fd85c676 http: replace WorkQueue and threads handling for ThreadPool
c323f882ed fuzz: add test case for threadpool
c528dd5f8c util: introduce general purpose thread pool
07af50f789 util: Drop *BSD headers in `batchpriority.cpp`
4dfb6eef70 test: Add DERSIG tests to script_tests
884978f389 test: Fix a STRICTENC test in script_tests
527e8ca7b5 test: Remove outdated comment in script_tests
516be10bb5 wallet: Rename `RecordType::DELETE` to `RecordType::DELETE_FLAG`
bbbb78a4f2 ci: Print verbose build error message in test-each-commit
2222dadabb ci: [refactor] Allow overwriting check option in run helper
9c839aa9e3 iwyu: Document mappings for libc symbols
91824646c5 iwyu: Add temporary mapping to work around upstream bug
37de7d1910 iwyu: Drop backported mapping
01651324f4 Merge bitcoin/bitcoin#34434: miniscript: correct and_v() properties
c7cf2b8f3a Merge bitcoin/bitcoin#34445: fuzz: Use `__AFL_SHM_ID` for naming test directories
0d1d393877 Merge bitcoin/bitcoin#34429: test: Check that redundant verack message is ignored
23a2e3354e Merge bitcoin/bitcoin#34453: ci: Always print low ccache hit rate notice
5401e673d5 Merge bitcoin/bitcoin#33604: p2p: Allow block downloads from peers without snapshot block after assumeutxo validation
6750744eb3 Merge bitcoin/bitcoin#34164: validation: add reusable coins view for ConnectBlock
4e4fa0199e Merge bitcoin/bitcoin#33680: validation: do not wipe utxo cache for stats/scans/snapshots
fad2876ec3 ci: Always print low ccache hit rate notice
e67a676df9 fix: uptime RPC returns 0 on first call
a89e1618dd contrib: update macOS SDK to Xcode-26.1.1-17B100
57a778ed25 depends: use -Xclang -fno-cxx-modules in macOS cross build
3e0fd0e4dd refactor: rename will_reuse_cache to reallocate_cache
44b4ee194d validation: reuse same CCoinsViewCache for every ConnectBlock call
8fb6043231 coins: introduce CCoinsViewCache::ResetGuard
041758f5ed coins: use hashBlock setter internally for CCoinsViewCache methods
8dd9200fc9 coins: add Reset on CCoinsViewCache
efcbf79448 ci, iwyu: Fix warnings in `src/zmq` and treat them as errors
d3e681bc06 fuzz: Use `__AFL_SHM_ID` for naming test directories
f7e0c3d3d3 Merge bitcoin/bitcoin#34346: test: use IP_PORTRANGE_HIGH on FreeBSD for dynamic port allocation
eeb4d28148 validation: follow-up nits for lock-free `IsInitialBlockDownload()`
1c2f164d34 Merge bitcoin/bitcoin#34253: validation: cache tip recency for lock-free `IsInitialBlockDownload()`
8cdf1dcca0 Merge bitcoin/bitcoin#34373: refactor: Remove remaining std::bind, check via clang-tidy
facb2aab26 test: Turn ElapseSteady into SteadyClockContext
6354b4fd7f tests: log node JSON-RPC errors during test setup
45930a7941 http-server: guard against crashes from unhandled exceptions
a6cdc3ec9b Merge bitcoin/bitcoin#34303: test: addrman: test self-announcement time penalty handling
75ec9001ce Merge bitcoin/bitcoin#34207: coins/refactor: enforce `GetCoin()` returns only unspent coins
4fab35cf88 miniscript: correct and_v() properties
51abf7d15b script: remove unused SCRIPT_ERR_LAST
f2b8acc0ed remove glozow from trusted keys
cd1af852fa Merge bitcoin/bitcoin#34358: wallet: fix removeprunedfunds bug with conflicting transactions
2dd5e7bb38 Merge bitcoin/bitcoin#34409: test: use `ModuleNotFoundError` in `interface_ipc.py`
d3e8c459e7 Merge bitcoin/bitcoin#34417: log: Print warning about privacy-sensitive log info unconditionally
d9851f9a7c Merge bitcoin/bitcoin#33472: guix: documented shasum gathering command
a7460b9928 Merge bitcoin/bitcoin#34098: test: [move-only] Move lint functions into modules
8f9ad534a5 Merge bitcoin/bitcoin#34352: ci, iwyu: Fix warnings in `src/primitives` and treat them as errors
faba426b3b lint: Flatten lint image entry points
1111fff91c lint: Add missing --platform=linux to docker build command
feb74a9372 Merge bitcoin/bitcoin#34430: ci: mount git directory as writable in linter
fad042235b refactor: Remove remaining std::bind, check via clang-tidy
c8abac9941 ci: mount .git dir rw
d9e651f995 Merge bitcoin/bitcoin#33622: docs: add doc comment for SRD selection algorithm
cb128bcedb Merge bitcoin/bitcoin#34408: ci: remove gnu-getopt usage
6ae96ed607 Merge bitcoin/bitcoin#34276: Remove empty caption from user interface (noui, gui)
fafdae46ff test: Check that redundant verack message is ignored
289d60f5ab Merge bitcoin/bitcoin#34161: refactor: avoid possible UB from `std::distance` for `nullptr` args
1d3243806d Merge bitcoin/bitcoin#34391: lint: upgrade lint scripts for worktrees
d931b54d13 Merge bitcoin/bitcoin#34412: Update secp256k1 subtree to latest master
3400db8040 doc: add missing param description to SRD
c0e6556e4f Merge bitcoin/bitcoin#34413: doc: Remove outdated -fdebug-prefix-map section in dev notes
9260b20ef1 Merge bitcoin/bitcoin#33962: refactor: replace manual promise with SyncWithValidationInterfaceQueue
ddae1b4efa ci: remove gnu-getopt usage
fa43897c1d doc: Fix LLM nits in net_processing.cpp
bbbba0fd4b scripted-diff: Use references when nullptr is not possible
fac5415466 refactor: Separate peer/maybe_peer in ProcessMessages and SendMessages
fac529188e refactor: Pass Peer& to ProcessMessage
fa376095a0 refactor: Pass CNode& to ProcessMessages and SendMessages
fada838014 refactor: Make ProcessMessage private again
fa80cd3cee test: [refactor] Avoid calling private ProcessMessage() function
d511adb664 [miner] omit dummy extraNonce via IPC
bf3b5d6d06 test: clarify getCoinbaseRawTx() comparison
78df9003d6 [doc] Update comments on dummy extraNonces in tests
e770392084 test: addrman: test self-announcement time penalty handling
27aeeff630 Merge bitcoin/bitcoin#34328: rpc: make `uptime` monotonic across NTP jumps
5aeaa71c77 lint: pass args from lint.py to cargo run in container
c17a2adb8d lint: upgrade lint scripts for worktrees
fa9c92d7b6 log: Print warning about privacy-sensitive log info unconditionally
f970cb39fb Merge bitcoin/bitcoin#34267: net: avoid unconditional `privatebroadcast` logging (+ warn for debug logs)
8593d96519 Merge bitcoin/bitcoin#33067: test: refactor ValidWitnessMalleatedTx class to helper function
2fccbea3c8 Squashed 'src/secp256k1/' changes from d543c0d917..14e56970cb
26fbe10873 Update secp256k1 subtree to latest master
34a5ecadd7 Merge bitcoin/bitcoin#34397: doc: fix arg name hints so bugprone can validate them
fa2e1b85dd build: Remove outdated comment about -ffile-prefix-map
fa06cd4ba7 doc: Remove outdated -fdebug-prefix-map section in dev notes
ab649ce459 guix: documented shasum gathering command
1cc58d3a0c Merge bitcoin/bitcoin#34281: build: Temporarily remove confusing and brittle `-fdebug-prefix-map`
905dfdee86 test: use ModuleNotFoundError in interface_ipc.py
2778eb4664 Merge bitcoin/bitcoin#34337: fuzz: Return chrono point from ConsumeTime(), Add ConsumeDuration()
d70fb8a575 Merge bitcoin/bitcoin#34351: util: Remove `FilterHeaderHasher`
6472ba06c3 Merge bitcoin/bitcoin#34388: doc: Explain that low-effort pull requests may be closed
1f60ca360e wallet: fix removeprunedfunds bug with conflicting transactions
5f66fca633 Merge bitcoin-core/gui#920: Set peer version and subversion to N/A when not available or detecting
02240a7698 Merge bitcoin/bitcoin#34390: test: allow overriding `tar` in `get_previous_releases.py`
7d9e1a8102 test: Verify peer usage after assumeutxo validation completes
3bd98b4508 refactor: use transparent comparator for setBlockIndexCandidates lookups
a73a3ec553 doc: fix invalid arg name hints for bugprone validation
5b8c204275 Merge bitcoin/bitcoin#34384: Remove epoch logic from mempool
eeee3755f8 fuzz: Return chrono point from ConsumeTime(), Add ConsumeDuration()
5cd57943b8 test: verify node state after restart in assumeutxo
1b36bf0c5d subprocess: Fix `-Wunused-private-field` for `Child` class on Windows
9f2b338bc0 subprocess: Fix `-Wunused-private-field` for `Popen` class on Windows
fa15a8d2d0 doc: Explain that low-effort pull requests may be closed
be2b48b9f3 test: allow overriding tar in get_previous_releases
891030ac8b Merge bitcoin/bitcoin#33822: kernel: Add block header support and validation
0871e104a2 Merge bitcoin/bitcoin#34242: Prepare string and net utils for future HTTP operations
1b079becf1 Merge bitcoin/bitcoin#34317: fuzz: Exclude too expensive inputs in descriptor_parse targets
cdb42a8df8 Merge bitcoin/bitcoin#34380: test: Fix P2PK script test
40735450c0 Remove unused epochguard.h
1a8494d16c Rework CTxMemPool::GetChildren() to not use epochs
7b48b09b7f Merge bitcoin/bitcoin#34376: bench/test: clarify merkle bench and witness test intent
db2effaca4 scripted-diff: refactor: CWallet::Create() -> CreateNew()
27e021ebc0 wallet: Correctly log stats for encrypted messages.
d8bec61be2 wallet: remove loading logic from CWallet::Create
f35acc893f refactor: wallet: Factor out `WriteVersion()` from `PopulateWalletFromDB()`
e12ff8aca0 test: wallet: Split create and load
70dbc79b09 wallet: Use CWallet::LoadExisting() for loading existing wallets.
ae66e01164 wallet: Create separate function for wallet load
bc69070416 refactor: Wallet stats logging in its own function
a9d64cd49c wallet: Remove redundant birth time update
b4a49cc727 wallet: Move argument parsing to before DB load
b15a94a618 refactor: Split out wallet argument loading
fab2f3df4b fuzz: Exclude too expensive inputs in descriptor_parse targets
1911db8c6d string: add LineReader
ee62405cce time: implement and test RFC1123 timestamp string
eea38787b9 string: add AsciiCaseInsensitive{KeyEqual, Hash} for unordered map
1d8cb78d5b Merge bitcoin/bitcoin#34309: guix: stop passing depends sources to codesigning
4e300df712 string: add `base` argument for ToIntegral to operate on hexadecimal
0b0d9125c1 Modernize GetBindAddress()
6f7b4323cb test: remove UNKNOWN_ERROR from script_tests
bd31a92d67 script: use SCRIPT_ERR_SCRIPTNUM for CScriptNum errors
0ca4dcd786 script: add SCRIPT_ERR_SCRIPTNUM error
7041648ee5 Merge bitcoin/bitcoin#34375: doc: mempool: fix `removeUnchecked` incorrect comment
9a9d797ef6 kernel: Add support for block headers
1137debb85 doc: mempool: fix `removeUnchecked` incorrect comment
c9ce1c7c4a test: Fix P2PK script test
691dc830c6 Merge bitcoin/bitcoin#34377: test: Rename wallet in restore attempt in wallet_assumeutxo
d7fd8c6952 Merge bitcoin/bitcoin#34090: net: Fix `-Wmissing-braces`
1fbbdd20cd Merge bitcoin/bitcoin#34355: doc: Fix wrong code in WITH_LOCK doxygen comment
9016858282 Merge bitcoin/bitcoin#34297: p2p: add validation checks for initial self-announcement
e1dc4afeeb test: Rename wallet name in restore attempt in wallet_assumeutxo
8b9d30e3fa bench/test: clarify merkle bench and witness test intent
5715748333 Merge bitcoin/bitcoin#34366: test: switch order of error code and message check
2a1234001c Merge bitcoin/bitcoin#34269: wallet: disallow creating new or restoring to an unnamed (default) wallet
2845f10a2b test: extend FreeBSD ephemeral port range fix to P2P listeners
3ea2b6fe18 Merge bitcoin/bitcoin#34369: test: Scale NetworkThread close timeout with timeout_factor
fab055c907 test: Scale NetworkThread close timeout with timeout_factor
e324925d19 Merge bitcoin/bitcoin#34363: Update libmultiprocess subtree to avoid occasional rpc_misc.py timeout
fa267551c4 Merge bitcoin/bitcoin#34353: refactor: Use std::bind_front over std::bind
b851ff6cae kernel: Add Handle/View pattern for BlockValidationState
fa61fadad1 doc: Fix wrong code in WITH_LOCK doxygen comment
52096de212 Merge bitcoin/bitcoin#34032: util: Add some more Unexpected and Expected methods
0aba464ce7 test: switch order of error code and message check
3f5211cba8 test: remove child_one/child_two (w)txid variables
7cfe790820 test: replace ValidWitnessMalleatedTx class with function
5b2c3960b9 test: clean up tx resurrection (re-org) test in feature_block.py
8c07800b19 Merge bitcoin/bitcoin#32497: merkle: pre‑reserve leaves to prevent reallocs with odd vtx count
a365c9fe1f Merge bitcoin/bitcoin#33738: log: avoid collecting `GetSerializeSize` data when compact block logging is disabled
bc3c4cd8b2 Merge bitcoin/bitcoin#32724: Musig2 tests
4fec726c4d refactor: Simplify Interpret asmap function
79e97d45c1 doc: Add more extensive docs to asmap implementation
cf4943fdcd refactor: Use span instead of vector for data in util/asmap
385c34a052 refactor: Unify asmap version calculation and naming
fa41fc6a1a refactor: Operate on bytes instead of bits in Asmap code
964c44cdcd test(miniscript): Prove avoidance of stack overflow
198bbaee49 refactor(miniscript): Destroy nodes one full subs-vector at a time
50cab8570e refactor(miniscript): Remove NodeRef & MakeNodeRef()
15fb34de41 refactor(miniscript): Remove superfluous unique_ptr-indirection
e55b23c170 refactor(miniscript): Remove Node::subs mutability
c6f798b222 refactor(miniscript): Make fields non-const & private
22e4115312 doc(miniscript): Remove mention of shared pointers
f7e88e298a Merge bitcoin/bitcoin#32471: wallet/rpc: fix listdescriptors RPC fails to return descriptors with private key information when wallet contains descriptors missing any key
34bed0ed8c test: use IP_PORTRANGE_HIGH on FreeBSD for dynamic port allocation
ccf9172ab3 util: Remove `FilterHeaderHasher`
7f5ebef56a Merge bitcoin/bitcoin#34302: fuzz: Restore SendMessages coverage in process_message(s) fuzz targets
a6e8cd306e Merge bitcoin/bitcoin#34310: iwyu: Add missed line to IWYU patch
f4413706f9 Merge bitcoin/bitcoin#34344: ci: update GitHub Actions versions
fdc9fe2da6 ci, iwyu: Fix warnings in `src/primitives` and treat them as errors
477c5504e0 coins: replace `std::distance` with unambiguous pointer subtraction
faa18dceba refactor: Use std::bind_front over std::bind
c84c752506 Merge bitcoin/bitcoin#34319: Drop some `IWYU pragma: export` and document IWYU usage
38f951f828 Merge bitcoin/bitcoin#34308: doc: Document IWYU workaround
ab80588f52 Merge bitcoin/bitcoin#34345: clang-format: use AngleBracket for main includes
81675a781f test: use pre-generated chain
977be171f2 Merge bitcoin/bitcoin#34188: test: Add multiple transactions and error handling tests for getreceivedbyaddress
347840164f Merge bitcoin/bitcoin#32143: Fix 11-year-old mis-categorized error code in OP_IF evaluation
969c840db5 log,blocks: avoid `ComputeTotalSize` and `GetHash` work when logging is disabled
babfda332b log,net: avoid `ComputeTotalSize` when logging is disabled
1658b8f82b refactor: rename `CTransaction::GetTotalSize` to signal that it's not cached
75b704df9d wallettool: Disallow creating new unnamed wallets
5875a9c502 wallet: disallow unnamed wallets in createwallet and restorewallet
0dafc0d83c clang-format: use AngleBracket for main includes
03f363d378 doc: Document IWYU workaround
d938947b3a doc: Add "Using IWYU" to Developer Notes
e1a90bcecc iwyu: Do not export `crypto/hex_base.h` header
19a2edde50 iwyu: Do not export C++ headers in most cases
9482f00df0 chore: Update outdated GitHub Actions versions
898e8d3a2d Merge bitcoin/bitcoin#34296: refactor: [move-only] Merge core_io module, remove from libkernel
14f99cfe53 rpc: make `uptime` monotonic across NTP jumps
faf07bd1ab doc: Fix typo found by LLM
faf66673ac refactor: [move-only] Merge core_io module
fa6947f491 kernel: Remove unused core_read.cpp from kernel
5e49f5d63c Merge bitcoin/bitcoin#33779: ci, iwyu: Fix warnings in `src/kernel` and treat them as errors
a9440b1595 util: add `TicksSeconds`
c57fbbe99d Merge bitcoin/bitcoin#31650: refactor: Avoid copies by using const references or by move-construction
d45ec3fba9 test: Add getreceivedbyaddress coverage to wallet_listreceivedby
22bde74d1d Merge bitcoin-core/gui#924: Show an error message if the restored wallet name is empty
a02c4a82d8 refactor: Move -walletbroadcast setting init
411caf7281 wallet: refactor: PopulateWalletFromDB use switch statement.
a48e23f566 refactor: wallet: move error handling to PopulateWalletFromDB()
81bf4209e9 Merge bitcoin/bitcoin#34318: contrib: Revert "verify-commits sha1 exceptions"
a5a8c4139c ci, iwyu: Fix warnings in `src/kernel` and treat them as errors
fa38ffac6f contrib: [refactor] Use shorter read_text from pathlib
fab8bc0308 contrib: Revert "verify-commits sha1 exceptions"
faa5a9ebad fuzz: Use min option in ConsumeTime
0972785fd7 wallet: Delete unnecessary PopulateWalletFromDB() calls
f0a046094e scripted-diff: refactor: CWallet::LoadWallet->PopulateWalletFromDB
de509c6df9 iwyu: Add missed line to IWYU patch
faa59b3679 util: Add Expected::swap()
fabb47e4e3 util: Implement Expected::operator*()&&
d94d7b1a4b guix: stop passing depends sources to codesigning
0ffb20dee1 Merge bitcoin/bitcoin#34282: qa: Fix Windows logging bug
fab9721430 util: Implement Expected::value()&& and Expected::error()&&
fac4800959 util: Add Expected<void, E> specialization
fa6575d6c2 util: Make Expected::value() throw
697bc7f6a2 Merge bitcoin/bitcoin#34300: test: use ephemeral ports in p2p_private_broadcast.py
37cb209277 Merge bitcoin/bitcoin#34238: wallet: remove erroneous-on-reorg Assume()
fabf8d1c5b fuzz: Restore SendMessages coverage in process_message(s) fuzz targets
fac7fed397 refactor: Use std::reference_wrapper<AddrMan> in Connman
d08c1b3ed9 Merge bitcoin/bitcoin#34288: fuzz: Exclude too expensive inputs in miniscript_string target
6a8dbf9b93 p2p: add validation check for initial self-announcement
baa554f708 Merge bitcoin/bitcoin#34259: Find minimal chunks in SFL
3e340672ec test: use ephemeral ports in p2p_private_broadcast.py
9d2b8fddad Merge bitcoin/bitcoin#34210: bench: Remove -priority-level= option
ae3b5a99f8 Merge bitcoin/bitcoin#34186: test: use dynamic port allocation in proxy tests
f4364cedb3 Merge bitcoin/bitcoin#33728: test: Add bitcoin-chainstate test for assumeutxo functionality
80c4c2df3f Merge bitcoin/bitcoin#34146: p2p: send first addr self-announcement in separate message 🎄
fa64d8424b refactor: Enforce readability-avoid-const-params-in-decls
faf0c2d942 refactor: Avoid copies by using const references or by move-construction
cd0959ce9b Merge bitcoin/bitcoin#34185: test: fix `feature_pruning` when built without wallet
b0b65336e7 Merge bitcoin/bitcoin#32740: refactor: Header sync optimisations & simplifications
fac70ea8b5 fuzz: Exclude too expensive inputs in miniscript_string target
fad7bd9ba3 noui: Remove always empty caption while formatting
fa8ebeb332 refactor: [gui] Document that the title is always empty for node message
fafe71b743 refactor: Remove empty caption from ThreadSafeMessageBox
fa8d0088e7 refactor: Remove empty caption from ThreadSafeQuestion
fa90786478 iwyu: Fix includes for test/fuzz/util/descriptor module
c0219f6bea Merge bitcoin/bitcoin#34285: ci: Install `pyzmq` for functional tests on Windows
f62568c97c ci: Install `pyzmq` for functional tests on Windows
2d380aee43 Merge bitcoin/bitcoin#34243: doc: validation: fix `PackageMempoolChecks` incorrect comment
db6e576710 Merge bitcoin/bitcoin#34279: test: Fail on self-check warnings in test_runner.py
c447eea43d Merge bitcoin/bitcoin#34145: test: Add unit test for OP_NUMEQUALVERIFY
1fea3bae5c ipc, test: Add tests for unclean disconnect and thread busy behavior
fa37928536 build: Temporarily remove confusing and brittle -fdebug-prefix-map
979d41bfab qa: Fix Windows logging bug
28f70c571b Merge bitcoin/bitcoin#34240: ci: Run feature_unsupported_utxo_db.py on Windows
b39291f4cd doc: fix `-logips` description to clarify that non-debug logs can also contain IP addresses
c7028d3368 init: log that additional logs may contain privacy-sensitive information
fa2959e16d test: Fail on self-check warnings in test_runner.py
31b771a942 net: move `privatebroadcast` logs to debug category
ac76d94117 Merge bitcoin/bitcoin#34109: refactor: Use uint64_t over size_t for serialize corruption check in fees.dat
fa16b275fa test: Check that interrupt results in EXIT_SUCCESS
fab7c7f56c test: Split large init_stress_test into two smaller functions
fa5032f0e4 ci: Run feature_unsupported_utxo_db.py on Windows
57350c5352 Merge bitcoin/bitcoin#34272: psbt: Fix `PSBTInputSignedAndVerified` bounds `assert`
88a7294356 Merge bitcoin/bitcoin#34260: contrib: Remove unused functions
8e8d8f29a8 Merge bitcoin/bitcoin#33775: guix: use GCC 14.3.0 over 13.3.0
d20037893a Merge bitcoin/bitcoin#34244: test: Prevent loop from running out of utxos in bip68 test
4aa80c3b5e Merge bitcoin/bitcoin#34230: fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target
72e0999ddb Merge bitcoin/bitcoin#34099: test: Improve code coverage for pubkey checks
377c6dbc3c Merge bitcoin/bitcoin#34224: init: Return EXIT_SUCCESS on interrupt
c094a966d6 Merge bitcoin/bitcoin#34246: verify-commits: Allow specific commits to allow sha1
c352d3c51c Merge bitcoin/bitcoin#34168: qa: Require `--exclude` for each excluded test
d30ad4a912 wallet, rpc: Use HandleWalletError in createwallet
7fc465ece8 doc: fix incorrect description of `PackageMempoolChecks`
fa0195499c refactor: [gui] Use lambdas over std::bind
eeee1e341f refactor: Remove trailing semicolon after ADD_SIGNALS_DECL_WRAPPER
62557c9529 Merge bitcoin/bitcoin#33819: mining: getCoinbase() returns struct instead of raw tx
7562e2aeed Squashed 'src/ipc/libmultiprocess/' changes from a4f92969649..1fc65008f7d
73d0fe62d3 Merge commit '7562e2aeed95b0dc627e8e3a849941992f0189bb' into pr/subtree-7
2f5b1c5f80 psbt: Fix `PSBTInputSignedAndVerified` bounds `assert`
fa3df52712 bench: Require semicolon after BENCHMARK(foo)
fa8938f08c bench: Remove incorrect __LINE__ in BENCHMARK macro
fa51a28a94 scripted-diff: Remove priority_level from BENCHMARK macro
fa790c3eea bench: Remove -priority-level= option
dd904298c1 gui: Show an error message if the restored wallet name is empty
3c8d389a84 Merge bitcoin/bitcoin#34249: doc: archive v30.2 release notes
5e98a6a470 Merge bitcoin/bitcoin#34266: release note: cpfp carveout removed in 31.0
61726483e1 release note: cpfp carveout removed in 31.0
da56ef239b clusterlin: minimize chunks (feature)
d09a19fd41 test: add coverage for issue 34206
a0ca851d26 Make GetBindAddress() callable from outside net.cpp
796f18e559 Merge bitcoin/bitcoin#29415: Broadcast own transactions only via short-lived Tor or I2P connections
557b41a38c validation: make `IsInitialBlockDownload()` lock-free
b9c0ab3b75 chain: add `CChain::IsTipRecent` helper
8d531c6210 validation: invert `m_cached_finished_ibd` to `m_cached_is_ibd`
8be54e3b19 test: cover IBD exit conditions
f51665bee7 psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
facaf56214 contrib: Remove unused functions
abc6a3a4eb Merge bitcoin/bitcoin#34252: doc: add 433 (Pay to Anchor) to bips.md
2ee7f9b259 coins: assume `GetCoin` only returns unspent coins
44b12cdb11 doc: add 433 (Pay to Anchor) to bips.md
f664860e52 doc: archive v30.2 release notes
ce63d37ebe test: use dynamic port allocation to avoid test conflicts
8ac134be5e contrib: verify-commits sha1 exceptions
ab41492c6b test: Prevent loop from running out of utxos in bip68 test
aeaa67a9ea Merge bitcoin/bitcoin#33428: depends: Boost 1.90.0
1412b779ad refactor: execute `PackageMempoolChecks` during package rbf only
4c7cfd37ad wallet: remove erroneous-on-reorg Assume()
8fb5e5f41d test: check wallet rescan properly in feature_pruning
595504a432 Merge bitcoin/bitcoin#34236: Add sedited to trusted-keys
5c724f3b04 Merge bitcoin/bitcoin#34235: miniminer: stop assuming ancestor fees >= self fees
2d87afcf7d Merge bitcoin/bitcoin#34227: guix: Fix `osslsigncode` tests
7b17fb78fa Merge bitcoin/bitcoin#34226: wallet: test: Relative wallet failed migration cleanup
eeaf28dbe0 wallet: test: Failed migration cleanup
997e7b4d7c init: Fix non-zero code on interrupt
d1b227f3ad Add sedited to trusted-keys
6c3fb719d1 Merge bitcoin-core/gui#921: Remove deprecated "Starting Block" from Peer Detail
2cade5d5d1 [miniminer] stop assuming ancestor fees >= self fees
fa8d56f9f0 fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target
fabac1b395 fuzz: Reject some more "expensive" descriptors in the scriptpubkeyman target
194114daf3 guix: Fix `osslsigncode` tests
333333356f fuzz: [refactor] Use std::span over FuzzBufferType in descriptor utils
8d5700ab0f Merge bitcoin/bitcoin#34221: test: migration, avoid backup name mismatch in default_wallet_failure
cbf0bd35bb test: migration, avoid backup name mismatch in default_wallet_failure
cd6e4c9235 Merge bitcoin/bitcoin#34215: wallettool: fix unnamed createfromdump failure walletsdir deletion
90d651a81f Merge bitcoin/bitcoin#34156: wallet: fix unnamed legacy wallet migration failure
9c7e4771b1 test: Test listdescs with priv works even with missing priv keys
ed945a6854 walletrpc: reject listdes with priv key on w-only wallets
9e5e9824f1 descriptor: ToPrivateString() pass if at least 1 priv key exists
5c4db25b61 descriptor: refactor ToPrivateString for providers
2dc74e3f4e wallet/migration: use HavePrivateKeys in place of ToPrivateString
e842eb90bb descriptors: add HavePrivateKeys()
f78f6f1dc8 wallettool: do not use fs::remove_all in createfromdump cleanup
a9daa6dbd3 Merge bitcoin/bitcoin#34135: rpc: [wallet] Use unsigned type for tx version in sendall
a3c71c7201 [test] Add BIP 328 test vectors for Musig2
b7c34d08dd test: coverage for migration failure when last sync is beyond prune height
82caa8193a wallet: migration, fix watch-only and solvables wallets names
d70b159c42 wallet: improve post-migration logging
f011e0f068 test: restorewallet, coverage for existing dirs, unnamed wallet and prune failure
36093bde63 test: add coverage for unnamed wallet migr…
* Squashed 'Vendor/bitcoin/' content from commit 084cb796
git-subtree-dir: Vendor/bitcoin
git-subtree-split: 084cb796fb0f40eac962227afaedce21d62ae2a4
* Squashed 'Vendor/bitcoin/' changes from 4d7d5f6b79..f0e2cbc5e5
f0e2cbc5e5 Merge bitcoin/bitcoin#34800: [31.x] Backports
b241f3c82d doc: update example bitcoin conf for 31.0rc2
718c31cfb7 doc: update manual pages for v31.0rc2
a30e50538b build: bump version to v31.0rc2
ac13aca72b test: scale IPC mining wait timeouts by timeout_factor
39c87621d5 test: verify IPC error handling for invalid coinbase
660947352c test: move make_mining_ctx to ipc_util.py
acd7e3d061 test: verify createNewBlock wakes promptly when tip advances
e3d571691a test: Remove confusing assert_debug_log in wallet_reindex.py
87d1691f3e wallet: feebumper, fix crash when combined bump fee is unavailable
11b69922b3 wallet: fix amount computed as boolean in coin selection
d171afa9e8 ci: Temporarily use clang in valgrind tasks
198bc4da87 ci: Clarify why valgrind task has gui disabled
6993aa1915 test: Scale feature_dbcrash.py timeout with factor
051afe9e1a depends: Remove no longer necessary `dsymutil`
3b79852984 depends: Fix cross-compiling on macOS for Windows
e53c20d750 gui: Fix TransactionsView on setCurrentWallet
7118559f8c tests: applied PYTHON_GIL to the env for every test
d9a57912c6 ci: Avoid intermittent Windows generate download failures
335a098afa kernel: acquire coinstats cursor and block info atomically
e930c6d60f rpc: fix race condition in gettxoutsetinfo
ca781e49e5 cmake: Migrate away from deprecated SQLite3 target
068951211c test: [refactor] Use verbosity=0 named arg
8379f005da test: Fix intermittent issue in feature_assumeutxo.py
72d6c88165 test: Move event loop creation to network thread
c7127f21df test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy()
a69f8c329e ci: Use arch-appropriate binaries in lint install
e3383ac932 ci: check macos bundle structure and codesigning
ab37d3d7cd macdeploy: use plugins dir to find plugins
bb9fcffd4c macdeploy: subprocess out to zip rather than shutil.make_archive
d20ba02caa build: Set AUTHOR_WARNING on warnings
2724c39208 guix: Make guix-clean less destructive
a28d78c44a test: use static methods and clarify comment in addr_relay
5642a2b0fe test: protect outbound connection from eviction in getaddr_test
a3c1eda8f2 test: fix addr relay test silent pass and wrong peerinfo index
207087b1c4 ci: bump cirruslabs actions versions
a74dfe3ae2 lint: Temporarily revert to vulture==2.14
f7f7e682b5 ci: Bump GHA actions versions
a3ffff0201 depends: delete Boost extra files
9852bbd218 depends: disable Qt sbom generation
d3737769ca Merge bitcoin/bitcoin#34795: [31.x] Bump to 31.0rc1
c5ae5f0adf doc: Point release notes to 31.0 wiki draft
88e21e57e5 examples: Generate example bitcoin.conf for 31.0rc1
62716a8c93 doc: Generate manpages for 31.0rc1
2a5b96eb54 build: bump to 31.0rc1
b97abdcdf1 Merge bitcoin/bitcoin#34766: Pre-31.x branching updates
eed3161893 Merge bitcoin/bitcoin#34792: clusterlin: update SFL comments for deterministic order
730308386a Merge bitcoin/bitcoin#34696: Update embedded asmap to 1772726400 for v31
951863d022 Merge bitcoin/bitcoin#34769: doc: update http worker thread names
d67c8ed788 clusterlin: update SFL comments for deterministic order
0690a5d0f2 Update embedded asmap to 1772726400
f82d076771 Merge bitcoin/bitcoin#34784: ci: use latest versions of lint deps
a9baf19172 Merge bitcoin/bitcoin#34789: doc: update build guides pre v31
48f26e2040 Merge bitcoin/bitcoin#34751: doc: Update asmap-data repository rule for file inclusion
6b20ad84e0 doc: update build guides pre v31
195306c359 Merge bitcoin/bitcoin#34785: ci: remove TODOs from retry
c08f0c3c29 ci: remove TODOs from retry
9f3752c437 ci: use latest versions of lint deps
544c15ff4e Merge bitcoin/bitcoin#34759: walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
9aea2905fe Merge bitcoin/bitcoin#34783: depends: link to upstream qt issue
3a83715c2a depends: link to upstream qt issue
8dcd79949f Merge bitcoin/bitcoin#34718: Release: 31.0 translations update
5f9068bdcd Merge bitcoin/bitcoin#34781: test: Remove fixed TODO in address_to_scriptpubkey
d21afb297c qt: 31.0 translations update
fa0587a306 test: Remove fixed TODO in address_to_scriptpubkey
46189fd526 doc: update http worker thread names
d3056bc149 Merge bitcoin/bitcoin#34606: doc: clarify swapping impact on IBD performance
f201ccc800 Merge bitcoin/bitcoin#34673: contrib: Update fixed seeds pre-31.0
42f97c542d Merge bitcoin/bitcoin#34705: kernel: Use fs:: namespace and unicode path in kernel tests
7691e8a005 Merge bitcoin/bitcoin#34471: refactor: Use aliasing shared_ptr in Sock::Wait
49bd12bd89 Merge bitcoin/bitcoin#34693: doc: Use relative markdown links
aefa8e6d14 Merge bitcoin/bitcoin#34361: test: clean up tx resurrection (re-org) test in feature_block.py
3a222507fd Merge bitcoin/bitcoin#34037: wallet, doc: clarify the coin selection filters that enforce cluster count
501a3dd4ad walletdb: hash pubkey/privkey in one shot to avoid leaking secret data
d198635fa2 Merge bitcoin/bitcoin#34677: kernel: Chainparams and headerssync updates pre-31.0
9833ef5f86 Merge bitcoin/bitcoin#34702: doc: Fix fee field in getblock RPC result
f2f0a0ca4c Merge bitcoin/bitcoin#34700: script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
48b952cbb6 build: bump to 31.99
1b3d58f128 docs Remove 31.0 release notes fragments
b7cf2f87d0 docs: Update bips.md
c7a3ea2483 Merge bitcoin/bitcoin#34692: Bump dbcache to 1 GiB
8b70ed6996 Merge bitcoin/bitcoin#34521: validation: fix UB in `LoadChainTip`
f6d3201e14 Merge bitcoin/bitcoin#33929: test: Remove `system_tests/run_command` runtime dependencies
b5737b755d Merge bitcoin/bitcoin#34650: depends: Update Qt to version 6.8.3
c0802e20be Merge bitcoin/bitcoin#34734: test: Fix shutdown vptr race in BlockFilterIndexSync bench
2ac4f6e019 Merge bitcoin/bitcoin#34612: leveldb: remove unused files
d97df29d5d Merge bitcoin/bitcoin#34747: test: Sync mempools and wait for txospender index to be synced in rpc_gettxspendingprevout
c12be53f85 Merge bitcoin/bitcoin#34635: rpc, index: txospenderindex improve formatting, docs and test coverage
8bc62ce173 doc: Update asmap-data repository rule for file inclusion
15c4889497 index: document TxoSpenderIndex::FindSpender
f8b9595aaa test: Add missing txospenderindex coverage in feature_init
cbdb891de2 test: Wait for txospender index to be synced in rpc_gettxspendingprevout
2db5c049bb test: Sync mempools after tx creation in rpc_gettxspendingprevout
ca45461ddb Merge bitcoin/bitcoin#33986: doc: improvements to doc/descriptors.md
fc39a4f568 Merge bitcoin/bitcoin#34713: depends: Allow building Qt packages after interruption
a1074d852a index, rpc, test: Misc formatting fixes
7e91060ec7 Merge bitcoin/bitcoin#34733: subprocess: replace __USING_WINDOWS__ with WIN32
69b2c813f0 Merge bitcoin/bitcoin#34591: cmake: Improve `install_name_tool` workaround
f2f5619360 Merge bitcoin/bitcoin#34709: wallet, test: improve wallet functional tests
083242aac8 Merge bitcoin/bitcoin#34725: fuzz: assert we accept any PSBT serialization we create
20ae9b98ea Extend functional test for setBlockIndexCandidates UB
4c40a923f0 Merge bitcoin/bitcoin#34728: test: Fix intermittent issue in wallet_assumeutxo.py
854a6d5a9a validation: fix UB in LoadChainTip
fa79098ce2 test: Fix shutdown vptr race in BlockFilterIndexSync bench
9249e6089e validation: remove LoadChainTip call from ActivateSnapshot
d76ec4de14 fuzz: make sure PSBT serialization roundtrips
faa68ed4bd test: Fix intermittent issue in wallet_assumeutxo.py
bff8a7a80d subprocess: replace __USING_WINDOWS__ with WIN32
e09b81638b Merge bitcoin/bitcoin#34219: psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
89386e700e kernel: Use fs:: namespace and unicode path in kernel tests
01dcb2fcc5 Merge bitcoin/bitcoin#34715: test: avoid interface_ipc.py race and null pointer dereference
dc109e1b34 Merge bitcoin/bitcoin#34706: doc: Improve dependencies.md IPC documentation
0a6724aaae doc: Update Windows build notes
473e5f8efc qt: Add patch to fix SFINAE warnings in QAnyStringView with gcc16
3cb4d6066b qt: add patches to fix SFINAE errors/warnings with gcc16
d7e972a90d qt: add patch to fix build with gcc16
19693a8c91 depends: Update Qt to 6.8.3
c55584575a cmake: Fix `FindQt` module
2eaf701bc0 Merge bitcoin/bitcoin#34679: ci: Download script_assets_test.json for Windows CI
17a04039bc Merge bitcoin/bitcoin#34662: ci: use LLVM/Clang 22 in tidy job
5e35a9069d interpreter: remove clang-tidy suppression
4089682f5c ci: use Clang 22 in tidy task
7ea076f996 tidy: remove deprecated header
eb17f29aa5 tidy: clang-tidy is required
bf9ef4f043 Merge bitcoin/bitcoin#34422: Update libmultiprocess subtree to be more stable with rust IPC client
2702711c3a Merge bitcoin/bitcoin#34642: wallet: call SyncWithValidationInterfaceQueue after disconnecting chain notifications
1c1de334e9 test: avoid interface_ipc.py race and null pointer dereference
2a7a4f608a depends: Allow building Qt packages after interruption
6b0a980de9 Merge bitcoin/bitcoin#34410: test: let connections happen in any order in p2p_private_broadcast.py
a61907e5d9 doc: explain swapping in `reduce-memory.md`
5c005363a8 test: improve `wallet_backup` test
04d9515748 test: improve `wallet_assumeutxo` func test
b87a1c27c9 doc: Improve dependencies.md IPC documentation
f580cc7e9f doc: Fix `fee` field in `getblock` RPC result
4ae9a10ada doc: add release notes for dbcache bump
37d49f5de6 doc: mention Miniscript expressions inside reference
771f7642bc doc: fix typo in descriptors.md
708b84999b doc: reference descriptor BIPs in descriptors.md
8f2a869a19 doc: do not list descriptor RPCs or history
65a8b6c2ef doc: mention musig() in descriptors.md
c510d126ef doc: update dbcache default in reduce-memory.md
027cac8527 qt: show GetDefaultDBCache() in settings
5b34f25184 dbcache: bump default from 450MB -> 1024MB if enough memory
44feab23a7 script: Fix undefined behavior in Clone() -- std::transform writes past end of empty vector
9cad97f6cd Merge bitcoin/bitcoin#34690: test: Add missing timeout_factor to zmq socket
5a6dd7c693 Merge bitcoin/bitcoin#34661: ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
98e8af4bb9 wallet: Drain validation interface queue after notifications disconnect
52992ebe1c interfaces: Add waitForNotifications() to call SyncWithValidationInterfaceQueue()
fa9d0623a3 doc: Use relative markdown links
ceff6771b8 Merge bitcoin/bitcoin#34583: ci: [refactor] Drop last use of pwsh
b0833b560a Merge bitcoin/bitcoin#34668: test: Add missing resolve() to valgrind.supp file for test shell
fa48f8c865 test: Add missing timeout_factor to zmq socket
3a8b4e89f6 Merge bitcoin/bitcoin#34687: ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
286de1e7b3 Merge bitcoin/bitcoin#34093: netif: fix compilation warning in QueryDefaultGatewayImpl()
fab51e470e test: Move valgrind.supp to the other sanitizer_suppressions files
fa9cf81d39 test: Add missing resolve() to valgrind.supp file
05cd3b00b9 Merge bitcoin/bitcoin#34597: util: Fix UB in SetStdinEcho when ENOTTY
3c7b0f97e0 Merge bitcoin/bitcoin#34656: doc: clarify confusing `git range-diff` add/delete output
701b8d7148 Merge bitcoin/bitcoin#34609: test: remove appveyor reference in comment
fa18be2f2b test: Fix typo
fac932698f ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
c1361fc42d netif: fix compilation warning in QueryDefaultGatewayImpl()
b6b8f8ac55 Merge bitcoin/bitcoin#34562: ThreadPool follow-ups, proactive shutdown and HasReason dependency cleanup
8834e4e86c test: remove appveyor reference in comment
fa7612f253 ci: Download script_assets_test.json for Windows CI
bb3ac00cf8 Merge bitcoin/bitcoin#34001: test: fix test_limit_enforcement_package
107a204d24 Merge bitcoin/bitcoin#34682: ci: fix vcpkg tools cache key collision between windows matrix jobs
7777a13306 test: Move Fetching-print to download_from_url util
faf96286ce test: move-only download_from_url to stand-alone util file
17a079c2fb ci: fix vcpkg tools cache key collision between windows matrix jobs
408d5b12e8 test: include response body in non-JSON HTTP error msg
9dc653b3b4 test: threadpool, add coverage for all Submit() errors
ce2a984ee3 test: cleanup, use HasReason in threadpool_tests.cpp
d9c6769d03 test: refactor, decouple HasReason from test framework machinery
dbbb780af0 test: move and simplify BOOST_CHECK ostream helpers
3b7cbcafcb test: ensure Stop() thread helps drain the queue
ca101a2315 test: coverage for queued tasks completion after interrupt
bf2c607aaa threadpool: active-wait during shutdown
e88d274430 test: add threadpool Start-Stop race coverage
af99643454 Merge bitcoin/bitcoin#34054: net processing: Add ibd check before processing block for txdownloadman
fa0cc1c5a4 test: [doc] Remove outdated comment
44538f8ada kernel: Add recent assumeutxo snapshot info
58c2e23fca kernel: Update headerssync params
cf261b071f kernel: update chainTxData
8eaf1d26d4 kernel: update defaultAssumeValid and minimumChainWork
5ca0c55517 kernel: update assumed blockchain and chainstate sizes
fec58229fa contrib: Update fixed feeds
27fbdb009f makeseeds: Choose node info with most recent success when deduplicating
982883a1bc makeseeds: Update known user agents
707ad46696 Merge bitcoin/bitcoin#34671: doc: Update Guix install for Debian/Ubuntu
faa70ca764 doc: Update Guix install for Debian/Ubuntu
7c80301439 Merge bitcoin/bitcoin#33616: policy: don't CheckEphemeralSpends on reorg
8fe91f3719 test: Updates needed after bitcoin-core/libmultiprocess#240
cb15f5a317 Merge commit 'b7ca3bf061b51108d155283c1ad503c0af7eab0d' into pr/subtree-8
b7ca3bf061 Squashed 'src/ipc/libmultiprocess/' changes from 1fc65008f7d..1868a84451f
33fbaed310 policy: don't CheckEphemeralSpends on reorg
b9bf24cfe2 Merge bitcoin/bitcoin#34616: Cluster mempool: SFL cost model (take 2)
403523127b Merge bitcoin/bitcoin#34608: test: Fix broken --valgrind handling after bitcoin wrapper
76eb04b16f Merge bitcoin/bitcoin#34655: fuzz: keep `coins_view` fuzzers within caller contracts
21cd1ba182 Merge bitcoin/bitcoin#34286: test: verify node state after restart in assumeutxo
f3887cf694 Merge bitcoin/bitcoin#34561: wallet: rpc: manpage: fix example missing `fee_rate` argument
8cd4a4363f threadpool: guard against Start-Stop race
9ff1e82e7d test: cleanup, block threads via semaphore instead of shared_future
f50d53c847 Merge bitcoin/bitcoin#34627: guix: use a temporary file over sponge, drop moreutils
c88c916e72 Merge bitcoin/bitcoin#34653: test: improve txospender index tests code
744d47fcee clusterlin: adopt trained cost model (feature)
4eefdfc5b7 clusterlin: rescale costs (preparation)
bbc8f1e0a7 ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on early startup
a7cabf92e4 init refactor: Only initialize node.notifications one time
ecc9a84f85 clusterlin: use 'cost' terminology instead of 'iters' (refactor)
9e7129df29 clusterlin: introduce CostModel class (preparation)
e8f8b74a46 test: index, improve txospenderindex_initial_sync() test code
c8e332cb33 init refactor: Remove node.init accesss in AppInitInterfaces
5db78c84ad Merge bitcoin/bitcoin#34660: ci: use LLVM 22 in sanitizer tasks
fa5d478853 test: valgrind --trace-children=yes for bitcoin wrapper
fa29fb72cb test: Remove redundant warning about missing binaries
fa03fbf7e3 test: Fix broken --valgrind handling after bitcoin wrapper
bd9e0e65f5 Merge bitcoin/bitcoin#34184: mining: add cooldown to createNewBlock() immediately after IBD
a28eedb8c2 ci: use LLVM 22 in sanitizer tasks
ab8a7af742 Merge bitcoin/bitcoin#34646: Fix two issues in p2p_private_broadcast.py
9581a0a5b1 Merge bitcoin/bitcoin#34615: mempool: expose optimality of mempool to log / rpc
3281824ecf fuzz: prevent invalid `FRESH` entries and surface `BatchWrite` errors
780f460635 fuzz: avoid invalid `AddCoin` overwrites
d7e0d510f2 fuzz: make `AddCoins` query view for overwrites
b8fa6f0f70 util: introduce `TrySub` to prevent unsigned underflow
ac3bea07cd test: improve rpc_gettxspendingprevout.py code
da7f70a532 test: use port 0 for I2P addresses in p2p_private_broadcast.py
a8ebcfd34c test: let connections happen in any order in p2p_private_broadcast.py
45133c589a doc: clarify `git range-diff` add/delete output
e5f0613503 net processing: Check if we are in ibd before processing block for txdownloadman
ce8b692897 Add functional test exercising tx downloadman recently confirmed filter
c462e54f9d test: don't always assert NUM_PRIVATE_BROADCAST_PER_TX broadcasts
3710566305 test: move abortprivatebroadcast test at the end
d9c7364ac5 Merge bitcoin/bitcoin#34141: miniscript: Use Func and Expr when parsing keys, hashes, and locktimes
38a7a67126 cmake: Provide `install_name_tool` stub instead of disabling it
6c8d628b74 Merge bitcoin-core/gui#931: Release: Update `src/qt/locale/bitcoin_en.xlf` after string freeze
fa194fca8e Merge bitcoin/bitcoin#34622: test: assert_debug_log timeouts follow-up
d907d65acd Merge bitcoin/bitcoin#29770: index: Check all necessary block data is available before starting to sync
ce6898f9a8 Merge bitcoin/bitcoin#34605: build: define CMAKE_COMPILE_WARNING_AS_ERROR as a cache option
fcaec2544b doc: release note for IPC cooldown and interrupt
1e82fa498c mining: add interrupt()
a11297a904 mining: add cooldown argument to createNewBlock()
a9e59f7d95 rpc: add optimal result to getmempoolinfo
a3fb3dd55c mempool: log if we detect a non-optimal mempool
3feabb203a leveldb: remove unused files
c86bce597a guix: use a temporary file over sponge
a2fd558760 Merge bitcoin/bitcoin#34572: cmake: Fix NetBSD-specific workaround for Boost
ef987683dc qt: Update src/qt/locale/bitcoin_en.xlf after string freeze
cb3473a680 Merge bitcoin/bitcoin#34568: mining: Break compatibility with existing IPC mining clients
641a1954f7 Merge bitcoin/bitcoin#34633: Revert "ci: Treat SHA1 LLVM signing key as warning"
3574905cec Revert "ci: Treat SHA1 LLVM signing key as warning"
1a54886b63 Merge bitcoin/bitcoin#24539: Add a "tx output spender" index
fa4424fd98 test: Fixup assert_debug_log timeouts in feature_config_args.py
faed837f27 test: Add missing syncwithvalidationinterfacequeue
ee2065fdea Merge bitcoin/bitcoin#34165: coins: don't mutate main cache when connecting block
96bec216ec Merge bitcoin/bitcoin#34549: net: reduce log level for PCP/NAT-PMP NOT_AUTHORIZED failures
76de2f8e55 Merge bitcoin/bitcoin#34571: test: Fix intermittent issues in feature_assumevalid.py
c808dfbbdc Merge bitcoin/bitcoin#34329: rpc,net: Add private broadcast RPCs
739f75c098 Merge bitcoin/bitcoin#33512: coins: use dirty entry count for flush warnings and disk space checks
02c83fef84 Merge bitcoin/bitcoin#34577: http: fix submission during shutdown race
0b96b9c600 Minimize mempool lock, sync txo spender index only when and if needed
d0998cbe34 Merge bitcoin/bitcoin#33199: fees: enable `CBlockPolicyEstimator` return sub 1 sat/vb fee rate estimates
37e449dcc7 Merge bitcoin/bitcoin#34512: rpc: add coinbase_tx field to getblock
097c18239b Merge bitcoin/bitcoin#34385: subprocess: Fix `-Wunused-private-field` when building with clang-cl on Windows
910bd1c964 Merge bitcoin/bitcoin#34582: rpc: Properly parse -rpcworkqueue/-rpcthreads
e0463b4e8c rpc: add coinbase_tx field to getblock
5a8a427610 Merge bitcoin/bitcoin#32745: scripted-diff: Update DeriveType enum values to mention ranged derivations
3d82ec5bdd Add a "tx output spender" index
8ee24d764a Merge bitcoin/bitcoin#34604: guix: remove double export of `TZ`
4933d1fbba Merge bitcoin/bitcoin#28792: build: Embedded ASMap [3/3]: Build binary dump header file
6d482b22de Merge bitcoin/bitcoin#32138: wallet, rpc: remove settxfee and paytxfee
726b3663cc http: properly respond to HTTP request during shutdown
241ad5853b Merge bitcoin-core/gui#929: Use plurals where necessary
a849b7e1ff Merge bitcoin-core/gui#928: Replace three dots with ellipsis
fa6af85634 refactor: Use static_cast<decltype(...)> to suppress integer sanitizer warning
fa692974ac util: Fix UB in SetStdinEcho when ENOTTY
9e4567b17a Merge bitcoin/bitcoin#34581: test: Set assert_debug_log timeout to 0
655b9d12ee Merge bitcoin/bitcoin#32950: validation: remove BLOCK_FAILED_CHILD
97e7e79435 test: Enable `system_tests/run_command` "stdin" test on Windows
a4324ce095 test: Remove `system_tests/run_command` runtime dependencies
2706758dc3 Merge bitcoin/bitcoin#34349: util: Remove brittle and confusing sp::Popen(std::string)
59e10a5463 Merge bitcoin/bitcoin#34023: Optimized SFL cluster linearization
fa36adeb71 ci: [refactor] Drop last use of pwsh
fae31b1e2f ci: [refactor] Move github_import_vs_env to python script
59d24bd5dd threadpool: make Submit return Expected instead of throwing
fb3e1bf9c9 test: check LoadBlockIndex correctly recomputes invalidity flags
29740c06ac validation: remove BLOCK_FAILED_MASK
b5b2956bda validation: reset BLOCK_FAILED_CHILD to BLOCK_FAILED_VALID when loading from disk
37bc207852 validation: stop using BLOCK_FAILED_CHILD
120c631e16 refactor: use clearer variables in InvalidateBlock()
fa4cb96bde test: Set assert_debug_log timeout to 0
c2fcf25069 clusterlin: inline GetReachable into Deactivate (optimization)
d90f98ab4a clusterlin: inline UpdateChunk into (De)Activate (optimization)
b684f954bb clusterlin: unidirectional MakeTopological initially (optimization)
1daa600c1c clusterlin: track suboptimal chunks (optimization)
63b06d5523 clusterlin: keep track of active children (optimization)
ae16485aa9 clusterlin: special-case self-merges (optimization)
3221f1a074 clusterlin: make MergeSequence take SetIdx (simplification)
7194de3f7c clusterlin: precompute reachable sets (optimization)
6f898dbb8b clusterlin: simplify PickMergeCandidate (optimization)
dcf458ffb9 clusterlin: split up OptimizeStep (refactor)
cbd684a471 clusterlin: abstract out functions from MergeStep (refactor)
b75574a653 clusterlin: improve TxData::dep_top_idx type (optimization)
73cbd15d45 clusterlin: get rid of DepData (optimization)
7c6f63a8a9 clusterlin: pool SetInfos (preparation)
20e2f3e96d scripted-diff: rename _rep -> _idx in SFL
268fcb6a53 clusterlin: add more Assumes and sanity checks (tests)
d69c9f56ea clusterlin: count chunk deps without loop (optimization)
f66fa69ce0 clusterlin: split tx/chunk dep counting (preparation)
900e459778 clusterlin: avoid depgraph argument in SanityCheck (cleanup)
666b37970f clusterlin: fix type to count dependencies
a7c29df0e5 Merge bitcoin/bitcoin#34552: fees: refactor: separate feerate format from fee estimate mode
231dd04b8d build: define CMAKE_COMPILE_WARNING_AS_ERROR as a cache option
fa48d42163 test: Stricter unit test
fa626bd143 util: Remove brittle and confusing sp::Popen(std::string)
fd06157d14 test: Add coverage for restarted node without any block sync
3d7ab7ecb7 rpc, test: Address feedback from #29668
312919c9dd test: Indices can not start based on block data without undo data
a9a3b29dd6 index: Check availability of undo data for indices
c8c9c1e617 Merge bitcoin/bitcoin#34383: ci: remove commit count limit from `test-each-commit` and fail fast
62e378584e guix: don't export TZ twice
badcf1c68d guix: fix typo in guix-codesign
8a050b9cb6 Merge bitcoin/bitcoin#34575: test: Avoid empty errmsg in JSONRPCException
746d8cddc1 qt: Use plurals where necessary
fa5672dcaf refactor: [gui] Use SettingTo<int64_t> over deprecated SettingToInt
35e6444fdc Merge bitcoin/bitcoin#34570: doc: update Windows MSVC build guide to utilize winget to install build requirements
d159b10398 doc: update Windows MSVC build guide to utilize WinGet to install apps
afea2af139 net: reduce log level for PCP/NAT-PMP NOT_AUTHORIZED failures
fac3ecaf69 rpc: Properly parse -rpcworkqueue/-rpcthreads
faee36f63b util: Add SettingTo<Int>() and GetArg<Int>()
6df4a045f7 qt: Replace three dots with ellipsis
80dc4359b8 cmake: Apply workaround for `install_name_tool` conditionally
211111b804 test: Avoid empty errmsg in JSONRPCException
b65ff0e5a1 Merge bitcoin/bitcoin#34548: ci: Add and use ci-windows-cross.py helper
03e5f063b5 Merge bitcoin/bitcoin#34559: ci: split vcpkg tools cache into restore/save
84e826ddc1 Merge bitcoin/bitcoin#34511: test: fully reset the state of CConnman in tests
309c51d89d Merge bitcoin/bitcoin#34546: kernel: Avoid duplicating symbols in the kernel library
24f93c9af7 release note
331a5279d2 wallet, rpc:remove settxfee and paytxfee
eafd530d20 kernel: avoid potential duplicate object in shared library/binary
24c3b47010 build: add kernel-specific warnings
cae6d895f8 fuzz: add target for CoinsViewOverlay
86eda88c8e fuzz: move backend mutating block to end of coins_view
89824fb27b fuzz: pass coins_view_cache to TestCoinsView in coins_view
73e99a5966 coins: don't mutate main cache when connecting block
67c0d1798e coins: introduce CoinsViewOverlay
69b01af0eb coins: add PeekCoin()
f700609e8a doc: Release notes for mining IPC interface bump
79c934b51c cmake: Fix NetBSD-specific workaround for Boost
fa90d44a22 test: Fix intermittent issues in feature_assumevalid.py
07b924775e Merge bitcoin/bitcoin#34427: lint: Flatten lint image entry points
9453c15361 ipc mining: break compatibility with existing clients (version bump)
70de5cc2d2 ipc mining: pass missing context to BlockTemplate methods (incompatible schema change)
2278f017af ipc mining: remove deprecated methods (incompatible schema change)
c6638fa7c5 ipc mining: provide default option values (incompatible schema change)
a4603ac774 ipc mining: declare constants for default field values
ff995b50cf ipc test: add workaround to block_reserved_weight exception test
b970cdf20f test framework: expand expected_stderr, expected_ret_code options
df53a3e5ec rpc refactor: stop using deprecated getCoinbaseCommitment method
0b4cd08fcd Merge bitcoin/bitcoin#33965: mining: fix -blockreservedweight shadows IPC option
2a1d0db799 doc: Mention private broadcast RPCs in release notes
c3378be10b test: Cover abortprivatebroadcast in p2p_private_broadcast
557260ca14 rpc: Add abortprivatebroadcast
15dff452eb test: Cover getprivatebroadcastinfo in p2p_private_broadcast
996f20c18a rpc: Add getprivatebroadcastinfo
5e64982541 net: Add PrivateBroadcast::GetBroadcastInfo
a067ca3410 [doc] coin selection filters by max cluster count, not descendant
55c49ff8f4 Merge bitcoin/bitcoin#34143: build: Prevent system header fallback and include path pollution
c134b1a4bc Merge bitcoin/bitcoin#34257: txgraph: deterministic optimal transaction order
4a05825a3f Merge bitcoin/bitcoin#33689: http: replace WorkQueue and single threads handling for ThreadPool
50cf6838e6 wallet: rpc: manpage: fix example missing `fee_rate` argument
c1355493e2 refactor: fees: split fee rate format from fee estimate mode
c413cf12c5 ci: Split vcpkg tools cache into restore/save
337fef9f2f Merge bitcoin/bitcoin#34554: build: avoid exporting secp256k1 symbols
922ebf96ed refactor: move-only: move `FeeEstimateMode` enum to `util/fees.h`
cb1798000c Merge bitcoin/bitcoin#33861: build: Bump VS minimum supported version to 18.3
7640863a0f Merge bitcoin/bitcoin#34555: doc: archive release notes for v29.3
d29bc5e6dd doc: archive release notes for v29.3
fd625d84ae Merge bitcoin/bitcoin#34539: test: Fixup TODO comment in feature_dbcrash.py; remove unnecessary sleep
6777314310 Merge bitcoin/bitcoin#34551: ci: Extend diff context for clang-format
452c743951 refactor: Remove workaround for resolved MSVC bug
7164a0cab6 build: Bump VS minimum supported version to 18.3
2ccfdb582b build: avoid exporting secp256k1 symbols
f7be5fb8fc [refactor] rename variable to clarify it is unused and cluster count
fa8c89511d Fixup TODO comment in feature_dbcrash.py; remove unnecessary sleep
f8d2f30bf3 ci: Extend diff context for clang-format
91a8e9b549 Merge bitcoin-core/gui#807: refactor: interfaces, make 'createTransaction' less error-prone
573bb542be net: Store recipient node address in private broadcast
fa13b13239 ci: [refactor] Use pathlib over os.path
fa2719ab1b ci: [refactor] Move run_unit_tests to ci-windows-cross.py
fa99ba5f14 ci: Set PREVIOUS_RELEASES_DIR env var in ci-windows-cross.py
fa4a1cab6c ci: Move run_functional_tests into ci-windows-cross.py
1111108685 ci: [refactor] Move pyzmq install and get_previous_releases into ci-windows-cross.py
fac9c7bd66 ci: [refactor] Move config.ini rewrite to ci-windows-cross.py
faf7389466 ci: Move check_manifests step to ci-windows-cross.py
fa674d55df ci: [refactor] Move print_version step into ci-windows-cross.py helper
6f113cb184 txgraph: use fallback order to sort chunks (feature)
0a3351947e txgraph: use fallback order when linearizing (feature)
fba004a3df txgraph: pass fallback_order to TxGraph (preparation)
941c432a46 txgraph test: subclass TxGraph::Ref like mempool does (preparation)
39d0052cbf clusterlin: make optimal linearizations deterministic (feature)
8bfbba3207 txgraph: sort distinct-cluster chunks by equal-feerate-prefix size (feature)
e0bc73ba92 clusterlin: sort tx in chunk by feerate and size (feature)
6c1bcb2c7c txgraph: clear cluster's chunk index in ~Ref (preparation)
7427c7d098 txgraph: update chunk index on Compact (preparation)
3ddafceb9a txgraph: initialize Ref in AddTransaction (preparation)
64294c8909 Merge bitcoin/bitcoin#34500: ci: Print verbose Windows CI build failure
5f6bfa3649 Merge bitcoin/bitcoin#34057: test: add tests for cluster chunks
6ca7782db9 Merge bitcoin/bitcoin#34523: doc: Clarify why performance-move-const-arg.CheckTriviallyCopyableMove=false
44afed4cd9 Merge bitcoin/bitcoin#34524: refactor: [rpc] Remove confusing and brittle integral casts (take 2)
3764746404 Merge bitcoin/bitcoin#34241: test: Check that interrupt results in EXIT_SUCCESS
18f11695c7 validation: don't update BLOCK_FAILED_VALID to BLOCK_FAILED_CHILD in InvalidateBlock
acefdce083 Merge bitcoin/bitcoin#34469: consensus/test/doc: cover errors in `CheckTxInputs` with unit tests
7e5e0b20ea Merge bitcoin/bitcoin#32773: cmake: Create subdirectories in build tree in advance
fa90277d22 ci: Use ubuntu-slim for [meta] runners
fa9627af9f ci: Rely on cmake --preset toolchain file
fa3f89acaa ci: Add check_manifests to ci-windows.py
1111079a16 ci: Add run_tests step to ci-windows.py
6d625af283 Merge bitcoin/bitcoin#32621: contrib: utxo_to_sqlite.py: add option to store txid/spk as BLOBs
afb1bc120e validation: Use dirty entry count in flush warnings and disk space checks
b413491a1c coins: Keep track of number of dirty entries in `CCoinsViewCache`
7e52b1b945 fuzz: call `EmplaceCoinInternalDANGER` as well in `SimulationTest`
8f0e1f6540 Merge bitcoin/bitcoin#34465: refactor: separate log generation from log handling
b2805eec35 Merge bitcoin/bitcoin#34528: test: Fix intermittent failure in `feature_assumevalid.py` by ensuring invalid block was processed before checking debug.log
72030efd4b Merge bitcoin/bitcoin#34525: Release: Prepare "Open Transifex translations for v31.0" step
fe0b1513a7 test: add a test for txgraph staging
ef253a9d3d test: add block builder tests for txgraph
4a1ac31e97 test: add a chunk test for txgraph
b623fab1ba mining: enforce minimum reserved weight for IPC
d3e49528d4 mining: fix -blockreservedweight shadows IPC option
418b7995dd test: have mining template helpers return None
54bd49c7e3 Merge bitcoin/bitcoin#34452: test: split interface_ipc.py
3b39a8aeb4 Merge bitcoin/bitcoin#34483: refactor: Use SpanReader over DataStream
6f68e0c8b7 Merge bitcoin/bitcoin#34181: refactor: [p2p] Make ProcessMessage private again, Use references when non-null
4c0d4f6f93 refactor: interfaces, make 'createTransaction' less error-prone
e2c3ec9bf4 refactor: move CreatedTransactionResult to types.h
45372175c3 gui: remove AmountWithFeeExceedsBalance error special case
d88997b809 Merge bitcoin/bitcoin#34299: wallet: remove PreSelectedInputs and re-activate "AmountWithFeeExceedsBalance" error
b73a62f667 test: Ensure invalid block was processed before checking debug.log
633d183119 test: misc interface_ipc_mining.py improvements
52ccd9215e test: split interface_ipc_mining.py into subtests
4e49fa2a68 test: add interface_ipc_mining.py
01a1ae889e test: move IPC helpers to ipc_util.py
28160c1e3d Merge bitcoin/bitcoin#34421: ci: add Chimera Linux LTO config
576f892027 qt: Update the `src/qt/locale/bitcoin_en.xlf` translation source file
4b9f5beafe Update Transifex slug for 31.x
46e1288df2 Merge bitcoin/bitcoin#34498: iwyu: Fix patch to prefer `<cstdint>`
fa6801366d refactor: [rpc] Remove confusing and brittle integral casts (take 2)
d79249d279 ci: add chimera Linux LTO CI job
48161f6a05 wallet: introduce "tx amount exceeds balance when fees are included" error
b7fa609ed1 wallet: remove PreSelectedInputs
7819da2c16 walllet: use CoinsResult instead of PreSelectedInputs
0cd309c75e Merge bitcoin/bitcoin#34492: ci: Drop valgrind fuzz from GHA matrix
fa561682ce ci: [refactor] Add .github/ci-windows.py prepare_tests step
fa3e607c6d ci: Print verbose Windows CI build failure
4444808dd3 ci: [refactor] Add .github/ci-windows.py build step
fabdd4e823 ci: Refactor Windows CI into script
fa88ac3f4f doc: Clarify why performance-move-const-arg.CheckTriviallyCopyableMove=false
fa0677d131 refactor: Use SpanReader over DataStream
e5474079f1 wallet: introduce GetAppropriateTotal() in CoinsResult
d8ea921d01 wallet: correctly reserve in CoinsResult::All()
7072d825e3 wallet: ensure COutput added in set are unique
fefa3be782 wallet: fix, make 'total_effective_amount' optional actually optional
9ec1ae0e98 Merge bitcoin/bitcoin#34437: rpc: `uptime` should begin on application start
d692e07228 Merge bitcoin/bitcoin#32894: FUZZ: Test that BnB finds best solution
28d8607882 Merge bitcoin/bitcoin#34504: build: replace `WERROR` with `CMAKE_COMPILE_WARNING_AS_ERROR`
ad1940a006 Merge bitcoin/bitcoin#34517: drop my key from trusted-keys
322c4ec442 build: replace WERROR with CMAKE_COMPILE_WARNING_AS_ERROR
65134c7e5f depends: Prefix include path for headers-only `systemtap` package
94a692b6aa cmake: Add missed `USDT::headers`
b5375c44ed depends: Prefix include path for headers-only `boost` package
d73378ffcc cmake: Add missed `Boost::headers`
eb97250421 Merge bitcoin/bitcoin#34496: build: don't pass on boost dependency to kernel consumers
9d76947294 Merge bitcoin/bitcoin#34464: Change BlockRequestAllowed() to take ref (minor refactor)
8966352df3 doc: add release notes
704a09fe71 test: ensure fee estimator provide fee rate estimate < 1 s/vb
243e48cf49 fees: delete unused dummy field
fc4fbda42a fees: bump fees file version
b54dedcc85 fees: reduce `MIN_BUCKET_FEERATE` to 100
2cb7e99dee test: also reset CConnman::m_private_broadcast in tests
41b9b76cce Merge bitcoin/bitcoin#34510: doc: fix broken bpftrace installation link
91b7c874e2 test: add ConnmanTestMsg convenience method Reset()
42ee31e80c doc: fix broken bpftrace installation link
54d0393058 FUZZ: Test that BnB finds best solution
eb510f8678 ci: fail fast in test-each-commit script
04c4d71008 ci: remove commit count limit from `test-each-commit`
4ae00e9a71 Merge bitcoin/bitcoin#32636: Split `CWallet::Create()` into `CreateNew` and `LoadExisting`
d4bc620ad8 Merge bitcoin/bitcoin#34488: refactor: Small style and test fixups for bitcoinkernel
eb3dbbaf30 Merge bitcoin/bitcoin#34493: contrib: Remove valgrind suppression for bug 472219
1e64aeaaec Merge bitcoin/bitcoin#34295: test: Improve STRICTENC/DERSIG unit tests
b65a3d8009 iwyu: Fix patch to prefer `<cstdint>`
a50d0b6720 build: don't pass on boost dependency to kernel consumers
3532e24213 Merge bitcoin/bitcoin#32748: fees: fix noisy flushing log
fad9dd1a88 test: kernel test fixups
fabb58d42d test: Use clang-tidy named args for create_chainman
fa51594c5c refactor: Small style fixups in src/kernel/bitcoinkernel.cpp
fa33acec89 Revert "valgrind: add suppression for bug 472219"
24699fec84 doc: Add initial asmap data documentation
bab085d282 ci: Use without embedded asmap build option in one ci job
e53934422a doc: Expand documentation on asmap feature and tooling
6244212a55 init, net: Implement usage of binary-embedded asmap data
6202b50fb9 build: Generate ip_asn.dat.h during build process
634cd60dc8 build: Add embedded asmap data
faa4ab113c ci: Drop valgrind fuzz from GHA matrix
02b5f6078d fees: make flushes log debug only
faa016af54 refactor: Use aliasing shared_ptr in Sock::Wait
b58eebf152 Merge bitcoin/bitcoin#34470: Bump leveldb subtree and remove UB workaround in CI
8bb277c123 Merge bitcoin/bitcoin#34481: Update secp256k1 subtree to latest master
a4941132d3 Merge bitcoin/bitcoin#34461: ci: Print verbose build error message in test-each-commit
fad7d86d8d ci: Remove unused workaround after leveldb subtree bump
fabced56f6 Bump leveldb subtree
be35408c5a Merge bitcoin/bitcoin#34474: ci: update ccache to improve hitrate
2f2952c5f2 Squashed 'src/leveldb/' changes from cad64b151d..ab6c84e6f3
7528d18796 ci: show more verbose ccache stats
47c9297172 Merge bitcoin/bitcoin#32420: mining, ipc: omit dummy extraNonce from coinbase
4b53cbd692 test: Test for musig() in various miniscript expressions
ec0f47b15c miniscript: Using Func and Expr when parsing keys, hashes, and locktimes
6fd780d4fb descriptors: Increment key_exp_index in ParsePubkey(Inner)
b12281bd86 miniscript: Use a reference to key_exp_index in KeyParser
ce4c66eb7c test: Test that key expression indexes match key count
8c03318387 consensus/doc: explain `GetValueOut()` precondition
82ef92c8d0 consensus/doc: explain unreachable `bad-txns-fee-outofrange` check
fad3eb3956 refactor: Use SpanReader over DataStream
fa06e26764 refactor: [qt] Use SpanReader to avoid two vector copies
fabd4d2e2e refactor: Avoid UB in SpanReader::ignore
37cc2a2d95 logging: use util/log.h where possible
8799eb7440 Merge bitcoin/bitcoin#33878: refactor, docs: Embedded ASMap [2/3]: Refactor asmap internals and add documentation
bb8e9e7c4c logging: Move message formatting to util/log.h
001f0a428e move-only: Move logging macros to util/log.h
94c0adf4e8 move-onlyish: Move logging levels to util/log.h
56d113cab0 move-only: move logging categories to logging/categories.h
f5233f7e98 move-only: Move SourceLocation to util/log.h
fa20bc2ec2 refactor: Use empty() over eof() in the streams interface
fa879db735 test: Read debug log for self-checking comment
d405713197 ci: use Alpine 3.23
1cee0e4cd3 ci: detect apk usage generally
1ed3de5a6d Update secp256k1 subtree to latest master
9d4c9b0035 Squashed 'src/secp256k1/' changes from 14e56970cb..57315a6985
9f8764c814 Merge bitcoin/bitcoin#34475: ci: Treat SHA1 LLVM signing key as warning
3c8f5e48f7 ci: Treat SHA1 LLVM signing key as warning
5cb4cf9b42 Merge bitcoin/bitcoin#34036: contrib: update macOS SDK to Xcode-26.1.1-17B100
41034a032f Merge bitcoin/bitcoin#34396: fuzz: pull the latest FuzzedDataProvider.h from upstream
580e9eefe3 ci: bump CCACHE_MAXSIZE to 2G
ff09583928 Merge bitcoin/bitcoin#34432: test: Turn ElapseSteady into SteadyClockContext
67696b207f net: extend log message to include attempted connection type
81e67d9aa1 Merge bitcoin/bitcoin#34179: refactor: Enable transparent lookup for setBlockIndexCandidates to remove const_cast
ec70bead5e Merge bitcoin/bitcoin#34433: script: remove unused `SCRIPT_ERR_LAST`
08547ee1b0 Merge bitcoin/bitcoin#34443: validation: follow-up nits for lock-free `IsInitialBlockDownload()`
881ab4fc82 support multiple block status checks in CheckBlockDataAvailability
232a2bce90 consensus/test: add out-of-range output unit tests for `CTransaction::GetValueOut`
aa87aae14f consensus/test: add `MoneyRange` unit tests for `CheckTxInputs`
8bb77f348e Merge bitcoin/bitcoin#34455: ci, iwyu: Fix warnings in `src/univalue` and treat them as errors
1bf3842223 ci, iwyu: Fix warnings in `src/univalue` and treat them as errors
3d180d3c7f Merge bitcoin/bitcoin#34462: util: Drop *BSD headers in `batchpriority.cpp`
1eed88a3ec Merge bitcoin/bitcoin#34460: iwyu: Update mappings
101daa4163 Merge bitcoin/bitcoin#34338: ci, iwyu: Fix warnings in `src/zmq` and treat them as errors
dfb9364609 fuzz: pull latest FuzzedDataProvider.h from upstream
705705e5b1 Merge bitcoin/bitcoin#33701: test: add case where `TOTAL_TRIES` is exceeded yet solution remains
88f8029835 Merge bitcoin/bitcoin#34100: doc: Use multipath descriptors in descriptors.md and linked test
5ad94cf6b7 Merge bitcoin/bitcoin#34381: script: return proper error for `CScriptNum` errors
4f85b05131 Merge bitcoin/bitcoin#31713: miniscript refactor: Remove unique_ptr-indirection
1f8f7d477a Change BlockRequestAllowed() to take ref
5d2707307e Merge bitcoin/bitcoin#34454: wallet: Rename `RecordType::DELETE` to `RecordType::DELETE_FLAG`
38fd85c676 http: replace WorkQueue and threads handling for ThreadPool
c323f882ed fuzz: add test case for threadpool
c528dd5f8c util: introduce general purpose thread pool
07af50f789 util: Drop *BSD headers in `batchpriority.cpp`
4dfb6eef70 test: Add DERSIG tests to script_tests
884978f389 test: Fix a STRICTENC test in script_tests
527e8ca7b5 test: Remove outdated comment in script_tests
516be10bb5 wallet: Rename `RecordType::DELETE` to `RecordType::DELETE_FLAG`
bbbb78a4f2 ci: Print verbose build error message in test-each-commit
2222dadabb ci: [refactor] Allow overwriting check option in run helper
9c839aa9e3 iwyu: Document mappings for libc symbols
91824646c5 iwyu: Add temporary mapping to work around upstream bug
37de7d1910 iwyu: Drop backported mapping
01651324f4 Merge bitcoin/bitcoin#34434: miniscript: correct and_v() properties
c7cf2b8f3a Merge bitcoin/bitcoin#34445: fuzz: Use `__AFL_SHM_ID` for naming test directories
0d1d393877 Merge bitcoin/bitcoin#34429: test: Check that redundant verack message is ignored
23a2e3354e Merge bitcoin/bitcoin#34453: ci: Always print low ccache hit rate notice
5401e673d5 Merge bitcoin/bitcoin#33604: p2p: Allow block downloads from peers without snapshot block after assumeutxo validation
6750744eb3 Merge bitcoin/bitcoin#34164: validation: add reusable coins view for ConnectBlock
4e4fa0199e Merge bitcoin/bitcoin#33680: validation: do not wipe utxo cache for stats/scans/snapshots
fad2876ec3 ci: Always print low ccache hit rate notice
e67a676df9 fix: uptime RPC returns 0 on first call
a89e1618dd contrib: update macOS SDK to Xcode-26.1.1-17B100
57a778ed25 depends: use -Xclang -fno-cxx-modules in macOS cross build
3e0fd0e4dd refactor: rename will_reuse_cache to reallocate_cache
44b4ee194d validation: reuse same CCoinsViewCache for every ConnectBlock call
8fb6043231 coins: introduce CCoinsViewCache::ResetGuard
041758f5ed coins: use hashBlock setter internally for CCoinsViewCache methods
8dd9200fc9 coins: add Reset on CCoinsViewCache
efcbf79448 ci, iwyu: Fix warnings in `src/zmq` and treat them as errors
d3e681bc06 fuzz: Use `__AFL_SHM_ID` for naming test directories
f7e0c3d3d3 Merge bitcoin/bitcoin#34346: test: use IP_PORTRANGE_HIGH on FreeBSD for dynamic port allocation
eeb4d28148 validation: follow-up nits for lock-free `IsInitialBlockDownload()`
1c2f164d34 Merge bitcoin/bitcoin#34253: validation: cache tip recency for lock-free `IsInitialBlockDownload()`
8cdf1dcca0 Merge bitcoin/bitcoin#34373: refactor: Remove remaining std::bind, check via clang-tidy
facb2aab26 test: Turn ElapseSteady into SteadyClockContext
6354b4fd7f tests: log node JSON-RPC errors during test setup
45930a7941 http-server: guard against crashes from unhandled exceptions
a6cdc3ec9b Merge bitcoin/bitcoin#34303: test: addrman: test self-announcement time penalty handling
75ec9001ce Merge bitcoin/bitcoin#34207: coins/refactor: enforce `GetCoin()` returns only unspent coins
4fab35cf88 miniscript: correct and_v() properties
51abf7d15b script: remove unused SCRIPT_ERR_LAST
f2b8acc0ed remove glozow from trusted keys
cd1af852fa Merge bitcoin/bitcoin#34358: wallet: fix removeprunedfunds bug with conflicting transactions
2dd5e7bb38 Merge bitcoin/bitcoin#34409: test: use `ModuleNotFoundError` in `interface_ipc.py`
d3e8c459e7 Merge bitcoin/bitcoin#34417: log: Print warning about privacy-sensitive log info unconditionally
d9851f9a7c Merge bitcoin/bitcoin#33472: guix: documented shasum gathering command
a7460b9928 Merge bitcoin/bitcoin#34098: test: [move-only] Move lint functions into modules
8f9ad534a5 Merge bitcoin/bitcoin#34352: ci, iwyu: Fix warnings in `src/primitives` and treat them as errors
faba426b3b lint: Flatten lint image entry points
1111fff91c lint: Add missing --platform=linux to docker build command
feb74a9372 Merge bitcoin/bitcoin#34430: ci: mount git directory as writable in linter
fad042235b refactor: Remove remaining std::bind, check via clang-tidy
c8abac9941 ci: mount .git dir rw
d9e651f995 Merge bitcoin/bitcoin#33622: docs: add doc comment for SRD selection algorithm
cb128bcedb Merge bitcoin/bitcoin#34408: ci: remove gnu-getopt usage
6ae96ed607 Merge bitcoin/bitcoin#34276: Remove empty caption from user interface (noui, gui)
fafdae46ff test: Check that redundant verack message is ignored
289d60f5ab Merge bitcoin/bitcoin#34161: refactor: avoid possible UB from `std::distance` for `nullptr` args
1d3243806d Merge bitcoin/bitcoin#34391: lint: upgrade lint scripts for worktrees
d931b54d13 Merge bitcoin/bitcoin#34412: Update secp256k1 subtree to latest master
3400db8040 doc: add missing param description to SRD
c0e6556e4f Merge bitcoin/bitcoin#34413: doc: Remove outdated -fdebug-prefix-map section in dev notes
9260b20ef1 Merge bitcoin/bitcoin#33962: refactor: replace manual promise with SyncWithValidationInterfaceQueue
ddae1b4efa ci: remove gnu-getopt usage
fa43897c1d doc: Fix LLM nits in net_processing.cpp
bbbba0fd4b scripted-diff: Use references when nullptr is not possible
fac5415466 refactor: Separate peer/maybe_peer in ProcessMessages and SendMessages
fac529188e refactor: Pass Peer& to ProcessMessage
fa376095a0 refactor: Pass CNode& to ProcessMessages and SendMessages
fada838014 refactor: Make ProcessMessage private again
fa80cd3cee test: [refactor] Avoid calling private ProcessMessage() function
d511adb664 [miner] omit dummy extraNonce via IPC
bf3b5d6d06 test: clarify getCoinbaseRawTx() comparison
78df9003d6 [doc] Update comments on dummy extraNonces in tests
e770392084 test: addrman: test self-announcement time penalty handling
27aeeff630 Merge bitcoin/bitcoin#34328: rpc: make `uptime` monotonic across NTP jumps
5aeaa71c77 lint: pass args from lint.py to cargo run in container
c17a2adb8d lint: upgrade lint scripts for worktrees
fa9c92d7b6 log: Print warning about privacy-sensitive log info unconditionally
f970cb39fb Merge bitcoin/bitcoin#34267: net: avoid unconditional `privatebroadcast` logging (+ warn for debug logs)
8593d96519 Merge bitcoin/bitcoin#33067: test: refactor ValidWitnessMalleatedTx class to helper function
2fccbea3c8 Squashed 'src/secp256k1/' changes from d543c0d917..14e56970cb
26fbe10873 Update secp256k1 subtree to latest master
34a5ecadd7 Merge bitcoin/bitcoin#34397: doc: fix arg name hints so bugprone can validate them
fa2e1b85dd build: Remove outdated comment about -ffile-prefix-map
fa06cd4ba7 doc: Remove outdated -fdebug-prefix-map section in dev notes
ab649ce459 guix: documented shasum gathering command
1cc58d3a0c Merge bitcoin/bitcoin#34281: build: Temporarily remove confusing and brittle `-fdebug-prefix-map`
905dfdee86 test: use ModuleNotFoundError in interface_ipc.py
2778eb4664 Merge bitcoin/bitcoin#34337: fuzz: Return chrono point from ConsumeTime(), Add ConsumeDuration()
d70fb8a575 Merge bitcoin/bitcoin#34351: util: Remove `FilterHeaderHasher`
6472ba06c3 Merge bitcoin/bitcoin#34388: doc: Explain that low-effort pull requests may be closed
1f60ca360e wallet: fix removeprunedfunds bug with conflicting transactions
5f66fca633 Merge bitcoin-core/gui#920: Set peer version and subversion to N/A when not available or detecting
02240a7698 Merge bitcoin/bitcoin#34390: test: allow overriding `tar` in `get_previous_releases.py`
7d9e1a8102 test: Verify peer usage after assumeutxo validation completes
3bd98b4508 refactor: use transparent comparator for setBlockIndexCandidates lookups
a73a3ec553 doc: fix invalid arg name hints for bugprone validation
5b8c204275 Merge bitcoin/bitcoin#34384: Remove epoch logic from mempool
eeee3755f8 fuzz: Return chrono point from ConsumeTime(), Add ConsumeDuration()
5cd57943b8 test: verify node state after restart in assumeutxo
1b36bf0c5d subprocess: Fix `-Wunused-private-field` for `Child` class on Windows
9f2b338bc0 subprocess: Fix `-Wunused-private-field` for `Popen` class on Windows
fa15a8d2d0 doc: Explain that low-effort pull requests may be closed
be2b48b9f3 test: allow overriding tar in get_previous_releases
891030ac8b Merge bitcoin/bitcoin#33822: kernel: Add block header support and validation
0871e104a2 Merge bitcoin/bitcoin#34242: Prepare string and net utils for future HTTP operations
1b079becf1 Merge bitcoin/bitcoin#34317: fuzz: Exclude too expensive inputs in descriptor_parse targets
cdb42a8df8 Merge bitcoin/bitcoin#34380: test: Fix P2PK script test
40735450c0 Remove unused epochguard.h
1a8494d16c Rework CTxMemPool::GetChildren() to not use epochs
7b48b09b7f Merge bitcoin/bitcoin#34376: bench/test: clarify merkle bench and witness test intent
db2effaca4 scripted-diff: refactor: CWallet::Create() -> CreateNew()
27e021ebc0 wallet: Correctly log stats for encrypted messages.
d8bec61be2 wallet: remove loading logic from CWallet::Create
f35acc893f refactor: wallet: Factor out `WriteVersion()` from `PopulateWalletFromDB()`
e12ff8aca0 test: wallet: Split create and load
70dbc79b09 wallet: Use CWallet::LoadExisting() for loading existing wallets.
ae66e01164 wallet: Create separate function for wallet load
bc69070416 refactor: Wallet stats logging in its own function
a9d64cd49c wallet: Remove redundant birth time update
b4a49cc727 wallet: Move argument parsing to before DB load
b15a94a618 refactor: Split out wallet argument loading
fab2f3df4b fuzz: Exclude too expensive inputs in descriptor_parse targets
1911db8c6d string: add LineReader
ee62405cce time: implement and test RFC1123 timestamp string
eea38787b9 string: add AsciiCaseInsensitive{KeyEqual, Hash} for unordered map
1d8cb78d5b Merge bitcoin/bitcoin#34309: guix: stop passing depends sources to codesigning
4e300df712 string: add `base` argument for ToIntegral to operate on hexadecimal
0b0d9125c1 Modernize GetBindAddress()
6f7b4323cb test: remove UNKNOWN_ERROR from script_tests
bd31a92d67 script: use SCRIPT_ERR_SCRIPTNUM for CScriptNum errors
0ca4dcd786 script: add SCRIPT_ERR_SCRIPTNUM error
7041648ee5 Merge bitcoin/bitcoin#34375: doc: mempool: fix `removeUnchecked` incorrect comment
9a9d797ef6 kernel: Add support for block headers
1137debb85 doc: mempool: fix `removeUnchecked` incorrect comment
c9ce1c7c4a test: Fix P2PK script test
691dc830c6 Merge bitcoin/bitcoin#34377: test: Rename wallet in restore attempt in wallet_assumeutxo
d7fd8c6952 Merge bitcoin/bitcoin#34090: net: Fix `-Wmissing-braces`
1fbbdd20cd Merge bitcoin/bitcoin#34355: doc: Fix wrong code in WITH_LOCK doxygen comment
9016858282 Merge bitcoin/bitcoin#34297: p2p: add validation checks for initial self-announcement
e1dc4afeeb test: Rename wallet name in restore attempt in wallet_assumeutxo
8b9d30e3fa bench/test: clarify merkle bench and witness test intent
5715748333 Merge bitcoin/bitcoin#34366: test: switch order of error code and message check
2a1234001c Merge bitcoin/bitcoin#34269: wallet: disallow creating new or restoring to an unnamed (default) wallet
2845f10a2b test: extend FreeBSD ephemeral port range fix to P2P listeners
3ea2b6fe18 Merge bitcoin/bitcoin#34369: test: Scale NetworkThread close timeout with timeout_factor
fab055c907 test: Scale NetworkThread close timeout with timeout_factor
e324925d19 Merge bitcoin/bitcoin#34363: Update libmultiprocess subtree to avoid occasional rpc_misc.py timeout
fa267551c4 Merge bitcoin/bitcoin#34353: refactor: Use std::bind_front over std::bind
b851ff6cae kernel: Add Handle/View pattern for BlockValidationState
fa61fadad1 doc: Fix wrong code in WITH_LOCK doxygen comment
52096de212 Merge bitcoin/bitcoin#34032: util: Add some more Unexpected and Expected methods
0aba464ce7 test: switch order of error code and message check
3f5211cba8 test: remove child_one/child_two (w)txid variables
7cfe790820 test: replace ValidWitnessMalleatedTx class with function
5b2c3960b9 test: clean up tx resurrection (re-org) test in feature_block.py
8c07800b19 Merge bitcoin/bitcoin#32497: merkle: pre‑reserve leaves to prevent reallocs with odd vtx count
a365c9fe1f Merge bitcoin/bitcoin#33738: log: avoid collecting `GetSerializeSize` data when compact block logging is disabled
bc3c4cd8b2 Merge bitcoin/bitcoin#32724: Musig2 tests
4fec726c4d refactor: Simplify Interpret asmap function
79e97d45c1 doc: Add more extensive docs to asmap implementation
cf4943fdcd refactor: Use span instead of vector for data in util/asmap
385c34a052 refactor: Unify asmap version calculation and naming
fa41fc6a1a refactor: Operate on bytes instead of bits in Asmap code
964c44cdcd test(miniscript): Prove avoidance of stack overflow
198bbaee49 refactor(miniscript): Destroy nodes one full subs-vector at a time
50cab8570e refactor(miniscript): Remove NodeRef & MakeNodeRef()
15fb34de41 refactor(miniscript): Remove superfluous unique_ptr-indirection
e55b23c170 refactor(miniscript): Remove Node::subs mutability
c6f798b222 refactor(miniscript): Make fields non-const & private
22e4115312 doc(miniscript): Remove mention of shared pointers
f7e88e298a Merge bitcoin/bitcoin#32471: wallet/rpc: fix listdescriptors RPC fails to return descriptors with private key information when wallet contains descriptors missing any key
34bed0ed8c test: use IP_PORTRANGE_HIGH on FreeBSD for dynamic port allocation
ccf9172ab3 util: Remove `FilterHeaderHasher`
7f5ebef56a Merge bitcoin/bitcoin#34302: fuzz: Restore SendMessages coverage in process_message(s) fuzz targets
a6e8cd306e Merge bitcoin/bitcoin#34310: iwyu: Add missed line to IWYU patch
f4413706f9 Merge bitcoin/bitcoin#34344: ci: update GitHub Actions versions
fdc9fe2da6 ci, iwyu: Fix warnings in `src/primitives` and treat them as errors
477c5504e0 coins: replace `std::distance` with unambiguous pointer subtraction
faa18dceba refactor: Use std::bind_front over std::bind
c84c752506 Merge bitcoin/bitcoin#34319: Drop some `IWYU pragma: export` and document IWYU usage
38f951f828 Merge bitcoin/bitcoin#34308: doc: Document IWYU workaround
ab80588f52 Merge bitcoin/bitcoin#34345: clang-format: use AngleBracket for main includes
81675a781f test: use pre-generated chain
977be171f2 Merge bitcoin/bitcoin#34188: test: Add multiple transactions and error handling tests for getreceivedbyaddress
347840164f Merge bitcoin/bitcoin#32143: Fix 11-year-old mis-categorized error code in OP_IF evaluation
969c840db5 log,blocks: avoid `ComputeTotalSize` and `GetHash` work when logging is disabled
babfda332b log,net: avoid `ComputeTotalSize` when logging is disabled
1658b8f82b refactor: rename `CTransaction::GetTotalSize` to signal that it's not cached
75b704df9d wallettool: Disallow creating new unnamed wallets
5875a9c502 wallet: disallow unnamed wallets in createwallet and restorewallet
0dafc0d83c clang-format: use AngleBracket for main includes
03f363d378 doc: Document IWYU workaround
d938947b3a doc: Add "Using IWYU" to Developer Notes
e1a90bcecc iwyu: Do not export `crypto/hex_base.h` header
19a2edde50 iwyu: Do not export C++ headers in most cases
9482f00df0 chore: Update outdated GitHub Actions versions
898e8d3a2d Merge bitcoin/bitcoin#34296: refactor: [move-only] Merge core_io module, remove from libkernel
14f99cfe53 rpc: make `uptime` monotonic across NTP jumps
faf07bd1ab doc: Fix typo found by LLM
faf66673ac refactor: [move-only] Merge core_io module
fa6947f491 kernel: Remove unused core_read.cpp from kernel
5e49f5d63c Merge bitcoin/bitcoin#33779: ci, iwyu: Fix warnings in `src/kernel` and treat them as errors
a9440b1595 util: add `TicksSeconds`
c57fbbe99d Merge bitcoin/bitcoin#31650: refactor: Avoid copies by using const references or by move-construction
d45ec3fba9 test: Add getreceivedbyaddress coverage to wallet_listreceivedby
22bde74d1d Merge bitcoin-core/gui#924: Show an error message if the restored wallet name is empty
a02c4a82d8 refactor: Move -walletbroadcast setting init
411caf7281 wallet: refactor: PopulateWalletFromDB use switch statement.
a48e23f566 refactor: wallet: move error handling to PopulateWalletFromDB()
81bf4209e9 Merge bitcoin/bitcoin#34318: contrib: Revert "verify-commits sha1 exceptions"
a5a8c4139c ci, iwyu: Fix warnings in `src/kernel` and treat them as errors
fa38ffac6f contrib: [refactor] Use shorter read_text from pathlib
fab8bc0308 contrib: Revert "verify-commits sha1 exceptions"
faa5a9ebad fuzz: Use min option in ConsumeTime
0972785fd7 wallet: Delete unnecessary PopulateWalletFromDB() calls
f0a046094e scripted-diff: refactor: CWallet::LoadWallet->PopulateWalletFromDB
de509c6df9 iwyu: Add missed line to IWYU patch
faa59b3679 util: Add Expected::swap()
fabb47e4e3 util: Implement Expected::operator*()&&
d94d7b1a4b guix: stop passing depends sources to codesigning
0ffb20dee1 Merge bitcoin/bitcoin#34282: qa: Fix Windows logging bug
fab9721430 util: Implement Expected::value()&& and Expected::error()&&
fac4800959 util: Add Expected<void, E> specialization
fa6575d6c2 util: Make Expected::value() throw
697bc7f6a2 Merge bitcoin/bitcoin#34300: test: use ephemeral ports in p2p_private_broadcast.py
37cb209277 Merge bitcoin/bitcoin#34238: wallet: remove erroneous-on-reorg Assume()
fabf8d1c5b fuzz: Restore SendMessages coverage in process_message(s) fuzz targets
fac7fed397 refactor: Use std::reference_wrapper<AddrMan> in Connman
d08c1b3ed9 Merge bitcoin/bitcoin#34288: fuzz: Exclude too expensive inputs in miniscript_string target
6a8dbf9b93 p2p: add validation check for initial self-announcement
baa554f708 Merge bitcoin/bitcoin#34259: Find minimal chunks in SFL
3e340672ec test: use ephemeral ports in p2p_private_broadcast.py
9d2b8fddad Merge bitcoin/bitcoin#34210: bench: Remove -priority-level= option
ae3b5a99f8 Merge bitcoin/bitcoin#34186: test: use dynamic port allocation in proxy tests
f4364cedb3 Merge bitcoin/bitcoin#33728: test: Add bitcoin-chainstate test for assumeutxo functionality
80c4c2df3f Merge bitcoin/bitcoin#34146: p2p: send first addr self-announcement in separate message 🎄
fa64d8424b refactor: Enforce readability-avoid-const-params-in-decls
faf0c2d942 refactor: Avoid copies by using const references or by move-construction
cd0959ce9b Merge bitcoin/bitcoin#34185: test: fix `feature_pruning` when built without wallet
b0b65336e7 Merge bitcoin/bitcoin#32740: refactor: Header sync optimisations & simplifications
fac70ea8b5 fuzz: Exclude too expensive inputs in miniscript_string target
fad7bd9ba3 noui: Remove always empty caption while formatting
fa8ebeb332 refactor: [gui] Document that the title is always empty for node message
fafe71b743 refactor: Remove empty caption from ThreadSafeMessageBox
fa8d0088e7 refactor: Remove empty caption from ThreadSafeQuestion
fa90786478 iwyu: Fix includes for test/fuzz/util/descriptor module
c0219f6bea Merge bitcoin/bitcoin#34285: ci: Install `pyzmq` for functional tests on Windows
f62568c97c ci: Install `pyzmq` for functional tests on Windows
2d380aee43 Merge bitcoin/bitcoin#34243: doc: validation: fix `PackageMempoolChecks` incorrect comment
db6e576710 Merge bitcoin/bitcoin#34279: test: Fail on self-check warnings in test_runner.py
c447eea43d Merge bitcoin/bitcoin#34145: test: Add unit test for OP_NUMEQUALVERIFY
1fea3bae5c ipc, test: Add tests for unclean disconnect and thread busy behavior
fa37928536 build: Temporarily remove confusing and brittle -fdebug-prefix-map
979d41bfab qa: Fix Windows logging bug
28f70c571b Merge bitcoin/bitcoin#34240: ci: Run feature_unsupported_utxo_db.py on Windows
b39291f4cd doc: fix `-logips` description to clarify that non-debug logs can also contain IP addresses
c7028d3368 init: log that additional logs may contain privacy-sensitive information
fa2959e16d test: Fail on self-check warnings in test_runner.py
31b771a942 net: move `privatebroadcast` logs to debug category
ac76d94117 Merge bitcoin/bitcoin#34109: refactor: Use uint64_t over size_t for serialize corruption check in fees.dat
fa16b275fa test: Check that interrupt results in EXIT_SUCCESS
fab7c7f56c test: Split large init_stress_test into two smaller functions
fa5032f0e4 ci: Run feature_unsupported_utxo_db.py on Windows
57350c5352 Merge bitcoin/bitcoin#34272: psbt: Fix `PSBTInputSignedAndVerified` bounds `assert`
88a7294356 Merge bitcoin/bitcoin#34260: contrib: Remove unused functions
8e8d8f29a8 Merge bitcoin/bitcoin#33775: guix: use GCC 14.3.0 over 13.3.0
d20037893a Merge bitcoin/bitcoin#34244: test: Prevent loop from running out of utxos in bip68 test
4aa80c3b5e Merge bitcoin/bitcoin#34230: fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target
72e0999ddb Merge bitcoin/bitcoin#34099: test: Improve code coverage for pubkey checks
377c6dbc3c Merge bitcoin/bitcoin#34224: init: Return EXIT_SUCCESS on interrupt
c094a966d6 Merge bitcoin/bitcoin#34246: verify-commits: Allow specific commits to allow sha1
c352d3c51c Merge bitcoin/bitcoin#34168: qa: Require `--exclude` for each excluded test
d30ad4a912 wallet, rpc: Use HandleWalletError in createwallet
7fc465ece8 doc: fix incorrect description of `PackageMempoolChecks`
fa0195499c refactor: [gui] Use lambdas over std::bind
eeee1e341f refactor: Remove trailing semicolon after ADD_SIGNALS_DECL_WRAPPER
62557c9529 Merge bitcoin/bitcoin#33819: mining: getCoinbase() returns struct instead of raw tx
7562e2aeed Squashed 'src/ipc/libmultiprocess/' changes from a4f92969649..1fc65008f7d
73d0fe62d3 Merge commit '7562e2aeed95b0dc627e8e3a849941992f0189bb' into pr/subtree-7
2f5b1c5f80 psbt: Fix `PSBTInputSignedAndVerified` bounds `assert`
fa3df52712 bench: Require semicolon after BENCHMARK(foo)
fa8938f08c bench: Remove incorrect __LINE__ in BENCHMARK macro
fa51a28a94 scripted-diff: Remove priority_level from BENCHMARK macro
fa790c3eea bench: Remove -priority-level= option
dd904298c1 gui: Show an error message if the restored wallet name is empty
3c8d389a84 Merge bitcoin/bitcoin#34249: doc: archive v30.2 release notes
5e98a6a470 Merge bitcoin/bitcoin#34266: release note: cpfp carveout removed in 31.0
61726483e1 release note: cpfp carveout removed in 31.0
da56ef239b clusterlin: minimize chunks (feature)
d09a19fd41 test: add coverage for issue 34206
a0ca851d26 Make GetBindAddress() callable from outside net.cpp
796f18e559 Merge bitcoin/bitcoin#29415: Broadcast own transactions only via short-lived Tor or I2P connections
557b41a38c validation: make `IsInitialBlockDownload()` lock-free
b9c0ab3b75 chain: add `CChain::IsTipRecent` helper
8d531c6210 validation: invert `m_cached_finished_ibd` to `m_cached_is_ibd`
8be54e3b19 test: cover IBD exit conditions
f51665bee7 psbt: validate pubkeys in MuSig2 pubnonce/partial sig deserialization
facaf56214 contrib: Remove unused functions
abc6a3a4eb Merge bitcoin/bitcoin#34252: doc: add 433 (Pay to Anchor) to bips.md
2ee7f9b259 coins: assume `GetCoin` only returns unspent coins
44b12cdb11 doc: add 433 (Pay to Anchor) to bips.md
f664860e52 doc: archive v30.2 release notes
ce63d37ebe test: use dynamic port allocation to avoid test conflicts
8ac134be5e contrib: verify-commits sha1 exceptions
ab41492c6b test: Prevent loop from running out of utxos in bip68 test
aeaa67a9ea Merge bitcoin/bitcoin#33428: depends: Boost 1.90.0
1412b779ad refactor: execute `PackageMempoolChecks` during package rbf only
4c7cfd37ad wallet: remove erroneous-on-reorg Assume()
8fb5e5f41d test: check wallet rescan properly in feature_pruning
595504a432 Merge bitcoin/bitcoin#34236: Add sedited to trusted-keys
5c724f3b04 Merge bitcoin/bitcoin#34235: miniminer: stop assuming ancestor fees >= self fees
2d87afcf7d Merge bitcoin/bitcoin#34227: guix: Fix `osslsigncode` tests
7b17fb78fa Merge bitcoin/bitcoin#34226: wallet: test: Relative wallet failed migration cleanup
eeaf28dbe0 wallet: test: Failed migration cleanup
997e7b4d7c init: Fix non-zero code on interrupt
d1b227f3ad Add sedited to trusted-keys
6c3fb719d1 Merge bitcoin-core/gui#921: Remove deprecated "Starting Block" from Peer Detail
2cade5d5d1 [miniminer] stop assuming ancestor fees >= self fees
fa8d56f9f0 fuzz: Reject too large descriptor leaf sizes in scriptpubkeyman target
fabac1b395 fuzz: Reject some more "expensive" descriptors in the scriptpubkeyman target
194114daf3 guix: Fix `osslsigncode` tests
333333356f fuzz: [refactor] Use std::span over FuzzBufferType in descriptor utils
8d5700ab0f Merge bitcoin/bitcoin#34221: test: migration, avoid backup name mismatch in default_wallet_failure
cbf0bd35bb test: migration, avoid backup name mismatch in default_wallet_failure
cd6e4c9235 Merge bitcoin/bitcoin#34215: wallettool: fix unnamed createfromdump failure walletsdir deletion
90d651a81f Merge bitcoin/bitcoin#34156: wallet: fix unnamed legacy wallet migration failure
9c7e4771b1 test: Test listdescs with priv works even with missing priv keys
ed945a6854 walletrpc: reject listdes with priv key on w-only wallets
9e5e9824f1 descriptor: ToPrivateString() pass if at least 1 priv key exists
5c4db25b61 descriptor: refactor ToPrivateString for providers
2dc74e3f4e wallet/migration: use HavePrivateKeys in place of ToPrivateString
e842eb90bb descriptors: add HavePrivateKeys()
f78f6f1dc8 wallettool: do not use fs::remove_all in createfromdump cleanup
a9daa6dbd3 Merge bitcoin/bitcoin#34135: rpc: [wallet] Use unsigned type for tx version in sendall
a3c71c7201 [test] Add BIP 328 test vectors for Musig2
b7c34d08dd test: coverage for migration failure when last sync is beyond prune height
82caa8193a wallet: migration, fix watch-only and solvables wallets names
d70b159c42 wallet: …
cd818a5 net: Fix `-Wmissing-braces` (Hennadii Stepanov) Pull request description: On some non-POSIX platforms, Clang emits `-Wmissing-braces` warnings for the `IN6ADDR_ANY_INIT` and `IN6ADDR_LOOPBACK_INIT` macros. For example, on OpenIndiana / illumos: ``` $ uname -srv SunOS 5.11 illumos-325e0fc8bb $ clang --version clang version 21.1.7 (https://github.com/OpenIndiana/oi-userland.git 36a81bf5e5d307d4e85893422600678d46328010) Target: x86_64-pc-solaris2.11 Thread model: posix InstalledDir: /usr/clang/21/bin $ cmake -B build -DCMAKE_GENERATOR=Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DENABLE_IPC=OFF -DAPPEND_CXXFLAGS='-Wno-unused-command-line-argument' $ cmake --build build [284/573] Building CXX object src/CMakeFiles/bitcoin_node.dir/net.cpp.o /export/home/hebasto/dev/bitcoin/src/net.cpp:3309:42: warning: suggest braces around initialization of subobject [-Wmissing-braces] 3309 | const CService ipv6_any{in6_addr(IN6ADDR_ANY_INIT), GetListenPort()}; // :: | ^~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:479:32: note: expanded from macro 'IN6ADDR_ANY_INIT' 479 | #define IN6ADDR_ANY_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 480 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 481 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 482 | 0, 0, 0, 0 } | ~~~~~~~~~~ 1 warning generated. [467/573] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/i2p_tests.cpp.o /export/home/hebasto/dev/bitcoin/src/test/i2p_tests.cpp:116:34: warning: suggest braces around initialization of subobject [-Wmissing-braces] 116 | const CService addr{in6_addr(IN6ADDR_LOOPBACK_INIT), /*port=*/7656}; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:484:37: note: expanded from macro 'IN6ADDR_LOOPBACK_INIT' 484 | #define IN6ADDR_LOOPBACK_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 485 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 486 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 487 | 0, 0, 0, 0x1U } | ~~~~~~~~~~~~~ /export/home/hebasto/dev/bitcoin/src/test/i2p_tests.cpp:159:38: warning: suggest braces around initialization of subobject [-Wmissing-braces] 159 | const CService addr{in6_addr(IN6ADDR_LOOPBACK_INIT), /*port=*/7656}; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:484:37: note: expanded from macro 'IN6ADDR_LOOPBACK_INIT' 484 | #define IN6ADDR_LOOPBACK_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 485 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 486 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 487 | 0, 0, 0, 0x1U } | ~~~~~~~~~~~~~ 2 warnings generated. [483/573] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/netbase_tests.cpp.o /export/home/hebasto/dev/bitcoin/src/test/netbase_tests.cpp:505:36: warning: suggest braces around initialization of subobject [-Wmissing-braces] 505 | CService(CNetAddr(in6_addr(IN6ADDR_LOOPBACK_INIT)), 0 /* port */), | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:484:37: note: expanded from macro 'IN6ADDR_LOOPBACK_INIT' 484 | #define IN6ADDR_LOOPBACK_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 485 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 486 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 487 | 0, 0, 0, 0x1U } | ~~~~~~~~~~~~~ /export/home/hebasto/dev/bitcoin/src/test/netbase_tests.cpp:510:36: warning: suggest braces around initialization of subobject [-Wmissing-braces] 510 | CService(CNetAddr(in6_addr(IN6ADDR_LOOPBACK_INIT)), 0x00f1 /* port */), | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:484:37: note: expanded from macro 'IN6ADDR_LOOPBACK_INIT' 484 | #define IN6ADDR_LOOPBACK_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 485 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 486 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 487 | 0, 0, 0, 0x1U } | ~~~~~~~~~~~~~ /export/home/hebasto/dev/bitcoin/src/test/netbase_tests.cpp:515:36: warning: suggest braces around initialization of subobject [-Wmissing-braces] 515 | CService(CNetAddr(in6_addr(IN6ADDR_LOOPBACK_INIT)), 0xf1f2 /* port */), | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:484:37: note: expanded from macro 'IN6ADDR_LOOPBACK_INIT' 484 | #define IN6ADDR_LOOPBACK_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 485 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 486 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 487 | 0, 0, 0, 0x1U } | ~~~~~~~~~~~~~ 3 warnings generated. [573/573] Linking CXX executable bin/test_bitcoin ``` The same issue is observed on Windows. For further details, see bitcoin/bitcoin#31507. ACKs for top commit: bensig: ACK cd818a5 maflcko: review ACK cd818a5 👭 vasild: ACK cd818a5 sedited: utACK cd818a5 Tree-SHA512: 9ad597d393ba04537b3aa728070ea7bbe1fc8796f6d8f3d90eb511242e5a61b0ab18123a6be3cca89aaa20ba7fb4dbe682c4d1c6bd3f6d883c459133e0c2861f
e8ef060 net: Fix `-Wmissing-braces` (Hennadii Stepanov) Pull request description: On some non-POSIX platforms, Clang emits `-Wmissing-braces` warnings for the `IN6ADDR_ANY_INIT` and `IN6ADDR_LOOPBACK_INIT` macros. For example, on OpenIndiana / illumos: ``` $ uname -srv SunOS 5.11 illumos-325e0fc8bb $ clang --version clang version 21.1.7 (https://github.com/OpenIndiana/oi-userland.git 36a81bf5e5d307d4e85893422600678d46328010) Target: x86_64-pc-solaris2.11 Thread model: posix InstalledDir: /usr/clang/21/bin $ cmake -B build -DCMAKE_GENERATOR=Ninja -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DENABLE_IPC=OFF -DAPPEND_CXXFLAGS='-Wno-unused-command-line-argument' $ cmake --build build [284/573] Building CXX object src/CMakeFiles/bitcoin_node.dir/net.cpp.o /export/home/hebasto/dev/bitcoin/src/net.cpp:3309:42: warning: suggest braces around initialization of subobject [-Wmissing-braces] 3309 | const CService ipv6_any{in6_addr(IN6ADDR_ANY_INIT), GetListenPort()}; // :: | ^~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:479:32: note: expanded from macro 'IN6ADDR_ANY_INIT' 479 | #define IN6ADDR_ANY_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 480 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 481 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 482 | 0, 0, 0, 0 } | ~~~~~~~~~~ 1 warning generated. [467/573] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/i2p_tests.cpp.o /export/home/hebasto/dev/bitcoin/src/test/i2p_tests.cpp:116:34: warning: suggest braces around initialization of subobject [-Wmissing-braces] 116 | const CService addr{in6_addr(IN6ADDR_LOOPBACK_INIT), /*port=*/7656}; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:484:37: note: expanded from macro 'IN6ADDR_LOOPBACK_INIT' 484 | #define IN6ADDR_LOOPBACK_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 485 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 486 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 487 | 0, 0, 0, 0x1U } | ~~~~~~~~~~~~~ /export/home/hebasto/dev/bitcoin/src/test/i2p_tests.cpp:159:38: warning: suggest braces around initialization of subobject [-Wmissing-braces] 159 | const CService addr{in6_addr(IN6ADDR_LOOPBACK_INIT), /*port=*/7656}; | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:484:37: note: expanded from macro 'IN6ADDR_LOOPBACK_INIT' 484 | #define IN6ADDR_LOOPBACK_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 485 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 486 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 487 | 0, 0, 0, 0x1U } | ~~~~~~~~~~~~~ 2 warnings generated. [483/573] Building CXX object src/test/CMakeFiles/test_bitcoin.dir/netbase_tests.cpp.o /export/home/hebasto/dev/bitcoin/src/test/netbase_tests.cpp:505:36: warning: suggest braces around initialization of subobject [-Wmissing-braces] 505 | CService(CNetAddr(in6_addr(IN6ADDR_LOOPBACK_INIT)), 0 /* port */), | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:484:37: note: expanded from macro 'IN6ADDR_LOOPBACK_INIT' 484 | #define IN6ADDR_LOOPBACK_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 485 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 486 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 487 | 0, 0, 0, 0x1U } | ~~~~~~~~~~~~~ /export/home/hebasto/dev/bitcoin/src/test/netbase_tests.cpp:510:36: warning: suggest braces around initialization of subobject [-Wmissing-braces] 510 | CService(CNetAddr(in6_addr(IN6ADDR_LOOPBACK_INIT)), 0x00f1 /* port */), | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:484:37: note: expanded from macro 'IN6ADDR_LOOPBACK_INIT' 484 | #define IN6ADDR_LOOPBACK_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 485 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 486 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 487 | 0, 0, 0, 0x1U } | ~~~~~~~~~~~~~ /export/home/hebasto/dev/bitcoin/src/test/netbase_tests.cpp:515:36: warning: suggest braces around initialization of subobject [-Wmissing-braces] 515 | CService(CNetAddr(in6_addr(IN6ADDR_LOOPBACK_INIT)), 0xf1f2 /* port */), | ^~~~~~~~~~~~~~~~~~~~~ /usr/include/netinet/in.h:484:37: note: expanded from macro 'IN6ADDR_LOOPBACK_INIT' 484 | #define IN6ADDR_LOOPBACK_INIT { 0, 0, 0, 0, \ | ^~~~~~~~~~~~~~~~~ 485 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 486 | 0, 0, 0, 0, \ | ~~~~~~~~~~~~~~~~~ 487 | 0, 0, 0, 0x1U } | ~~~~~~~~~~~~~ 3 warnings generated. [573/573] Linking CXX executable bin/test_bitcoin ``` The same issue is observed on Windows. For further details, see bitcoin/bitcoin#31507. ACKs for top commit: bensig: ACK e8ef060 maflcko: review ACK e8ef060 👭 vasild: ACK e8ef060 sedited: utACK e8ef060 Tree-SHA512: 9ad597d393ba04537b3aa728070ea7bbe1fc8796f6d8f3d90eb511242e5a61b0ab18123a6be3cca89aaa20ba7fb4dbe682c4d1c6bd3f6d883c459133e0c2861f
On some non-POSIX platforms, Clang emits
-Wmissing-braceswarnings for theIN6ADDR_ANY_INITandIN6ADDR_LOOPBACK_INITmacros. For example, on OpenIndiana / illumos:The same issue is observed on Windows. For further details, see #31507.