Fix discover bind any v26 #34482

pull AnmolM-777 wants to merge 132 commits into bitcoin:master from AnmolM-777:fix-discover-bind-any-v26 changing 234 files +38734 āˆ’12518
  1. AnmolM-777 commented at 3:38 pm on February 2, 2026: none

    This PR fixes #31293 on the 26.x branch.

    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.

  2. doc: consolidate release note fragments b226e275b3
  3. qt: 26.0rc1 translations update 74604662f3
  4. Merge bitcoin/bitcoin#28713: [26.x] doc: consolidate release note fragments
    b226e275b398d4b91673451dbd21126a28c3bd0b doc: consolidate release note fragments (fanquake)
    
    Pull request description:
    
      Consolidate the 26.x release note fragments 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:
      dergoegge:
        ACK b226e275b398d4b91673451dbd21126a28c3bd0b
    
    Tree-SHA512: 189ccb45ed5cc213dd71cce0366a7086dc688422bcfbf28836f212c2a59628cac4f9379883ea23106585ba6ded4cce9995020b787add4ac7437be7cd868d0210
    df28880ec0
  5. Merge bitcoin/bitcoin#28715: [26.x] qt: 26.0rc1 translations update
    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
  6. build: bump version to v26.0rc1 c4fa45c2c3
  7. doc: generate manual pages for v26.0rc1 d1fe90c423
  8. doc: generate example bitcoin.conf for v26.0rc1 958ee5db63
  9. 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
    11254a34d7
  10. qt: 26.0rc2 translations update 1695c4801c
  11. Merge bitcoin/bitcoin#28763: [26.x] qt: 26.0rc2 translations update
    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
  12. 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
    6544ffa01f
  13. [net] Check i2p private key constraints
    Co-authored-by: Vasil Dimov <vd@FreeBSD.org>
    
    GitHub-Pull: #28695
    Rebased-From: cf70a8d56510a5f07eff0fd773184cae14b2dcc9
    1f11784aac
  14. [test] Test i2p private key constraints
    Github-Pull: #28695
    Rebased-From: 5cf4d266d9b1e7bd9394e7581398de5bc540ae99
    d3ebf6e9fc
  15. assumeutxo, blockstorage: prevent core dump on invalid hash
    Github-Pull: #28698
    Rebased-from: 4a5be10b928d4ed33d223972537c1cb79163e79c
    b761a58171
  16. 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
  17. 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
    deccc50631
  18. guix: update signapple
    Fixes #28449
    
    Github-Pull: #28759
    Rebased-From: 79539fbfbf4d09a8b4861ddcba5b194297bc1b65
    05e8874554
  19. 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
  20. build: bump version to v26.0rc2 0b189a9092
  21. doc: update manual pages for v26.0rc2 e4e84790f6
  22. 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
  23. 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
  24. doc: regenerate example bitcoin.conf 7dda4991a8
  25. 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
  26. 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
    1488648104
  27. ci: Update apt cache
    Github-Pull: #28925
    Rebased-From: a6cc059ea50b3629a287f66be3658e766b6ddd47
    437a5316e5
  28. ci: Switch from `apt` to `apt-get`
    Github-Pull: #28925
    Rebased-From: 710da28c72259e1054bb63d2d81a8f3aea4c9000
    5e0bcc1977
  29. 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
  30. 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
  31. 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
  32. build: bump version to v26.0rc3 3db4d1cff2
  33. doc: update manual pages for v26.0rc3 3b6c7f240c
  34. doc: update release notes for v26.0rc3
    Few further changes are expected, so reintegrate the release-notes.
    2f86d30533
  35. 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
  36. build: bump version to v26.0 final 9ce1766d20
  37. doc: update manual pages for 26.0 b0546bc907
  38. doc: update release notes for 26.0 b1d350c78b
  39. 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
    44d8b13c81
  40. doc: add historical release notes for 26.0
    Github-Pull: #29023
    Rebased-From: 7d4e47d1849ba00c5b45995a96f2c747f1a97c71
    8dc2c753ff
  41. doc: Missing additions to 26.0 release notes
    Github-Pull: #29023
    Rebased-From: ca5937553b4b4dde53995d0b66e30150401023eb
    d2c80b6f52
  42. ci: Use Ubuntu 24.04 Noble for tsan,tidy,fuzz
    Github-Pull: #28992
    Rebased-From: fa83b65ef8934b44fbac02da8dbc27fc0bc230e6
    69e53d1e47
  43. ci: Use Ubuntu 24.04 Noble for asan
    Github-Pull: #28992
    Rebased-From: fad2392c5861a88a87cb8a03d2fc9773e178feb8
    81e744a9a6
  44. rpc: fix getrawtransaction segfault
    The crash would happen when querying a mempool transaction with verbosity=2, while pruning.
    
    Github-Pull: #29003
    Rebased-From: 494a926d05df44b60b3bc1145ad2a64acf96f61b
    5097bb3389
  45. test: add regression test for the getrawtransaction segfault
    This fails on master without the previous commit.
    
    Github-Pull: #29003
    Rebased-From: 9075a446461ccbc446d21af778aac50b604f39b3
    b15e2e2cec
  46. wallet: skip BnB when SFFO is active
    Co-authored-by: furszy <matiasfurszyfer@protonmail.com>
    
    Github-Pull: #28994
    Rebased-From: 5cea25ba795d6eb9ccc721d01560783ae576af34
    5493ebbe74
  47. 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
  48. 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
    903b4623d3
  49. fuzz: disable BnB when SFFO is enabled
    Github-Pull: #28994
    Rebased-From: 576bee88fd36e207b7288077626947a1fce0fc33
    35039ac3cc
  50. 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
  51. 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
  52. 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
  53. 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
  54. rpc: getwalletinfo, return wallet 'birthtime'
    And add coverage for it
    
    Github-Pull: #28920
    Rebased-From: 1ce45baed7dd2da3f1cb85c9c25110e5537451ae
    b06b14e68d
  55. 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
  56. wallet: Fix use-after-free in WalletBatch::EraseRecords
    Github-Pull: #29176
    Rebased-From: faebf1df2afe207f5d2d4f73f50ac66824fe34bb
    ccf00b1e6e
  57. doc: update release notes for 26.x 7b79e54474
  58. Merge bitcoin/bitcoin#29011: [26.x] Backports
    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
  59. [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
  60. 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
  61. [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
  62. snapshots: don't core dump when running -checkblockindex after `loadtxoutset`
    Github-Pull: #28791
    Rebased-From: cdc6ac4126b31426261605a757c52ea2dbfb2a81
    438ac2947d
  63. [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
  64. [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
  65. 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
  66. 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
  67. 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
    72eab1ca64
  68. ci: Switch native macOS CI job to Xcode 15.0
    Github-Pull: #29195
    Rebased-From: d742be3d3f5d5063d7160f72422bce2fec953f38
    40e7693fa1
  69. qt: 26.1rc1 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 adding of `bitcoin_ru_RU.ts` (`bitcoin_ru.ts` is already
    present)
    c27793891a
  70. [build] bump version to 26.1rc1 d4aeb4a5a0
  71. [doc] update manual pages for 26.1rc1 0ffeaf237a
  72. [doc] add release notes for 26.1rc1 1e7fb270d3
  73. 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
  74. 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
  75. 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
  76. 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
    4ac0eb543d
  77. [validation] Isolate merkle root checks
    Github-Pull: #29412
    Rebased-From: 95bddb930aa72edd40fdff52cf447202995b0dce
    97a1d0a459
  78. [refactor] Cleanup merkle root checks
    Github-Pull: #29412
    Rebased-From: e7669e1343aec4298fd30d539847963e6fa5619c
    076c67c3aa
  79. [validation] Introduce IsBlockMutated
    Github-Pull: #29412
    Rebased-From: 66abce1d98115e41f394bc4f4f52341960ddc839
    aff368fa81
  80. [validation] Merkle root malleation should be caught by IsBlockMutated
    Github-Pull: #29412
    Rebased-From: 2d8495e0800f5332748cd50eaad801ff77671bba
    50c0b61a9d
  81. [net processing] Don't process mutated blocks
    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
    24736350e9
  82. [test] Add regression test for #27608
    Github-Pull: #29412
    Rebased-From: 5bf4f5ba32da4627f152b54d266df9b2aa930457
    0c5c5962cb
  83. [validation] Cache merkle root and witness commitment checks
    Slight performance improvement by avoiding duplicate work.
    
    Github-Pull: #29412
    Rebased-From: 1ec6bbeb8d27d31647d1433ccb87b362f6d81f90
    8141498f3a
  84. [test] IsBlockMutated unit tests
    Github-Pull: #29412
    Rebased-From: d8087adc7ebd4ea05dd3843e5a92e8115fd7bbcc
    0535c253fe
  85. p2p: Don't consider blocks mutated if they don't connect to known prev block
    Github-Pull: #29524
    Rebased-From: a1fbde0ef7cf6c94d4a5181f8ceb327096713160
    b5419ce6b6
  86. wallet: Avoid updating `ReserveDestination::nIndex` when `GetReservedDestination` fails
    Github-Pull: #29510
    Rebased-From: 367bb7a80cc71130995672c853d4a6e0134721d6
    7c82b2758c
  87. test: make sure keypool sizes do not change on `getrawchangeaddress`/`getnewaddress` failures
    Github-Pull: #29510
    Rebased-From: e073f1dfda7a2a2cb2be9fe2a1d576f122596021
    40c56a4d13
  88. 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
  89. update release notes 26.1 b6d006d2a2
  90. [build] bump version to v26.1rc2 bd715bfb30
  91. [doc] update manual pages for v26.1rc2 c68d4d0ac5
  92. 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
  93. 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
  94. 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
  95. [build] bump version to 26.1 final 5f06dcf9c9
  96. [doc] update release notes 26.1 785242dd4c
  97. [doc] add manual pages for 26.1 cc0553d0d6
  98. 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
  99. [doc] archive 26.1 release notes c21bbcc898
  100. 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
  101. [rpc, bugfix] Enforce maximum value for setmocktime
    Github-Pull: #29869
    Rebased-From: c2e0489b7125cceaeef355fc274dd8988822fff4
    a81a9228fb
  102. Throw error if invalid parameters passed to getnetworkhashps RPC endpoint
    Github-Pull: #28554
    Rebased-From: 9ac114e5cd9d8ade3a1d9f3d76a08ff59a3f1658
    bf5b6fc8a7
  103. Fix #29767, set m_synced = true after Commit()
    Github-Pull: #29776
    Rebased-From: bbe82c116e72ca0638751e063bf564cd1fe5c4d5
    bb46b90b2e
  104. depends: fix mingw-w64 Qt DEBUG=1 build
    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
  105. 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
    d9ef6cf934
  106. ci: Bump s390x to ubuntu:24.04
    Re-enable feature_init
    
    Github-Pull: #29856
    Rebased-From: fadf7e90dc10e212e59bb294209bab2e73c47800
    7ecdb0846d
  107. 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
  108. ci: Pull in qtbase5-dev instead of seperate low-level libraries
    Fix CI build for t64 migration.
    
    Github-Pull: #29764
    Rebased-From: 6c2990416e2dabd845f5ec50ec6ff138136c9b08
    f9b76bae57
  109. 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
  110. 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
    6685affe92
  111. rpc: Reword SighashFromStr error message
    Github-Pull: #29870
    Rebased-From: fa6ab0d020d0b1492203f7eb2ccb8051812de086
    96d0e818c5
  112. windeploy: Renew certificate
    Github-Pull: #30149
    Rebased-From: 9f4ff1e9659597307f62510f1885ad8da3a1d9a3
    ec5ce2fb2b
  113. 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
  114. [doc] add draft release notes for 26.2rc1 aa7e876953
  115. Merge bitcoin/bitcoin#29899: [26.x] archive 26.1 release notes + backports
    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
  116. depends: Fetch miniupnpc sources from an alternative website
    The https://miniupnp.tuxfamily.org website is unavailable now.
    
    Rebased-From: 21b8a14d37c19ce292d5529597e0d52338db48a9
    Github-Pull: #30151
    7b2489f57f
  117. 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
  118. [build] bump to version 26.2rc1 4c824bbe03
  119. [doc] manpages for 26.2rc1 03a91a0142
  120. [doc] update release notes for 26.2rc1 7ca424f8e6
  121. 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
  122. 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
  123. doc: add 30283 cherry-pick to rel notes 10413ac46c
  124. 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
  125. [build] bump version to 26.2 fe8dee826d
  126. [build] bump copyright year 29cbec45dd
  127. [doc] update manpages 26.2 00f0267ac0
  128. [doc] update release notes 26.2 eef5dbc21b
  129. 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
    7b7041019b
  130. add missing #include <cstdint> for GCC 15
    Github-Pull: #30633
    Rebased-From: 138f8671569f7ebb8c84e9d80c44cddeda9e3845
    1a08364686
  131. doc: update release notes for 26.x 7d5764fb29
  132. 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
  133. 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
  134. DrahtBot commented at 3:38 pm on February 2, 2026: contributor
    šŸ“ Archived release notes are archived and should not be modified.
  135. 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.

  136. DrahtBot closed this on Feb 2, 2026

  137. 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:

    https://github.com/bitcoin/bitcoin/blob/master/doc/translation_process.md

  138. 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.

  139. 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 .
  140. 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.

  141. 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.

github-metadata-mirror

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