Include patches up to 29.3rc2#101
Merged
ajtowns merged 134 commits intobitcoin-inquisition:29.xfrom Feb 6, 2026
Merged
Conversation
Also, use update-alternatives to avoid having to manually specify
clang-${APT_LLVM_V} or llvm-symbolizer-${APT_LLVM_V} everywhere.
Github-Pull: bitcoin#32999
Rebased-From: fad040a
Github-Pull: bitcoin#33099 Rebased-From: 6653caf
Qt is disabled, as the build is now taking a very long time. Github-Pull: bitcoin#33099 Rebased-From: b09af2c
Github-Pull: bitcoin#33099 Rebased-From: 7aa5b67
Github-Pull: bitcoin#33258 Rebased-From: 4cf0ae4
7c6be9a doc: update release notes for 29.x (fanquake) ea40fa9 ci: use LLVM 21 (fanquake) 5513516 ci: remove DEBUG_LOCKORDER from TSAN job (fanquake) f9939cd ci: instrument libc++ in TSAN job (fanquake) 0fba5ae ci: allow libc++ instrumentation other than msan (fanquake) 10cbf22 ci: Use APT_LLVM_V in msan task (MarcoFalke) Pull request description: Backports: * bitcoin#32999 * bitcoin#33099 (added `ninja-build`) * bitcoin#33258 ACKs for top commit: marcofleon: ACK 7c6be9a, looks okay to me Tree-SHA512: 928882d505ed8101a6d4123947252a84d40bd350383408926b5c37aed56dc3359067d1d14c443c51351a6958a8dd9e141bb7713665295ff1f1ad86c5f8a36df0
The `SHA256AutoDetect` return output is used, among other use cases, to name benchmarks. Using a comma breaks the CSV output. This change replaces the comma with a semicolon, which fixes the issue. Github-Pull: bitcoin#33340 Rebased-From: 790b440
Rather than trying to match the apt installed clang version, which is prone to intermittent issues. i.e bitcoin#33345. Github-Pull: bitcoin#33364 Rebased-From: b736052
Github-Pull: bitcoin#33310 Rebased-From: 93a29ff
Since bitcoin#29412, we have not allowed mutated blocks to continue being processed immediately the block is received, but this is only done for the legacy BLOCK message. Extend these checks as belt-and-suspenders to not allow similar mutation strategies to affect relay by honest peers by applying the check inside PartiallyDownloadedBlock::FillBlock, immediately before returning READ_STATUS_OK. This also removes the extraneous CheckBlock call. Github-Pull: bitcoin#32646 Rebased-From: bac9ee4
Github-Pull: bitcoin#32646 Rebased-From: 28299ce
Previously in debug builds, this would cause an Assume crash if FillBlock had been called previously. This could happen when multiple blocktxn messages were received. Co-Authored-By: Greg Sanders <gsanders87@gmail.com> Github-Pull: bitcoin#33296 Rebased-From: 5e585a0
Add test_multiple_blocktxn_response that checks that the peer is disconnected. Github-Pull: bitcoin#33296 Rebased-From: 8b62647
Tor inbound connections do not reveal the peer's actual network address. Therefore do not apply whitelist permissions to them. Co-authored-by: Vasil Dimov <vd@FreeBSD.org> Github-Pull: bitcoin#33395 Rebased-From: f563ce9
f2bd79f doc: update manual pages for v29.2rc1 (fanquake) 461dd13 build: bump version to v29.2rc1 (fanquake) 9bc4afb doc: update release notes for 29.x (fanquake) 61cdc04 net: Do not apply whitelist permission to onion inbounds (Martin Zumsande) 1288d44 test: send duplicate blocktxn message in p2p_compactblocks.py (Eugene Siegel) 569ceb0 net: check for empty header before calling FillBlock (Eugene Siegel) 4c940d4 p2p: remove vestigial READ_STATUS_CHECKBLOCK_FAILED (Greg Sanders) 9b95ab5 p2p: Add witness mutation check inside FillBlock (Greg Sanders) e97588f trace: Workaround GCC bug compiling with old systemtap (Luke Dashjr) 324caa8 ci: always use tag for LLVM checkout (fanquake) 2717331 Fix benchmark CSV output (Hennadii Stepanov) Pull request description: Backports: * bitcoin#32646 * bitcoin#33296 * bitcoin#33310 * bitcoin#33340 * bitcoin#33364 * bitcoin#33395 Plus changes for 29.2rc1. ACKs for top commit: darosior: utACK f2bd79f mzumsande: utACK f2bd79f Tree-SHA512: 346a92032b7a069e2941056c6273ff65e360c5834832b106350a9cd42b634518cc75b807da6e51a6292e3a33342bb7b145777d3538a2792e03c63962d747a025
Github-Pull: bitcoin#32989 Rebased-From: b8fcc9f
Github-Pull: bitcoin#32989 Rebased-From: b232b0f Add "Restore" and "Save" caching actions. These actions reduce boilerplate in the main ci.yml configuration file. These actions are implemented so that caches will be saved on `push` only. When a pull request is opened it will cache hit on the caches from the lastest push, or in the case of depends will hit on any matching depends hash, falling back to partial matches. Depends caches are hashed using `$(git ls-tree HEAD depends "ci/test/$FILE_ENV" | sha256sum | cut -d' ' -f1)` and this hash is passed in as an input to the actions. This means we direct cache hit in cases where depends would not be re-built, otherwise falling back to a partial match. Previous releases cache is hashed similarly to depends, but using the test/get_previous_releases.py file. The cirruslabs cache action will fallback transparently to GitHub's cache in the case that the job is not being run on a Cirrus Runner, making these compatible with running on forks (on free GH hardware).
Github-Pull: bitcoin#32989 Rebased-From: 33ba073 If set, Cirrus runners will be used on pushes to, and pull requests against, this repository. Forks can set this if they have their own cirrus runners.
Github-Pull: bitcoin#32989 Rebased-From: fdf64e5 Another action to reduce boilerplate in the main ci.yml file. This action will set up a docker builder compatible with caching build layers to a container registry using the `gha` build driver. It will then configure the docker build cache args.
Github-Pull: bitcoin#32989 Rebased-From: 94a0932 Using buildx is required to properly load the correct driver, for use with registry caching. Neither build, nor BUILDKIT=1 currently do this properly. Use of `docker buildx build` is compatible with podman.
Github-Pull: bitcoin#32989 Rebased-From: 18f6be0 Reverts: e87429a This was added in PR bitcoin#31545 with the intention that self-hosted runners might use it to save build cache. As we are not using hosted runners with a registry build cache, the bulk of this commit can be reverted, simply using the value of $DOCKER_BUILD_CACHE_ARG in the script. link: bitcoin#31545
Github-Pull: bitcoin#32989 Rebased-From: 9c2b96e This sets the build dir at build time so that Apple SDK gets installed in the correct/expected location for the runtime to find it. Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
Github-Pull: bitcoin#32989 Rebased-From: 020069e Whilst the action cirruslabs/actions/cache will automatically set this host, the docker `gha` build cache backend will not be aware of it. Set the value here, which will later be used in the docker build args to enable docker build cache on the cirrus cache.
Github-Pull: bitcoin#32989 Rebased-From: cc1735d To remove multiple occurances of the respository name, against which we compare `${{ github.repository }}` to check if we should use Cirrus Runners, introduce a helper job which can check a single environment variable and output this as an input to subsequent jobs. Forks can maintain a trivial patch of their repo name against the `REPO_USE_CIRRUS_RUNNERS` variable in ci.yml if they have Cirrus Runners of their own, which will then enable cache actions and docker build cache to use Cirrus Cache. It's not possible to use `${{ env.USE_CIRRUS_RUNNERS }}` in the `runs-on:` directive as the context is not supported by GitHub. If it was, this job would no longer be necessary.
Github-Pull: bitcoin#32989 Rebased-From: f253031 Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
Github-Pull: bitcoin#32989 Rebased-From: 04e7bfb Co-authored-by: Max Edwards <youwontforgetthis@gmail.com>
Github-Pull: bitcoin#33268 Rebased-From: 609d265
b834447 [doc] generate manpages 29.3rc1 (glozow) e9c9783 [build] bump version to 29.3rc1 (glozow) e973b61 [doc] update release notes for 29.3rc1 (glozow) f4b78c4 test: Add a test for anchor outputs in the wallet (Ava Chow) c6e7765 wallet: Throw an error in sendall if the tx size cannot be calculated (Ava Chow) bab1ac8 wallet: Determine IsFromMe by checking for TXOs of inputs (Ava Chow) 71633a9 test: Test wallet 'from me' status change (Ava Chow) daef585 guix: Fix `osslsigncode` tests (Hennadii Stepanov) 7a71850 Remove unreliable seed from chainparams.cpp, and the associated README (SatsAndSports) 2e46886 miner: fix `addPackageTxs` unsigned integer overflow (ismaelsadeeq) Pull request description: Backports: - bitcoin#34227 - bitcoin#33723 - bitcoin#33475 - bitcoin#33268 And final changes for 29.3rc1 ACKs for top commit: achow101: ACK b834447 janb84: ACK b834447 sedited: ACK b834447 Tree-SHA512: 68e02fbde7162f728229f4bfc803bedda6d269e54593ebe40da607f6bd25b2b10bc4297bfa0bc977ce2dc6b558efe6571a7f875090e0f916fc09e5b67432ba30
…allet If any other files exist in the directory, we cannot assume the sharable files are exclusively for this wallet. But if they are, this also cleans up other log.* files
…ils, log the correct wallet name in error message
…eason Since we no longer delete the wallet directory, there's no need to vacate it The moving only served to risk errors by crossing filesystem boundaries (which fs::rename can't handle)
…ating from non-directory While 30.x+ keep backup files in walletdir, 29.x places them in the migrated wallet directory
…et, but not with a shared db environment
Github-Pull: bitcoin#34344 Rebased-From: 9482f00
We can use vswhere.exe directly to create a vs developer prompt and so can remove this third party dependency. Co-authored-by: David Gumberg <davidzgumberg@gmail.com> Github-Pull: bitcoin#32513 Rebased-From: 7ae0497
3835e16 doc: update release notes for v29.x (fanquake) 6aec095 ci: remove 3rd party js from windows dll gha job (Max Edwards) c57009e chore: Update outdated GitHub Actions versions (Padraic Slattery) Pull request description: Backports: * bitcoin#32513 (partial backport) * bitcoin#34344 ACKs for top commit: willcl-ark: ACK 3835e16 sedited: ACK 3835e16 Tree-SHA512: e36b00e952fe6edbe931a131dbe66f14d97b2362453fe4a0e7be58697039945832075d486a6634228c4e1a0ab081e2919cf2c76ef2cfc8b2df6f321b6112c284
6517394 QA: tool_wallet: Check that db.log is deleted with a lone legacy wallet, but not with a shared db environment (Luke Dashjr) 69a6b9b Bugfix: Wallet/Migration: Move backup into wallet directory when migrating from non-directory (Luke Dashjr) cef01d0 Wallet/Migration: Skip moving the backup file back and forth for no reason (Luke Dashjr) 60f5290 Wallet/Migration: If loading the new watchonly or solvables wallet fails, log the correct wallet name in error message (Luke Dashjr) 7475d13 Wallet/bdb: Safely and correctly list files only used by the single wallet (Luke Dashjr) Pull request description: ACKs for top commit: achow101: ACK 6517394 furszy: light ACK 6517394 Tree-SHA512: c10fe00dde512ca78cd6939a748b3875d0b40e9714997aedfd939a1dffdc7eaa2fd1779f3972a34b1c1d9a97d8f1ee1e082c970de15ac0e2ef5d9bbf3dc1d89a
Github-Pull: bitcoin#34236 Rebased-From: d1b227f
2b2c4da [doc] generate manpages 29.3rc2 (sedited) 75c2108 [doc] update release notes for 29.3rc2 (sedited) 16493e3 Bump version to 29.3rc2 (sedited) 340b58a Add sedited to trusted-keys (sedited) Pull request description: Backport: * bitcoin#34236 And finalize 29.3rc2. ACKs for top commit: hebasto: re-ACK 2b2c4da. Tree-SHA512: 9b145ab19eaa88ad11075b8362d3131ed80578ad46a1be6bfc4687dbcbcd25388b890128b60a54db4b7c1cb9c9d177150c460353e5cac904aac47e0cfde4218e
…nq29-upstream-292
…nq29-upstream-292
Bitcoin Core 29.3 release candidate 2 Tree-SHA512: 9b145ab19eaa88ad11075b8362d3131ed80578ad46a1be6bfc4687dbcbcd25388b890128b60a54db4b7c1cb9c9d177150c460353e5cac904aac47e0cfde4218e
b6a2d0a to
a14710f
Compare
Previously we returned either `mempool-script-verify-flag-failed` or `mandatory-script-verify-flag-failed` depending on whether any policy flags were set (that is, flags not included in MANDATORY_SCRIPT_VERIFY_FLAGS). This causes problems when we add new flags for future soft-forks, as we don't add them to the MANDATORY set immediately, so after they activate, block verification returns `mempool-` errors.
Author
|
The "test each commit" job has no hope of succeeding since the inquisition changes introducing new soft forks and the bitcoin#33788 backport have silent merge conflicts. Seems better to have the fixes in proper commits. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A few fairly straightforward merge conflicts needed resolving.
Includes a behaviour change for
mempool-script-verify-flag-failedvsmandatory-script-verify-flag-failederrors, so that failures due to Inquisition soft forks are reported asmempool-for mempool addition, andmandatory-for block verification. (Without this change, once any soft fork is activated, all block verification failures will be reported asmempool-instead ofmandatory-).