48248 Commits

Author SHA1 Message Date
merge-script
dbaf0f4fd3 Merge bitcoin/bitcoin#35231: [31.x] Backports
506051cc60 doc: update release notes for v31.x (fanquake)
0449061877 contrib: Fix NameError in signet miner gbt() (Torkel Rogstad)
7a97580997 fuzz: Fix txorphan timeout by limiting block weight (marcofleon)
e379148a7a doc: mention -DWITH_ZMQ=ON in BSD build guides (junbyjun1238)
409b2d8475 wallet: check BDB last page LSN (Lőrinc)
5022e9d411 test: fix P2SH output in coins cache fuzz (Lőrinc)
313a225fef ci: Move --usecli --extended from i386 task to alpine task (MarcoFalke)
64ba4e2a3b depends: Unset `SOURCE_DATE_EPOCH` in `gen_id` script (Hennadii Stepanov)
56190e5c5c ci: add --extended when using --usecli (Pol Espinasa)
9d42e868fe test: fix send_batch_request to pass callables when using --usecli (Pol Espinasa)

Pull request description:

  Backports
  * #34228
  * #34991
  * #35044
  * #35218
  * #35227
  * #35230
  * #35283
  * #35289

ACKs for top commit:
  marcofleon:
    ACK 506051cc60
  willcl-ark:
    ACK 506051cc60

Tree-SHA512: 7c0b5294ccfcd210d78c21218d5e811dfa06c13ea3d5b9e4daffa397f1ea02e463fe53503900f6c330d104f407d07b4f95cb3d33a73c064da5a8acae21c7b3c1
2026-05-19 16:30:28 +01:00
fanquake
506051cc60 doc: update release notes for v31.x 2026-05-15 13:51:47 +01:00
Torkel Rogstad
0449061877 contrib: Fix NameError in signet miner gbt()
The logging.warning call referenced `bci["bestblockhash"]`, a variable
from the calling scope `do_generate()` that is not available inside the
`Generate.gbt()` method. This would crash with a NameError when
getblocktemplate returned a template based on an unexpected previous
block.

Use the `bestblockhash` parameter that was already being passed in and
used correctly in the comparison on the line above.

The bug was introduced in 7b31332370 when the gbt logic was extracted
into its own method — the if-condition was updated but the logging
call was not.

Github-Pull: #35044
Rebased-From: 701bc2dc02
2026-05-15 13:50:38 +01:00
marcofleon
7a97580997 fuzz: Fix txorphan timeout by limiting block weight
Github-Pull: #35289
Rebased-From: 004a7e3cfb
2026-05-14 16:48:52 +01:00
junbyjun1238
e379148a7a doc: mention -DWITH_ZMQ=ON in BSD build guides
The FreeBSD, NetBSD, and OpenBSD build guides state that ZMQ support is compiled in when the package is installed. Since WITH_ZMQ defaults to OFF, update the wording to mention the required CMake option.

Github-Pull: #35283
Rebased-From: ca93ab808c
2026-05-14 12:12:53 +01:00
Lőrinc
409b2d8475 wallet: check BDB last page LSN
The BDB metadata field `last_page` stores the last valid page number, not the number of pages.
The read-only wallet migration parser currently checks reset LSNs with a half-open loop, so it skips the final page and may accept a database whose last page still depends on BDB log files.

Github-Pull: #35227
Rebased-From: e2b0984f99
2026-05-11 11:23:08 +01:00
Lőrinc
5022e9d411 test: fix P2SH output in coins cache fuzz
The `coinscache_sim` fuzz target builds a 23-byte P2SH scriptPubKey manually.
Place `OP_EQUAL` at index 22, after `OP_HASH160`, the 20-byte push opcode, and the 20-byte script hash.
This matches `CScript::IsPayToScriptHash()`, which checks byte 22 for `OP_EQUAL`, see src/script/script.cpp#L229

Github-Pull: #35218
Rebased-From: ac58e6c53c
2026-05-08 15:49:45 +02:00
MarcoFalke
313a225fef ci: Move --usecli --extended from i386 task to alpine task
Github-Pull: #35230
Rebased-From: fad61896e8
2026-05-08 15:49:40 +02:00
Hennadii Stepanov
64ba4e2a3b depends: Unset SOURCE_DATE_EPOCH in gen_id script
Github-Pull: #34228
Rebased-From: 9f7a2293c4
2026-05-08 12:12:47 +02:00
Pol Espinasa
56190e5c5c ci: add --extended when using --usecli
Add the flag --extended to a test (00_setup_env_i686_no_ipc.sh) with the --usecli flag to cover all tests with --usecli.

Github-Pull: #34991
Rebased-From: a49bc1e24e
2026-05-07 11:42:24 +02:00
Pol Espinasa
9d42e868fe test: fix send_batch_request to pass callables when using --usecli
send_batch_request() was building raw dicts without a "jsonrpc" version, which made Core to treat them as version 1.0 requests.
This worked in normal mode, but failed with --usecli because TestNodeCLI.batch() expects callables, not dicts.

This commit fixes it by using get_request() which is defined in both AuthServiceProxy and TestNodeCLIAttr.
The assert is changed because by using get_reques() AuthServiceProxy treats it as "jsonrpc" version 2.0 requests, which don't return "error" keys.

Github-Pull: #34991
Rebased-From: 5603ae0ffa
2026-05-07 11:42:24 +02:00
merge-script
24bfb2c8be Merge bitcoin/bitcoin#35210: [31.x] validation: correct lifetime of precomputed tx data
0cedd6abf2 validation: correct lifetime of precomputed tx data (Antoine Poinsot)

Pull request description:

  This backports #35209 to the version 31 branch.

ACKs for top commit:
  fanquake:
    ACK 0cedd6abf2

Tree-SHA512: 12e3b73c5e2e5b49d9abd9d3dcf9aee98f98fcaa1d9f05ae8fe4e7d19bef5a22dad0eafd51acf9720b215c4d166dae2931a45528ac362e5cdb953c690febea96
2026-05-07 11:41:38 +02:00
Ava Chow
42800d93a4 Merge bitcoin/bitcoin#35046: [31.x] Backports
6bb2b07587 doc: update release notes for v31.x (fanquake)
1bb9c40bb8 ci: unconfine seccomp for i686 no IPC (Lőrinc)
2eafae9dc1 multi_index: fix compilation failure with boost >= 1.91 (Cory Fields)
ab19213660 test: Remove unused, confusing and brittle connect_nodes.wait_for_connect (MarcoFalke)
bb536df042 test: Fix all races after a socket is closed gracefully (MarcoFalke)
402f347fd5 test: Stricter checks in rpc_setban.py (MarcoFalke)
332d2a2ef2 test: Add is_connected_to helper (MarcoFalke)
e1545b56b9 test: Add clean shutdown to Socks5Server (optout)
20480f5eb9 test: Add missing self.options.timeout_factor scale in tool_bitcoin_chainstate.py (MarcoFalke)
27e5a3020a net_processing: don't modify addrman for private broadcast connections (Vasil Dimov)

Pull request description:

  Backports:
  * #34425
  * #34863
  * #35032
  * #35080
  * #35175
  * #35202

ACKs for top commit:
  achow101:
    ACK 6bb2b07587

Tree-SHA512: ea6827e7a1643f96e27ab5f26621f9d4c137df2cb03938d96f7bee82d11f66a61757c609a604653469a4699b3417a1659395d039bbf4348988c2ea4a34a26418
2026-05-06 03:47:37 -07:00
fanquake
6bb2b07587 doc: update release notes for v31.x 2026-05-05 15:14:45 +02:00
Lőrinc
1bb9c40bb8 ci: unconfine seccomp for i686 no IPC
Docker 29.4.2 blocks `socketcall(2)` in the default seccomp profile:
https://docs.docker.com/engine/release-notes/29/#2942
https://github.com/moby/profiles/releases/tag/seccomp%2Fv0.2.2
https://github.com/moby/moby/pull/52501

That affects the `i686, no IPC` job because it runs 32-bit Linux test binaries inside Docker.

Add Docker's documented `--security-opt seccomp=unconfined` workaround to this job's `CI_CONTAINER_CAP` - the hook `ci/test/02_run_container.py` already appends to `docker run`.

This restores socket availability for the 32-bit test binaries throughout the job:
https://docs.docker.com/engine/security/seccomp/#run-without-the-default-seccomp-profile

Github-Pull: #35202
Rebased-From: 11c9ef92a8
2026-05-05 15:14:26 +02:00
Antoine Poinsot
0cedd6abf2 validation: correct lifetime of precomputed tx data
This makes sure `txsdata` always outlives the Script check queue (since local
objects are destructed in reverse order of construction).

This is the root cause for a security vulnerability reported by Cory Fields in
2024 that could be exploited by crafting an invalid block to cause nodes to
read freed memory. The vulnerability was covertly fixed in commit
`492e1f09943fcb6145c21d470299305a19e17d8b`.

See security advisory for CVE-2024-52911 for more details.

Github-Pull: #35209
Rebased-From: 1ed799fb21
2026-05-05 08:16:02 -04:00
Cory Fields
2eafae9dc1 multi_index: fix compilation failure with boost >= 1.91
This effectively reverts a3cb309e7c from PR #30194.

That PR reduced the multi_index type signatures as recommended upstream, but
this is no longer supported as of boost 1.91 because it is no longer necessary.
1.91 drops support for the pre-c++11 work-arounds that bloated the type
signatures to begin with.

The upstream `BOOST_MULTI_INDEX_ENABLE_MPL_SUPPORT` define is meant to provide
compatibility with removed features, but it does not work for this case. Using
`indexed_by` directly when defining the `multi_index` (as opposed to inheriting
from it) works with all versions, and avoids the use of the back-compat define.

This is a slight regression when building against boost < 1.91 because the
bloated type signatures are reintroduced in that case, but it's not significant
enough to go to the trouble of introducing version detection and ifdefs.

Github-Pull: #35175
Rebased-From: 0bc9d354df
2026-04-29 19:51:43 +01:00
MarcoFalke
ab19213660 test: Remove unused, confusing and brittle connect_nodes.wait_for_connect
The option is unused since the last removals in:
* 4c40a923f0, and
* 81bf3ebff7

It was brittle and lead to intermittent test issues. Generally, it is
also confusing, because if a test wanted to connect nodes without
checking their connection, it can use `addnode`, like the rpc_setban.py
test.

So fix all issues by removing it.

Github-Pull: #34425
Rebased-From: fae807ed25
2026-04-21 11:24:06 +01:00
MarcoFalke
bb536df042 test: Fix all races after a socket is closed gracefully
This waits for any disconnect (e.g. from a restart of one of the nodes)
to fully happen before the next connect.

Can be reviewed with the git option:

--color-moved=dimmed-zebra

Github-Pull: #34425
Rebased-From: fab2772647
2026-04-21 11:24:03 +01:00
MarcoFalke
402f347fd5 test: Stricter checks in rpc_setban.py
Make the checks stricter and easier to follow:
* Fix a typo.
* After the first ban from node 1 wait until node 0 "sees" the ban.
* Move the restart_node out of the debug log context, to avoid bloat.
* Removed the timeout from the outer/lower exit stack to check "dropped
  (banned)\n" on node 1, because the inner/top exit stack waits longer.
* The inner/top exit stack checks for the both disconnections peer=2 and
  possibly peer=3 (for v2->v1 retry).
* And finally, add a redundant assert to confirm once more that node 0
  is has "seen" the ban.

Github-Pull: #34425
Rebased-From: fa21edddb2
2026-04-21 11:24:00 +01:00
MarcoFalke
332d2a2ef2 test: Add is_connected_to helper
Needed in the next commit.

Co-Authored-By: David Gumberg <davidzgumberg@gmail.com>

Github-Pull: #34425
Rebased-From: faa404e119
2026-04-21 11:23:56 +01:00
optout
e1545b56b9 test: Add clean shutdown to Socks5Server
The `Socks5Server` utility handles multiple incoming connections,
which are handled in separate background threads.
The `stop()` method unblocks and waits for the main background thread
cleanly, but it doesn't attempt to wait for any handler threads.
This change stores handler threads and connections, and attempts
to shut them down before `stop()` returns.

Co-authored-by: vasild <vd@FreeBSD.org>
Co-authored-by: w0xlt <94266259+w0xlt@users.noreply.github.com>

Github-Pull: #34863
Rebased-From: 6ac49373aa
2026-04-21 11:07:37 +01:00
MarcoFalke
20480f5eb9 test: Add missing self.options.timeout_factor scale in tool_bitcoin_chainstate.py
Apply the timeout factor inside the add_block function.

Also, force named args for the two expected strings.

Also, add trailing comma for style.

Github-Pull: #35080
Rebased-From: fa02eb87df
2026-04-16 09:10:24 +01:00
Vasil Dimov
27e5a3020a net_processing: don't modify addrman for private broadcast connections
It is best if the internal addrman database is not modified with
information coming from private broadcast connections because that
information can potentially later be sent via other connections.

Co-authored-by: Greg Sanders <gsanders87@gmail.com>
Co-authored-by: Lőrinc <pap.lorinc@gmail.com>

Github-Pull: #35032
Rebased-From: 1ed1a12402
2026-04-16 09:10:22 +01:00
Ava Chow
6574cb4086 Merge bitcoin/bitcoin#35042: [31.x] Finalize 31.0
e9f1466155 doc: 31.0 release notes (Ava Chow)
6a25f3e3d4 doc: update manpages for v31.0 (Ava Chow)
bd40a32411 build: Bump to 31.0 (Ava Chow)

Pull request description:

  Final steps for 31.0, assuming rc4 has no major issues.

ACKs for top commit:
  hebasto:
    ACK e9f1466155.
  janb84:
    ACK e9f1466155

Tree-SHA512: 1d712ee30f28df62c3c5cee8c2369c55b31a015b8184dbbc2a6fcfd887519c79970b257f8325b8d8bb61610c8dc92b64439de24cc35e31761fb737059c99a107
v31.0
2026-04-15 13:55:24 -07:00
Ava Chow
e9f1466155 doc: 31.0 release notes 2026-04-14 09:22:57 -07:00
Ava Chow
6a25f3e3d4 doc: update manpages for v31.0 2026-04-09 11:38:53 -07:00
Ava Chow
bd40a32411 build: Bump to 31.0 2026-04-09 11:36:14 -07:00
merge-script
c96d9c28b3 Merge bitcoin/bitcoin#35034: [31.x] Fix guix build and rc4
4a5fdb0d88 doc: update manpages for v31.0rc4 (Ava Chow)
7d56e1017d build: bump version to v31.0rc4 (Ava Chow)
2937d4ba41 guix: Restore download and build-system-cmake modules (Ava Chow)

Pull request description:

  Restoring missing guix modules required for guix building to work, and bump to rc4.

ACKs for top commit:
  davidgumberg:
    ACK 4a5fdb0d88
  hebasto:
    ACK 4a5fdb0d88, the Guix manifest has been processed for `x86_64-w64-mingw32` without errors on my machine.

Tree-SHA512: e7bbf17fc761b926fedea076b85a103e146c22d6dbad645ab087472daa78d8728dcfacf49103bb979652144da74e94e7e5878e05c9ef04b101ce96b234689ddb
v31.0rc4
2026-04-09 07:21:41 +08:00
Ava Chow
4a5fdb0d88 doc: update manpages for v31.0rc4 2026-04-08 11:59:09 -07:00
Ava Chow
7d56e1017d build: bump version to v31.0rc4 2026-04-08 11:54:46 -07:00
Ava Chow
2937d4ba41 guix: Restore download and build-system-cmake modules
The time-machine commit in 31.x still requires these modules for the
build to work.
2026-04-08 11:52:56 -07:00
merge-script
cc14d7ad3e Merge bitcoin/bitcoin#35028: [31.x] Backports + rc3
c168baec80 doc: update manual pages for v31.0rc3 (fanquake)
275843f2a6 build: bump version to v31.0rc3 (fanquake)
afa8ba04e0 test: remove macOS REDUCE_EXPORTS exception workaround (Alfonso Roman Zubeldia)
1bc22a38a8 Squashed 'src/ipc/libmultiprocess/' changes from 70f632bda8..3edbe8f67c (fanquake)

Pull request description:

  Backports:
  * #35014

  Also contains a libmultiprocess subtree pull.
  Also bumps to `rc3` + regens manpages.

ACKs for top commit:
  Sjors:
    utACK c168baec80
  hebasto:
    ACK c168baec80.
  marcofleon:
    ACK c168baec80

Tree-SHA512: 88aaef85a6ce6018fe5233d5a4a46d75c57914af9ff41158b85533ddf5e42df45ed7f6cbfdbffe2c4d2db6853af1ff4473440ab5ecc62c9cadf070f5cdcab883
v31.0rc3
2026-04-08 20:04:06 +08:00
fanquake
c168baec80 doc: update manual pages for v31.0rc3 2026-04-08 11:31:14 +08:00
fanquake
275843f2a6 build: bump version to v31.0rc3 2026-04-08 11:29:27 +08:00
Alfonso Roman Zubeldia
afa8ba04e0 test: remove macOS REDUCE_EXPORTS exception workaround
The underlying issue was fixed in bitcoin-core/libmultiprocess#268.

Remove the workaround that accepted degraded error messages on Darwin.

Github-Pull: #35014
Rebased-From: b555a0b789
2026-04-08 11:18:40 +08:00
fanquake
0df3ce87d9 Update libmultiprocess subtree to latest master 2026-04-08 11:17:45 +08:00
fanquake
1bc22a38a8 Squashed 'src/ipc/libmultiprocess/' changes from 70f632bda8..3edbe8f67c
3edbe8f67c Merge bitcoin-core/libmultiprocess#268: Use throwRecoverableException instead of raw throw for stored exceptions
23be44b0d3 Use throwRecoverableException instead of raw throw for stored exceptions
75c2a2764c Merge bitcoin-core/libmultiprocess#266: test: increase spawn test child timeout to 30 seconds
8b5f805301 Merge bitcoin-core/libmultiprocess#267: doc: Bump version 9 > 10
cc0b23fc32 test: increase spawn test child timeout to 30 seconds
050f878db8 doc: Improve versions.md descriptions and formatting
c6a288a889 doc: Bump version 9 > 10

git-subtree-dir: src/ipc/libmultiprocess
git-subtree-split: 3edbe8f67c182dde91c0050065d79ae268722489
2026-04-08 11:17:45 +08:00
merge-script
e7d520dcc6 Merge bitcoin/bitcoin#34942: [31.x] Backports
ef10b2ec65 guix: Clean up module list in manifest (Hennadii Stepanov)
f0e1014c39 kernel: Remove NONNULL annotation from destroy method (Alexander Wiederin)
56cdeab8b5 depends, qt: Fix build on aarch64 macOS 26.4 (Hennadii Stepanov)
f3b64aa405 fuzz: Use CAmount for storing best_waste (Ava Chow)
98551a0efd fuzz: Remove unused g_setup pointers (MarcoFalke)

Pull request description:

  Backports:
  * #34918
  * #34939
  * #34944
  * #34956
  * #34982

ACKs for top commit:
  marcofleon:
    ACK ef10b2ec65
  w0xlt:
    ACK ef10b2ec65

Tree-SHA512: 2d763deff7fa154fd697630bdb61644d4908b02b4a583cb648aeb9493009417d6d02367300e6d16d1c3b7ef8296b2411e1e96f8e67ef54fcd2fca4a415b97170
2026-04-08 11:13:04 +08:00
Hennadii Stepanov
ef10b2ec65 guix: Clean up module list in manifest
These modules are no longer in use:
1. `cmake-build-system` since bitcoin/bitcoin#34550.
2. `gnu-build-system` since bitcoin/bitcoin#34627.
3. `download` since bitcoin/bitcoin#34550.
4. `cc-for-target` from `utils` since bitcoin/bitcoin#34627.

Github-Pull: #34944
Rebased-From: 325f743eed
2026-04-03 10:45:50 +08:00
Alexander Wiederin
f0e1014c39 kernel: Remove NONNULL annotation from destroy method
No other *_destroy function in the Kernel API carries this annotation.
Following the convention set by free(), destroy functions should accept
null pointers.

Github-Pull: #34982
Rebased-From: 75608547b4
2026-04-03 10:40:26 +08:00
Hennadii Stepanov
56cdeab8b5 depends, qt: Fix build on aarch64 macOS 26.4
Github-Pull: #34956
Rebased-From: 3aeccb7d73
2026-04-01 09:27:00 +08:00
Ava Chow
f3b64aa405 fuzz: Use CAmount for storing best_waste
Waste is a CAmount, which is an int64_t. This will overflow an int, so
`best_waste` should also be a `CAmount`.

Github-Pull: #34939
Rebased-From: 890a09b1e4
2026-04-01 09:27:00 +08:00
MarcoFalke
98551a0efd fuzz: Remove unused g_setup pointers
These are unused and removing them avoids clang warnings like:

src/test/fuzz/deserialize.cpp:42:26: error: variable g_setup set but not used [-Werror,-Wunused-but-set-variable]

Github-Pull: #34918
Rebased-From: fabbfec3b0
2026-04-01 09:27:00 +08:00
merge-script
7375940eb2 Merge bitcoin/bitcoin#34952: Update libmultiprocess subtree in 31.x branch to fix race conditions on disconnects
2478a15ef9 Squashed 'src/ipc/libmultiprocess/' changes from 1868a84451f..70f632bda8f (Ryan Ofsky)

Pull request description:

  This PR is a backport of #34804 to the 31.x branch. (Both PR's point to the same source branch, they just have different target branches.) Some previous discussion about whether these changes should be merged into 31.x happened in https://github.com/bitcoin-core/libmultiprocess/pull/249#issuecomment-4118596442. The changes fix some IPC crashes that can happen with broken clients and unlucky thread timing that have only been seen in tests and antithesis runs, but the fixes are fairly simple and seem unlikely to cause new problems. The other changes in the PR are mostly CI/documentation/test changes and should also be safe.

  Includes:

  - https://github.com/bitcoin-core/libmultiprocess/pull/246
  - https://github.com/bitcoin-core/libmultiprocess/pull/242
  - https://github.com/bitcoin-core/libmultiprocess/pull/247
  - https://github.com/bitcoin-core/libmultiprocess/pull/251
  - https://github.com/bitcoin-core/libmultiprocess/pull/255
  - https://github.com/bitcoin-core/libmultiprocess/pull/258
  - https://github.com/bitcoin-core/libmultiprocess/pull/262
  - https://github.com/bitcoin-core/libmultiprocess/pull/253
  - https://github.com/bitcoin-core/libmultiprocess/pull/263
  - https://github.com/bitcoin-core/libmultiprocess/pull/256
  - https://github.com/bitcoin-core/libmultiprocess/pull/264
  - https://github.com/bitcoin-core/libmultiprocess/pull/249
  - https://github.com/bitcoin-core/libmultiprocess/pull/265

  The main change is https://github.com/bitcoin-core/libmultiprocess/pull/249 which fixes 3 intermittent race conditions detected in bitcoin core CI and antithesis: #34711/#34756, #34777, and #34782.

  The changes can be verified by running `test/lint/git-subtree-check.sh src/ipc/libmultiprocess` as described in [developer notes](https://github.com/bitcoin/bitcoin/blob/master/doc/developer-notes.md#subtrees) and [lint instructions](https://github.com/bitcoin/bitcoin/tree/master/test/lint#git-subtree-checksh)

ACKs for top commit:
  Sjors:
    ACK 613a548648

Tree-SHA512: 54358428dc5a9cea84c3e816136ab828e702fc04b5af03cfd81c60522f1de491bf4867aed2e6c6791da2725dff2004b398ebbf42dd882cc22a5912bc5945cb6e
2026-04-01 09:26:14 +08:00
Ryan Ofsky
2478a15ef9 Squashed 'src/ipc/libmultiprocess/' changes from 1868a84451f..70f632bda8f
70f632bda8f Merge bitcoin-core/libmultiprocess#265: ci: set LC_ALL in shell scripts
8e8e564259a Merge bitcoin-core/libmultiprocess#249: fixes for race conditions on disconnects
05d34cc2ec3 ci: set LC_ALL in shell scripts
e606fd84a8c Merge bitcoin-core/libmultiprocess#264: ci: reduce nproc multipliers
ff0eed1bf18 refactor: Use loop variable in type-context.h
ff1d8ba172a refactor: Move type-context.h getParams() call closer to use
1dbc59a4aa3 race fix: m_on_cancel called after request finishes
1643d05ba07 test: m_on_cancel called after request finishes
f5509a31fcc race fix: getParams() called after request cancel
4a60c39f24a test: getParams() called after request cancel
f11ec29ed20 race fix: worker thread destroyed before it is initialized
a1d643348f4 test: worker thread destroyed before it is initialized
336023382c4 ci: reduce nproc multipliers
b090beb9651 Merge bitcoin-core/libmultiprocess#256: ci: cache gnu32 nix store
be8622816da ci: cache gnu32 nix store
975270b619c Merge bitcoin-core/libmultiprocess#263: ci: bump timeout factor to 40
09f10e5a598 ci: bump timeout factor to 40
db8f76ad290 Merge bitcoin-core/libmultiprocess#253: ci: run some Bitcoin Core CI jobs
55a9b557b19 ci: set Bitcoin Core CI test repetition
fb0fc84d556 ci: add TSan job with instrumented libc++
0f29c38725b ci: add Bitcoin Core IPC tests (ASan + macOS)
3f64320315d Merge bitcoin-core/libmultiprocess#262: ci: enable clang-tidy in macOS job, use nullptr
cd9f8bdc9f0 Merge bitcoin-core/libmultiprocess#258: log: add socket connected info message and demote destroy logs to debug
b5d6258a42f Merge bitcoin-core/libmultiprocess#255: fix: use unsigned char cast and sizeof in LogEscape escape sequence
d94688e2c32 Merge bitcoin-core/libmultiprocess#251: Improved CustomBuildField for std::optional in IPC/libmultiprocess
a9499fad755 mp: use nullptr with pthread_threadid_np
f499e37850f ci: enable clang-tidy in macOS job
98f1352159d log: add socket connected info message and demote destroy logs to debug
554a481ea73 fix: use unsigned char cast and sizeof in LogEscape escape sequence
1977b9f3f65 Use std::forward in CustomBuildField for std::optional to allow move semantics, resolves FIXME
22bec918c97 Merge bitcoin-core/libmultiprocess#247: type-map: Work around LLVM 22 "out of bounds index" error
8a5e3ae6ed2 Merge bitcoin-core/libmultiprocess#242: proxy-types: add CustomHasField hook to map Cap'n Proto values to null C++ values
e8d35246918 Merge bitcoin-core/libmultiprocess#246: doc: Bump version 8 > 9
97d877053b6 proxy-types: add CustomHasField hook for nullable decode paths
8c2f10252c9 refactor: add missing includes to mp/type-data.h
b1638aceb40 doc: Bump version 8 > 9
f61af487217 type-map: Work around LLVM 22 "out of bounds index" error

git-subtree-dir: src/ipc/libmultiprocess
git-subtree-split: 70f632bda8f80449b6240f98da768206a535a04e
2026-03-27 05:50:19 -04:00
Ryan Ofsky
613a548648 Merge commit '2478a15ef966cc93d47dd0f461a44be39bc51534' into pr/subtree-9 2026-03-27 05:50:19 -04:00
Ava Chow
f0e2cbc5e5 Merge bitcoin/bitcoin#34800: [31.x] Backports
b241f3c82d doc: update example bitcoin conf for 31.0rc2 (fanquake)
718c31cfb7 doc: update manual pages for v31.0rc2 (fanquake)
a30e50538b build: bump version to v31.0rc2 (fanquake)
ac13aca72b test: scale IPC mining wait timeouts by timeout_factor (Enoch Azariah)
39c87621d5 test: verify IPC error handling for invalid coinbase (Enoch Azariah)
660947352c test: move make_mining_ctx to ipc_util.py (Enoch Azariah)
acd7e3d061 test: verify createNewBlock wakes promptly when tip advances (Enoch Azariah)
e3d571691a test: Remove confusing assert_debug_log in wallet_reindex.py (MarcoFalke)
87d1691f3e wallet: feebumper, fix crash when combined bump fee is unavailable (furszy)
11b69922b3 wallet: fix amount computed as boolean in coin selection (furszy)
d171afa9e8 ci: Temporarily use clang in valgrind tasks (MarcoFalke)
198bc4da87 ci: Clarify why valgrind task has gui disabled (MarcoFalke)
6993aa1915 test: Scale feature_dbcrash.py timeout with factor (MarcoFalke)
051afe9e1a depends: Remove no longer necessary `dsymutil` (Hennadii Stepanov)
3b79852984 depends: Fix cross-compiling on macOS for Windows (Hennadii Stepanov)
e53c20d750 gui: Fix TransactionsView on setCurrentWallet (pablomartin4btc)
7118559f8c tests: applied PYTHON_GIL to the env for every test (kevkevinpal)
d9a57912c6 ci: Avoid intermittent Windows generate download failures (MarcoFalke)
335a098afa kernel: acquire coinstats cursor and block info atomically (w0xlt)
e930c6d60f rpc: fix race condition in gettxoutsetinfo (w0xlt)
ca781e49e5 cmake: Migrate away from deprecated SQLite3 target (Daniel Pfeifer)
068951211c test: [refactor] Use verbosity=0 named arg (MarcoFalke)
8379f005da test: Fix intermittent issue in feature_assumeutxo.py (MarcoFalke)
72d6c88165 test: Move event loop creation to network thread (MarcoFalke)
c7127f21df test: Use asyncio.SelectorEventLoop() over deprecated asyncio.WindowsSelectorEventLoopPolicy() (MarcoFalke)
a69f8c329e ci: Use arch-appropriate binaries in lint install (will)
e3383ac932 ci: check macos bundle structure and codesigning (fanquake)
ab37d3d7cd macdeploy: use plugins dir to find plugins (fanquake)
bb9fcffd4c macdeploy: subprocess out to zip rather than shutil.make_archive (fanquake)
d20ba02caa build: Set AUTHOR_WARNING on warnings (MarcoFalke)
2724c39208 guix: Make guix-clean less destructive (Hodlinator)
a28d78c44a test: use static methods and clarify comment in addr_relay (stratospher)
5642a2b0fe test: protect outbound connection from eviction in getaddr_test (stratospher)
a3c1eda8f2 test: fix addr relay test silent pass and wrong peerinfo index (stratospher)
207087b1c4 ci: bump cirruslabs actions versions (will)
a74dfe3ae2 lint: Temporarily revert to vulture==2.14 (MarcoFalke)
f7f7e682b5 ci: Bump GHA actions versions (MarcoFalke)
a3ffff0201 depends: delete Boost extra files (fanquake)
9852bbd218 depends: disable Qt sbom generation (fanquake)

Pull request description:

  Backports:
  * #33144
  * #34451
  * #34589
  * #34727
  * #34750
  * #34755
  * #34776
  * #34787
  * #34802
  * #34814
  * #34815
  * #34820
  * #34852
  * #34832
  * #34848
  * #34850
  * #34857
  * #34859
  * #34869
  * #34870
  * #34878
  * #34888

  Gui:
  * https://github.com/bitcoin-core/gui/pull/815

ACKs for top commit:
  Sjors:
    ACK b241f3c82d
  achow101:
    ACK b241f3c82d

Tree-SHA512: bb68f5b6e569781805c741d63a6ad6f955c1964d9186defa892936160e8444900f1e4175a1ef4fff268b655d664ddf0b914795ef554ea60cb23a054b080b4805
v31.0rc2
2026-03-25 14:43:31 -07:00
fanquake
b241f3c82d doc: update example bitcoin conf for 31.0rc2 2026-03-25 08:58:45 +08:00
fanquake
718c31cfb7 doc: update manual pages for v31.0rc2 2026-03-25 08:57:03 +08:00