Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
10000 commits
Select commit Hold shift + click to select a range
1111079
ci: Add run_tests step to ci-windows.py
Feb 6, 2026
fa3f89a
ci: Add check_manifests to ci-windows.py
Feb 6, 2026
fa9627a
ci: Rely on cmake --preset toolchain file
Feb 6, 2026
fa90277
ci: Use ubuntu-slim for [meta] runners
Feb 5, 2026
7e5e0b2
Merge bitcoin/bitcoin#32773: cmake: Create subdirectories in build tr…
fanquake Feb 9, 2026
acefdce
Merge bitcoin/bitcoin#34469: consensus/test/doc: cover errors in `Che…
sedited Feb 9, 2026
18f1169
validation: don't update BLOCK_FAILED_VALID to BLOCK_FAILED_CHILD in …
stratospher Jan 15, 2025
3764746
Merge bitcoin/bitcoin#34241: test: Check that interrupt results in EX…
sedited Feb 9, 2026
44afed4
Merge bitcoin/bitcoin#34524: refactor: [rpc] Remove confusing and bri…
fanquake Feb 9, 2026
6ca7782
Merge bitcoin/bitcoin#34523: doc: Clarify why performance-move-const-…
fanquake Feb 9, 2026
5f6bfa3
Merge bitcoin/bitcoin#34057: test: add tests for cluster chunks
fanquake Feb 9, 2026
64294c8
Merge bitcoin/bitcoin#34500: ci: Print verbose Windows CI build failure
hebasto Feb 9, 2026
3ddafce
txgraph: initialize Ref in AddTransaction (preparation)
sipa Jan 10, 2026
7427c7d
txgraph: update chunk index on Compact (preparation)
sipa Jan 10, 2026
6c1bcb2
txgraph: clear cluster's chunk index in ~Ref (preparation)
sipa Jan 10, 2026
e0bc73b
clusterlin: sort tx in chunk by feerate and size (feature)
sipa Jan 7, 2026
8bfbba3
txgraph: sort distinct-cluster chunks by equal-feerate-prefix size (f…
sipa Jan 7, 2026
39d0052
clusterlin: make optimal linearizations deterministic (feature)
sipa Jan 7, 2026
941c432
txgraph test: subclass TxGraph::Ref like mempool does (preparation)
sipa Jan 7, 2026
fba004a
txgraph: pass fallback_order to TxGraph (preparation)
sipa Jan 8, 2026
0a33519
txgraph: use fallback order when linearizing (feature)
sipa Jan 11, 2026
6f113cb
txgraph: use fallback order to sort chunks (feature)
sipa Jan 11, 2026
fa674d5
ci: [refactor] Move print_version step into ci-windows-cross.py helper
Feb 10, 2026
faf7389
ci: Move check_manifests step to ci-windows-cross.py
Feb 10, 2026
fac9c7b
ci: [refactor] Move config.ini rewrite to ci-windows-cross.py
Feb 10, 2026
1111108
ci: [refactor] Move pyzmq install and get_previous_releases into ci-w…
Feb 10, 2026
fa4a1ca
ci: Move run_functional_tests into ci-windows-cross.py
Feb 10, 2026
fa99ba5
ci: Set PREVIOUS_RELEASES_DIR env var in ci-windows-cross.py
Feb 10, 2026
fa2719a
ci: [refactor] Move run_unit_tests to ci-windows-cross.py
Feb 10, 2026
fa13b13
ci: [refactor] Use pathlib over os.path
Feb 10, 2026
573bb54
net: Store recipient node address in private broadcast
andrewtoth Jan 25, 2026
91a8e9b
Merge bitcoin-core/gui#807: refactor: interfaces, make 'createTransac…
hebasto Feb 10, 2026
f8d2f30
ci: Extend diff context for clang-format
hebasto Feb 10, 2026
fa8c895
Fixup TODO comment in feature_dbcrash.py; remove unnecessary sleep
Feb 9, 2026
2ccfdb5
build: avoid exporting secp256k1 symbols
theuni Feb 10, 2026
7164a0c
build: Bump VS minimum supported version to 18.3
hebasto Feb 10, 2026
452c743
refactor: Remove workaround for resolved MSVC bug
hebasto Feb 10, 2026
6777314
Merge bitcoin/bitcoin#34551: ci: Extend diff context for clang-format
sedited Feb 11, 2026
fd625d8
Merge bitcoin/bitcoin#34539: test: Fixup TODO comment in feature_dbcr…
fanquake Feb 11, 2026
d29bc5e
doc: archive release notes for v29.3
sedited Feb 11, 2026
7640863
Merge bitcoin/bitcoin#34555: doc: archive release notes for v29.3
fanquake Feb 11, 2026
cb17980
Merge bitcoin/bitcoin#33861: build: Bump VS minimum supported version…
fanquake Feb 11, 2026
922ebf9
refactor: move-only: move `FeeEstimateMode` enum to `util/fees.h`
ismaelsadeeq Feb 10, 2026
337fef9
Merge bitcoin/bitcoin#34554: build: avoid exporting secp256k1 symbols
fanquake Feb 11, 2026
c413cf1
ci: Split vcpkg tools cache into restore/save
willcl-ark Feb 11, 2026
c135549
refactor: fees: split fee rate format from fee estimate mode
ismaelsadeeq Nov 17, 2025
50cf683
wallet: rpc: manpage: fix example missing `fee_rate` argument
SomberNight Feb 11, 2026
4a05825
Merge bitcoin/bitcoin#33689: http: replace WorkQueue and single threa…
sedited Feb 11, 2026
c134b1a
Merge bitcoin/bitcoin#34257: txgraph: deterministic optimal transacti…
fanquake Feb 11, 2026
55c49ff
Merge bitcoin/bitcoin#34143: build: Prevent system header fallback an…
fanquake Feb 11, 2026
5e64982
net: Add PrivateBroadcast::GetBroadcastInfo
andrewtoth Jan 17, 2026
996f20c
rpc: Add getprivatebroadcastinfo
andrewtoth Jan 17, 2026
15dff45
test: Cover getprivatebroadcastinfo in p2p_private_broadcast
andrewtoth Jan 17, 2026
557260c
rpc: Add abortprivatebroadcast
andrewtoth Jan 17, 2026
c3378be
test: Cover abortprivatebroadcast in p2p_private_broadcast
andrewtoth Jan 17, 2026
2a1d0db
doc: Mention private broadcast RPCs in release notes
andrewtoth Jan 17, 2026
0b4cd08
Merge bitcoin/bitcoin#33965: mining: fix -blockreservedweight shadows…
ryanofsky Feb 12, 2026
df53a3e
rpc refactor: stop using deprecated getCoinbaseCommitment method
ryanofsky Feb 12, 2026
b970cdf
test framework: expand expected_stderr, expected_ret_code options
ryanofsky Jan 14, 2026
ff995b5
ipc test: add workaround to block_reserved_weight exception test
ryanofsky Feb 12, 2026
a4603ac
ipc mining: declare constants for default field values
ryanofsky Feb 9, 2026
c6638fa
ipc mining: provide default option values (incompatible schema change)
ryanofsky Feb 9, 2026
2278f01
ipc mining: remove deprecated methods (incompatible schema change)
ryanofsky Feb 9, 2026
70de5cc
ipc mining: pass missing context to BlockTemplate methods (incompatib…
Sjors Nov 24, 2025
9453c15
ipc mining: break compatibility with existing clients (version bump)
Sjors Nov 24, 2025
07b9247
Merge bitcoin/bitcoin#34427: lint: Flatten lint image entry points
fanquake Feb 12, 2026
fa90d44
test: Fix intermittent issues in feature_assumevalid.py
Feb 12, 2026
79c934b
cmake: Fix NetBSD-specific workaround for Boost
hebasto Feb 12, 2026
f700609
doc: Release notes for mining IPC interface bump
ryanofsky Feb 12, 2026
69b01af
coins: add PeekCoin()
andrewtoth Dec 24, 2025
67c0d17
coins: introduce CoinsViewOverlay
andrewtoth Feb 12, 2026
73e99a5
coins: don't mutate main cache when connecting block
andrewtoth Feb 12, 2026
89824fb
fuzz: pass coins_view_cache to TestCoinsView in coins_view
andrewtoth Dec 26, 2025
86eda88
fuzz: move backend mutating block to end of coins_view
andrewtoth Feb 3, 2026
cae6d89
fuzz: add target for CoinsViewOverlay
andrewtoth Jan 31, 2026
24c3b47
build: add kernel-specific warnings
theuni Feb 5, 2025
eafd530
kernel: avoid potential duplicate object in shared library/binary
theuni Feb 5, 2025
331a527
wallet, rpc:remove settxfee and paytxfee
polespinasa Mar 25, 2025
24f93c9
release note
polespinasa Jan 7, 2026
309c51d
Merge bitcoin/bitcoin#34546: kernel: Avoid duplicating symbols in the…
fanquake Feb 13, 2026
84e826d
Merge bitcoin/bitcoin#34511: test: fully reset the state of CConnman …
fanquake Feb 13, 2026
03e5f06
Merge bitcoin/bitcoin#34559: ci: split vcpkg tools cache into restore…
fanquake Feb 13, 2026
b65ff0e
Merge bitcoin/bitcoin#34548: ci: Add and use ci-windows-cross.py helper
hebasto Feb 13, 2026
211111b
test: Avoid empty errmsg in JSONRPCException
Feb 12, 2026
6df4a04
qt: Replace three dots with ellipsis
hebasto Feb 14, 2026
faee36f
util: Add SettingTo<Int>() and GetArg<Int>()
Feb 13, 2026
fac3eca
rpc: Properly parse -rpcworkqueue/-rpcthreads
Feb 13, 2026
afea2af
net: reduce log level for PCP/NAT-PMP NOT_AUTHORIZED failures
ANAVHEOBA Dec 19, 2025
d159b10
doc: update Windows MSVC build guide to utilize WinGet to install apps
janb84 Feb 16, 2026
35e6444
Merge bitcoin/bitcoin#34570: doc: update Windows MSVC build guide to …
hebasto Feb 16, 2026
fa5672d
refactor: [gui] Use SettingTo<int64_t> over deprecated SettingToInt
Feb 16, 2026
746d8cd
qt: Use plurals where necessary
hebasto Feb 17, 2026
8a050b9
Merge bitcoin/bitcoin#34575: test: Avoid empty errmsg in JSONRPCExcep…
fanquake Feb 17, 2026
badcf1c
guix: fix typo in guix-codesign
fanquake Feb 13, 2026
62e3785
guix: don't export TZ twice
fanquake Feb 13, 2026
c8c9c1e
Merge bitcoin/bitcoin#34383: ci: remove commit count limit from `test…
fanquake Feb 17, 2026
a9a3b29
index: Check availability of undo data for indices
fjahr Mar 29, 2024
312919c
test: Indices can not start based on block data without undo data
fjahr Mar 30, 2024
3d7ab7e
rpc, test: Address feedback from #29668
fjahr Jul 12, 2024
fd06157
test: Add coverage for restarted node without any block sync
fjahr Apr 3, 2025
fa626bd
util: Remove brittle and confusing sp::Popen(std::string)
Jan 20, 2026
fa48d42
test: Stricter unit test
Jan 20, 2026
231dd04
build: define CMAKE_COMPILE_WARNING_AS_ERROR as a cache option
willcl-ark Feb 17, 2026
a7c29df
Merge bitcoin/bitcoin#34552: fees: refactor: separate feerate format …
sedited Feb 17, 2026
666b379
clusterlin: fix type to count dependencies
sipa Feb 17, 2026
900e459
clusterlin: avoid depgraph argument in SanityCheck (cleanup)
sipa Feb 16, 2026
f66fa69
clusterlin: split tx/chunk dep counting (preparation)
sipa Dec 22, 2025
d69c9f5
clusterlin: count chunk deps without loop (optimization)
sipa Dec 22, 2025
268fcb6
clusterlin: add more Assumes and sanity checks (tests)
sipa Feb 14, 2026
20e2f3e
scripted-diff: rename _rep -> _idx in SFL
sipa Dec 22, 2025
7c6f63a
clusterlin: pool SetInfos (preparation)
sipa Feb 14, 2026
73cbd15
clusterlin: get rid of DepData (optimization)
sipa Feb 14, 2026
b75574a
clusterlin: improve TxData::dep_top_idx type (optimization)
sipa Dec 21, 2025
cbd684a
clusterlin: abstract out functions from MergeStep (refactor)
sipa Dec 26, 2025
dcf458f
clusterlin: split up OptimizeStep (refactor)
sipa Jan 24, 2026
6f898db
clusterlin: simplify PickMergeCandidate (optimization)
sipa Dec 26, 2025
7194de3
clusterlin: precompute reachable sets (optimization)
sipa Dec 26, 2025
3221f1a
clusterlin: make MergeSequence take SetIdx (simplification)
sipa Dec 26, 2025
ae16485
clusterlin: special-case self-merges (optimization)
sipa Jan 12, 2026
63b06d5
clusterlin: keep track of active children (optimization)
sipa Jan 12, 2026
1daa600
clusterlin: track suboptimal chunks (optimization)
sipa Oct 16, 2025
b684f95
clusterlin: unidirectional MakeTopological initially (optimization)
sipa Oct 15, 2025
d90f98a
clusterlin: inline UpdateChunk into (De)Activate (optimization)
sipa Dec 26, 2025
c2fcf25
clusterlin: inline GetReachable into Deactivate (optimization)
sipa Dec 26, 2025
fa4cb96
test: Set assert_debug_log timeout to 0
Feb 12, 2026
120c631
refactor: use clearer variables in InvalidateBlock()
stratospher Jan 16, 2025
37bc207
validation: stop using BLOCK_FAILED_CHILD
stratospher Jan 16, 2025
b5b2956
validation: reset BLOCK_FAILED_CHILD to BLOCK_FAILED_VALID when loadi…
stratospher Feb 7, 2025
29740c0
validation: remove BLOCK_FAILED_MASK
stratospher Jan 16, 2025
fb3e1bf
test: check LoadBlockIndex correctly recomputes invalidity flags
stratospher Oct 8, 2025
59d24bd
threadpool: make Submit return Expected instead of throwing
furszy Feb 12, 2026
fae31b1
ci: [refactor] Move github_import_vs_env to python script
Feb 12, 2026
fa36ade
ci: [refactor] Drop last use of pwsh
Feb 12, 2026
59e10a5
Merge bitcoin/bitcoin#34023: Optimized SFL cluster linearization
fanquake Feb 18, 2026
2706758
Merge bitcoin/bitcoin#34349: util: Remove brittle and confusing sp::P…
fanquake Feb 18, 2026
655b9d1
Merge bitcoin/bitcoin#32950: validation: remove BLOCK_FAILED_CHILD
fanquake Feb 18, 2026
9e4567b
Merge bitcoin/bitcoin#34581: test: Set assert_debug_log timeout to 0
fanquake Feb 18, 2026
fa69297
util: Fix UB in SetStdinEcho when ENOTTY
Feb 16, 2026
fa6af85
refactor: Use static_cast<decltype(...)> to suppress integer sanitize…
Feb 16, 2026
a849b7e
Merge bitcoin-core/gui#928: Replace three dots with ellipsis
hebasto Feb 18, 2026
241ad58
Merge bitcoin-core/gui#929: Use plurals where necessary
hebasto Feb 18, 2026
726b366
http: properly respond to HTTP request during shutdown
furszy Feb 12, 2026
6d482b2
Merge bitcoin/bitcoin#32138: wallet, rpc: remove settxfee and paytxfee
achow101 Feb 19, 2026
4933d1f
Merge bitcoin/bitcoin#28792: build: Embedded ASMap [3/3]: Build binar…
achow101 Feb 19, 2026
8ee24d7
Merge bitcoin/bitcoin#34604: guix: remove double export of `TZ`
fanquake Feb 19, 2026
3d82ec5
Add a "tx output spender" index
sstone Mar 10, 2022
5a8a427
Merge bitcoin/bitcoin#32745: scripted-diff: Update DeriveType enum va…
sedited Feb 19, 2026
e0463b4
rpc: add coinbase_tx field to getblock
Sjors Feb 9, 2026
910bd1c
Merge bitcoin/bitcoin#34582: rpc: Properly parse -rpcworkqueue/-rpcth…
sedited Feb 19, 2026
097c182
Merge bitcoin/bitcoin#34385: subprocess: Fix `-Wunused-private-field`…
sedited Feb 19, 2026
37e449d
Merge bitcoin/bitcoin#34512: rpc: add coinbase_tx field to getblock
sedited Feb 19, 2026
d0998cb
Merge bitcoin/bitcoin#33199: fees: enable `CBlockPolicyEstimator` ret…
achow101 Feb 19, 2026
0b96b9c
Minimize mempool lock, sync txo spender index only when and if needed
sstone Feb 18, 2026
02c83fe
Merge bitcoin/bitcoin#34577: http: fix submission during shutdown race
achow101 Feb 19, 2026
739f75c
Merge bitcoin/bitcoin#33512: coins: use dirty entry count for flush w…
sedited Feb 19, 2026
c808dfb
Merge bitcoin/bitcoin#34329: rpc,net: Add private broadcast RPCs
achow101 Feb 19, 2026
76de2f8
Merge bitcoin/bitcoin#34571: test: Fix intermittent issues in feature…
achow101 Feb 20, 2026
96bec21
Merge bitcoin/bitcoin#34549: net: reduce log level for PCP/NAT-PMP NO…
achow101 Feb 20, 2026
ee2065f
Merge bitcoin/bitcoin#34165: coins: don't mutate main cache when conn…
ryanofsky Feb 20, 2026
faed837
test: Add missing syncwithvalidationinterfacequeue
Feb 19, 2026
fa4424f
test: Fixup assert_debug_log timeouts in feature_config_args.py
Feb 19, 2026
1a54886
Merge bitcoin/bitcoin#24539: Add a "tx output spender" index
sedited Feb 20, 2026
3574905
Revert "ci: Treat SHA1 LLVM signing key as warning"
willcl-ark Feb 20, 2026
641a195
Merge bitcoin/bitcoin#34633: Revert "ci: Treat SHA1 LLVM signing key …
fanquake Feb 20, 2026
cb3473a
Merge bitcoin/bitcoin#34568: mining: Break compatibility with existin…
sedited Feb 20, 2026
ef98768
qt: Update src/qt/locale/bitcoin_en.xlf after string freeze
hebasto Feb 20, 2026
a2fd558
Merge bitcoin/bitcoin#34572: cmake: Fix NetBSD-specific workaround fo…
fanquake Feb 20, 2026
c86bce5
guix: use a temporary file over sponge
fanquake Dec 9, 2025
a3fb3dd
mempool: log if we detect a non-optimal mempool
instagibbs Feb 18, 2026
a9e59f7
rpc: add optimal result to getmempoolinfo
instagibbs Feb 18, 2026
a11297a
mining: add cooldown argument to createNewBlock()
Sjors Feb 4, 2026
1e82fa4
mining: add interrupt()
Sjors Feb 7, 2026
fcaec25
doc: release note for IPC cooldown and interrupt
Sjors Feb 13, 2026
ce6898f
Merge bitcoin/bitcoin#34605: build: define CMAKE_COMPILE_WARNING_AS_E…
hebasto Feb 20, 2026
d907d65
Merge bitcoin/bitcoin#29770: index: Check all necessary block data is…
achow101 Feb 20, 2026
fa194fc
Merge bitcoin/bitcoin#34622: test: assert_debug_log timeouts follow-up
achow101 Feb 21, 2026
6c8d628
Merge bitcoin-core/gui#931: Release: Update `src/qt/locale/bitcoin_en…
hebasto Feb 21, 2026
d9c7364
Merge bitcoin/bitcoin#34141: miniscript: Use Func and Expr when parsi…
sedited Feb 21, 2026
3710566
test: move abortprivatebroadcast test at the end
vasild Feb 21, 2026
c462e54
test: don't always assert NUM_PRIVATE_BROADCAST_PER_TX broadcasts
vasild Feb 21, 2026
ce8b692
Add functional test exercising tx downloadman recently confirmed filter
l0rinc Feb 20, 2026
e5f0613
net processing: Check if we are in ibd before processing block for tx…
sedited Nov 28, 2025
45133c5
doc: clarify `git range-diff` add/delete output
l0rinc Feb 23, 2026
a8ebcfd
test: let connections happen in any order in p2p_private_broadcast.py
vasild Jan 26, 2026
da7f70a
test: use port 0 for I2P addresses in p2p_private_broadcast.py
vasild Jan 26, 2026
ac3bea0
test: improve rpc_gettxspendingprevout.py code
furszy Feb 22, 2026
b8fa6f0
util: introduce `TrySub` to prevent unsigned underflow
l0rinc Feb 22, 2026
d7e0d51
fuzz: make `AddCoins` query view for overwrites
l0rinc Feb 22, 2026
780f460
fuzz: avoid invalid `AddCoin` overwrites
l0rinc Feb 22, 2026
3281824
fuzz: prevent invalid `FRESH` entries and surface `BatchWrite` errors
l0rinc Feb 22, 2026
9581a0a
Merge bitcoin/bitcoin#34615: mempool: expose optimality of mempool to…
sedited Feb 23, 2026
ab8a7af
Merge bitcoin/bitcoin#34646: Fix two issues in p2p_private_broadcast.py
achow101 Feb 23, 2026
a28eedb
ci: use LLVM 22 in sanitizer tasks
fanquake Jan 26, 2026
bd9e0e6
Merge bitcoin/bitcoin#34184: mining: add cooldown to createNewBlock()…
ryanofsky Feb 24, 2026
fa03fbf
test: Fix broken --valgrind handling after bitcoin wrapper
Feb 17, 2026
fa29fb7
test: Remove redundant warning about missing binaries
Feb 18, 2026
fa5d478
test: valgrind --trace-children=yes for bitcoin wrapper
Feb 18, 2026
5db78c8
Merge bitcoin/bitcoin#34660: ci: use LLVM 22 in sanitizer tasks
hebasto Feb 24, 2026
c8e332c
init refactor: Remove node.init accesss in AppInitInterfaces
ryanofsky Feb 24, 2026
e8f8b74
test: index, improve txospenderindex_initial_sync() test code
furszy Feb 20, 2026
9e7129d
clusterlin: introduce CostModel class (preparation)
sipa Jan 25, 2026
ecc9a84
clusterlin: use 'cost' terminology instead of 'iters' (refactor)
sipa Feb 21, 2026
a7cabf9
init refactor: Only initialize node.notifications one time
ryanofsky Feb 24, 2026
bbc8f1e
ipc mining: Prevent ``Assertion `m_node.chainman' failed`` errors on …
ryanofsky Feb 24, 2026
4eefdfc
clusterlin: rescale costs (preparation)
sipa Feb 21, 2026
744d47f
clusterlin: adopt trained cost model (feature)
sipa Feb 5, 2026
c88c916
Merge bitcoin/bitcoin#34653: test: improve txospender index tests code
achow101 Feb 24, 2026
f50d53c
Merge bitcoin/bitcoin#34627: guix: use a temporary file over sponge, …
sedited Feb 24, 2026
9ff1e82
test: cleanup, block threads via semaphore instead of shared_future
l0rinc Feb 17, 2026
8cd4a43
threadpool: guard against Start-Stop race
furszy Feb 19, 2026
f3887cf
Merge bitcoin/bitcoin#34561: wallet: rpc: manpage: fix example missin…
achow101 Feb 24, 2026
21cd1ba
Merge bitcoin/bitcoin#34286: test: verify node state after restart in…
achow101 Feb 24, 2026
76eb04b
Merge bitcoin/bitcoin#34655: fuzz: keep `coins_view` fuzzers within c…
achow101 Feb 24, 2026
4035231
Merge bitcoin/bitcoin#34608: test: Fix broken --valgrind handling aft…
ryanofsky Feb 25, 2026
b9bf24c
Merge bitcoin/bitcoin#34616: Cluster mempool: SFL cost model (take 2)
fanquake Feb 25, 2026
33fbaed
policy: don't CheckEphemeralSpends on reorg
instagibbs Oct 13, 2025
7c80301
Merge bitcoin/bitcoin#33616: policy: don't CheckEphemeralSpends on reorg
sedited Feb 25, 2026
faa70ca
doc: Update Guix install for Debian/Ubuntu
Feb 25, 2026
707ad46
Merge bitcoin/bitcoin#34671: doc: Update Guix install for Debian/Ubuntu
achow101 Feb 25, 2026
af99643
Merge bitcoin/bitcoin#34054: net processing: Add ibd check before pro…
fanquake Feb 26, 2026
e88d274
test: add threadpool Start-Stop race coverage
furszy Feb 19, 2026
bf2c607
threadpool: active-wait during shutdown
furszy Feb 10, 2026
ca101a2
test: coverage for queued tasks completion after interrupt
furszy Feb 17, 2026
3b7cbca
test: ensure Stop() thread helps drain the queue
seduless Feb 20, 2026
dbbb780
test: move and simplify BOOST_CHECK ostream helpers
hodlinator Feb 24, 2026
d9c6769
test: refactor, decouple HasReason from test framework machinery
furszy Feb 10, 2026
ce2a984
test: cleanup, use HasReason in threadpool_tests.cpp
l0rinc Feb 10, 2026
9dc653b
test: threadpool, add coverage for all Submit() errors
furszy Feb 24, 2026
408d5b1
test: include response body in non-JSON HTTP error msg
pinheadmz Feb 10, 2026
17a079c
ci: fix vcpkg tools cache key collision between windows matrix jobs
willcl-ark Feb 26, 2026
107a204
Merge bitcoin/bitcoin#34682: ci: fix vcpkg tools cache key collision …
hebasto Feb 26, 2026
bb3ac00
Merge bitcoin/bitcoin#34001: test: fix test_limit_enforcement_package
fanquake Feb 26, 2026
8834e4e
test: remove appveyor reference in comment
m3dwards Feb 17, 2026
b6b8f8a
Merge bitcoin/bitcoin#34562: ThreadPool follow-ups, proactive shutdow…
achow101 Feb 26, 2026
c1361fc
netif: fix compilation warning in QueryDefaultGatewayImpl()
Dec 14, 2025
fac9326
ci: Set TEST_RUNNER_PORT_MIN in test-each after cirrus runner switch
Feb 27, 2026
fa18be2
test: Fix typo
Feb 27, 2026
701b8d7
Merge bitcoin/bitcoin#34609: test: remove appveyor reference in comment
hebasto Feb 27, 2026
3c7b0f9
Merge bitcoin/bitcoin#34656: doc: clarify confusing `git range-diff` …
fanquake Feb 27, 2026
05cd3b0
Merge bitcoin/bitcoin#34597: util: Fix UB in SetStdinEcho when ENOTTY
fanquake Feb 27, 2026
fa9cf81
test: Add missing resolve() to valgrind.supp file
Feb 25, 2026
fab51e4
test: Move valgrind.supp to the other sanitizer_suppressions files
Feb 25, 2026
286de1e
Merge bitcoin/bitcoin#34093: netif: fix compilation warning in QueryD…
fanquake Feb 27, 2026
3a8b4e8
Merge bitcoin/bitcoin#34687: ci: Set TEST_RUNNER_PORT_MIN in test-eac…
fanquake Feb 27, 2026
fa48f8c
test: Add missing timeout_factor to zmq socket
Feb 27, 2026
b0833b5
Merge bitcoin/bitcoin#34668: test: Add missing resolve() to valgrind.…
fanquake Feb 27, 2026
ceff677
Merge bitcoin/bitcoin#34583: ci: [refactor] Drop last use of pwsh
fanquake Feb 27, 2026
5a6dd7c
Merge bitcoin/bitcoin#34661: ipc mining: Prevent ``Assertion `m_node.…
achow101 Feb 27, 2026
9cad97f
Merge bitcoin/bitcoin#34690: test: Add missing timeout_factor to zmq …
achow101 Feb 27, 2026
6b0a980
Merge bitcoin/bitcoin#34410: test: let connections happen in any orde…
achow101 Mar 2, 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
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
26 changes: 26 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# This is the top-most EditorConfig file.
root = true

# For all files.
[*]
charset = utf-8
end_of_line = lf
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true

# Source code files
[*.{h,cpp,rs,py,sh}]
indent_size = 4

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

# Makefiles (only relevant for depends build)
[Makefile]
indent_style = tab

# CMake files
[{CMakeLists.txt,*.cmake,*.cmake.in}]
indent_size = 2
92 changes: 92 additions & 0 deletions .github/ISSUE_TEMPLATE/bug.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
name: Bug report
description: Submit a new bug report.
labels: [bug]
body:
- type: markdown
attributes:
value: |
## This issue tracker is only for technical issues related to Bitcoin Core.

* General bitcoin questions and/or support requests should use Bitcoin StackExchange at https://bitcoin.stackexchange.com.
* For reporting security issues, please read instructions at https://bitcoincore.org/en/contact/.
* If the node is "stuck" during sync or giving "block checksum mismatch" errors, please ensure your hardware is stable by running `memtest` and observe CPU temperature with a load-test tool such as `linpack` before creating an issue.

----
- type: checkboxes
attributes:
label: Is there an existing issue for this?
description: Please search to see if an issue already exists for the bug you encountered.
options:
- label: I have searched the existing issues
required: true
- type: textarea
id: current-behaviour
attributes:
label: Current behaviour
description: Tell us what went wrong
validations:
required: true
- type: textarea
id: expected-behaviour
attributes:
label: Expected behaviour
description: Tell us what you expected to happen
validations:
required: true
- type: textarea
id: reproduction-steps
attributes:
label: Steps to reproduce
description: |
Tell us how to reproduce your bug. Please attach related screenshots if necessary.
* Run-time or compile-time configuration options
* Actions taken
validations:
required: true
- type: textarea
id: logs
attributes:
label: Relevant log output
description: |
Please copy and paste any relevant log output or attach a debug log file.

You can find the debug.log in your [data dir.](https://github.com/bitcoin/bitcoin/blob/master/doc/files.md#data-directory-location)

Please be aware that the debug log might contain personally identifying information.
validations:
required: false
- type: dropdown
attributes:
label: How did you obtain Bitcoin Core
multiple: false
options:
- Compiled from source
- Pre-built binaries
- Package manager
- Other
validations:
required: true
- type: input
id: core-version
attributes:
label: What version of Bitcoin Core are you using?
description: Run `bitcoind --version` or in Bitcoin-QT use `Help > About Bitcoin Core`
placeholder: e.g. v24.0.1 or master@e1bf547
validations:
required: true
- type: input
id: os
attributes:
label: Operating system and version
placeholder: e.g. "MacOS 26.0" or "Ubuntu 26.04 LTS"
validations:
required: true
- type: textarea
id: machine-specs
attributes:
label: Machine specifications
description: |
What are the specifications of the host machine?
e.g. OS/CPU and disk type, network connectivity
validations:
required: false
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: true
contact_links:
- name: Bitcoin Core Security Policy
url: https://github.com/bitcoin/bitcoin/blob/master/SECURITY.md
about: View security policy
- name: Bitcoin Core Developers
url: https://bitcoincore.org
about: Bitcoin Core homepage
36 changes: 36 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: Feature Request
description: Suggest an idea for this project.
labels: [Feature]
body:
- type: textarea
id: feature
attributes:
label: Please describe the feature you'd like to see added.
description: Attach screenshots or logs if applicable.
validations:
required: true
- type: textarea
id: related-problem
attributes:
label: Is your feature related to a problem, if so please describe it.
description: Attach screenshots or logs if applicable.
validations:
required: false
- type: textarea
id: solution
attributes:
label: Describe the solution you'd like
validations:
required: false
- type: textarea
id: alternatives
attributes:
label: Describe any alternatives you've considered
validations:
required: false
- type: textarea
id: additional-context
attributes:
label: Please leave any additional context
validations:
required: false
44 changes: 44 additions & 0 deletions .github/ISSUE_TEMPLATE/good_first_issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Good First Issue
description: (Regular devs only) Suggest a new good first issue
labels: [good first issue]
body:
- type: markdown
attributes:
value: |
Please add the label "good first issue" manually before or after opening

A good first issue is an uncontroversial issue, that has a relatively unique and obvious solution

Motivate the issue and explain the solution briefly
- type: textarea
id: motivation
attributes:
label: Motivation
description: Motivate the issue
validations:
required: true
- type: textarea
id: solution
attributes:
label: Possible solution
description: Describe a possible solution
validations:
required: false
- type: textarea
id: useful-skills
attributes:
label: Useful Skills
description: For example, “`std::thread`”, “Qt6 GUI and async GUI design” or “basic understanding of Bitcoin mining and the Bitcoin Core RPC interface”.
value: |
* Compiling Bitcoin Core from source
* Running the C++ unit tests and the Python functional tests
* ...
- type: textarea
attributes:
label: Guidance for new contributors
description: Please leave this to automatically add the footer for new contributors
value: |
Want to work on this issue?

For guidance on contributing, please read [CONTRIBUTING.md](https://github.com/bitcoin/bitcoin/blob/master/CONTRIBUTING.md) before opening your pull request.

18 changes: 18 additions & 0 deletions .github/ISSUE_TEMPLATE/gui_issue.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
name: Issue or feature request related to the GUI
description: Any report, issue or feature request related to the GUI
labels: [GUI]
body:
- type: checkboxes
id: acknowledgement
attributes:
label: Issues, reports or feature requests related to the GUI should be opened directly on the GUI repo
description: https://github.com/bitcoin-core/gui/issues/
options:
- label: I still think this issue should be opened here
required: true
- type: textarea
id: gui-request
attributes:
label: Report
validations:
required: true
43 changes: 43 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
<!--
*** Please remove the following help text before submitting: ***

Pull requests without a rationale and clear improvement may be closed
immediately.

GUI-related pull requests should be opened against
https://github.com/bitcoin-core/gui
first. See CONTRIBUTING.md
-->

<!--
Please provide clear motivation for your patch and explain how it improves
Bitcoin Core user experience or Bitcoin Core developer experience
significantly:

* Any test improvements or new tests that improve coverage are always welcome.
* All other changes should have accompanying unit tests (see `src/test/`) or
functional tests (see `test/`). Contributors should note which tests cover
modified code. If no tests exist for a region of modified code, new tests
should accompany the change.
* Bug fixes are most welcome when they come with steps to reproduce or an
explanation of the potential issue as well as reasoning for the way the bug
was fixed.
* Features are welcome, but might be rejected due to design or scope issues.
If a feature is based on a lot of dependencies, contributors should first
consider building the system outside of Bitcoin Core, if possible.
* Refactoring changes are only accepted if they are required for a feature or
bug fix or otherwise improve developer experience significantly. For example,
most "code style" refactoring changes require a thorough explanation why they
are useful, what downsides they have and why they *significantly* improve
developer experience or avoid serious programming bugs. Note that code style
is often a subjective matter. Unless they are explicitly mentioned to be
preferred in the [developer notes](/doc/developer-notes.md), stylistic code
changes are usually rejected.
-->

<!--
Bitcoin Core has a thorough review process and even the most trivial change
needs to pass a lot of eyes and requires non-zero or even substantial time
effort to review. There is a huge lack of active reviewers on the project, so
patches often sit for a long time.
-->
12 changes: 12 additions & 0 deletions .github/actions/clear-files/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
name: 'Clear unnecessary files'
description: 'Clear out unnecessary files to make space on the VM'
runs:
using: 'composite'
steps:
- name: Clear unnecessary files
shell: bash
env:
DEBIAN_FRONTEND: noninteractive
run: |
set +o errexit
sudo bash -c '(ionice -c 3 nice -n 19 rm -rf /usr/share/dotnet/ /usr/local/graalvm/ /usr/local/.ghcup/ /usr/local/share/powershell /usr/local/share/chromium /usr/local/lib/android /usr/local/lib/node_modules)&'
63 changes: 63 additions & 0 deletions .github/actions/configure-docker/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
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
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
uses: docker/setup-buildx-action@v3
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: Expose actions cache variables
uses: actions/github-script@v6
with:
script: |
Object.keys(process.env).forEach(function (key) {
if (key.startsWith('ACTIONS_')) {
core.info(`Exporting ${key}`);
core.exportVariable(key, process.env[key]);
}
});

- 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=""
fi

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

# 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}")
fi

# Always `--load` into docker images (needed when using the `docker-container` build driver).
args+=(--load)

echo "DOCKER_BUILD_CACHE_ARG=${args[*]}" >> $GITHUB_ENV
27 changes: 27 additions & 0 deletions .github/actions/configure-environment/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: 'Configure environment'
description: 'Configure CI, cache and container name environment variables'
runs:
using: 'composite'
steps:
- name: Set CI and cache directories
shell: bash
run: |
echo "BASE_ROOT_DIR=${{ runner.temp }}" >> "$GITHUB_ENV"
echo "BASE_BUILD_DIR=${{ runner.temp }}/build" >> "$GITHUB_ENV"
echo "CCACHE_DIR=${{ runner.temp }}/ccache_dir" >> $GITHUB_ENV
echo "DEPENDS_DIR=${{ runner.temp }}/depends" >> "$GITHUB_ENV"
echo "BASE_CACHE=${{ runner.temp }}/depends/built" >> $GITHUB_ENV
echo "SOURCES_PATH=${{ runner.temp }}/depends/sources" >> $GITHUB_ENV
echo "PREVIOUS_RELEASES_DIR=${{ runner.temp }}/previous_releases" >> $GITHUB_ENV

- name: Set cache hashes
shell: bash
run: |
echo "DEPENDS_HASH=$(git ls-tree HEAD depends "$FILE_ENV" | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV
echo "PREVIOUS_RELEASES_HASH=$(git ls-tree HEAD test/get_previous_releases.py | sha256sum | cut -d' ' -f1)" >> $GITHUB_ENV

- name: Get container name
shell: bash
run: |
source $FILE_ENV
echo "CONTAINER_NAME=$CONTAINER_NAME" >> "$GITHUB_ENV"
Loading