-
v0.0.17
StableGates / frontend (push) Successful in 2m23sGates / test (push) Successful in 3m15sGates / test-aarch64 (push) Successful in 8m38sGates / package (push) Successful in 5m0sGates / container (push) Successful in 19sCI / gates (push) Successful in 17m17sRelease / guard (push) Successful in 37sGates / frontend (push) Successful in 2m15sGates / test (push) Successful in 2m34sGates / test-aarch64 (push) Successful in 7m33sGates / package (push) Successful in 51sGates / container (push) Successful in 10sRelease / gates (push) Successful in 11m14sRelease / publish (push) Successful in 8m35sreleased this
2026-09-08 22:35:07 +00:00 | 12 commits to master since this releaseAdded
- A Nix flake with tag-pinned hashes.
flake.nixat the repository root buildsnxdnsforaarch64-linuxandx86_64-linuxfrom the release tarballs, and carries their hashes in a generated block. A consumer pins the flake to a release tag and gets the exact bytes that tag published;docs/how-to/install-with-nix.mdcovers the input, thenixpkgsfollows line, and Renovate.
Changed
- The release archive is written by the project's own tool.
zig build distno longer shells out to the runner'starandgzip; it writes the tar stream and the gzip container itself, with sorted entries, fixed modes, and zero timestamps. The tarball bytes now depend on the source tree, the compiler, and the admin bundle, and on nothing the host supplies — which is what lets a hash be pinned before CI rebuilds it. - The cut pins the release hashes before it commits.
zig build cutasserts the local Node, npm, and Zig match the versions CI pins, builds the release from the bumped manifest in a normalized environment, writes the resulting hashes intoflake.nix, and commits that file alongsidebuild.zig.zonas one commit. CI reverifies the pins on the bump commit and again on the tag, before anything is uploaded. nxdns versionno longer reports a git commit. The commit is gone from the command's output, fromGET /api/version, and from the admin footer, which now showsnxdns v<version>. A release identifies itself by version, and the bytes are reproducible from the tag, so a commit embedded in the binary told a reader nothing the tag did not.
Artifacts
8ee0b1f30b1ee43bcb0a0c8e789469fac794523e31468b54c199d0b571c8ab6b nxdns-0.0.17-x86_64-linux-musl.tar.gz b439ca554968b31e8d2b9a8ba9400fbc89dc27e0bb259d5d3526bc4221333c77 nxdns-0.0.17-aarch64-linux-musl.tar.gz 35ac38080eaf72f39fa6a97bd18bcfa3cc62df44b3228e52d35dc49682a24c52 IMAGE-DIGEST.txtgit.mial.net/mokhtar/nxdns:0.0.17@sha256:dde9833df05ce227a13618f3469cccd1be2ad0fcaf03f526c076a89bf7ce5c55Commits since v0.0.16
f168247 cut: build the release with the official zig tarball, skip hidden bundle files; re-pin 0.0.17 d596fd7 build: bump version to 0.0.17 f067742 cut: the pin stage compiles, and `zig build test` builds the cut binary a4eb749 changelog: 0.0.17 22abcd9 release: nix flake with tag-pinned hashes, reproducible tarballs (milestone 40) 3e57f43 cut: rerun a flaky release run once, resume after the tag 299d7af upstream: overlap attribution test builds its schedule with gatesDownloads
- A Nix flake with tag-pinned hashes.