When using -bind=0.0.0.0:port (or -bind=::), the Discover() function was not being executed because the code only checked the bind_on_any flag. This meant the node would not discover its own local addresses if an explicit “any” bind was used.
This commit checks both bind_on_any and any bind addresses using IsBindAny() to ensure Discover() runs when binding to 0.0.0.0 or ::, even if specified explicitly.
Note: This fix targets the 26.x branch. A similar fix for master is being worked on in #32757.
74604662f33fe73ac4f2c707b467272795ccecdf qt: 26.0rc1 translations update (Hennadii Stepanov)
Pull request description:
This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.
According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged before `v26.0rc1` tagging.
ACKs for top commit:
stickies-v:
ACK 74604662f33fe73ac4f2c707b467272795ccecdf
Tree-SHA512: 707a45f7df513352bf5e76d4fb39a74d77ea907921f0b543623e6f723ac0cf65d9bc94c975b3a6e650e4c88a554b13a4701dd9f0009cf4374104cb743ec6c2cc
f40d7fc180
build: bump version to v26.0rc1c4fa45c2c3
doc: generate manual pages for v26.0rc1d1fe90c423
doc: generate example bitcoin.conf for v26.0rc1958ee5db63
Merge bitcoin/bitcoin#28717: [26.x] Bump version to v26.0rc1
958ee5db63dff84f463048405b07425fea60dfce doc: generate example bitcoin.conf for v26.0rc1 (fanquake)
d1fe90c423afe38c11fb05f1becb78e11b191d73 doc: generate manual pages for v26.0rc1 (fanquake)
c4fa45c2c3096ae62b30de01c804ec932e619a81 build: bump version to v26.0rc1 (fanquake)
Pull request description:
Bump the version number.
Generate the man pages.
Generate example bitcoin.conf.
Release-notes.md already points to the wiki: https://github.com/bitcoin-core/bitcoin-devwiki/wiki/26.0%E2%80%90Release%E2%80%90Notes%E2%80%90Draft
ACKs for top commit:
josibake:
ACK https://github.com/bitcoin/bitcoin/pull/28717/commits/958ee5db63dff84f463048405b07425fea60dfce :rocket:
hebasto:
ACK 958ee5db63dff84f463048405b07425fea60dfce
Tree-SHA512: eb13253dd5dbae2723a1a89a42d832c9c817cd00ecb51414313f15c8a988504dd1940babb42bf65cc97a4e37eb861a1ea6df19e6c763eebe4c8734c1cdf99e07
1695c4801ccf63d26b6aa802c39019facff04639 qt: 26.0rc2 translations update (Hennadii Stepanov)
Pull request description:
This PR pulls the recent translations from the [Transifex.com](https://www.transifex.com/bitcoin/bitcoin) using the [`bitcoin-maintainer-tools/update-translations.py`](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/update-translations.py) tool.
According to our [Release Process docs](https://github.com/bitcoin/bitcoin/blob/master/doc/release-process.md#before-every-release-candidate), it is supposed to be merged before `v26.0rc2` tagging.
ACKs for top commit:
stickies-v:
ACK 1695c4801ccf63d26b6aa802c39019facff04639
Tree-SHA512: 778b3ebdcd7567b2ed4bac63ae4abcb25562c502266e597845c436fce7db8829fdb2902d087051f5fac76785d516374d54883045f5025d728fe001476dc73b55
7d0e5b099c
bugfix: Mark CNoDestination and PubKeyDestination constructor explicit
This should fix the bug reported in
https://github.com/bitcoin/bitcoin/pull/28246#discussion_r1371640502,
which caused the GUI to not detect the destination type of recipients,
thus picking the wrong change destination type.
Also, add missing lifetimebound attribute to a getter method.
GitHub-Pull: #28728
Rebased-From: 1111475b41698260cda0f25a96c051fd18d66129
test: add coverage for snapshot chainstate not matching AssumeUTXO parameters
Co-authored-by: Russell Yanofsky <russ@yanofsky.org>
Co-authored-by: Sebastian Falbesoner <sebastian.falbesoner@gmail.com>
Github-Pull: #28698
Reabsed-From: 811067ca1cbbd4a697791cbe3ecd4bee19fe6193
fe57abd7e9
guix: Zip needs to include all files with time as SOURCE_DATE_EPOCH
The zip for codesigned MacOS distribution needs to have all files have
the same timestamp. These files also need to be included in the zip as
zip is not automatically recursive. We use the same pattern for zip as
is done for the other zip files produced by guix.
Github-Pull: #28757
Rebased-From: f6f18eeaa88784e487e9bca8c5ace6c66bd721cc
gui: fix crash on selecting "Mask values" in transaction view
This commits fixes a crash bug that can be caused with the following steps:
- change to the "Transactions" view
- right-click on an arbitrary transaction -> "Show transaction details"
- close the transaction detail window again
- select "Settings" -> "Mask values"
The problem is that the list of opened dialogs, tracked in the member
variable `m_opened_dialogs`, is only ever appended with newly opened
transaction detail dialog pointers, but never removed. This leads to
dangling pointers in the list, and if the "Mask values" menu item is
selected, a crash is caused in the course of trying to close the opened
transaction detail dialogs (see `closeOpenedDialogs()` method). Fix this
by removing the pointer from the list if the corresponding widget is
destroyed.
Github-Pull: https://github.com/bitcoin-core/gui/pull/774
Rebased-From: e26e665f9f64a962dd56053be817cc953e714847
e097d4cb53
build: bump version to v26.0rc20b189a9092
doc: update manual pages for v26.0rc2e4e84790f6
Merge bitcoin/bitcoin#28754: [26.x] Backports for rc2
e4e84790f62990f31a519f1ec0e8cc16e93a3c3b doc: update manual pages for v26.0rc2 (fanquake)
0b189a90926eaa6694b4031fe31c111e2f5052ae build: bump version to v26.0rc2 (fanquake)
e097d4cb5329e9037c0e66d1c71b1bc5a02d56e6 gui: fix crash on selecting "Mask values" in transaction view (Sebastian Falbesoner)
05e887455454813465a2a5b376df672f199bfbf9 guix: update signapple (fanquake)
deccc506314c467f1e87e0a48a94626df841fe63 guix: Zip needs to include all files with time as SOURCE_DATE_EPOCH (Andrew Chow)
fe57abd7e9c3d08553589a54a4f63f69960f78fd test: add coverage for snapshot chainstate not matching AssumeUTXO parameters (pablomartin4btc)
b761a58171f2a7b2249211840aeb203a37dc8b13 assumeutxo, blockstorage: prevent core dump on invalid hash (pablomartin4btc)
d3ebf6e9fcb8459695ea58cc2a551c0a7b1dd881 [test] Test i2p private key constraints (Vasil Dimov)
1f11784aac33c4d6aa5beccec19e6ff025808b24 [net] Check i2p private key constraints (dergoegge)
6544ffa01fc1f219817e8c22b5d1d44ea2efa465 bugfix: Mark CNoDestination and PubKeyDestination constructor explicit (MarcoFalke)
Pull request description:
Backports for v26.0rc2:
* #28695
* #28698
* #28728
* #28757
* #28759
* https://github.com/bitcoin-core/gui/pull/774
ACKs for top commit:
josibake:
ACK https://github.com/bitcoin/bitcoin/commit/e4e84790f62990f31a519f1ec0e8cc16e93a3c3b
hebasto:
re-ACK e4e84790f62990f31a519f1ec0e8cc16e93a3c3b, only a backport of https://github.com/bitcoin-core/gui/pull/774 added since my [recent](https://github.com/bitcoin/bitcoin/pull/28754#pullrequestreview-1707143194) review.
TheCharlatan:
Re-ACK e4e84790f62990f31a519f1ec0e8cc16e93a3c3b
Tree-SHA512: 4b95afd26b8bf91250cb883423de8b274cefa48dc474734f5900aeb756eee3a6c656116efcfa2caff3c250678c16b70cc6b7a5d840018dc7e2c1e8161622cd61
67b2512560
doc: rewrite explanation for -par=
The negative bound for script threads comes from the machine which
generates the man pages, so may only be correct for that machine. Any
other placeholder value will also be wrong for some machines. Fix this
be removing the value. This also fixes help2man incorrectly bolding the
value, as if it were a paramater.
Closes #28850.
Github-Pull: #28858
Rebased-From: d799ea26edfd63434b6d1cf55500de184dc67fac
5845331a6c
doc: regenerate example bitcoin.conf7dda4991a8
pool: make sure PoolAllocator uses the correct alignment
This changes the PoolAllocator to default the alignment to the given type. This makes the code simpler, and most importantly
fixes a bug on ARM 32bit that caused OOM: The class CTxOut has a member CAmount which is an int64_t and on ARM 32bit int64_t
are 8 byte aligned which is larger than the pointer alignment of 4 bytes. So for CCoinsMap to be able to use the pool, we
need to use the alignment of the member instead of just alignof(void*).
Github-Pull: #28913
Rebased-From: ce881bf9fcb7c30bb1fafd6ce38844f4f829452a
bcc183ccce
pool: change memusage_test to use int64_t, add allocation check
If alignment of the PoolAllocator would be insufficient, then the test would fail. This also catches the issue with ARM 32bit,
where int64_t is aligned to 8 bytes but void* is aligned to 4 bytes. The test adds a check to ensure the pool has allocated
a minimum number of chunks
Github-Pull: #28913
Rebased-From: d5b4c0b69e543de51bb37d602d488ee0949ba185
p2p: do not make automatic outbound connections to addnode peers
to allocate our limited outbound slots correctly, and to ensure addnode
connections benefit from their intended protections.
Our addnode logic usually connects the addnode peers before the automatic
outbound logic does, but not always, as a connection race can occur. If an
addnode peer disconnects us and if it was the only one from its network, there
can be a race between reconnecting to it with the addnode thread, and it being
picked as automatic network-specific outbound peer. Or our internet connection
or router, or the addnode peer, could be temporarily offline, and then return
online during the automatic outbound thread. Or we could add a new manual peer
using the addnode RPC at that time.
The race can be more apparent when our node doesn't know many peers, or with
networks like cjdns that currently have few bitcoin peers.
When an addnode peer is connected as an automatic outbound peer and is the only
connection we have to a network, it can be protected by our new outbound
eviction logic and persist in the "wrong role".
Examples on mainnet using logging added in the same pull request:
2023-08-12T14:51:05.681743Z [opencon] [net.cpp:1949] [ThreadOpenConnections]
[net:debug] Not making automatic network-specific outbound-full-relay connection
to i2p peer selected for manual (addnode) connection: [geh...odq.b32.i2p]:0
2023-08-13T03:59:28.050853Z [opencon] [net.cpp:1949] [ThreadOpenConnections]
[net:debug] Not making automatic block-relay-only connection to onion peer
selected for manual (addnode) connection: kpg...aid.onion:8333
2023-08-13T16:21:26.979052Z [opencon] [net.cpp:1949] [ThreadOpenConnections]
[net:debug] Not making automatic network-specific outbound-full-relay connection
to cjdns peer selected for manual (addnode) connection: [fcc...8ce]:8333
2023-08-14T20:43:53.401271Z [opencon] [net.cpp:1949] [ThreadOpenConnections]
[net:debug] Not making automatic network-specific outbound-full-relay connection
to cjdns peer selected for manual (addnode) connection: [fc7...59e]:8333
2023-08-15T00:10:01.894147Z [opencon] [net.cpp:1949] [ThreadOpenConnections]
[net:debug] Not making automatic feeler connection to i2p peer selected for
manual (addnode) connection: geh...odq.b32.i2p:8333
Finally, there does not seem to be a reason to make block-relay or short-lived
feeler connections to addnode peers, as the addnode logic will ensure we connect
to them if they are up, within the addnode connection limit.
Fix these issues by checking if the address is an addnode peer in our automatic
outbound connection logic.
Github-Pull: #28895
Rebased-From: cc627169206fe902157806d88fcaf2b05701c38d
55af112565
ci: Avoid toolset ambiguity that MSVC can't handle
This change is required to work with the new windows-2022 image version
20231115 properly.
Github-Pull: #28905
Rebased-From: 91d5bd8ac9a28725c735f8e6900bc85673bb190a
5eaa179f27
build: Fix regression in "ARMv8 CRC32 intrinsics" test
The `vmull_p64` is a part of the Crypto extensions from the ACLE. They
are optional extensions, so they get enabled with a `+crypto` for
architecture flags.
Github-Pull: #28919
Rebased-From: 228d6a2969e4fcee573c9df7aad31550eab9c8d4
6045f38dc8
build: bump version to v26.0rc33db4d1cff2
doc: update manual pages for v26.0rc33b6c7f240c
doc: update release notes for v26.0rc3
Few further changes are expected, so reintegrate the release-notes.
2f86d30533
Merge bitcoin/bitcoin#28872: [26.x] Changes for rc3
2f86d3053314c382dfce5cf314e98811ed433859 doc: update release notes for v26.0rc3 (fanquake)
3b6c7f240c85fa7a0eb0f037cdc9dd0975a02e42 doc: update manual pages for v26.0rc3 (fanquake)
3db4d1cff292c003f58a1755ba94cb0c5ebbb700 build: bump version to v26.0rc3 (fanquake)
6045f38dc8f6a3e028e45fd0024d0b4c6b3cf918 build: Fix regression in "ARMv8 CRC32 intrinsics" test (Hennadii Stepanov)
5eaa179f2785d74b621ff7edbe7fd8be9cdeb419 ci: Avoid toolset ambiguity that MSVC can't handle (Hennadii Stepanov)
55af112565aefc9167877076d6ee4dae991dcd6d p2p: do not make automatic outbound connections to addnode peers (Jon Atack)
5e0bcc1977ea1efe3888c8fcd0991f3116ab1125 ci: Switch from `apt` to `apt-get` (Hennadii Stepanov)
437a5316e50b7906780105bea6094ea7c6a34ddd ci: Update apt cache (Hennadii Stepanov)
1488648104718fe727e4a0784120cc95bf232bdb pool: change memusage_test to use int64_t, add allocation check (Martin Leitner-Ankerl)
bcc183cccefdc84a09e43965d6b88a8bec3a5446 pool: make sure PoolAllocator uses the correct alignment (Martin Leitner-Ankerl)
7dda4991a875ca9bd9f79b3d52b12837ad7f92f1 doc: regenerate example bitcoin.conf (fanquake)
5845331a6c57c25c873818ad165516a5df29b099 doc: rewrite explanation for -par= (fanquake)
Pull request description:
Currently backports:
* https://github.com/bitcoin/bitcoin/pull/28858
* https://github.com/bitcoin/bitcoin/pull/28895 (partial)
* https://github.com/bitcoin/bitcoin/pull/28913
* https://github.com/bitcoin/bitcoin/pull/28905
* https://github.com/bitcoin/bitcoin/pull/28919
* https://github.com/bitcoin/bitcoin/pull/28925
Also includes changes for rc3, and reintegrating the release-notes.
ACKs for top commit:
hebasto:
re-ACK 2f86d3053314c382dfce5cf314e98811ed433859, only https://github.com/bitcoin/bitcoin/pull/28919 backported since my [recent](https://github.com/bitcoin/bitcoin/pull/28872#pullrequestreview-1744950215) review.
TheCharlatan:
ACK 2f86d3053314c382dfce5cf314e98811ed433859
Tree-SHA512: 43c91b344d37f582081ac184ac59cf76c741317b2b69a24fcd4287eefa8333e20c545e150798f4057d6f4ac8e70ed9cba1c8dd9777b11c1cf8992cce09108727
e4fef4ae65
build: bump version to v26.0 final9ce1766d20
doc: update manual pages for 26.0b0546bc907
doc: update release notes for 26.0b1d350c78b
Merge bitcoin/bitcoin#28959: [26.0] Finalize or rc4
b1d350c78b0a26e3c514a79b928578727df70538 doc: update release notes for 26.0 (fanquake)
b0546bc907edc4e6b7ab1baaf1f9400bd8315bf3 doc: update manual pages for 26.0 (fanquake)
9ce1766d206d3ef607d659d6d0759b8c02a02f60 build: bump version to v26.0 final (fanquake)
Pull request description:
Final changes for 26.0. Assuming no further backports. rc3 was done in #28872.
ACKs for top commit:
achow101:
ACK b1d350c78b0a26e3c514a79b928578727df70538
hebasto:
ACK b1d350c78b0a26e3c514a79b928578727df70538, I have reviewed the code and it looks OK.
Tree-SHA512: 8b1bfa9e9d6c5ccf8305335eba503c02a76043b2752e2302da84cb574078889ddb761b9efd14ef97f68bbae154b00ac54f531e2e33eba6baf8d703aa98ef5175
The crash would happen when querying a mempool transaction with verbosity=2, while pruning.
Github-Pull: #29003
Rebased-From: 494a926d05df44b60b3bc1145ad2a64acf96f61b
5097bb3389
test: add regression test for the getrawtransaction segfault
This fails on master without the previous commit.
Github-Pull: #29003
Rebased-From: 9075a446461ccbc446d21af778aac50b604f39b3
wallet: create tx, log resulting coin selection info
Useful for understanding what is going on internally
when the software is running. Debug issues, and provide
more accurate feedback to users.
Github-Pull: #28994
Rebased-From: 0c5755761c3e544547899ad096121585dffa73df
05d0576d3c
test: add coverage for BnB-SFFO restriction
Verify the transaction creation process does not produce
a BnB solution when SFFO is enabled.
This is currently problematic because it could require a
change output. And BnB is specialized on changeless solutions.
Co-authored-by: Andrew Chow <achow101@gmail.com>
Co-authored-by: Murch <murch@murch.one>
Github-Pull: #28994
Rebased-From: 05e5ff194c7722b4ebc2b9309fc0bf47b3cf1df7
refactor: rename FirstKeyTimeChanged to MaybeUpdateBirthTime
In the following-up commit, the wallet birth time will also
be modified by the transactions scanning process. When a tx
older than all descriptor's timestamp is detected.
Github-Pull: #28920
Rebased-From: b4306e3c8db6cbaedc8845c6d21c750b39f682bf
074296dd60
wallet: birth time update during tx scanning
As the user could have imported a descriptor with
a newer timestamp (by blindly setting 'timestamp=now'),
the wallet needs to update the birth time when it detects
a transaction older than the oldest descriptor timestamp.
Github-Pull: #28920
Rebased-From: 75fbf444c1e13c6ba0e79a34871534c845a13849
84f4a6c145
wallet: fix legacy spkm default birth time
To avoid scanning blocks, as assumed by a wallet with no
generated keys or imported scripts, the default value for
the birth time needs to be set to the maximum int64_t value.
Once the first key is generated or the first script is imported,
the legacy SPKM will update the birth time automatically.
Github-Pull: #28920
Rebased-From: 6f497377aa17cb8a590fd7717fa8ededf4249999
0fa47e2569
test: coverage for wallet birth time interaction with -reindex
Verifying the wallet updates the birth time accordingly when it
detects a transaction with a time older than the oldest descriptor
timestamp.
This could happen when the user blindly imports a descriptor with
'timestamp=now'.
Github-Pull: #28920
Rebased-From: 83c66444d0604f0a9ec3bc3f89d4f1a810b7cda0
12834012c2
rpc: getwalletinfo, return wallet 'birthtime'
And add coverage for it
Github-Pull: #28920
Rebased-From: 1ce45baed7dd2da3f1cb85c9c25110e5537451ae
b06b14e68d
ci: Set `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` to avoid failures
Homebrew attempts to check for outdated dependents or those with broken
linkage. Such behavior might lead to failures when Homebrew updates them
on old macOS images.
This change prevents such behavior.
Github-Pull: #29080
Rebased-From: 43c3246af774bda284111056268a814477f9b256
40252e184e
wallet: Fix use-after-free in WalletBatch::EraseRecords
7b79e54474b86864c81148c74824bfe4b732412d doc: update release notes for 26.x (fanquake)
ccf00b1e6eb811a3af2c22518a832dd9a51f8aa4 wallet: Fix use-after-free in WalletBatch::EraseRecords (MarcoFalke)
40252e184eb188c4af767adb4918f729015910e8 ci: Set `HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK` to avoid failures (Hennadii Stepanov)
b06b14e68d81f8be091d32db162c8d85b9d29e4c rpc: getwalletinfo, return wallet 'birthtime' (furszy)
12834012c2a31f7c33e3410d67edba1eaec53ae9 test: coverage for wallet birth time interaction with -reindex (furszy)
0fa47e2569a40e74db701f16421b8638a486ebd3 wallet: fix legacy spkm default birth time (furszy)
84f4a6c14587344652ef34dbf944364580417a87 wallet: birth time update during tx scanning (furszy)
074296dd60ef49bf6b28b191472f45ea4f995b4b refactor: rename FirstKeyTimeChanged to MaybeUpdateBirthTime (furszy)
35039ac3cc1c2318762907961aee412a7239ce9b fuzz: disable BnB when SFFO is enabled (furszy)
903b4623d369d86925093fdce08d18019e5266e1 test: add coverage for BnB-SFFO restriction (furszy)
05d0576d3c03ae3797c91ac51bff4e2a18d6a993 wallet: create tx, log resulting coin selection info (furszy)
5493ebbe7428f95e41d5c7a64aea9e7f33190579 wallet: skip BnB when SFFO is active (Murch)
b15e2e2cec596662275e790449fd250b6be75076 test: add regression test for the getrawtransaction segfault (Martin Zumsande)
5097bb3389fe3add504851302918692b3f05db70 rpc: fix getrawtransaction segfault (Martin Zumsande)
81e744a9a6a55cb5c2b88cd6eeb9dd6523f3a438 ci: Use Ubuntu 24.04 Noble for asan (MarcoFalke)
69e53d1e47613efb831d01e446b790d21c35ba4b ci: Use Ubuntu 24.04 Noble for tsan,tidy,fuzz (MarcoFalke)
d2c80b6f52f255c8d9237177bf0bd1b160409b81 doc: Missing additions to 26.0 release notes (fanquake)
8dc2c753ff3b89c3afefdc791fff38ac590488da doc: add historical release notes for 26.0 (fanquake)
Pull request description:
Backports for `26.x`. Currently:
* https://github.com/bitcoin/bitcoin/pull/28920
* https://github.com/bitcoin/bitcoin/pull/28992
* https://github.com/bitcoin/bitcoin/pull/28994
* https://github.com/bitcoin/bitcoin/pull/29003
* https://github.com/bitcoin/bitcoin/pull/29023
* https://github.com/bitcoin/bitcoin/pull/29080
* https://github.com/bitcoin/bitcoin/pull/29176
ACKs for top commit:
TheCharlatan:
ACK 7b79e54474b86864c81148c74824bfe4b732412d
glozow:
ACK 7b79e54474b86864c81148c74824bfe4b732412d, matches mine
Tree-SHA512: 898aec76ed3ad35e0edd0980af5bcc21bd60003bbf69e0b4f473ed2aa38c4e3b360b930bc3747cf798195906a8f9fe66417524f5e5ef40fa68f1c1aaceebdeb0
04edf9f586
[refactor] Add helper for iterating through mempool entries
Instead of reaching into the mapTx data structure, use a helper method
that provides the required vector of CTxMemPoolEntry pointers.
Github-Pull: #28391
Rebased-From: 453b4813ebc74859864803e9972b58e4be76a4d6
fc62271015
net: create I2P sessions with both ECIES-X25519 and ElGamal encryption
A Bitcoin Core node may only connect to a peer destination via I2P if both sides
have sessions with the same encryption type. The encryption type is a property
of the session, not the destination. Sessions may support multiple encryption
types.
As Bitcoin Core is not currently setting the I2P encryption type when creating
sessions, it is using the older default, ElGamal (type 0).
This pull updates Bitcoin Core to use both ECIES-X25519 and ElGamal (types 4 and
0, respectively). This allows to connect to I2P peers with either type, and the
newer, faster ECIES-X25519 will be preferred.
See also the recently updated section "Signature and Encryption Types" in
https://geti2p.net/en/docs/api/samv3
Thanks and credit to zzzi2p (https://github.com/zzzi2p) for reporting.
Closes https://github.com/bitcoin/bitcoin/issues/29197.
Github-Pull: #29200
Rebased-From: 9d728916b27e18efc6f8839770ed5ec14789fc08
fe0f8fe8aa
[log] mempool loading
Log at the top before incrementing so that this log isn't printed when
there's only 1 tx.
Github-Pull: #29227
Rebased-From: eb78ea4eebfe150bc1746282bfdad6eb0f764e3c
7ec34554af
snapshots: don't core dump when running -checkblockindex after `loadtxoutset`
[test] rescan legacy wallet with reorged parent + IsFromMe child in mempool
Test that wallet rescans process transactions topologically, even if a
parent's entry into the mempool is later than that of its child.
This behavior is important because IsFromMe requires the ability to look
up a transaction's inputs.
Github-Pull: #29179
Rebased-From: c3d02be536ac3f35c10efa03653186a17ebbfc12
ecb8ebc660
[test] import descriptor wallet with reorged parent + IsFromMe child in mempool
Test that wallet rescans process transactions topologically, even if a
parent's entry into the mempool is later than that of its child.
This behavior is important because IsFromMe requires the ability to look
up a transaction's inputs.
Co-authored-by: furszy <matiasfurszyfer@protonmail.com>
Github-Pull: #29179
Rebased-From: df30247705940c50c5eaafd74e2abbeb8b0cec07
ac1b9a51db
Use hardened runtime on macOS release builds.
The Apple notary service requires submitted app bundles to be configured to use the hardened runtime libraries. This is configured at signing time, and supported by the signapple tool Bitcoin Core uses for reproduceable signed binaries. We simply need to pass "--hardened-runtime" when the signature is created. Once attached to the bundle, the resulting codesigned binary can be successfully submitted to the Apple binary notarization service by any Apple Developer.
Github-Pull: #29127
Rebased-From: 4fdd836db92e789c98b9e68398ca931a968cc9c3
11f3a7e6ba
Merge bitcoin/bitcoin#29209: [26.x] more backports
11f3a7e6baf145360190635f47b1fb371fb38912 Use hardened runtime on macOS release builds. (Mark Friedenbach)
ac1b9a51dbb0ac682ac04e0a2a711091d5e962d8 [test] import descriptor wallet with reorged parent + IsFromMe child in mempool (glozow)
ecb8ebc6608c71676f377398b8dd38fc484dc48e [test] rescan legacy wallet with reorged parent + IsFromMe child in mempool (Gloria Zhao)
438ac2947dd76f9abd11d73b442656d5c77754cf snapshots: don't core dump when running -checkblockindex after `loadtxoutset` (Mark Friedenbach)
7ec34554afca9159096720de36f44707a4c628ce [log] mempool loading (glozow)
fe0f8fe8aa4a8c4dddf45f4e3519a5ded8c79ad5 net: create I2P sessions with both ECIES-X25519 and ElGamal encryption (Jon Atack)
fc62271015e9585bd3a3889adac894c9ef2e2ab2 [refactor] Add helper for iterating through mempool entries (stickies-v)
Pull request description:
Backports for 26.x. Includes:
- 453b481 from #28391
- #29179
- #29200
- #29227
- #28791
- #29127
ACKs for top commit:
stickies-v:
ACK 11f3a7e6baf145360190635f47b1fb371fb38912
Tree-SHA512: 20ef871ec768f2328056d83f958e595b36ae9b8baa8a6e8b0e1f02c3df4b16965a8e05dcb4323afbcc9ecc4bdde10931232512022c39ee7e12baf9795bf25bf1
74df372750
build: Fix `-Xclang -internal-isystem` option
LLVM Clang >=16.0 and Apple Clang >=15.0 do not recognize
`-Xclang -internal-isystem/usr/local/include` anymore.
For example, see: https://github.com/llvm/llvm-project/commit/cbbe1d44546db52c71c9a2b18f85b87ae82df9e7
Github-Pull: #29195
Rebased-From: 8decc5c726caca2381cffbd1b3585862421f5b8e
This change is a result if pulling the recent translations
from the Transifex website using the
bitcoin-maintainer-tools/update-translations.py tool.
A few manual adjustments were made:
- skipped removing of `bitcoin_af.ts`
- skipped removing of `bitcoin_ar.ts`
- skipped adding of `bitcoin_ru_RU.ts` (`bitcoin_ru.ts` is already
present)
c27793891a
[build] bump version to 26.1rc1d4aeb4a5a0
[doc] update manual pages for 26.1rc10ffeaf237a
[doc] add release notes for 26.1rc11e7fb270d3
Merge bitcoin/bitcoin#29440: [26.1] final changes for 26.1rc1
1e7fb270d36310efff6fc968f1c52291043d461b [doc] add release notes for 26.1rc1 (glozow)
0ffeaf237afa337e582cc54984d90cdf12c372d1 [doc] update manual pages for 26.1rc1 (glozow)
d4aeb4a5a0426e97eb4bd3240a97e8691800e030 [build] bump version to 26.1rc1 (glozow)
c27793891a54376d1eb927c4315c9b47b3af3840 qt: 26.1rc1 translations update (Hennadii Stepanov)
40e7693fa10d8859c1754d2efa4463345d236c81 ci: Switch native macOS CI job to Xcode 15.0 (Hennadii Stepanov)
72eab1ca64071efde811e0b3886dcf253c6780d2 build: Fix `-Xclang -internal-isystem` option (Hennadii Stepanov)
Pull request description:
Final changes to tag a 26.1rc1.
Bumps version numbers, man pages, adds release notes etc.
ACKs for top commit:
hebasto:
re-ACK 1e7fb270d36310efff6fc968f1c52291043d461b
fanquake:
ACK 1e7fb270d36310efff6fc968f1c52291043d461b
Tree-SHA512: 0f4146590d61f4f9322f3147f672ff2af48fc1d85c708b959adcbdb50b8f280570cb732d9f4a424c014046d07e9aa6e408fc3a0337dbaf8cbaea5283697da35a
a4690485d1
rpc: keep .cookie if it was not generated
Otherwise, starting bitcoind twice may cause the `.cookie`
file generated by the first instance to be deleted by the
second instance shutdown (after failing to obtain a lock).
Github-Pull: bitcoin/bitcoin#28784
Rebased-From: 7cb9367157eb42ee06bc6fa024522cc14a80138d
1e956439eb
Merge bitcoin/bitcoin#29503: 26.x: backport #28784 ("rpc: keep .cookie if it was not generated")
1e956439eb86de7a455560c349370684f4e54561 rpc: keep .cookie if it was not generated (Roman Zeyde)
Pull request description:
v26 introduced a regression in that starting a `bitcoind` twice may have the second instance delete the cookie file of the first, making it impossible to communicate with it.
Not a big deal but it's annoying, only an issue for 26.0, and the patch is trivial.
ACKs for top commit:
glozow:
lgtm ACK 1e956439eb86de7a455560c349370684f4e54561
Tree-SHA512: 0e4b18aebaaf284944f1709b238c8c0acce5e8997409e0c278a5a30ac221ac1ff1d3ad31fbf2ac15b03bf7582891e07a7a2cf00f13cb596aa9512566b9320c23
a718bfafe7
test: Drop `x` modifier in `fsbridge::fopen` call for mingw builds
The MinGW-w64 toolchain links executables to the old msvcrt C Runtime
Library that does not support the `x` modifier for the _wfopen()
function.
Github-Pull: #29357
Rebased-From: d2fe90571e98e02617682561ea82acb1e2647827
We preemptively perform a block mutation check before further processing
a block message (similar to early sanity checks on other messsage
types). The main reasons for this change are as follows:
- `CBlock::GetHash()` is a foot-gun without a prior mutation check, as
the hash returned only commits to the header but not to the actual
transactions (`CBlock::vtx`) contained in the block.
- We have observed attacks that abused mutated blocks in the past, which
could have been prevented by simply not processing mutated blocks
(e.g. https://github.com/bitcoin/bitcoin/pull/27608).
Github-Pull: #29412
Rebased-From: 49257c0304828a185c273fcb99742c54bbef0c8e
fuzz: restrict fopencookie usage to Linux & FreeBSD
Should fix the GCC compilation portion of #29517:
https://github.com/bitcoin/bitcoin/issues/29517#issuecomment-1973573314.
See also:
https://www.gnu.org/software/gnulib/manual/html_node/fopencookie.html
but note that FreeBSD has supported this function since 11.x.
Github-Pull: #29529
Rebased-From: 312f3381a2d3a7afb7c81b4662214d4d67b4e84a
fce992b38e
update release notes 26.1b6d006d2a2
[build] bump version to v26.1rc2bd715bfb30
[doc] update manual pages for v26.1rc2c68d4d0ac5
Merge bitcoin/bitcoin#29509: [26.x] backports and final changes for v26.1rc2
c68d4d0ac5b8537ba5e1c0c512b807768e1c5c1f [doc] update manual pages for v26.1rc2 (glozow)
bd715bfb3030f392b3b19f9a05aada48e385a0d9 [build] bump version to v26.1rc2 (glozow)
b6d006d2a2b840e4a5af96c8d838e1cf589d3bce update release notes 26.1 (glozow)
fce992b38e59c90babe505eda0d72f05d79eb2f3 fuzz: restrict fopencookie usage to Linux & FreeBSD (fanquake)
40c56a4d1341017b02dcb71882b1b1f03f880b1d test: make sure keypool sizes do not change on `getrawchangeaddress`/`getnewaddress` failures (UdjinM6)
7c82b2758c6bcfb8a94d2086f0d40088286815e8 wallet: Avoid updating `ReserveDestination::nIndex` when `GetReservedDestination` fails (UdjinM6)
b5419ce6b621121bb1a0ec497968eb16cc012c39 p2p: Don't consider blocks mutated if they don't connect to known prev block (Greg Sanders)
0535c253fe71ae9d875827cafed41a8889f4a702 [test] IsBlockMutated unit tests (dergoegge)
8141498f3ad3ae9c42c32346ee73dc7f29e72cb5 [validation] Cache merkle root and witness commitment checks (dergoegge)
0c5c5962cbfdfd532cebc6706d5b838488b89d53 [test] Add regression test for #27608 (dergoegge)
24736350e932799c66c999470fa3837e25576fc7 [net processing] Don't process mutated blocks (dergoegge)
50c0b61a9d562240d5fe4bd79324b0c0e79caa5c [validation] Merkle root malleation should be caught by IsBlockMutated (dergoegge)
aff368fa817b065d99729186d304fff02f6e527b [validation] Introduce IsBlockMutated (dergoegge)
076c67c3aae424e58863dde3bc37cedecc496935 [refactor] Cleanup merkle root checks (dergoegge)
97a1d0a45959a29464ae73087c7a0adcdebd5a61 [validation] Isolate merkle root checks (dergoegge)
4ac0eb543d028379bb2b86ab08bbbb2f9f48d5b1 test: Drop `x` modifier in `fsbridge::fopen` call for mingw builds (Hennadii Stepanov)
Pull request description:
Includes:
- #29357
- #29412
- #29524
- #29510
- #29529
Also does:
- update to release notes
- bump to rc2
- manpages
- (no changes to bitcoin.conf)
ACKs for top commit:
achow101:
ACK c68d4d0ac5b8537ba5e1c0c512b807768e1c5c1f
Tree-SHA512: 2f8c3dd705e3f9f33403b3cc17e8006510ff827d7dbd609b09732a1669964e9b001cfecdc63d8d8daeb8f39c652e1e4ad0aac873d44d259c21803de85688ed2b
c33e83a53a
ci: Add workaround for Homebrew's python link error
Promoting Homebrew's python@3.12 to the default python3 breaks symbolic
links on macOS x86_64.
This change adds a workaround for that issue.
Also see: https://github.com/actions/runner-images/issues/9471 etc.
Github-Pull: #29610
Rebased-From: ae5f72027f1776f815a6637c594f0f725a6ccb55
324e562399
ci, macos: Use `--break-system-packages` with Homebrew's python
Homebrew's python@3.12 is marked as externally managed (PEP 668),
necessitating different approaches for installing Python packages.
For more details, please refer to https://github.com/orgs/Homebrew/discussions/3404.
Github-Pull: #29610
Rebased-From: acc06bc91f80ddf4e015dcdf0b984bbdbfcb5ca3
b53bf22c72
[build] bump version to 26.1 final5f06dcf9c9
[doc] update release notes 26.1785242dd4c
[doc] add manual pages for 26.1cc0553d0d6
Merge bitcoin/bitcoin#29719: [26.x] final changes for 26.1
cc0553d0d666a6ad5cdd3b88ddb06af883b6d7a1 [doc] add manual pages for 26.1 (glozow)
785242dd4ca5b05155f67a8ab097dc35ee183559 [doc] update release notes 26.1 (glozow)
5f06dcf9c9481ab8f034aece447e12da67ab7ce7 [build] bump version to 26.1 final (glozow)
b53bf22c722309cba923b90840c1e48b98f553c9 ci, macos: Use `--break-system-packages` with Homebrew's python (Hennadii Stepanov)
324e56239960308333ac9e46f1c815020f0b149f ci: Add workaround for Homebrew's python link error (Hennadii Stepanov)
Pull request description:
Final changes for `v26.1`.
Bins for rc2 have been available for 10 days and I haven't seen any bug reports or new things to add.
Includes #29610 backport for the CI, which has no effect on what goes into the release.
Website PR: https://github.com/bitcoin-core/bitcoincore.org/pull/1009
ACKs for top commit:
hebasto:
ACK cc0553d0d666a6ad5cdd3b88ddb06af883b6d7a1.
fanquake:
ACK cc0553d0d666a6ad5cdd3b88ddb06af883b6d7a1
stickies-v:
ACK cc0553d0d666a6ad5cdd3b88ddb06af883b6d7a1 (modulo CI passing)
Tree-SHA512: d032157c7cdf07a474e40b947f7e51bfc6a8e280e43345522bad67b6ad449d473f29bf03ee845b2e403693c1c81078589d042337c895eceb8a59cb4340432887
0b4aa31c34
[doc] archive 26.1 release notesc21bbcc898
Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us
To avoid issues with DNS blacklisting, I've setup a separate domain for my DNS seed.
Github-Pull: #29691
Rebased-From: 4f273ab4360c9aa72c2feb78787e1811ab58dc16
d39ea519c7
[rpc, bugfix] Enforce maximum value for setmocktime
The issue is that compilation is done with `x86_64-w64-mingw32-g++-posix`,
but then linking is done with `x86_64-w64-mingw32-g++`.
I'm guessing this has been broken since #24131
(01d1845a80ae48d741deea695ddce95d940ab0d8), but have not checked.
Fixes #29734.
Unblocks #29527 (now DEBUG=1 builds can be tested).
Github-Pull: #29747
Rebased-From: b7e7e727abd86104ee58beb648a94e2f453d1f6d
e4859c82c7
sign: don't assume we are parsing a sane Miniscript
The script provided for signature might be externally provided, for
instance by way of 'finalizepsbt'. Therefore the script might be
ill-crafted, so don't assume pubkeys are always 32 bytes.
Thanks to Niklas for finding this.
Github-Pull: #29853
Rebased-From: 4d8d21320eba54571ff63931509cd515c3e20339
doc: Suggest installing dev packages for debian/ubuntu qt5 build
Pretty much all library packages were renamed in the 64-bit time_t
migration to add `t64` (even on 64-bit platforms).
Instead of complicating the doc with conditional package names, suggest
installing the `-dev` packages which still have the same name, and
besides that, are the right way to go about it as they contain the
"user facing" C++ headers needed to build against Qt5.
For Fedora, devel packages are already suggested.
This affects Ubuntu 24.04 and Debian Testing.
Github-Pull: #29764
Rebased-From: a3c6a13cb23999fa70c428f1229acbf1b3883f11
c587753f48
ci: Pull in qtbase5-dev instead of seperate low-level libraries
Fix CI build for t64 migration.
Github-Pull: #29764
Rebased-From: 6c2990416e2dabd845f5ec50ec6ff138136c9b08
f9b76bae57
depends: Fix build of Qt for 32-bit platforms
The 32 to 64-bit time_t transition causes a build failure in the built-in
zlib about conflicting _TIME_BITS and _FILE_OFFSET_BITS.
Note that zlib doesn't use time_t at all, so it is a false alarm.
Take the following patch from upstream zlib:
https://github.com/madler/zlib/commit/a566e156b3fa07b566ddbf6801b517a9dba04fa3.patch
Closes #29980.
Github-Pull: #29985
Rebased-From: 2e266f33b5d2be5c233c2c692481f75785714fa1
7f45e00174
rpc: move UniValue in blockToJSON
Without explicitly declaring the move, these UniValues get copied,
causing increased memory usage. Fix this by explicitly moving the
UniValue objects.
Used by `rest_block` and `getblock` RPC.
Github-Pull: #30094
Rebased-From: b77bad309e92f176f340598eec056eb7bff86f5f
p2p, bugfix: detect addnode cjdns peers in GetAddedNodeInfo()
Addnode (manual) peers connected to us via the cjdns network are currently not
detected by CConnman::GetAddedNodeInfo(), i.e. fConnected is always false.
This causes the following issues:
- RPC `getaddednodeinfo` incorrectly shows them as not connected
- CConnman::ThreadOpenAddedConnections() continually retries to connect them
Github-Pull: #30085
Rebased-From: 684da9707040ce25d95b2954eda50b811136d92c
21d9aaae32
[doc] add draft release notes for 26.2rc1aa7e876953
aa7e876953c460e8ff97a719fdb18f4f3ac4896f [doc] add draft release notes for 26.2rc1 (glozow)
21d9aaae3226d76094d323c1de8e1470c5384622 p2p, bugfix: detect addnode cjdns peers in GetAddedNodeInfo() (Jon Atack)
ec5ce2fb2b34cdf9691557121faa69298daa97f2 windeploy: Renew certificate (Ava Chow)
96d0e818c5801d4af5570241cd9949cddbacba5e rpc: Reword SighashFromStr error message (MarcoFalke)
6685affe92ce61a586d257b3ccdf0d97f8b9ef85 rpc: move UniValue in blockToJSON (willcl-ark)
7f45e0017417d1a100c60ff02cc72eb788b6f9c6 depends: Fix build of Qt for 32-bit platforms (laanwj)
f9b76bae57a79f55b3a6eff0a029b5dc21b1730c ci: Pull in qtbase5-dev instead of seperate low-level libraries (laanwj)
c587753f484d2ccb5b93a7cd37c7a8d491e03818 doc: Suggest installing dev packages for debian/ubuntu qt5 build (laanwj)
7ecdb0846dd7d5ff66aec961515c552a531d25f8 ci: Bump s390x to ubuntu:24.04 (MarcoFalke)
d9ef6cf934cbd8e9b2f8256de001ca44f74ad6e9 sign: don't assume we are parsing a sane Miniscript (Antoine Poinsot)
e4859c82c7b848554b4e9d27c2f8b8615422528e depends: fix mingw-w64 Qt DEBUG=1 build (fanquake)
bb46b90b2ec7c8a4955ed8c5711bbc128d803b76 Fix #29767, set m_synced = true after Commit() (nanlour)
bf5b6fc8a7c7e6c13520671bb7b2d4d1d110c2bb Throw error if invalid parameters passed to getnetworkhashps RPC endpoint (Jameson Lopp)
a81a9228fbaaa10d6308299f11d6093485d645e5 [rpc, bugfix] Enforce maximum value for setmocktime (dergoegge)
d39ea519c71ea9e0f2ed0ee79cc66ecaf35e86ee Change Luke Dashjr seed to dashjr-list-of-p2p-nodes.us (Luke Dashjr)
c21bbcc898d9c1fbc77ca93e46fc84ae22b68afa [doc] archive 26.1 release notes (glozow)
Pull request description:
Archives 26.1 release notes and adds draft release notes for 26.2rc1
Also backports:
- #29691
- #29869
- #28554
- #29747
- #29853
- #29856
- #29764
- #29776
- #29985
- #30094
- #29870
- #30149
- #30085
ACKs for top commit:
stickies-v:
re-ACK aa7e876953c460e8ff97a719fdb18f4f3ac4896f, only changes are fixing commit msg and transifex reference
willcl-ark:
ACK aa7e876953c460e8ff97a719fdb18f4f3ac4896f
Tree-SHA512: b81ba6092640de696d782114cdf43e7ed1d63ea0a3231cade30653c2743d87700e0f852a1b1fcc42ae313b2d4f004e6026ddbad87d58c2fde0a660e90026ed98
6d7a1e3670
depends: Fetch miniupnpc sources from an alternative website
The https://miniupnp.tuxfamily.org website is unavailable now.
Rebased-From: 21b8a14d37c19ce292d5529597e0d52338db48a9
Github-Pull: #30151
7b2489f57f
qt: 26.2rc1 translations update
This change is a result if pulling the recent translations
from the Transifex website using the
bitcoin-maintainer-tools/update-translations.py tool.
A few manual adjustments were made:
- skipped removing of `bitcoin_af.ts`
- skipped removing of `bitcoin_ar.ts`
- skipped removing of `bitcoin_fa.ts`
- skipped removing of `bitcoin_la.ts`
- skipped removing of `bitcoin_ru.ts`
- skipped removing of `bitcoin_th.ts`
- skipped removing of `bitcoin_uk.ts`
present)
b99229737d
[build] bump to version 26.2rc14c824bbe03
[doc] manpages for 26.2rc103a91a0142
[doc] update release notes for 26.2rc17ca424f8e6
Merge bitcoin/bitcoin#30260: [26.x] backports and final changes for 26.2rc1
7ca424f8e651707effe1380aaf72d9ad0e97aa18 [doc] update release notes for 26.2rc1 (glozow)
03a91a0142ceaec369154151fba928b56aae6f08 [doc] manpages for 26.2rc1 (glozow)
4c824bbe03e61dab5665f59903d368ce3cc514d2 [build] bump to version 26.2rc1 (glozow)
b99229737d2416983136a91b8cf93c5af53ab924 qt: 26.2rc1 translations update (Hennadii Stepanov)
7b2489f57ff76dd6f25713e10deed0529a0d2111 depends: Fetch miniupnpc sources from an alternative website (Hennadii Stepanov)
Pull request description:
Backports + release notes for:
- #30151
And final changes for 26.2rc1:
- build changes
- manpages
- non-removal translations updates
ACKs for top commit:
stickies-v:
ACK 7ca424f8e651707effe1380aaf72d9ad0e97aa18
fanquake:
ACK 7ca424f8e651707effe1380aaf72d9ad0e97aa18
Tree-SHA512: 881697eb6fb78261e3deb5064d6f38227b449049add810c7da999a1f22fad60b9dd32057c626bbfaa7e461d53635cd2f7a9fb225eba0f6fb503afd4f1ef6c46d
d10cf127e5
upnp: add compatibility for miniupnpc 2.2.8
See: https://github.com/miniupnp/miniupnp/commit/c0a50ce33e3b99ce8a96fd43049bb5b53ffac62f
The return value of 2 now indicates:
"A valid connected IGD has been found but its IP address is reserved (non routable)"
We continue to ignore any return value other than 1.
Github-Pull: #30283
Rebased-From: 8acdf66540834b9f9cf28f16d389e8b6a48516d5
391ce775f4
doc: add 30283 cherry-pick to rel notes10413ac46c
Merge bitcoin/bitcoin#30319: [26.x] upnp: fix build with miniupnpc 2.2.8
10413ac46c07d3a45dc9d71818f59ffdb1129032 doc: add 30283 cherry-pick to rel notes (fanquake)
391ce775f4661d2b9faa616b5d3d0511b53b79b2 upnp: add compatibility for miniupnpc 2.2.8 (Cory Fields)
Pull request description:
Backports https://github.com/bitcoin/bitcoin/pull/30283 to the 26.x branch.
ACKs for top commit:
edilmedeiros:
ACK 10413ac46c07d3a45dc9d71818f59ffdb1129032
theuni:
ACK 10413ac46c07d3a45dc9d71818f59ffdb1129032
Tree-SHA512: 4a0f4eceefd5bbf9c97d19c4890b85963d56449856a56e6fe24161d3d6f37332de719da342d6c00ee67f2cd9434d849809a3cdc51719dc93219ec218c35a9f97
6bbfdcfb6d
[build] bump version to 26.2fe8dee826d
[build] bump copyright year29cbec45dd
[doc] update manpages 26.200f0267ac0
[doc] update release notes 26.2eef5dbc21b
Merge bitcoin/bitcoin#30376: 26.2 final changes
eef5dbc21b3fd52069f2f0855fb76a13234ebbf3 [doc] update release notes 26.2 (glozow)
00f0267ac0fcb8aa08ce4f04274499697335998d [doc] update manpages 26.2 (glozow)
29cbec45ddb0497bf6d5a641e0f5c3800ed1427a [build] bump copyright year (glozow)
fe8dee826d48a7476c3f77b6adca8a843f06e38e [build] bump version to 26.2 (glozow)
Pull request description:
bins were uploaded 2 weeks ago on June 18
website PR: https://github.com/bitcoin-core/bitcoincore.org/pull/1039
ACKs for top commit:
stickies-v:
ACK eef5dbc21b3fd52069f2f0855fb76a13234ebbf3
fanquake:
ACK eef5dbc21b3fd52069f2f0855fb76a13234ebbf3 If you want, you could also backport the changes to get the ASAN job running again, but that isn't blocking here.
theStack:
ACK eef5dbc21b3fd52069f2f0855fb76a13234ebbf3
Tree-SHA512: 7c9e97231fd51784f1cc78a9b7b07b8a201ad7f54715fab6dd3243244e9f52831f57883966f2061cbff7a68018b4345de27e3953c50d7ec801d1a61f216907d1
Merge bitcoin/bitcoin#30722: [26.x] Fix compilation with GCC 15
7d5764fb2969a3c1addec0d02a5ec38139eae791 doc: update release notes for 26.x (fanquake)
1a08364686b68dc7a4b413504e7d942be24702c2 add missing #include <cstdint> for GCC 15 (Matt Whitlock)
Pull request description:
Backports #30633 to the `26.x` branch, so that it can be compiled with GCC 15.
ACKs for top commit:
glozow:
utACK 7d5764fb2969a3c1addec0d02a5ec38139eae791
Tree-SHA512: ecf01e45f9ebb11c683252d6ca6a5a31ff767be08bb5760d1a65e583793ab50a94c3396b47931451c67830f704781eb9264a81b4b05bec943f041ef38f563475
0a2a5c4ba6
net: Fix Discover() not running when using -bind=0.0.0.0:port
When using -bind=0.0.0.0:port (or -bind=::), the Discover() function
was not being executed because the code only checked the bind_on_any
flag. This meant the node would not discover its own local addresses
if an explicit 'any' bind was used.
This commit checks both bind_on_any and any bind addresses using
IsBindAny() to ensure Discover() runs when binding to 0.0.0.0 or ::,
even if specified explicitly.
Fixes #31293
473c5f5c4a
DrahtBot
commented at 3:38 pm on February 2, 2026:
contributor
š Archived release notes are archived and should not be modified.
DrahtBot
commented at 3:38 pm on February 2, 2026:
contributor
ā»ļø Automatically closing for now based on heuristics. Please leave a comment, if this was erroneous.
Generally, please focus on creating high-quality, original content that demonstrates a clear
understanding of the project’s requirements and goals.
š Moderators: If this is spam, please replace the title with ., so that the thread does not appear in
search results.
DrahtBot closed this
on Feb 2, 2026
DrahtBot
commented at 3:38 pm on February 2, 2026:
contributor
š Thanks for the translation change. However, translations should not be submitted as pull
requests. Please see Translation Process for more information on helping with translations:
DrahtBot
commented at 3:38 pm on February 2, 2026:
contributor
The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.
Reviews
See the guideline for information on the review process.
A summary of reviews will appear here.
l0rinc
commented at 3:56 pm on February 2, 2026:
contributor
@AnmolM-777 the PR was closed because your base commit was from 2024.
If you want to resubmit the change, you can try rebasing it with git reset --hard origin/master && git cherry-pick 473c5f5c4ac8cbcbd2b9b961ca950d8f95c339d6 && git push --force .
sipa
commented at 4:00 pm on February 2, 2026:
member
@AnmolM-777 We generally do not apply fixes directly to old branches - bugs are fixed in master, and then afterwards (if relevant) backported to old release branches.
In this case 26.x is end-of-life, so we wouldn’t even backport. Please focus on fixing problems and improving master.
AnmolM-777
commented at 4:46 pm on February 2, 2026:
none
Thanks for taking a look!
Iām happy to close this PR and will keep this feedback in mind for future contributions.
This is a metadata mirror of the GitHub repository
bitcoin/bitcoin.
This site is not affiliated with GitHub.
Content is generated from a GitHub metadata backup.
generated: 2026-03-05 06:13 UTC
This site is hosted by @0xB10C More mirrored repositories can be found on mirror.b10c.me