v0.2.0 — Setup doctor and terminal close handling
Highlights
- Setup doctor:
sway-session doctoropens a styled diagnostic TUI. Inspect adapter/session-manager setup, Sway connectivity, daemon executable, private paths, and configuration. Scripts can usesway-session --json doctorordoctor --check. - Explicit, backed-up setup repairs: preview missing Sway startup commands and terminal shortcuts with
[f], then confirm with[y]. CLI repairs require--fix sway.integration --yes. Unknown or conflicting configuration is left for manual resolution; doctor never reloads Sway, restarts services, installs packages, or modifies session state. - Terminal close intent: closing a managed terminal while shutdown protection is healthy archives its context after a short grace period, preventing unwanted login restoration. The saved identity and Herdr session remain available. Activate with
[a]and reopen with Enter interminal manage. - Smoother cleanup: archiving or deleting keeps the manager selection at the same list position; filters remain in place.
- Generic agent-session reporting: a typed
report-agent-sessioninterface and owner-onlyagent-report.socksupport adapter-supported agents. Existing Codex hooks and the legacy v1 endpoint remain compatible. Herdr still owns agent startup and resume. - Project branding and expanded documentation.
Upgrade notes
- No configuration-path or database migration is required from v0.1.1.
- Restart the sway-session daemon after installing the update to use the new runtime behavior. A package update alone does not replace an already running daemon.
- Automatic close archival requires a working logind observer and delay inhibitor. Existing contexts already absent when the daemon starts are not retroactively archived. Sway cannot distinguish a terminal adapter crash from an ordinary window close; saved sessions remain manually reopenable.
- Agent-reporting changes do not install provider hooks or reload AppArmor. The documented experimental AppArmor limitations remain unchanged.
- Sway remains the only package runtime dependency; Go is needed only to build the AUR source package. Integrations are discovered at runtime.
Verification
Independent review/fix loops completed for the merged changes. The release candidate passed unit and race tests, vet, staticcheck, completion/AppArmor/packaging checks, CGO-free builds, matching cross-repository title-indicator fixtures, and isolated Sway/Herdr lifecycle tests. Release artifacts are built for Linux amd64 and arm64.
Full changelog: v0.1.1...v0.2.0