Skip to content

release(v0.34.8): bump 4 protocol manifests + 4 desktop files + ratchet floors#92

Merged
priceflex merged 1 commit into
mainfrom
release/v0.34.8
Jun 2, 2026
Merged

release(v0.34.8): bump 4 protocol manifests + 4 desktop files + ratchet floors#92
priceflex merged 1 commit into
mainfrom
release/v0.34.8

Conversation

@priceflex
Copy link
Copy Markdown
Owner

@priceflex priceflex commented Jun 2, 2026

release(v0.34.8): NS self-register heartbeat

Cuts release v0.34.8 to ship #91 (NS self-registration heartbeat in ztlp listen).

What's in this release

PR #91 (already merged into main as 50f2a68):

  • Listener processes now own their NS presence. New --ns-register-name <name> flag opt-in.
  • Heartbeat task republishes KEY+SVC records every 8h ± 10min jitter, well below the 24h NS TTL.
  • Initial publish failure aborts startup (fail-fast — matches Windows service expectations).
  • SVC publish is skipped when --bind is 0.0.0.0 / unspecified (KEY-only mode with warning).
  • 5 new unit tests + 1 integration script + a 230-line design doc (docs/plans/).
  • All 8 CI checks passed including the Performance Gate.

This PR contains only the polyglot version bump + floor-guard ratchets required to cut the tag without drift.

Bumps

Surface 0.34.7 → 0.34.8 1.0.3 → 1.0.4
proto/Cargo.toml
gateway/mix.exs
ns/mix.exs
relay/mix.exs
desktop/src-tauri/Cargo.toml
desktop/src-tauri/tauri.conf.json
desktop/package.json
desktop/src/index.html (sidebar footer)

Plus desktop/src-tauri/Cargo.lock regenerated (was already tracked from v0.34.7).

Floor ratchets (per release-version-pinning skill pitfall #13)

All 4 floor guards moved from 0.34.7 → 0.34.8 with new "ns-self-register-heartbeat tag" descriptor:

File New floor
proto/tests/version_pin_test.rs MINIMUM_VERSION = "0.34.8"
gateway/test/ztlp_gateway/release_test.exs Version.compare(_, "0.34.8")
ns/test/ztlp_ns/release_test.exs Version.compare(_, "0.34.8")
relay/test/ztlp_relay/release_test.exs Version.compare(_, "0.34.8")

RED → GREEN proof (mandatory per skill)

Floors were ratcheted BEFORE manifest bumps, so each floor test fired RED with the exact operator-readable error future incidents will see, then went GREEN once manifests caught up.

Component RED message GREEN
proto proto/Cargo.toml version 0.34.7 is older than the v0.34.8 strict-routing tag ✅ 2/2
gateway mix.exs version 0.34.7 is older than the v0.34.8 ns-self-register-heartbeat tag ✅ 15/15
ns mix.exs version 0.34.7 is older than the v0.34.8 ns-self-register-heartbeat tag ✅ 15/15
relay mix.exs version 0.34.7 is older than the v0.34.8 ns-self-register-heartbeat tag ✅ 15/15
proto bin (regression) n/a ✅ 59/59

Invariants verified per ztlp-desktop-release skill

  • tauri.conf.jsonapp.withGlobalTauri: true (Pitfall 1 — required for content panes to render)
  • src-tauri/Cargo.tomltauri = { features = ["tray-icon", "devtools"] } (Pitfall 2)
  • cargo fmt --check clean on proto
  • ✅ Straggler-grep for 1.0.3 and bare 0.34.7 → no hits in tracked files

Why bump desktop too

NS heartbeat is a listener-side feature with zero desktop code changes. The bump follows the v0.34.7 precedent of keeping desktop and protocol versions in lockstep (the "Sync" policy in pitfall #15). This preserves the 1:1 mapping a support engineer needs when correlating an ZTLP_1.0.4_*.msi filename to the protocol tag in a customer screenshot.

Post-merge checklist

  • Squash-merge this PR
  • Tag v0.34.8 from the squash commit and push
  • Watch release.yml build artifacts (~25 min)
  • Verify 15 expected artifacts present in the release
  • Run ~/.hermes/skills/software-development/release-version-pinning/scripts/verify_release_artifact_version.sh priceflex/ztlp v0.34.8 0.34.8
  • (Deferred for Steve) Deploy MSI to trs@10.170.3.111, smoke-test the GUI (sidebar footer reads ZTLP v1.0.4, Home pane renders)

Files

13 files changed, 25 insertions, 17 deletions.

Summary by CodeRabbit

Release Notes

  • Chores
    • Version updated to 1.0.4 for the desktop application
    • Version updated to 0.34.8 for gateway, namespace, protocol, and relay services
    • Updated version verification checks across test suites

…et floors

Cut release v0.34.8 to ship PR #91 (NS self-registration heartbeat in `ztlp listen`).

What changed:
- 4 protocol manifests bumped 0.34.7 → 0.34.8
  - proto/Cargo.toml
  - gateway/mix.exs
  - ns/mix.exs
  - relay/mix.exs
- 4 desktop version files bumped 1.0.3 → 1.0.4
  - desktop/src-tauri/Cargo.toml
  - desktop/src-tauri/Cargo.lock
  - desktop/src-tauri/tauri.conf.json
  - desktop/package.json
  - desktop/src/index.html (sidebar footer string)
- 4 floor-guard tests ratcheted 0.34.7 → 0.34.8 with new "ns-self-register-heartbeat tag" descriptor
  - proto/tests/version_pin_test.rs
  - gateway/test/ztlp_gateway/release_test.exs
  - ns/test/ztlp_ns/release_test.exs
  - relay/test/ztlp_relay/release_test.exs

Why bump desktop too: precedent from v0.34.7 keeps desktop and protocol
versions in lockstep so a user reading `ZTLP_1.0.x_*.msi` filenames can
correlate to a single protocol tag at support time. NS-heartbeat is a
listener-side feature — no desktop code changed — but the bump preserves
the established 1:1 mapping.

Test results (RED → GREEN per release-version-pinning skill):

| Component | RED (floor only)                                       | GREEN (after bump)         |
|-----------|--------------------------------------------------------|----------------------------|
| proto     | "proto/Cargo.toml version 0.34.7 is older than v0.34.8"| 2/2 pass                   |
| gateway   | "mix.exs version 0.34.7 is older than v0.34.8 ns-..."  | 15/15 pass                 |
| ns        | "mix.exs version 0.34.7 is older than v0.34.8 ns-..."  | 15/15 pass                 |
| relay     | "mix.exs version 0.34.7 is older than v0.34.8 ns-..."  | 15/15 pass                 |
| proto bin | n/a                                                    | 59/59 pass (no regression) |

Invariants verified:
- tauri.conf.json `app.withGlobalTauri: true` (Tauri v2 pitfall #1)
- src-tauri/Cargo.toml tauri features include "devtools" (pitfall #2)
- No stragglers at 0.34.7 / 1.0.3 in tracked files (sanity grep)
- cargo fmt --check clean on proto

Per ztlp-desktop-release skill — verification of the actual MSI artifact
(version-string grep, then GUI smoke test on the Win bench) deferred to
post-tag verification once release.yml publishes the artifacts.
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Jun 2, 2026

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: 62e303a6-f919-486e-a2d4-8b17e9140c46

📥 Commits

Reviewing files that changed from the base of the PR and between 50f2a68 and 6b16509.

⛔ Files ignored due to path filters (1)
  • desktop/src-tauri/Cargo.lock is excluded by !**/*.lock
📒 Files selected for processing (12)
  • desktop/package.json
  • desktop/src-tauri/Cargo.toml
  • desktop/src-tauri/tauri.conf.json
  • desktop/src/index.html
  • gateway/mix.exs
  • gateway/test/ztlp_gateway/release_test.exs
  • ns/mix.exs
  • ns/test/ztlp_ns/release_test.exs
  • proto/Cargo.toml
  • proto/tests/version_pin_test.rs
  • relay/mix.exs
  • relay/test/ztlp_relay/release_test.exs

📝 Walkthrough

Walkthrough

This PR performs a coordinated version bump across the ZTLP system: desktop application components advance to v1.0.4, while backend services (gateway, NS, proto, relay) advance to v0.34.8. All affected manifests, build configs, and version floor regression tests are updated to enforce the new minimums.

Changes

Release v0.34.8 and desktop v1.0.4 version bumps

Layer / File(s) Summary
Desktop app manifest and UI updates (v1.0.4)
desktop/package.json, desktop/src-tauri/Cargo.toml, desktop/src-tauri/tauri.conf.json, desktop/src/index.html
Package metadata, Tauri build config, and UI footer version string updated from 1.0.3 to 1.0.4.
Backend service version declarations (v0.34.8)
gateway/mix.exs, ns/mix.exs, proto/Cargo.toml, relay/mix.exs
Project version fields in all backend service manifests incremented from 0.34.7 to 0.34.8; release/version bump comments added or adjusted.
Version floor regression test updates
gateway/test/ztlp_gateway/release_test.exs, ns/test/ztlp_ns/release_test.exs, proto/tests/version_pin_test.rs, relay/test/ztlp_relay/release_test.exs
Minimum version thresholds in regression tests raised to 0.34.8 with corresponding assertion messages and tag references updated.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • priceflex/ztlp#41: Same "release-version pin" change pattern with manifest version bumps and regression test floor updates across proto and Elixir components.
  • priceflex/ztlp#32: Cross-module release version floor updates in gateway/ns/relay/proto with coordinated regression test adjustments.
  • priceflex/ztlp#72: Coordinated version-floor pinning updates across manifests and regression test constants with version ratcheting.

Poem

🐰 Versions hop to new heights, so neat,
Desktop dances at 1.0.4's beat,
Backend services sync at 0.34.8,
Tests now guard at the updated gate,
All components now celebrate! 🎉

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 50.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title accurately describes the main changes: version bumps for protocol manifests and desktop files, plus ratcheting of version floor guards.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release/v0.34.8

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@priceflex priceflex merged commit 3d4cdad into main Jun 2, 2026
10 checks passed
@priceflex priceflex deleted the release/v0.34.8 branch June 2, 2026 00:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant