0.2.3 (2026-03-02)
Features
- ci: publish multi-arch binaries on GitHub releases (45f1202)
- improve detached session retention and session UX (4e7d268)
Bug Fixes
- auth: default websocket auth to cookie channel (c43e525)
- ci: align README runtime path with docs verifier (3556dea)
- ci: build release binaries from Go module path (5215a88)
- ci: checksum only release archives (138b91f)
- ci: enforce conventional commit subjects for release-please parsing (ebae2b7)
- ci: ignore synthetic merge commits in commit subject gate (2a851b9)
- compose: avoid profile image tag collisions (bb79594)
- config: align env defaults and auth behavior with docs (1428006)
- connection: surface bootstrap failures as error status (a460069)
- dev: auto-select free server port when 8080 is busy (5e05b29)
- dev: handle Ctrl+C shutdown without recursive runner noise (cd60929)
- dev: remove lsof dependency from port fallback (230d4e6)
- docker: honor WOOTTY_COMMAND in container runtime (0c03b52)
- docker: include openssh-client in runtime image (3c629d3)
- session: separate refresh pipeline failures from network errors (87096fb)
- session: stabilize refresh coordinator callback identity (3f4d6e8)
- session: stop poll retries on terminal bootstrap failures (4cf69ce)
- transport: avoid heartbeat ping churn while awaiting pong (09b0014)
- web: align sessions auth failures and env URL route contracts (f61ad83)
- web: avoid poll refresh starvation from transport-trigger churn (2e73b80)
- web: enforce backend issue code guard against declared union (68a12b7)
- web: enforce threshold-based session refresh circuit opening (7e7a16b)
- web: make session refresh failure flow explicit and request-scoped (6fa1046)
- web: prevent duplicate transport error and close notices (7581adc)
- web: rotate transport on ws url change and surface history parse errors (0737cd7)
- web: use pointer events for session menu outside-dismiss (9b94ef4)