Changelog
New Features
- 0a9c7b6: feat: add TCP port forwarding support with e2e tests (@almeidapaulopt)
Bug fixes
- 8756074: fix(ci): bump Hugo version to 0.161.1 for hextra v0.12.2 compatibility (@almeidapaulopt)
- c3c72b1: fix(dashboard): prevent send-on-closed-channel races in SSE and status broadcast (@almeidapaulopt)
- 0461e95: fix(docker): guard WatchEvents channel sends against consumer exit (@almeidapaulopt)
- db84879: fix(docker): include redirect ports from labels and fall back to internal port (@almeidapaulopt)
- 8907669: fix(docker): warn on unrecognized port label options (@almeidapaulopt)
- edc90ab: fix(docs): use Hugo ref shortcode for cross-page links (@almeidapaulopt)
- f89fb81: fix(healthcheck): use configurable HTTP port instead of hardcoded 8080 (@almeidapaulopt)
- c3f4684: fix(proxy): add FlushInterval for SSE streaming and fix TCP goroutine leak (@almeidapaulopt)
- 741b802: fix(tailscale): allow interactive login when no auth key is configured (@almeidapaulopt)
- 83967cc: fix(tailscale): close events channel and prevent nil-deref crashes (@almeidapaulopt)
- e512d0b: fix(tailscale): improve error messages for auth failures and stale state (@almeidapaulopt)
- d4a2e3c: fix(tailscale): stop caching single-use OAuth keys and auto-recover stale tsnet state (@almeidapaulopt)
- 11a7285: fix(tailscale): validate OAuth cached key against current tags and ephemeral setting (@almeidapaulopt)
Documentation updates
- 060bd46: docs(changelog): add beta5 bug fixes to changelog (@almeidapaulopt)
- d94c060: docs(changelog): add port option warning fix (@almeidapaulopt)
- 0aacebe: docs: add development roadmap page (@almeidapaulopt)
- 57ae287: docs: comprehensive documentation overhaul (@almeidapaulopt)
Other work
- dca69d5: cleanup(proxy): remove redundant X-Forwarded-For header copy (@almeidapaulopt)
- 1a25235: docs(health-check): document TSDPROXY_HTTP_PORT env var (@almeidapaulopt)