release(v0.34.4): bump 4 manifests + ratchet floors#85
Conversation
What
----
- proto/Cargo.toml: version 0.34.3 → 0.34.4
- ns/mix.exs: version 0.34.3 → 0.34.4
- relay/mix.exs: version 0.34.3 → 0.34.4
- gateway/mix.exs: version 0.34.3 → 0.34.4
- proto/tests/version_pin_test.rs: floor 0.32.2 → 0.34.4
- {ns,relay,gateway}/test/ztlp_*/release_test.exs: floor 0.32.2 → 0.34.4
Why
---
Three feature PRs landed on main since v0.34.3 and need a tagged release so
operators can deploy compiled binaries to TRSDC and the broader fleet:
- #82 D4 — Windows NRPT-based DNS interception for ZTLP zones
- #83 D5 — Browser TLS green-lock (real X.509 chain + machine CA + SNI mint)
- #84 D6 — UI Setup Wizard (5-click post-enrollment setup)
Per the release-version-pinning skill (pitfall 13, floor decay), every
release-bump PR ratchets the floor to the new version in the SAME commit so
the floor guard is a live tripwire, not a stale value sitting two minor
versions below current. v0.32.2 floor through three releases (v0.34.0/.1/.2/.3)
was the exact decay pattern documented in the skill.
Details
-------
- Floor in Cargo.toml + 3× mix.exs all moved together so a future tag cut
on a pre-bump commit fails the floor guard with a clear "X.Y.Z is older
than v0.34.4" message naming both versions (skill pitfall 3).
- Inline manifest comments updated with the bump history.
Tests
-----
- RED first: ratcheted floors WITHOUT bumping manifests; ran
`cargo test --test version_pin_test` — got expected failure
"proto/Cargo.toml version 0.34.3 is older than the v0.34.4 strict-routing tag"
- GREEN: bumped manifests; all 4 component test suites green:
- proto: 2/2 (version_pin_test)
- ns: 15/15 (release_test)
- relay: 15/15 (release_test)
- gateway: 15/15 (release_test)
Validation
----------
- Manifest semver shape: parseable in all 4 components
- Runtime-vs-declared: passes (Elixir Application.spec / Rust CARGO_PKG_VERSION)
- Floor guard: passes at exactly v0.34.4 (eq case)
Follow-up
---------
After merge, tag v0.34.4 on the merge commit. release.yml workflow fires on
the tag and publishes:
- Rust binaries for 5 targets (linux x86/arm, darwin x86/arm, windows-msvc)
- Elixir OTP releases for NS, relay, gateway (linux x86_64)
- Desktop installers (Tauri NSIS/MSI on Windows, AppImage/deb on Linux)
- eBPF source tarball
After workflow completes, run scripts/verify_release_artifact_version.sh
priceflex/ztlp v0.34.4 0.34.4 to confirm embedded version strings match.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (8)
📝 WalkthroughWalkthroughThis PR performs a coordinated version bump from 0.34.3 to 0.34.4 across the ZTLP multi-language project. It updates version declarations in all four manifests (gateway, ns, relay, proto) and ratchets release-floor regression tests to enforce a minimum version of 0.34.4, preventing accidental downgrades. ChangesVersion bump to 0.34.4
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
What
Polyglot version bump across the 4 manifests so a tagged v0.34.4 release reports
0.34.4at runtime (not the stale0.34.3), plus a floor-guard ratchet so the version-pin tests are a live tripwire instead of decayed background noise.proto/Cargo.tomlns/mix.exsrelay/mix.exsgateway/mix.exsproto/tests/version_pin_test.rsMINIMUM_VERSION*/test/ztlp_*/release_test.exsfloorWhy
Three feature PRs have landed on
mainsince v0.34.3 and operators need compiled artifacts:Per
release-version-pinningskill pitfall 13 (floor decay): every release-bump PR ratchets the floor in the SAME commit. The v0.32.2 floor sat through four releases (v0.34.0/.1/.2/.3); that's exactly the decay pattern documented in the skill. Closing it now.RED → GREEN
RED — floors ratcheted, manifests still at 0.34.3, ran
cargo test --test version_pin_test:GREEN — after bumping manifests:
proto(Rust)ns(Elixir)relay(Elixir)gateway(Elixir)Details
Validation
Application.spec/:vsnin Elixir,env!("CARGO_PKG_VERSION")in Rust)Follow-up
After merge:
git tag v0.34.4 <merge-commit>and push the tagrelease.ymlworkflow fires and publishes Rust binaries (5 targets), Elixir OTP releases (3 components), desktop installers (Tauri NSIS/MSI/AppImage/deb), and eBPF sourcescripts/verify_release_artifact_version.sh priceflex/ztlp v0.34.4 0.34.4to confirm embedded version strings actually match the tag (skill pitfall 11)Summary by CodeRabbit
Chores
Tests