Skip to content

v0.3.0 — Persistent sessions + session recording

Choose a tag to compare

@Priyanshu-1622 Priyanshu-1622 released this 21 Jul 11:27
· 14 commits to main since this release

Skiff v0.3.0 introduces two major features built on a new server-side terminal session model, plus a working logout and a community bug fix.

New features

Persistent sessions

Your SSH session now lives on the Skiff server, not in the browser tab. Close the tab, drop your wifi, or switch devices — reopen the host and you're reattached exactly where you left off, with recent scrollback replayed. Idle sessions are cleaned up automatically after 30 minutes. No tmux required on the target host; it works everywhere.

Session recording & playback

Optionally record every terminal session to disk in the open asciicast v2 format and replay it later from the new Recordings page, with full play / pause / seek / speed controls.

  • On by default in team mode — admins can review any member's sessions, which pairs with the audit log: the log shows that someone connected; recordings show what they did.
  • Off by default for personal use — your own sessions aren't recorded unless you turn it on.
  • Toggle anytime in Settings → Security → Session recording.
  • Recordings are access-controlled: in team mode a member sees only their own; admins see all.

Improvements & fixes

  • Log out button — a clear, labeled logout / lock control in the sidebar. Reads "Log out" in team mode (showing who's signed in) and "Lock vault" in personal mode.
  • Unlock lockout fix (thanks @Osamaali313, #4) — a successful unlock now clears prior failed attempts, so a legitimate user who mistypes their password a few times and then unlocks correctly is no longer locked out. The 5-fails-in-5-minutes brute-force policy is unchanged.
  • Crash-safe recordings — sessions interrupted by a server restart are reconciled on startup and remain playable.

Upgrade notes

  • Schema upgrades to v3 automatically on first start (additive, no manual migration).
  • Existing team vaults get recording enabled by default; personal vaults stay off.
  • Recordings are stored under SKIFF_DATA_DIR/recordings — already covered by the existing ./data volume, so nothing to change in your compose file.
  • No config changes required. Pull the new version and restart.

🙏 Contributors

First community contribution this release — thanks @Osamaali313 for the unlock lockout fix.


Full changelog: https://github.com/Priyanshu-1622/skiff/commits/main