Skip to content

v28.4.0 - merge from upstream 28.x and make it work#38

Open
BlackcoinDev wants to merge 246 commits into
CoinBlack:28.xfrom
BlackcoinDev:v28-CORE
Open

v28.4.0 - merge from upstream 28.x and make it work#38
BlackcoinDev wants to merge 246 commits into
CoinBlack:28.xfrom
BlackcoinDev:v28-CORE

Conversation

@BlackcoinDev
Copy link
Copy Markdown
Member

this code should be fairly good. I have tested it, send/receive/stake/etc. Also compatible with ElectrumX-BLK

kehiy and others added 30 commits January 10, 2025 17:10
Github-Pull: #31611
Rebased-From: b537a2c02a9921235d1ecf8c3c7dc1836ec68131
This change resolves an issue where a missing space caused the value of
the `build_AR` variable to be concatenated with the "NM=" string. This
resulted in subsequent calls to `${AR}` and `${NM}` failing.

Github-Pull: #31627
Rebased-From: 8a46286da667d19414c30350df48ebf245589e32
…p2p_msgs

Inspired by: 00c1dbd26ddb816e5541c5724397015a92a3d06b (#31419)

Github-Pull: #31623
Rebased-From: f93f0c93961bbce413101c2a92300a7a29277506
Github-Pull: #31500
Rebased-From: f89f16846ec02942e7b81d24a85e3f40941e5426
e57359c doc: Update release notes (fanquake)
51fbcba depends: Fix compiling `libevent` package on NetBSD (Hennadii Stepanov)
2829588 tracing: Rename the `MIN` macro to `_TRACEPOINT_TEST_MIN` in log_raw_p2p_msgs (0xb10c)
f676da8 depends: Fix spacing issue (Hennadii Stepanov)
4e7dd0a doc: upgrade license to 2025. (Kay)

Pull request description:

  Backports:
  * bitcoin/bitcoin#31500
  * bitcoin/bitcoin#31611
  * bitcoin/bitcoin#31623
  * bitcoin/bitcoin#31627

ACKs for top commit:
  stickies-v:
    ACK e57359c
  willcl-ark:
    ACK e57359c

Tree-SHA512: 2ddc7e5cf1b84846b5b066509074a475bdce6ba70938c5100c985b1135ae0662568654c4053aeddb4a022c7c2c38c49f6ed42f9cc2ff68a3057236202fae141c
Github-Pull: #32187
Rebased-From: fa69c42fdf0aeec0546e951bc6132ab630edb9d4
From the GNU make 3.82 release announcement:

* The 'define' make directive now allows a variable assignment operator
  after the variable name, to allow for simple, conditional, or appending
  multi-line variable assignment.

macOS ships with 3.81. This caused the multiprocess config options
to be ignored.

Fixes #32068

Co-authored-by: Ryan Ofsky <ryan@ofsky.org>

Github-Pull: #32070
Rebased-From: 9157d9e449870851ef455e077249ac46fc2df24c
This is required for the next commit.

Github-Pull: #32336
Rebased-From: fa0c1baaf89805182de56d6a2e8eed2265a94b40
-BEGIN VERIFY SCRIPT-

 ren() { sed --regexp-extended -i "s/$1/$2/g" $( git grep --extended-regexp -l "$1" ) ; }

 ren 'cflags=\["-Wno-error=implicit-function-declaration"\]' 'cflags=bpf_cflags()'

-END VERIFY SCRIPT-

Github-Pull: #32336
Rebased-From: facb9b327b9da39ce1e09ed56199be9efb19b5b8
812e637 doc: update release notes for 28.x (fanquake)
2ccdfa4 scripted-diff: Use bpf_cflags (MarcoFalke)
3df2624 test: Add imports for util bpf_cflags (MarcoFalke)
e656762 build: use make < 3.82 syntax for define directive (Sjors Provoost)
2d6c14e refactor: Remove spurious virtual from final ~CZMQNotificationInterface (MarcoFalke)
9b15b20 test: Handle empty string returned by CLI as None in RPC tests (Brandon Odiwuor)

Pull request description:

  Backports:

  - #32070
  - #32187
  - #32286
  - #32336

ACKs for top commit:
  willcl-ark:
    ACK 812e637

Tree-SHA512: b5c9c6b70588658310fd2d79dbd2d1148d8650e020daa9ac8ea2d3380c1e95a92e554b43b0dfd989308a729c5226e1f1ddb13cb1bb56dc5be571e4fc2f2795d6
186e3f1 doc: update manual pages for 28.2rc1 (fanquake)
bbfb994 build: bump version to 28.2rc1 (fanquake)
fdc629f doc: update release notes for 28.2rc1 (fanquake)

Pull request description:

  Final changes for `v28.2rc1`.

ACKs for top commit:
  willcl-ark:
    ACK 186e3f1

Tree-SHA512: 56c192c9bfb7b2d69b7b039d8e024c18ba39dffed42dbd120f15644cac134e008333ec73ac6ef501db2f2a0f3b125b3003650c4209fa26d0ecb8b566d417374e
See https://guix.gnu.org/blog/2025/migrating-to-codeberg/.

When interacting with the old repo you may now also see:
```bash
warning: redirecting to https://codeberg.org/guix/guix/
```

Github-Pull: #32439
Rebased-From: c8d9baae942c94d64ce47ae8f67d3710e6a296bd
…on to codeberg

5c2ba9f guix: accomodate migration to codeberg (fanquake)

Pull request description:

  See https://guix.gnu.org/blog/2025/migrating-to-codeberg/.

  When interacting with the old repo you may now also see:
  ```bash
  warning: redirecting to https://codeberg.org/guix/guix/
  ```

  Github-Pull: #32439
  Rebased-From: c8d9baae942c94d64ce47ae8f67d3710e6a296bd

ACKs for top commit:
  hebasto:
    ACK 5c2ba9f.

Tree-SHA512: ce43bdaf8bba3fb6c3db2794f25aeaf60557a1151c45903cbfe8e63345f1a9b0f6255d6055b5505556942f569a1683703999e7ed1d59698bdcd4e64edbb3405e
The tarballs used for codesigning are more than merely unsigned, they
also contain scripts and other data for codesigning. Rename them to
codesigning.tar.gz to distinguish from tarballs containing actually just
the unsigned binaries.

Github-Pull: #31407
Rebased-From: c214e5268fa9322a83cbba6d47d33f830efdd89e
The MacOS binaries are unsigned and therefore also unusable on MacOS.
Indicate as such by naming the tarball "unsigned".

Github-Pull: #31407
Rebased-From: d9d49cd533bd430776c0cbe2fd666ffec3e6637b
As codesigned binaries will be published, the unsigned ones should be
clearly marked as such.

Github-Pull: #31407
Rebased-From: 4e5c9ceb9dd5a6ad8eea689d916a632e4d482812
Github-Pull: #31407
Rebased-From: dd4ec840eeb468e94cfc9e3c72cfbfd6704dc0da
Github-Pull: #31407
Rebased-From: e8b3c44da6e060464970717bbd0a5bf84867b82c
Github-Pull: #31407
Rebased-From: 710d5b5149d0bc36d2643281d81f8f9b0c51b480
Signapple has been updated to sign individual binaries, and notarize app
bundles and binaries. When codesigning, all individual binaries will be
codesigned, and both the app bundle and individual binaries will be
notarized.

Github-Pull: #31407
Rebased-From: 31d325464d0cf2d06888e0c543ae26a944f2ec6b
Github-Pull: #31407
Rebased-From: aafbd23fd97ac242f7f83e5f0fff20044176e126
Github-Pull: #31407
Rebased-From: e181bda061ca63021511be6e286fdf6a5818df49
Followup to #31407.

Github-Pull: #32003
Rebased-From: c873ab6f23e027af1c5837256ce3c9eccaf409cb
BlackcoinDev and others added 20 commits April 10, 2026 10:29
This makes sure `txsdata` always outlives the Script check queue (since local
objects are destructed in reverse order of construction).

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

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

Github-Pull: #35209
Rebased-From: 1ed799fb21db51a12cbd5579420a61b9b5b3ee7d
Docker 29.4.2 blocks `socketcall(2)` in the default seccomp profile:
https://docs.docker.com/engine/release-notes/29/#2942
https://github.com/moby/profiles/releases/tag/seccomp%2Fv0.2.2
moby/moby#52501

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

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

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

Github-Pull: #35202
Rebased-From: 11c9ef92a8daf030f75f88f324396b2248c65a64
This effectively reverts a3cb309 from PR #30194.

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

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

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

Github-Pull: #35175
Rebased-From: 0bc9d354dfd8074d1c36a891a69b6585a8775c65
c1c2184 doc: update release notes for v28.x (fanquake)
2c5242d multi_index: fix compilation failure with boost >= 1.91 (Cory Fields)
2d3edd9 ci: unconfine seccomp for i686 no IPC (Lőrinc)

Pull request description:

  Backports:
  * #35202
  * #35175

ACKs for top commit:
  achow101:
    ACK c1c2184

Tree-SHA512: ca7624f2eca1a40f3da41a1dfd8b3cb89b6029eb75b6a076b815438f1f8381c7c48c337768e08e2e18052de93d1ab6ae93a1e8a6a2804e61420cf7f17dad9f74
…recomputed tx data

076629a validation: correct lifetime of precomputed tx data (Antoine Poinsot)

Pull request description:

  This backports #35209 to the version 28 branch.

ACKs for top commit:
  achow101:
    ACK 076629a

Tree-SHA512: b8fbf38a80c82abc1648446b05d15f1e04d3f067a50d583074d969ff5a509272691c4c469217e14d86245f63de1ae78efa7bf66c2dd031895373419be155d4e3
@BlackcoinDev BlackcoinDev self-assigned this May 16, 2026
@BlackcoinDev BlackcoinDev added the upgrade version upgrade label May 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

upgrade version upgrade

Projects

None yet

Development

Successfully merging this pull request may close these issues.