-
v1.22.0
StableAll checks were successfulRelease / Docker Multi-Arch (push) Successful in 19m58sRelease / Binary aarch64-unknown-linux-gnu (push) Successful in 10m41sRelease / Binary x86_64-unknown-linux-gnu (push) Successful in 9m38sRelease / Linux .deb + .rpm (amd64) (push) Successful in 10m23sRelease / Linux .deb + .rpm (arm64) (push) Successful in 11m14sRelease / Linux AppImage (aarch64) (push) Successful in 10m36sRelease / Linux AppImage (x86_64) (push) Successful in 9m28sCI / Rust clippy (push) Successful in 1m35sCI / Rust fmt (push) Successful in 1m6sCI / Rust test (push) Successful in 5m7sCI / UI (SvelteKit) (push) Successful in 1m5sCI / Security Audit (push) Successful in 1m13sdocs / build (push) Successful in 32sRelease / Cosign sign artifacts (push) Successful in 20sRelease / Forgejo Release (push) Successful in 30sreleased this
2026-07-21 11:23:53 +00:00 | 40 commits to main since this releaseCertificates that renew themselves, and a donation card that asks properly.
Added
- Stratum TLS certificates are reloaded without a restart. The daemon read
cert and key exactly once at startup, so after an ACME renewal it kept
serving the old certificate until someone restarted it — and once that one
expired, TLS broke for every miner on the TLS port. Cert and key are now
watched and re-read when their mtime changes. Existing connections keep the
certificate they negotiated, new handshakes get the fresh one, and nobody
reconnects.[stratum] tls_reload_secscontrols the check interval
(default 300 s,0restores the previous read-once behaviour). A failed
reload — a half-written file mid-renewal — leaves the previous certificate
in service and retries on the next tick instead of taking the listener down.
Only V1 TLS is affected; Stratum V2 uses Noise NX with its own authority key
and has no X.509 material.
Changed
- Donation card copy, rewritten in all eight languages. It used to open
with an imperative and ask before the reader had agreed to anything; it now
leads with a question and then gives the reason — the pool charges 0% fee,
so donations are what covers the server. Four locales had been calling the
donation a tip in the service-staff sense (propina,pourboire,
mancia,打赏), inherited from the English wording; Chinese in particular
disagreed with its own admin UI, which already said捐赠. Each language
was written on its own terms rather than translated, so register and
percent typography now follow each locale's existing convention.
Fixed
scripts/verify-reproducible.shresolved release tags and assets against the
suspended GitHub account, so third-party reproducibility checks could not run
at all. Ported to the Forgejo API, with aWARPPOOL_FORGEoverride.- The doc comment on
[stratum] sv2_listensuggested:3334as an example —
the port the TLS V1 listener uses. Corrected to:34254.
dvb-WarpPool v1.22.0 — Downloads
Docker
git.warppool.org/dvb-projekt/dvb-warppool:v1.22.0(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.pubin the repo root):cosign verify-blob \ --key cosign.pub \ --bundle SHA256SUMS.bundle \ SHA256SUMS sha256sum --check SHA256SUMSFirst-time setup: run
dvb-warppool-setupfor the first-run wizard.Downloads
-
Source code (ZIP)
2 downloads
-
Source code (TAR.GZ)
1 download
- Stratum TLS certificates are reloaded without a restart. The daemon read