chore: retarget upstream portal-tunnel v2.3.5 #84

Merged
ada merged 3 commits from codex/release-v2.3.5-20260808T120204Z-v2.3.5 into master 2026-08-13 17:21:27 +00:00
Collaborator

Summary

  • Retarget the Rust relay compatibility baseline from upstream portal-tunnel v2.3.3 to v2.3.5, superseding the stalled v2.3.4 retarget in #83.
  • Preserve tunnel/discovery protocol version 8 while porting v2.3.4-v2.3.5 relay behavior: landing-page policy fields, upstream-compatible frontend directory and SPA fallback, serialized policy writes, public UDP lease addresses, and the five-minute UDP flow idle window.
  • Retarget official-client, JWT, and Go relay API-shape harnesses; build the newly required upstream frontend before the Go relay comparison.

Upstream inspection

  • Release: https://github.com/gosuda/portal-tunnel/releases/tag/v2.3.5
  • Baseline: v2.3.3 7b5fbc31b6011423ff8f386651ecf631f2fdbd38
  • Intermediate: v2.3.4 7dbe51bdbab8d8123e791042cac486d5dee677fa
  • Target: v2.3.5 79ccc6f2388dd47b0121c4593746150e084f1785
  • Protocol versions remain tunnel 8, discovery 8; Rust SDK/discovery constants stay unchanged.

Checks

  • cargo fmt --check
  • cargo metadata --locked --no-deps
  • bash -n scripts/*.sh
  • git diff --check
  • Forgejo Rust CI (PR/master green; release workflow run 977 succeeded)
  • Dockerized Linux checks and interop smokes

Native macOS compilation is not applicable because the relay depends on Linux Netlink. The local Docker driver could not run because Docker is unavailable, and the approved build-machine route timed out; required Linux compilation is therefore delegated to Forgejo CI before merge.

Release audit trail

  • Target production tag: v2.3.5+rs.1
  • Dev counter trail: tagged v2.3.5+rs.1-dev.1 (first and only v2.3.5+rs.1 dev counter).
  • Tagged dev deploy image/digest: v2.3.5-rs.1-dev.1 / sha256:0abaab5400eab8b7da5cf4dcfcbec06d2150c6e0ac7172f765d525bd75707b97.
  • Live verification: Axis A v2.3.5 direct HTTP + 45s renew/unregister; Axis B upstream controls and Rust ingress/exit/middle passed, including three-hop Rust-middle HTTP 200.
  • Production image/digest: v2.3.5-rs.1 / sha256:4506b242c79aa9a6cff19865b1f64ac4cebf9118fcdff8cbe6f8ec3273f617ec.
  • Release note link: v2.3.5+rs.1 release.
## Summary - Retarget the Rust relay compatibility baseline from upstream portal-tunnel v2.3.3 to v2.3.5, superseding the stalled v2.3.4 retarget in #83. - Preserve tunnel/discovery protocol version 8 while porting v2.3.4-v2.3.5 relay behavior: landing-page policy fields, upstream-compatible frontend directory and SPA fallback, serialized policy writes, public UDP lease addresses, and the five-minute UDP flow idle window. - Retarget official-client, JWT, and Go relay API-shape harnesses; build the newly required upstream frontend before the Go relay comparison. ## Upstream inspection - Release: https://github.com/gosuda/portal-tunnel/releases/tag/v2.3.5 - Baseline: v2.3.3 `7b5fbc31b6011423ff8f386651ecf631f2fdbd38` - Intermediate: v2.3.4 `7dbe51bdbab8d8123e791042cac486d5dee677fa` - Target: v2.3.5 `79ccc6f2388dd47b0121c4593746150e084f1785` - Protocol versions remain tunnel `8`, discovery `8`; Rust SDK/discovery constants stay unchanged. ## Checks - [x] `cargo fmt --check` - [x] `cargo metadata --locked --no-deps` - [x] `bash -n scripts/*.sh` - [x] `git diff --check` - [x] Forgejo Rust CI (PR/master green; release workflow run 977 succeeded) - [x] Dockerized Linux checks and interop smokes Native macOS compilation is not applicable because the relay depends on Linux Netlink. The local Docker driver could not run because Docker is unavailable, and the approved build-machine route timed out; required Linux compilation is therefore delegated to Forgejo CI before merge. ## Release audit trail - Target production tag: `v2.3.5+rs.1` - Dev counter trail: tagged `v2.3.5+rs.1-dev.1` (first and only v2.3.5+rs.1 dev counter). - Tagged dev deploy image/digest: `v2.3.5-rs.1-dev.1` / `sha256:0abaab5400eab8b7da5cf4dcfcbec06d2150c6e0ac7172f765d525bd75707b97`. - Live verification: Axis A v2.3.5 direct HTTP + 45s renew/unregister; Axis B upstream controls and Rust ingress/exit/middle passed, including three-hop Rust-middle HTTP 200. - Production image/digest: `v2.3.5-rs.1` / `sha256:4506b242c79aa9a6cff19865b1f64ac4cebf9118fcdff8cbe6f8ec3273f617ec`. - Release note link: [v2.3.5+rs.1 release](/gofix/portal-tunnel-rs/releases/tag/v2.3.5+rs.1).
feat: align v2.3.5 frontend and policy behavior
Some checks failed
Rust CI / Format, lint, and test (pull_request) Failing after 2m37s
23460b112b
fix: remove unused frontend path constants
All checks were successful
Rust CI / Format, lint, and test (pull_request) Successful in 1m15s
2e480a3103
ada merged commit cea5e4ea4d into master 2026-08-13 17:21:27 +00:00
Author
Collaborator

Release audit complete for v2.3.5+rs.1.

  • Commit: cea5e4ea4dba857310d8f1834d68db75d5db6479 (identical to v2.3.5+rs.1-dev.1)
  • Dev digest: sha256:0abaab5400eab8b7da5cf4dcfcbec06d2150c6e0ac7172f765d525bd75707b97
  • Production digest: sha256:4506b242c79aa9a6cff19865b1f64ac4cebf9118fcdff8cbe6f8ec3273f617ec
  • Live gates: Axis A official v2.3.5 HTTP/lifecycle/unregister passed; Axis B upstream controls and Rust ingress/exit/middle passed, including the three-hop Rust-middle former-502 gate at HTTP 200.
  • Production relay reports v2.3.5+rs.1; public/local health and reattached production client routes passed.
  • Release: v2.3.5+rs.1
Release audit complete for `v2.3.5+rs.1`. - Commit: `cea5e4ea4dba857310d8f1834d68db75d5db6479` (identical to `v2.3.5+rs.1-dev.1`) - Dev digest: `sha256:0abaab5400eab8b7da5cf4dcfcbec06d2150c6e0ac7172f765d525bd75707b97` - Production digest: `sha256:4506b242c79aa9a6cff19865b1f64ac4cebf9118fcdff8cbe6f8ec3273f617ec` - Live gates: Axis A official v2.3.5 HTTP/lifecycle/unregister passed; Axis B upstream controls and Rust ingress/exit/middle passed, including the three-hop Rust-middle former-502 gate at HTTP 200. - Production relay reports `v2.3.5+rs.1`; public/local health and reattached production client routes passed. - Release: [v2.3.5+rs.1](/gofix/portal-tunnel-rs/releases/tag/v2.3.5+rs.1)
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
gofix/portal-tunnel-rs!84
No description provided.