Skip to content

v0.11.0 — profiles, trustworthy persistence, tmux arc

Pre-release
Pre-release

Choose a tag to compare

@lhanks lhanks released this 01 Sep 15:30

v0.11.0 — 2026-08-28

First clean-tag candidate under the trunk + tags flow (SPT-743): this release is published as a PRERELEASE for the beta ring; promoting it to stable flips the prerelease flag on this same release — same commit, same installers.

Highlights

  • Profiles (file-based workspaces) + machine-global shortcut library, with the workspace fully decoupled: panes/sessions are app-global, always restore on launch, and survive profile switches (SPT-681/682, SPT-739, schema v3).
  • Pane persistence made trustworthy: layout saves on every change AND a guarded final snapshot at exit; a degenerate saved layout can never wedge or wipe the workspace (SPT-738, SPT-751).
  • Session activity you can believe: busy shows only after 2s of sustained output (status-line repaints stay idle), tabs never resize on activity, and the Open Sessions panel bells a pane that finished while unfocused (SPT-746, SPT-750, SPT-747).
  • Daemon-backed persistence is opt-in per pane: only pinned panes detach on close; plain panes die with the pane, so orphan sessions can no longer accumulate (SPT-748).
  • Full tmux arc: session/window/pane picker, companion channel with copy-mode badge + typing rescue, mouse routing, pinned-session shortcuts (SPT-674–726 range).
  • Release/infra: trunk + tags workflow, explicit update-channel setting, CI + tag builds on the org's self-hosted Windows runners (SPT-743, SPT-744, SPT-605/742/745).

Bundled tickets

  • SPT-605: chore: run CI and Release on self-hosted stx-win runners
  • SPT-674: feat: tmux connect UX — auto-list, full session/window/pane tree, click-to-attach
  • SPT-675: chore: seed vanilla/test instance with default SSH tmux toolbar shortcut
  • SPT-680: feat: tmux shortcuts open the session/window/pane picker on click
  • SPT-681/682: feat: profiles (file-based workspaces) + shortcut library
  • SPT-684: feat: SSH tmux shortcuts — optional pinned session, direct attach, port-aware dedupe
  • SPT-685: feat: warm per-host SSH upload channel for remote screenshot paste
  • SPT-686: feat: tmux mouse routing — wheel scrolls history, Shift = tmux selection, drag selects locally
  • SPT-687: fix: take paste text from the paste event, not a later clipboard read
  • SPT-688: feat: shortcut editor Type selector (Directory/File/SSH/Web Page/Tool)
  • SPT-689: feat: Duplicate… on the shortcut context menu
  • SPT-691: feat: optional Start directory for tmux session creation
  • SPT-692: fix: stop the black-screen recovery kick from manufacturing the black screen
  • SPT-693: fix: black-screen detector arms on readiness, not mount time
  • SPT-694: chore: incident log accuracy — per-session dedupe + pane-agnostic summaries
  • SPT-695: fix: classify reattach failures at the source
  • SPT-706: feat: rebuild tmux picker classic-mode UI
  • SPT-707: feat: tmux companion channel core — shared control-mode state feed
  • SPT-708: feat: typing rescue from tmux copy-mode via companion
  • SPT-709: feat: truthful activate-existing via companion state
  • SPT-710: feat: copy-mode indicator badge on tmux panes
  • SPT-711: feat: live picker — tree subscribes to companion events
  • SPT-712: fix: vanilla launcher scrubs CLAUDE_CODE_* env
  • SPT-713: feat: opt-in persistence daemon for test builds
  • SPT-714/716: fix+feat: picker fixes + two-dropdown tmux picker
  • SPT-715: fix: stable launcher always serves the latest build
  • SPT-717: fix: remove committed merge-conflict marker
  • SPT-718: feat: dev-instance icon badge
  • SPT-719: feat: tmux shortcuts pin session AND window
  • SPT-720: feat: sessions-only tmux UX
  • SPT-721/722: fix: dialog dismiss + constant-size tmux connect dialog
  • SPT-723: fix: Edit Shortcut… promotes bare toolbar buttons
  • SPT-724: fix: every toolbar shortcut flavor launches correctly
  • SPT-725: fix: toolbar ids through the v1→v2 profile migration
  • SPT-726: fix: splitSshTarget at the control-mode tmuxAttach boundary
  • SPT-727: fix: shortcutId/colorId into vault and filebrowser panes
  • SPT-728: fix: reopen-last flag is the only gate on launch profile restore
  • SPT-729: fix: dev taskbar badge via setAppDetails
  • SPT-730: fix: profile write-through no longer freezes on unwritable state
  • SPT-731: fix: Go launchers route through smart-start's swap/focus decision
  • SPT-732: fix: Shortcuts-panel drag onto toolbar folders/groups
  • SPT-733: fix: one canonical vocabulary normalizer at every library ingress
  • SPT-734: feat: profile dialogs remember the last-used folder
  • SPT-735: fix: placement-sourced toolbar buttons drop into groups
  • SPT-736: fix: withhold the cursor while its position is mid-repaint
  • SPT-737: feat: Open Sessions tool panel — busy/idle, focus, detached reattach
  • SPT-738: fix: arm the layout-save listener on every restore exit path
  • SPT-739: feat: decouple workspace from profiles (schema v3)
  • SPT-742: chore: CI on self-hosted stx-win runners
  • SPT-743: chore: trunk + tags flow — retire staging
  • SPT-744: feat: explicit update-channel setting (stable|beta)
  • SPT-745: chore: workspace-scoped npm user-config for tag builds
  • SPT-746: fix: busy indicator requires sustained output
  • SPT-747: feat: Open Sessions bell — finished while unfocused
  • SPT-748: feat: daemon backing is opt-in per pane
  • SPT-750: fix: 2s busy on-delay; tabs never resize on activity
  • SPT-751: fix: exit takes a final layout snapshot
  • SPT-752: chore: version 0.11.0