Releases: sess-linux/sess
Releases · sess-linux/sess
Release list
sess v0.3.0 Release
sess v0.3.0
Session state, the interactive switcher, background auto-save, opt-in
environment persistence, and a health check — plus two real bugs fixed
along the way.
New
- Session states. Every session is now
RUNNING,SAVED,STALE, or
BROKEN, detected from real system state (not guessed) and used
consistently bylist,status,switch, and the picker. sess switch— opens the interactive picker (same as runningsess
with no arguments). Selecting a session now behaves according to its
state: attach if running, restore if saved, ask before restoring a stale
one, show what's wrong if it's broken.- TUI upgrades — state column, window/pane counts, and inline actions:
rrename,cclone,ssave the currently attached session, without
leaving the picker. - Background auto-save —
sess start <name> --auto-save, or
sess auto-save <name>/--stopfor a session already running.
Interval configurable via~/.config/sess/config.toml. - Opt-in environment variable persistence — nothing is captured by
default; you allow-list variable names explicitly in
~/.config/sess/config.toml. Names that look like secrets
(*_KEY,*_TOKEN,*_SECRET,PASSWORD,AUTH,CREDENTIAL) still
get a warning on save even when explicitly listed. sess doctor(--fixfor safe, non-destructive repairs) — checks
tmux, storage, and saved session integrity.- Clarified command semantics — new
sess close <name>closes a live
session without touching its snapshot;sess deletenow only deletes
the snapshot (previously it also killed the live session — see
"Behavior change" below).
Fixed
- Interactive attach was silently broken.
restore::attachused
Command::output(), which pipes stdout/stderr instead of inheriting the
real terminal — tmux couldn't attach interactively as a result. Now uses
.status(), which inherits stdio correctly. - Self-capture bug. Running
sess savefrom inside one of the panes
being saved could capturesess save ...itself as that pane's
"current command" (since the process hadn't returned to the shell prompt
yet at the instant of capture). Restoring later would silently re-run
that save, potentially resurrecting an old snapshot. Now filtered out the
same way idle shells are.
Behavior change
sess delete <name> no longer kills a live tmux session with the same
name — it only removes the saved snapshot. Use the new sess close <name>
for that, or sess kill-session <name> to do both at once (unchanged).
Snapshot format
Snapshots now carry a version field and an optional env map. Fully
backward compatible — snapshots saved by earlier versions still load
without any migration step.
Quality
25 tests (21 unit, 4 CLI integration), cargo fmt / cargo clippy clean.
Installing
tar -xzf sess-0.3.0-linux-x86_64.tar.gz
sudo mv sess /usr/local/bin/Full changelog: see docs/ for the updated command reference,
or the commit history for the exact diff since v0.2.2.