Releases: marang/sway-session
Release list
v0.3.1
Changelog
- 7b27839 Merge pull request #15 from marang/feature/lab-128-doctor-health-checks
- 46a954c feat: harden doctor and generic agent policy
- 81d9f31 Merge pull request #14 from marang/feature/lab-127-crop-readme-banner
- f3d83c3 docs: crop README wordmark banner
- 41bd135 Merge pull request #13 from marang/automation/aur-v0.3.0
- 1c6d2bd chore: sync Arch package for v0.3.0
v0.3.0 — Generic agent reporting and improved setup doctor
sway-session v0.3.0
Highlights
- Doctor now understands ordinary Sway output/input/bar and literal mode blocks, continued lines and safe includes. Daemon startup, restore startup and both default terminal shortcuts have separate evidence.
- Partial checks retain known declarations and actionable limitation locations. Unknown configuration does not become a missing requirement or enable unsafe repair.
- Doctor's compact TUI pages through the actual detail viewport, so PgUp/PgDown no longer skip evidence. Additional limitations are explicitly counted when the bounded display limit is reached.
- Agent-session reporting uses the generic owner-only
agent-report.sockendpoint. Provider event translation lives in the supplied hook adapter, not a provider-specific daemon.
Breaking change: legacy Codex reporting removed
report-codex-session, codex-report.sock and the report protocol-v1 adapter have been removed. Generic agent reporting protocol v2 and session-start protocol v1 are unchanged. Stored state, configuration paths and database schema need no migration.
If you use the Codex SessionStart hook:
- Replace only its old sway-session command using the packaged example at
/usr/share/doc/sway-session/contrib/codex/hooks.json; preserve unrelated hooks. The new command is/usr/lib/sway-session/codex-report-agent-session /usr/bin/sway-session. - Ensure
jqis available for this optional hook adapter. The daemon and generic reporting command do not need it. - If using AppArmor, review and load the updated policy with
agent-report.sockaccess. - Restart the sway-session daemon, then restart or resume relevant Codex agents so their new SessionStart hook runs. Existing agents do not emit that event retroactively.
Full upgrade guidance: Agent-session reporting.
The experimental AppArmor socket and unconfined-pane limitations remain; this release does not claim to close them. Doctor inspects static configuration declarations, not an effective live keybinding inventory.
Packaging
Linux amd64/arm64 archives, DEBs and RPMs; AUR source package sway-session. Sway remains the sole runtime package dependency, and Go is build-only for source packages. No optional dependency metadata was added.
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
v0.1.1
Fixed
terminal managenow distinguishes open, closed, and unknown window presence from restore eligibility (enabled or archived).- The header shows saved and open counts. Window observations refresh on opening, after successful actions, or with
r. - Unavailable or ambiguous Sway observations show unknown rather than incorrectly reporting closed windows.
- Details label the stored activity timestamp as Last focused. Narrow terminal layouts preserve actionable footer controls.
Existing state and configuration remain compatible; no migration is required.
Validated with the full repository gate, independent review, and regression coverage for observations, refresh, and constrained/no-color rendering.
Full changelog: v0.1.0...v0.1.1
v0.1.0
Changelog
- bd2aa85 Merge pull request #1 from marang/feature/lab-119-extract-sway-session
- f578791 feat: extract standalone sway-session repository
- d4b117c Merge pull request #66 from marang/automation/aur-v0.9.3
- 3f7c43b chore: sync Arch package for v0.9.3
- e1317d2 Merge pull request #65 from marang/fix/sqlite-transient-sidecar-race
- 6c564cd fix: tolerate unlinked sqlite sidecars
- 5b3cbdb Merge pull request #64 from marang/fix/remove-aur-integration-dependencies
- 9538916 fix: remove integration package dependencies
- 06d1993 Merge pull request #63 from marang/automation/aur-v0.9.1
- 16b5fa5 chore: sync Arch package for v0.9.1
- dde3c74 Merge pull request #62 from marang/fix/lab-117-complete-sqlite-ci-stabilization
- c861248 fix: separate sqlite bootstrap from registry locking
- 80cfebc Merge pull request #61 from marang/fix/lab-117-stabilize-sqlite-lock-tests
- 627aa5c fix: serialize sqlite state initialization
- f3e69ab test: stabilize sqlite lock concurrency checks
- 41f7d6f Merge pull request #60 from marang/automation/aur-v0.9.0
- 563876f chore: sync Arch package for v0.9.0
- f76c33b Merge pull request #59 from marang/feature/lab-115-move-sway-session-persistent-runtime-state-to-sqlite
- a1419b9 feat: move sway-session state to sqlite
- 5c09ff8 Merge pull request #58 from marang/automation/aur-v0.8.0
- 0b54ec0 chore: sync Arch package for v0.8.0
- af2d729 Merge pull request #57 from marang/feature/lab-114-terminal-management-tui
- 6503196 fix: complete fish terminal manager options
- ff33d9e fix: quote fish completion patterns
- 7aa7861 feat: add persistent terminal management TUI
- 0d7c8e2 fix: isolate terminal color environment (LAB-113) (#56)
- e3bcb2b chore: sync Arch package for v0.7.1 (#55)
- ab064c6 fix: serialize terminal lifecycle recovery (LAB-112) (#54)
- 0f0330a fix: recover orphaned persistent terminals (LAB-112) (#53)
- b67eefd fix: replace upgraded animator safely (LAB-104) (#52)
- 717f6e8 fix: reject app contexts from top-level purge (LAB-102) (#51)
- 88e6818 fix: verify release sync credentials (#50)
- 81752e3 chore: sync Arch package for v0.7.0 (#48)
- 05490ba feat: configure terminal session manager (LAB-110)
- f19004b chore: sync Arch package for v0.6.1 (#46)
- bddd626 fix: harden sway-session release paths (#45)
- bca80b6 fix: keep fresh Herdr sockets within Linux limit (#44)
- e1ff2b8 chore: sync Arch package for v0.6.0 (#43)
- e251784 docs: make draft pull requests optional (LAB-107) (#42)
- 45d9102 feat: open fresh persistent terminals (LAB-106) (#41)
- 05dca31 chore: sync Arch package for v0.5.0 (#40)
- e9c3340 feat: add reusable typed Herdr terminals (#39)
- 611b70d chore: sync Arch package for v0.4.1 (#38)
- a2a6b60 fix: preserve registered application anchor (LAB-103) (#37)
- e766425 chore: sync Arch package for v0.4.0 (#36)
- fba72a1 feat: add sway-session shell completion (LAB-100) (#35)
- d85cb69 feat: add desktop app persistence indicators (LAB-99) (#34)
- 0e8186e feat: restore desktop application groups (LAB-98) (#33)
- abdf8ce refactor: isolate session runtime in sway-session daemon (LAB-101) (#32)
- baa37e9 feat: add trusted desktop app registration (LAB-97) (#31)
- 32c4f00 feat: add desktop application identity schema (#29)
- ef04e15 chore: sync Arch package for v0.3.0 (LAB-91) (#28)
- a509685 test: close instance lock signal race (LAB-91) (#27)
- 418884d fix: make AUR release retries safe (LAB-91) (#26)
- 07e8bb8 fix: align session boundary with runtime behavior (LAB-89) (#25)
- ab719d0 fix: bound session broker completion (LAB-90) (#24)
- 79371c8 feat: add narrow session start broker (LAB-88) (#23)
- 60fea19 feat: add persistent Sway work-session restoration (#22)
- 9dab38f feat: replace shutter with domino animation (#21)
- b66003a fix: restore musical sound preset motion (#20)
- 704882f fix: restore sound preset response (#19)
- 05a8c2d fix: preserve sound preset choreography (#18)
- f8edd1b fix: calm sound-reactive motion (#17)
- ce4b4da Complete sound preset integration (#16)
- b20d6eb Add smileys and glitch sound presets (#15)
- 13ba273 Add spline and ribbon sound presets (#14)
- 7853bb4 Add braid and loom sound presets (#13)
- edad661 Add constellation and circuit sound presets (#12)
- 66260da Add comet and bloom sound presets (#11)
- 3bb4295 Add radar and shutter sound presets (#10)
- 0656c02 Add square and ripples sound presets (#9)
- fcd7c07 Add spectrum and wave sound presets (#8)
- bdd4753 Add bounded audio onset events (#7)
- 1638ab5 feat: normalize audio with reconnect warm-up (#6)
- 02345fb feat: add 48 kHz stereo audio features (#5)
- a8a1b76 feat: add configurable audio capture contract (#4)
- c45f9d5 feat: make rotation the default mode (#3)
- 45ddd78 chore: update to Go 1.26.5 (#2)
- 3aa275b feat: ship animation and audio foundation (#1)
- bf3119f Optimize binary size and split IPC
- 9b3dd09 Add wave spline and smileys presets
- db2ad67 Avoid animation timer starvation
- c97449e Fix title reassert and process labels
- 344e840 Hide shell protocol badge
- 7f3e6ff Add README logo
- 738a015 Select terminal foreground process group
- ac693c6 Use generic terminal child selection
- 5d4b96f Skip unchanged animation frames
- 0f8715f Use SSH agent for AUR publish
- 26bdefe Export AUR SSH command for workflow steps
- a4615fd Fix AUR SSH host verification
- 382bf4f Add loom title animation
- d464fe8 Prioritize interactive terminal child labels
- ddda61f Detect terminal child processes
- ad6a779 Keep Sway setup docs minimal
- b9b961c Add explicit config initialization
- 4f05c4a Simplify README setup section
- 06064a3 Fix shutdown cleanup and release workflow warnings
- badd0a7 Avoid Node-based SSH action for AUR publish
- d59ee6d Update setup-go action
- 2615de6 Merge remote-tracking branch 'origin/main'
- 20d34ab Initial release scaffold
- 86b2bd9 Initial commit