v0.10.0
Features
- proactive hop — migrate a healthy tunnel to a better edge (closes #260) (#263)
- hop-decision endpoint + hysteresis (closes #261) (#262)
- re-home reconnects to the rendezvous edge (closes #256) (#257)
- CLI client-leg probe/cache + candidate_edges (closes #254) (#255)
- accept client-leg RTTs and merge into edge selection (closes #252) (#253)
- route non-pinned tunnels to the agent-nearest edge (closes #250) (#251)
- pure argmin edge selector + agent-leg reader (closes #248) (#249)
- harvest agent→edge relay RTT into Redis (closes #246) (#247)
- hold one relay per edge, not a single shared relay (#243)
- add bamf outpost-tokens + outposts CLI (closes #195) (#240)
- split-horizon M2M ingress for edges vs humans (#239)
Bug Fixes
- guard rb.session under the mutex in doReconnect (data race) (#265)
- bump Go 1.26.4 → 1.26.5 for GO-2026-5856 (crypto/tls) (#241)
Documentation
- reflect shipped measured-latency edge selection (pre-release audit) (#264)
- positioning refresh — two pillars + Warpgate/JumpServer comparison (#238)
- document the missing routers (tunnels, terminal, outposts) (#237)
- fix Helm values drift — bridge maxReplicas key + resource defaults (#236)
Tests
Maintenance
- remove dead GeoIP edge selection (#245)
- rename regional-relay concept outpost → edge (closes #118) (#242)
Full Changelog: v0.9.1...v0.10.0