Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
696 commits
Select commit Hold shift + click to select a range
9687ef1
ci: Tolerate unused free functions in intermediate commits
fjahr Apr 9, 2026
c471c50
common: Add unused UrlEncode function
fjahr Jan 18, 2026
379b9fb
Merge bitcoin/bitcoin#34225: refactor, key: move `CreateMuSig2{Nonce,…
achow101 May 15, 2026
ed1795a
Merge bitcoin/bitcoin#35285: bench: add benchmark for GetMappedAS()
achow101 May 15, 2026
6189335
kernel: doc: document wipe lifecycle and best entry nullability
csjones May 16, 2026
3f5b3c7
psbt: preserve proprietary fields when combining PSBTs
w0xlt Mar 22, 2026
da76985
test: add PSBT proprietary merge regression coverage
w0xlt Mar 22, 2026
7802e57
Merge bitcoin/bitcoin#34860: mining: always pad scriptSig at low heig…
ryanofsky May 17, 2026
b2a3ca3
Merge bitcoin/bitcoin#35117: i2p: clean up SESSION CREATE error logging
fanquake May 18, 2026
8ce8432
musig: Reject empty pubkey list in GetMuSig2KeyAggCache
nervana21 May 16, 2026
c7056ff
Merge bitcoin/bitcoin#34893: psbt: preserve proprietary fields when c…
achow101 May 18, 2026
4f348c2
Merge bitcoin/bitcoin#28802: ArgsManager: support command-specific op…
achow101 May 18, 2026
ed15e14
Merge bitcoin/bitcoin#35193: test: avoid non-loopback network traffic…
fanquake May 19, 2026
88d9bc5
kernel: Return btck_BlockValidationState from process_block_header API
yuvicc May 18, 2026
278b9e3
Merge bitcoin/bitcoin#34934: fuzz: exercise ForNode/ForEachNode callb…
fanquake May 19, 2026
2284288
Merge bitcoin/bitcoin#35279: psbt, test: remove address type restrict…
fanquake May 19, 2026
ce2044a
Merge bitcoin/bitcoin#33362: Run feature_bind_port_(discover|external…
ryanofsky May 19, 2026
fa89098
test: Document rare failure in test_inv_block better
May 19, 2026
489da5d
Merge bitcoin/bitcoin#33856: kernel: Refactor process_block_header to…
fanquake May 19, 2026
0358c26
kernel: document overwritten validation state outputs
w0xlt May 1, 2026
2394240
Merge bitcoin/bitcoin#35189: kernel: document validation state output…
sedited May 20, 2026
5570b86
Merge bitcoin/bitcoin#33160: bench: Add more realistic Coin Selection…
sedited May 20, 2026
a7df1bd
Merge bitcoin/bitcoin#34537: crypto: fix incorrect variable names in …
sedited May 20, 2026
ae73b69
test: restore assertion that tx contains exactly 2500 sigops
ismaelsadeeq May 20, 2026
a988ac5
cli: Add HTTPResponseHeaders class for parsing response headers
fjahr Apr 9, 2026
fa37c6a
test: [move-only] Extract create_new_rpc_connection
Mar 26, 2026
5d56243
netbase: Add timeout parameter to ConnectDirectly
fjahr May 20, 2026
21edcc4
Merge bitcoin/bitcoin#35328: test: restore assertion that tx contains…
fanquake May 20, 2026
3158b89
Merge bitcoin/bitcoin#33765: doc: update interface, --stdin flag, `si…
fanquake May 20, 2026
b796bf4
Merge bitcoin/bitcoin#35228: wallet: use `outpoint` when estimating i…
fanquake May 20, 2026
376e7ef
util: Expose IOErrorIsPermanent in sock header
fjahr May 20, 2026
8d390c9
dbwrapper: make max_file_size a configurable DBParams field
andrewtoth Mar 21, 2026
32169c3
dbwrapper: accept optional testing leveldb::Env in DBParams
andrewtoth Mar 21, 2026
b63ef20
test: add fuzz harness for CDBWrapper
andrewtoth Mar 21, 2026
df7ed5f
chainparams: encapsulate deployment configuration logic
darosior Sep 29, 2025
ac9aa71
mempool: remove all subsequent tx in pkg on failure
instagibbs Apr 6, 2026
98f706c
qa: regenerate hardcoded regtest chain for kernel lib unit tests
darosior May 20, 2026
f05b1a3
rpc: Fix for duplicate external signers case
optout21 May 9, 2026
c6dbf31
Merge bitcoin/bitcoin#35304: kernel: doc: document wipe lifecycle and…
sedited May 21, 2026
131fa57
test: Add test for BuildSkip() and skip heights
optout21 May 19, 2026
8ee5622
Merge bitcoin/bitcoin#35338: qa: regenerate hardcoded regtest chain f…
fanquake May 21, 2026
c4a7613
wallet: mark `bip125-replaceable` key as deprecated in transaction RPCs
rkrux Mar 25, 2026
97f7cc0
wallet: mark -walletrbf startup option as deprecated
rkrux May 20, 2026
ecf2031
Merge bitcoin/bitcoin#35270: doc: Document minimum versions for Xcode…
fanquake May 21, 2026
211e105
Merge bitcoin/bitcoin#32220: cmake: Get rid of undocumented `BITCOIN_…
fanquake May 21, 2026
5ccb698
Merge bitcoin-core/gui#936: Remove opt-in RBF
hebasto May 21, 2026
2940053
Merge bitcoin/bitcoin#33223: coinselection: Tiebreak SRD eviction by …
fanquake May 21, 2026
bd0942b
Merge bitcoin/bitcoin#34887: fuzz: target CDBWrapper
fanquake May 21, 2026
ca5483a
qa: use NORMAL_GBT_REQUEST_PARAMS consistently
darosior Apr 30, 2026
798d051
cli: Remove libevent usage
fjahr Apr 9, 2026
d61053d
build: Drop libevent from bitcoin-cli link libraries
fjahr Apr 21, 2026
fa99a3c
ci: Enable pipefail in 03_test_script.sh
Feb 17, 2026
e4f1e43
ci: Fix `path` input for vcpkg downloads cache
hebasto May 21, 2026
0553ce5
Merge bitcoin/bitcoin#35316: musig: Reject empty pubkey list in GetMu…
achow101 May 21, 2026
7209eb7
test: suppress ECONNABORTED in wait_for_rpc_connection on Windows
ryanofsky May 21, 2026
18c1cc6
kernel: improve BITCOINKERNEL_WARN_UNUSED_RESULT usage
stickies-v May 21, 2026
37d7ce4
Merge bitcoin/bitcoin#35350: test: suppress ECONNABORTED in wait_for_…
sedited May 21, 2026
00e9df9
Merge bitcoin/bitcoin#35333: qa: use NORMAL_GBT_REQUEST_PARAMS consis…
sedited May 21, 2026
a56b4ea
Merge bitcoin/bitcoin#35017: mempool: remove all subsequent tx in pkg…
sedited May 21, 2026
735b1cf
Merge bitcoin/bitcoin#34806: refactor: logging: Various API improvements
ryanofsky May 22, 2026
fa2a368
test: Allow mining_getblocktemplate_longpoll.py --usecli
May 20, 2026
fa3ae6c
test: Allow feature_shutdown.py --usecli
May 20, 2026
fa8f251
refactor: Use create_new_rpc_connection in wallet_multiwallet.py
May 20, 2026
fa00c7c
test: Allow rpc_bind.py --usecli
May 20, 2026
fae376c
refactor: Inline get_rpc_proxy
May 20, 2026
faf0267
refactor: Set TestNode.cli only after RPC is connected
May 21, 2026
63ee9cd
test: misc interface_ipc_mining.py improvements
Sjors Feb 12, 2026
24750f8
test: add createNewBlock failure helper
Sjors Mar 25, 2026
63b23ea
test: regression test for waitNext mining policy
Sjors May 12, 2026
6aeb1fb
test: cover IPC blockmaxweight policy
Sjors May 14, 2026
d4368e0
move-only: add node/mining_types.h
Sjors Dec 4, 2025
44082be
interfaces: make Mining use const NodeContext
Sjors May 18, 2026
0201660
mining: use interface for tests, bench and fuzzers
Sjors Dec 4, 2025
fa81e51
mining: parse block creation args in mining_args
Sjors Feb 12, 2026
128da7c
miner: add block_max_weight to BlockCreateOptions
Sjors Dec 4, 2025
8daac1d
mining: add block create option helpers
Sjors May 18, 2026
4637cd1
mining: reject invalid block create options
Sjors May 18, 2026
3bb6498
mining: store block create options in NodeContext
Sjors May 18, 2026
8c58f63
refactor: have mining files include what they use
Sjors May 18, 2026
0317f52
ci: enforce iwyu for touched files
Sjors May 18, 2026
1e5d3b4
doc: add release note for mining option validation
Sjors May 14, 2026
e91f871
Merge bitcoin/bitcoin#35349: ci: Fix `path` input for vcpkg downloads…
hebasto May 22, 2026
908cc9d
Merge bitcoin/bitcoin#35344: kernel: improve BITCOINKERNEL_WARN_UNUSE…
sedited May 22, 2026
c03107a
ci: switch to GitHub cache for all runners
willcl-ark May 21, 2026
033a56c
Merge bitcoin/bitcoin#34342: cli: Replace libevent usage with simple …
fanquake May 22, 2026
e4f0337
Merge bitcoin/bitcoin#35324: test: Document rare failure in test_inv_…
fanquake May 22, 2026
59918de
Merge bitcoin/bitcoin#34801: ci: Enable pipefail in 03_test_script.sh
fanquake May 22, 2026
f28cd75
Merge bitcoin/bitcoin#35348: ci: switch to GitHub cache for all runners
fanquake May 22, 2026
b9f0040
Merge bitcoin/bitcoin#34614: ci: Put space and non-ASCII char in scra…
sedited May 22, 2026
9f7b08c
Merge bitcoin/bitcoin#35334: test: Allow --usecli in more tests
fanquake May 22, 2026
aba24a9
wallet: remove "RPC Only" from -walletrbf option help description
rkrux May 22, 2026
5faf2ad
doc: add release notes for deprecation of wallet rbf & bip125 fields
rkrux May 20, 2026
fa4fc8c
test: Set TestNode url field early, so that feature_loadblock.py --us…
May 22, 2026
2e9fdcc
doc: add feature deprecation and removal process to developer notes
fernandguil May 22, 2026
de92545
Merge bitcoin/bitcoin#35141: fuzz: apply node context reset pattern t…
sedited May 23, 2026
779f444
test: move out JSONRPCException from authproxy to util
rkrux Apr 11, 2026
7be0d6f
test: remove the lazy import of util in authproxy
rkrux Apr 24, 2026
a815e3e
rpc: Correct type for tx_sigops
hodlinator Mar 31, 2026
fd230f9
net: use the proxy if overriden when doing v2->v1 reconnections
vasild May 19, 2026
d01b461
net: ensure no direct private broadcast connections
vasild May 25, 2026
32d072a
doc: add release notes for #35319
vasild May 25, 2026
0774eaa
util: Require integers for SaturatingAdd() and AdditionOverflow()
hodlinator Apr 23, 2026
4995c00
chainparams: make deployment configuration available on all test netw…
darosior Sep 29, 2025
801e3bf
chainparams: add overloads for RegTest and SigNet with no options
darosior May 25, 2026
acea6f2
Merge bitcoin/bitcoin#35251: wallet: Fix for duplicate external signe…
achow101 May 26, 2026
dd0dea3
Merge bitcoin/bitcoin#34917: wallet: mark bip125-replaceable RPC key …
achow101 May 26, 2026
faf993e
test: Stop node before modifying config to support rpc_users.py --usecli
May 22, 2026
faf0f84
test: use echojson to allow rpc_named_arguments.py --usecli
May 22, 2026
fa8d4d5
test: Catch CalledProcessError to support --usecli in feature_dbcrash.py
May 26, 2026
fa24693
test: Allow --usecli in tests that already support it
May 22, 2026
743bf35
Merge bitcoin/bitcoin#35049: test: remove circular dependency between…
fanquake May 26, 2026
d5188b5
Merge bitcoin/bitcoin#35363: test: Allow --usecli in more tests
fanquake May 26, 2026
b43a936
Merge bitcoin/bitcoin#33974: cmake: Check dependencies after build op…
fanquake May 26, 2026
9ec4efe
Merge bitcoin/bitcoin#35015: bitcoin-cli: note -rpcclienttimeout is n…
sedited May 26, 2026
9767e80
Merge bitcoin/bitcoin#35296: doc: Fix broken links in dev notes, move…
sedited May 26, 2026
ac9424f
Merge bitcoin/bitcoin#35145: validation: fix misleading VerifyDB summ…
sedited May 26, 2026
a4157fc
Merge bitcoin/bitcoin#33966: refactor: disentangle miner startup defa…
ryanofsky May 26, 2026
9c15022
Merge bitcoin/bitcoin#35337: doc: add feature deprecation and removal…
sedited May 26, 2026
a3fe455
wallet: refactor to read -walletrbf only once instead of twice
rkrux May 26, 2026
813b4a8
refactor: introduce SubmitBlock helper
w0xlt May 14, 2026
5b60f69
mining: add submitBlock IPC method to Mining interface
w0xlt Feb 20, 2026
3962138
test: add IPC submitBlock functional test
w0xlt Feb 20, 2026
0b9e10a
guix: Update `python-signapple` and wrap with OpenSSL paths
hebasto May 26, 2026
d846444
guix: Split manifest into build and codesign manifests
hebasto May 26, 2026
fad4f41
test: Use operator<< for time_points instead of manual TickSinceEpoch
May 27, 2026
0687438
Merge bitcoin/bitcoin#35372: refactor: Enhance type safety in overflo…
sedited May 27, 2026
c17cc76
test: speed up feature_dbcrash
willcl-ark May 26, 2026
615c0ae
Merge bitcoin/bitcoin#35391: test: Use operator<< for time_points ins…
fanquake May 27, 2026
a2a2b17
wallet, test: remove -walletrbf startup option from rpc_psbt.py
rkrux May 26, 2026
5e833e0
wallet, test: -walletrbf startup option from wallet_bumpfee.py
rkrux May 26, 2026
0ee94b2
wallet, test: remove -deprecatedrpc=bip125 from wallet_listtransactio…
rkrux May 26, 2026
8cb6e40
wallet, test: remove -walletrbf startup option from wallet_listtransa…
rkrux May 26, 2026
4233092
wallet, test: remove -walletrbf startup option from wallet_backwards_…
rkrux May 26, 2026
85c27c9
Merge bitcoin/bitcoin#35394: test: remove unnecessary rpc calls from …
fanquake May 27, 2026
00af562
Merge bitcoin/bitcoin#35206: doc: fix doxygen links to threads in dev…
fanquake May 27, 2026
fab5733
doc: Remove good_first_issue.yml
May 28, 2026
4bdd46a
ci: switch runners from cirrus to warpbuild
willcl-ark May 11, 2026
58cdb5c
Squashed 'src/leveldb/' changes from ab6c84e6f3..a7f9bdc611
fanquake May 28, 2026
5fe0615
Update leveldb subtree to latest upstream
fanquake May 28, 2026
4d58c32
build: remove -Wno-conditional-uninitialized from leveldb build
fanquake May 18, 2026
a9ac680
build: remove FALLTHROUGH_INTENDED from leveldb.cmake
fanquake May 28, 2026
e3f5c18
Merge bitcoin/bitcoin#34948: guix: Split manifest into build and code…
fanquake May 28, 2026
a52ea9b
wallet, test: remove -walletrbf startup option from wallet_backwards_…
rkrux May 26, 2026
3ec550d
wallet, test: remove -deprecatedrpc=bip125 from wallet_basic.py
rkrux May 26, 2026
307134b
wallet, test: remove -deprecatedrpc=bip125 from wallet_migration.py
rkrux May 26, 2026
2cbbcb5
wallet, test: remove -deprecatedrpc=bip125 from wallet_send.py
rkrux May 26, 2026
7bc39e3
wallet, test: add wallet_deprecated_rbf.py for walletrbf deprecated k…
rkrux May 27, 2026
f701cd1
doc: fix typo in release notes of #34917
rkrux May 26, 2026
fa09de8
test: [refactor] Simplify submit_block_catch_error
May 26, 2026
fac27d7
test: Fix feature_dbcrash.py --usecli intermittent error
May 26, 2026
faf1475
ci: Exclude feature_dbcrash.py under --v2transport --usecli
May 26, 2026
fad585b
test: Wait for node exit after crash in verify_utxo_hash
May 28, 2026
d4c69a7
guix, refactor: Remove unused `out_name()` function
hebasto Apr 21, 2026
6b59fd6
guix, refactor: Remove `contains()` function
hebasto Apr 21, 2026
faa9d43
guix, refactor: Move duplicated `outdir_for_host()` to `prelude.bash`
hebasto Apr 29, 2026
cab65ea
guix, refactor: Move duplicated `profiledir_for_host()` to `prelude.b…
hebasto Apr 29, 2026
5d46429
guix, refactor: Move `distsrc_for_host()` to `prelude.bash`
hebasto Apr 29, 2026
62cf7bc
guix, refactor: Add `BASE` argument to `*_for_host` functions
hebasto Apr 29, 2026
5338877
guix: Remove redundant ShellCheck `source` directives
hebasto Apr 29, 2026
fa51f37
doc: Reword the Getting-Started section
May 28, 2026
896eaac
Merge bitcoin/bitcoin#34644: mining: add submitBlock to IPC Mining in…
ryanofsky May 28, 2026
a34dbc8
Merge bitcoin/bitcoin#35313: Bump leveldb subtree
fanquake May 28, 2026
fd44d48
wallet: fix ancient wallets migration
furszy Jan 2, 2026
b86c1c4
test: add coverage for migrating ancient wallets
furszy Jan 3, 2026
d12d8e5
Merge bitcoin/bitcoin#35400: doc: Remove good_first_issue.yml, Reword…
fanquake May 28, 2026
f1344e6
Merge bitcoin/bitcoin#35378: ci: switch to warp runners
fanquake May 28, 2026
fa78704
doc: Compress doc/build-unix.md dependency package names into table
May 28, 2026
5486ef8
Merge bitcoin/bitcoin#34198: wallet: fix ancient wallets migration
achow101 May 28, 2026
c6f225c
Merge bitcoin/bitcoin#28333: wallet: Construct ScriptPubKeyMans with …
sedited May 28, 2026
d0a54dd
Merge bitcoin/bitcoin#35381: wallet, test: optinrbf deprecation follo…
achow101 May 28, 2026
1ea532e
Merge bitcoin/bitcoin#34953: crypto: disable ASan instrumentation of …
sedited May 28, 2026
265563b
doc: remove reference to cirrus
fanquake May 29, 2026
5700a61
ci: use ubuntu-latest instead of ubuntu-24.04
fanquake May 29, 2026
6183942
ci, iwyu: Fix warnings in src/scripts and treat them as error
BrandonOdiwuor Apr 4, 2026
13b7fff
Merge bitcoin/bitcoin#35011: iwyu: Fix warnings in `src/script` and t…
fanquake May 29, 2026
8877eec
wallet: allow anti-fee-sniping in sendall RPC while not relying on RB…
rkrux May 28, 2026
6c525c2
wallet: unfriend LegacyDataSPKM and DescriptorScriptPubKeyMan classes
rkrux Apr 28, 2026
2ffa81f
test: make reusable SOCKS5 server starting
vasild May 29, 2026
2333be9
test: make reusable starting a standalone P2P listener
vasild May 29, 2026
ab35a02
test: make reusable filling of a node's addrman
vasild May 29, 2026
ac09260
test: restore JSONRPCException error format
rkrux May 26, 2026
570a627
kernel: assert invalid buffer preconditions in `btck_*_create` functions
stringintech May 18, 2026
9c1fcac
wallet, test: fix sendall anti-fee-sniping when locktime is not speci…
rkrux May 28, 2026
a3dc44c
Merge bitcoin/bitcoin#35385: test: restore JSONRPCException error format
fanquake May 29, 2026
214ad17
Merge bitcoin/bitcoin#35408: ci: 35378 followups
fanquake May 29, 2026
10dfdd4
Merge bitcoin/bitcoin#35379: test: Fix feature_dbcrash.py --usecli error
fanquake May 29, 2026
34ac534
Merge bitcoin/bitcoin#35402: doc: Compress doc/build-unix.md dependen…
achow101 May 29, 2026
5a3756d
test: add a regression test for private broadcast v1 retries
vasild May 29, 2026
bf0d257
net: un-default the OpenNetworkConnection()'s proxy_override argument
Crypt-iQ May 29, 2026
fbe6287
Merge bitcoin/bitcoin#35131: guix, refactor: Minor script cleanups an…
fanquake May 30, 2026
2ce4ae7
ci: Add dynamic cache switching to warp cache
willcl-ark Jun 1, 2026
f802edf
versionbits: Limit live activation params and activation warnings per…
ajtowns Mar 10, 2026
1d52405
qa: test we don't warn for ignored unknown version bits deployments
darosior Mar 9, 2026
94e3ac0
doc: release notes and bips doc update for #34779
darosior May 20, 2026
107d417
versionbits: update VersionBitsCache doc comment to match current beh…
darosior May 20, 2026
19e4533
Merge bitcoin/bitcoin#35312: kernel: assert invalid buffer preconditi…
sedited Jun 1, 2026
654a522
Merge bitcoin/bitcoin#33661: test: Add test on skip heights in CBlock…
sedited Jun 1, 2026
c8b8c27
test: Improve loopback address check in `rcp_bind.py`
xyzconstant Jun 1, 2026
255f7c7
Merge bitcoin/bitcoin#35404: wallet: allow anti-fee-sniping in sendal…
sedited Jun 2, 2026
53373d0
Merge bitcoin/bitcoin#35430: ci: use warp caching on warp runners
fanquake Jun 2, 2026
2e0a36c
Merge bitcoin/bitcoin#35439: test: Improve loopback address check in …
sedited Jun 2, 2026
61d1c78
Merge bitcoin/bitcoin#35192: wallet: unfriend LegacyDataSPKM and Desc…
sedited Jun 2, 2026
6609088
fuzz: extract ConsumeDBParams helper
andrewtoth Jun 2, 2026
8cb8653
fuzz: target concurrent leveldb reads
andrewtoth Jun 2, 2026
7735c13
test: run bitcoin-cli -ipcconnect check under valgrind with -datadir
mjdietzx Jun 2, 2026
2669019
Merge bitcoin/bitcoin#35269: musig: Include pubnonce in session id
sedited Jun 2, 2026
b28cf40
Merge bitcoin/bitcoin#34866: fuzz: target concurrent leveldb reads
fanquake Jun 3, 2026
c21b58e
ci: use pyzmq over zmq
fanquake Jun 3, 2026
4a6d145
ci: add pyzmq to msan job
fanquake Jun 3, 2026
7c2718a
Merge bitcoin/bitcoin#34767: Bugfix: GUI/Intro: Handle errors from Se…
hebasto Jun 3, 2026
8290198
ci: use Warp cache for Docker layers
willcl-ark Jun 3, 2026
5bd990a
Merge bitcoin/bitcoin#34779: BIP 323: reserve version bits 5-28 as ex…
achow101 Jun 3, 2026
b5e91e9
wallet: Remove CoinsResult::Clear()
hodlinator Jun 3, 2026
43ca54c
refactor(test): Make CAmount arg explicit for BuildCreditingTransacti…
hodlinator Jun 3, 2026
082bb1a
Merge bitcoin/bitcoin#35335: Make deployment configuration available …
achow101 Jun 3, 2026
a5050dd
Merge bitcoin/bitcoin#32150: coinselection: Optimize BnB exploration
achow101 Jun 3, 2026
d0b76c7
rpc+bitcoin-tx: Specify correct type for ParseFixedPoint()
hodlinator Jun 3, 2026
628816b
Merge bitcoin/bitcoin#35447: ci: use warpbuild cache for docker build…
fanquake Jun 4, 2026
e01741e
Merge bitcoin/bitcoin#35446: ci: use pyzmq over zmq
sedited Jun 4, 2026
0cac23b
Merge bitcoin/bitcoin#35431: test: pass -datadir to bitcoin-cli -ipcc…
sedited Jun 4, 2026
54de023
guix: add setup.sh
fanquake May 18, 2026
47da4f9
Merge bitcoin/bitcoin#35410: net: use the proxy if overriden when doi…
fanquake Jun 4, 2026
5b65e31
test: remove two unnecessary nodes from the test
rkrux Jun 4, 2026
b2fbd5b
ci: run ipc functional tests in arm job
fanquake Jun 4, 2026
27472a5
Merge bitcoin/bitcoin#35466: ci: run ipc functional tests in arm job
sedited Jun 6, 2026
5deb053
fuzz: fix dead HD keypaths (de)serialization round-trip
theStack Jun 7, 2026
5f33da9
Merge bitcoin/bitcoin#35481: fuzz: fix dead HD keypaths (de)serializa…
sedited Jun 7, 2026
7b821ef
rpc: getprivatebroadcastinfo and abortprivatebroadcast throw if -priv…
polespinasa May 13, 2026
fdc9fc1
test: check getprivatebroadcast and abortprivatebroadcast throw if th…
polespinasa May 31, 2026
0bfc5e4
add release notes
polespinasa May 11, 2026
7c2ec39
test: Enter mocktime before peer creation in block_relay_only_eviction
seduless Apr 17, 2026
758fea5
test: Drop ++ from NodeClockContext default constructor
seduless Apr 17, 2026
1e9546f
test: Use NodeClockContext in more call sites
seduless Apr 17, 2026
55e402f
scripted-diff: Rename NodeClockContext to FakeNodeClock
seduless Apr 18, 2026
35a814a
test: Limit clocks to one active instance
Jun 8, 2026
ec6cf49
blockstorage: Remove cs_LastBlockFile recursive mutex
sedited May 21, 2026
1aafd49
Merge bitcoin/bitcoin#35359: blockstorage: Remove cs_LastBlockFile re…
fanquake Jun 8, 2026
fba713a
scripted-diff: Rename UNIQUE_NAME to BITCOIN_UNIQUE_NAME
hebasto Jun 8, 2026
1d3bc81
Merge bitcoin/bitcoin#35267: rpc: make getprivatebroadcastinfo and ab…
sedited Jun 8, 2026
e36f5d5
Merge bitcoin/bitcoin#35456: test: Perform full reset of CoinsResult …
sedited Jun 8, 2026
577999c
Merge bitcoin/bitcoin#35462: test: remove unnecessary nodes from wall…
sedited Jun 8, 2026
9868e1b
Merge bitcoin/bitcoin#35487: scripted-diff: Rename UNIQUE_NAME to BIT…
sedited Jun 9, 2026
6d47f7c
ci: use llvm 22.1.7
fanquake Jun 3, 2026
087f02c
ci: skip libunwind runtime in LLVM build
fanquake Jun 3, 2026
17ed7f5
Merge bitcoin/bitcoin#35297: p2p: Release m_peer_mutex early in Initi…
fanquake Jun 9, 2026
543c00f
Merge bitcoin/bitcoin#35448: ci: don't build libunwind in msan
sedited Jun 9, 2026
bcbf5ba
Merge bitcoin/bitcoin#35114: test: NodeClockContext follow-ups
sedited Jun 9, 2026
4b91316
Merge bitcoin/bitcoin#35459: guix: add setup.sh
hebasto Jun 9, 2026
d719bb8
descriptor, key_io: avoid redundant work when parsing keys
brunoerg Apr 8, 2026
6dd023a
descriptor: replace O(n) INPUT_CHARSET.find() with precomputed lookup…
brunoerg Apr 8, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ trim_trailing_whitespace = true
[*.{h,cpp,rs,py,sh}]
indent_size = 4

# .cirrus.yml, etc.
# ci.yml, etc.
[*.yml]
indent_size = 2

Expand Down
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
src/clientversion.cpp export-subst
src/CMakeLists.txt export-subst
44 changes: 0 additions & 44 deletions .github/ISSUE_TEMPLATE/good_first_issue.yml

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,43 +1,51 @@
name: 'Restore Caches'
description: 'Restore ccache, depends sources, and built depends caches'
inputs:
provider:
description: 'The cache provider to use'
required: true
runs:
using: 'composite'
steps:
- name: Restore Ccache cache
id: ccache-cache
uses: cirruslabs/cache/restore@v5
uses: ./.github/actions/cache/restore/internal
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ env.CONTAINER_NAME }}-${{ github.run_id }}
restore-keys: |
ccache-${{ env.CONTAINER_NAME }}-
provider: ${{ inputs.provider }}

- name: Restore depends sources cache
id: depends-sources
uses: cirruslabs/cache/restore@v5
uses: ./.github/actions/cache/restore/internal
with:
path: ${{ env.SOURCES_PATH }}
key: depends-sources-${{ env.CONTAINER_NAME }}-${{ env.DEPENDS_HASH }}
restore-keys: |
depends-sources-${{ env.CONTAINER_NAME }}-
provider: ${{ inputs.provider }}

- name: Restore built depends cache
id: depends-built
uses: cirruslabs/cache/restore@v5
uses: ./.github/actions/cache/restore/internal
with:
path: ${{ env.BASE_CACHE }}
key: depends-built-${{ env.CONTAINER_NAME }}-${{ env.DEPENDS_HASH }}
restore-keys: |
depends-built-${{ env.CONTAINER_NAME }}-
provider: ${{ inputs.provider }}

- name: Restore previous releases cache
id: previous-releases
uses: cirruslabs/cache/restore@v5
uses: ./.github/actions/cache/restore/internal
with:
path: ${{ env.PREVIOUS_RELEASES_DIR }}
key: previous-releases-${{ env.CONTAINER_NAME }}-${{ env.PREVIOUS_RELEASES_HASH }}
restore-keys: |
previous-releases-${{ env.CONTAINER_NAME }}-
provider: ${{ inputs.provider }}

- name: export cache hits
shell: bash
Expand Down
43 changes: 43 additions & 0 deletions .github/actions/cache/restore/internal/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
name: 'Cache Restore'
description: 'Restore a cache with WarpBuild on Warp runners and GitHub Actions cache otherwise'
inputs:
path:
description: 'A list of files, directories, and wildcard patterns to restore'
required: true
key:
description: 'An explicit key for restoring the cache'
required: true
restore-keys:
description: 'An ordered multiline string listing prefix-matched restore keys'
required: false
default: ''
provider:
description: 'The cache provider to use'
required: true
outputs:
cache-hit:
description: 'A boolean value to indicate an exact match was found for the primary key'
value: ${{ steps.warp.outputs.cache-hit || steps.gha.outputs.cache-hit }}
cache-primary-key:
description: 'The primary key used to restore the cache'
value: ${{ steps.warp.outputs.cache-primary-key || steps.gha.outputs.cache-primary-key }}
runs:
using: 'composite'
steps:
- name: Restore cache with WarpBuild
id: warp
if: ${{ inputs.provider == 'warp' }}
uses: WarpBuilds/cache/restore@v1
with:
path: ${{ inputs.path }}
key: ${{ inputs.key }}
restore-keys: ${{ inputs.restore-keys }}

- name: Restore cache with GitHub Actions
id: gha
if: ${{ inputs.provider == 'gha' }}
uses: actions/cache/restore@v5
with:
path: ${{ inputs.path }}
key: ${{ inputs.key }}
restore-keys: ${{ inputs.restore-keys }}
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
name: 'Save Caches'
description: 'Save ccache, depends sources, and built depends caches'
inputs:
provider:
description: 'The cache provider to use'
required: true
runs:
using: 'composite'
steps:
Expand All @@ -11,29 +15,33 @@ runs:
echo "previous releases direct cache hit to primary key: ${{ env.previous-releases-cache-hit }}"

- name: Save Ccache cache
uses: cirruslabs/cache/save@v5
uses: ./.github/actions/cache/save/internal
if: ${{ (github.event_name == 'push') && (github.ref_name == github.event.repository.default_branch) }}
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ env.CONTAINER_NAME }}-${{ github.run_id }}
provider: ${{ inputs.provider }}

- name: Save depends sources cache
uses: cirruslabs/cache/save@v5
uses: ./.github/actions/cache/save/internal
if: ${{ (github.event_name == 'push') && (github.ref_name == github.event.repository.default_branch) && (env.depends-sources-cache-hit != 'true') }}
with:
path: ${{ env.SOURCES_PATH }}
key: depends-sources-${{ env.CONTAINER_NAME }}-${{ env.DEPENDS_HASH }}
provider: ${{ inputs.provider }}

- name: Save built depends cache
uses: cirruslabs/cache/save@v5
uses: ./.github/actions/cache/save/internal
if: ${{ (github.event_name == 'push') && (github.ref_name == github.event.repository.default_branch) && (env.depends-built-cache-hit != 'true' )}}
with:
path: ${{ env.BASE_CACHE }}
key: depends-built-${{ env.CONTAINER_NAME }}-${{ env.DEPENDS_HASH }}
provider: ${{ inputs.provider }}

- name: Save previous releases cache
uses: cirruslabs/cache/save@v5
uses: ./.github/actions/cache/save/internal
if: ${{ (github.event_name == 'push') && (github.ref_name == github.event.repository.default_branch) && (env.previous-releases-cache-hit != 'true' )}}
with:
path: ${{ env.PREVIOUS_RELEASES_DIR }}
key: previous-releases-${{ env.CONTAINER_NAME }}-${{ env.PREVIOUS_RELEASES_HASH }}
provider: ${{ inputs.provider }}
28 changes: 28 additions & 0 deletions .github/actions/cache/save/internal/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: 'Cache Save'
description: 'Save a cache with WarpBuild on Warp runners and GitHub Actions cache otherwise'
inputs:
path:
description: 'A list of files, directories, and wildcard patterns to cache'
required: true
key:
description: 'An explicit key for saving the cache'
required: true
provider:
description: 'The cache provider to use'
required: true
runs:
using: 'composite'
steps:
- name: Save cache with WarpBuild
if: ${{ inputs.provider == 'warp' }}
uses: WarpBuilds/cache/save@v1
with:
path: ${{ inputs.path }}
key: ${{ inputs.key }}

- name: Save cache with GitHub Actions
if: ${{ inputs.provider == 'gha' }}
uses: actions/cache/save@v5
with:
path: ${{ inputs.path }}
key: ${{ inputs.key }}
49 changes: 21 additions & 28 deletions .github/actions/configure-docker/action.yml
Original file line number Diff line number Diff line change
@@ -1,27 +1,27 @@
name: 'Configure Docker'
description: 'Set up Docker build driver and configure build cache args'
inputs:
cache-provider:
description: 'gha or cirrus cache provider'
required: true
provider:
description: 'The cache provider to use'
required: false
default: 'gha'
runs:
using: 'composite'
steps:
- name: Check inputs
shell: python
run: |
# We expect only gha or cirrus as inputs to cache-provider
if "${{ inputs.cache-provider }}" not in ("gha", "cirrus"):
print("::warning title=Unknown input to configure docker action::Provided value was ${{ inputs.cache-provider }}")

- name: Set up Docker Buildx
- name: Set up Docker Buildx for Warp cache
if: ${{ inputs.provider == 'warp' }}
uses: docker/setup-buildx-action@v4
with:
# Use host network to allow access to cirrus gha cache running on the host
driver-opts: |
network=host

# This is required to allow buildkit to access the actions cache
- name: Set up Docker Buildx
if: ${{ inputs.provider != 'warp' }}
uses: docker/setup-buildx-action@v4

# This is required when using the gha cache backend with a manual docker buildx invocation.
# Docker will check for variables $ACTIONS_CACHE_URL, $ACTIONS_RESULTS_URL and $ACTIONS_RUNTIME_TOKEN
# which are set automatically when running on GitHub infra: https://docs.docker.com/build/cache/backends/gha/#synopsis
- name: Expose actions cache variables
uses: actions/github-script@v8
with:
Expand All @@ -36,25 +36,18 @@ runs:
- name: Construct docker build cache args
shell: bash
run: |
# Configure docker build cache backend
#
# On forks the gha cache will work but will use Github's cache backend.
# Docker will check for variables $ACTIONS_CACHE_URL, $ACTIONS_RESULTS_URL and $ACTIONS_RUNTIME_TOKEN
# which are set automatically when running on GitHub infra: https://docs.docker.com/build/cache/backends/gha/#synopsis

# Use cirrus cache host
if [[ ${{ inputs.cache-provider }} == 'cirrus' ]]; then
url_args="url=${CIRRUS_CACHE_HOST},url_v2=${CIRRUS_CACHE_HOST}"
else
url_args=""
cache_options="scope=${CONTAINER_NAME}"
if [[ "${{ inputs.provider }}" == "warp" ]]; then
cache_options="url=http://127.0.0.1:49160/,version=1,${cache_options}"
fi

# Configure docker build cache backend
# Always optimistically --cache‑from in case a cache blob exists
args=(--cache-from "type=gha${url_args:+,${url_args}},scope=${CONTAINER_NAME}")
args=(--cache-from "type=gha,${cache_options}")

# Only add --cache-to when using the Cirrus cache provider and pushing to the default branch.
if [[ ${{ inputs.cache-provider }} == 'cirrus' && ${{ github.event_name }} == "push" && ${{ github.ref_name }} == ${{ github.event.repository.default_branch }} ]]; then
args+=(--cache-to "type=gha${url_args:+,${url_args}},mode=max,ignore-error=true,scope=${CONTAINER_NAME}")
# Only add --cache-to when pushing to the default branch.
if [[ ${{ github.event_name }} == "push" && ${{ github.ref_name }} == ${{ github.event.repository.default_branch }} ]]; then
args+=(--cache-to "type=gha,mode=max,ignore-error=true,${cache_options}")
fi

# Always `--load` into docker images (needed when using the `docker-container` build driver).
Expand Down
4 changes: 2 additions & 2 deletions .github/ci-test-each-commit-exec.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,8 @@ def main():
"-DCMAKE_BUILD_TYPE=Debug",
"-DCMAKE_COMPILE_WARNING_AS_ERROR=ON",
"--preset=dev-mode",
# Tolerate unused member functions in intermediate commits in a pull request
"-DCMAKE_CXX_FLAGS=-Wno-error=unused-member-function",
# Tolerate unused (member) functions in intermediate commits in a pull request
"-DCMAKE_CXX_FLAGS=-Wno-error=unused-member-function -Wno-error=unused-function",
])

if run(["cmake", "--build", build_dir, "-j", str(num_procs)], check=False).returncode != 0:
Expand Down
2 changes: 1 addition & 1 deletion .github/ci-windows-cross.py
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ def run_functional_tests():
"--jobs",
num_procs,
"--quiet",
f"--tmpdirprefix={workspace}",
f"--tmpdirprefix={workspace / '_ _'}",
"--combinedlogslen=99999999",
*shlex.split(os.environ.get("TEST_RUNNER_EXTRA", "").strip()),
# feature_unsupported_utxo_db.py fails on Windows because of emojis in the test data directory.
Expand Down
9 changes: 6 additions & 3 deletions .github/ci-windows.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@ def run(cmd, **kwargs):
"fuzz": [
"-DVCPKG_MANIFEST_NO_DEFAULT_FEATURES=ON",
"-DVCPKG_MANIFEST_FEATURES=wallet",
"-DBUILD_GUI=OFF",
"-DWITH_ZMQ=OFF",
"-DBUILD_FOR_FUZZING=ON",
"-DCMAKE_COMPILE_WARNING_AS_ERROR=ON",
],
Expand Down Expand Up @@ -72,6 +70,11 @@ def generate(ci_type):
"build",
"-Werror=dev",
"--preset=vs2026",
# Using x64-windows-release for both host and target triplets
# to ensure vcpkg builds only release packages, thereby optimizing
# build time.
# See https://github.com/microsoft/vcpkg/issues/50927.
"-DVCPKG_HOST_TRIPLET=x64-windows-release",
"-DVCPKG_TARGET_TRIPLET=x64-windows-release",
] + GENERATE_OPTIONS[ci_type]
if run(command, check=False).returncode != 0:
Expand Down Expand Up @@ -193,7 +196,7 @@ def run_tests(ci_type):
"--jobs",
num_procs,
"--quiet",
f"--tmpdirprefix={workspace}",
f"--tmpdirprefix={workspace / '_ _'}",
"--combinedlogslen=99999999",
*shlex.split(os.environ.get("TEST_RUNNER_EXTRA", "").strip()),
]
Expand Down
Loading
Loading