• v1.25.4 8fcab5f8cb

    v1.25.4
    All checks were successful
    CI / Rust clippy (push) Successful in 1m38s
    CI / Rust fmt (push) Successful in 1m9s
    CI / Rust test (push) Successful in 5m23s
    CI / UI (SvelteKit) (push) Successful in 1m10s
    CI / Security Audit (push) Successful in 1m19s
    docs / build (push) Successful in 35s
    Release / Docker Multi-Arch (push) Successful in 20m21s
    Release / Binary aarch64-unknown-linux-gnu (push) Successful in 10m59s
    Release / Binary x86_64-unknown-linux-gnu (push) Successful in 9m55s
    Release / Linux .deb + .rpm (amd64) (push) Successful in 10m54s
    Release / Linux .deb + .rpm (arm64) (push) Successful in 11m58s
    Release / Linux AppImage (aarch64) (push) Successful in 11m13s
    Release / Linux AppImage (x86_64) (push) Successful in 10m3s
    Release / Cosign sign artifacts (push) Successful in 26s
    Release / Forgejo Release (push) Successful in 37s
    Stable

    dvb-projekt released this 2026-08-01 13:19:43 +00:00 | 11 commits to main since this release

    Same fix as 1.25.3, this time without breaking every Stratum V1 miner.

    Fixed

    • The coinbase extranonce gap is now split per protocol. 1.25.3 widened
      extranonce2 from 4 to 8 bytes for both protocols at once. V1 firmware
      generates those bytes itself and ignores the extranonce2_size from the
      subscribe reply, so it kept sending 4 — and share-validator threw out every
      one of its shares as malformed. The 12-byte gap was never the problem;
      dividing it identically for both protocols was. Only the sum has to match:

      pool miner total
      Stratum V1 extranonce1 8 extranonce2 4 12
      Stratum V2 prefix 4 8 12

      V1 miners therefore see exactly the four bytes they always saw — the growth
      is absorbed by the pool's own share, which the miner only passes through.
      Sv2 keeps the room a NerdQAxe asks for, so the coinbase no longer outgrows
      its own scriptSig length field (the 1.25.3 fix, retained). EXTRANONCE1_SIZE
      and the Sv2 channel prefix are now deliberately separate constants, each
      warning about the other, because conflating them is what caused this.
      Verified against the live miners for 22 minutes before tagging: no malformed
      shares, and the reject rate matches 1.25.2 once VarDiff has settled.


    dvb-WarpPool v1.25.4 — Downloads

    Docker

    git.warppool.org/dvb-projekt/dvb-warppool:v1.25.4 (multi-arch amd64+arm64, ohne v-Präfix)

    Native packages

    • Linux .deb: amd64 + arm64 → apt install ./dvb-warppool_*.deb
    • Linux .rpm: amd64 + arm64 → dnf install ./dvb-warppool-*.rpm
    • Linux AppImage: x86_64 + aarch64 portable
    • Linux tarballs: x86_64 + aarch64 for manual installs
    • macOS .dmg: added shortly after publish (built separately) — or build from source
    • Windows .msi: paused since the forge migration (no Windows runner yet)

    Signatures

    • SHA256SUMS + cosign bundle (SHA256SUMS.bundle, project key)
    • SBOM (SPDX) for all dependencies

    Verify (project public key cosign.pub in the repo root):

    cosign verify-blob \
      --key cosign.pub \
      --bundle SHA256SUMS.bundle \
      SHA256SUMS
    sha256sum --check SHA256SUMS
    

    First-time setup: run dvb-warppool-setup for the first-run wizard.

    Downloads