Skip to content

v0.9.0

Latest

Choose a tag to compare

@xseman xseman released this 01 Nov 10:21
9dd45f2

0.9.0 (2026-11-01)

Features

  • cli: session send and keys wake an asleep session (bc51e1b)
  • daemon: a worktree's shells move among each other, whatever their parent (0844ecc)
  • daemon: sessions sleep after an hour by default (c16104b)
  • ui: a + after the editor tabs opens a file or a session (dfcb69f)
  • ui: a click on any Spaces project's name switches to it (5cbeccc)
  • ui: a Customizations tab beside Sessions (3c38b76)
  • ui: a double click past the tabs shows the welcome screen (38cc6ac)
  • ui: a Spaces project's chevron under the pointer is raised as a button (43a58f1)
  • ui: a tab held at the bottom's middle opens a row under all groups (d0af04d)
  • ui: a worktree's sessions share its Terminal panel's shells (92c6216)
  • ui: alt+a goes to the next session waiting on you (3eab59f)
  • ui: alt+n opens the + beside the tabs, and the palette has it (16c60d7)
  • ui: ctrl+shift+d deletes the line in the editor (484ff9f)
  • ui: Resume Session in the + menu (7f4bdd2)
  • ui: Spaces is called Sessions (90fb580)
  • ui: the drawers sit under a TOOLS strip, as NO SESSIONS in Spaces (73cc994)
  • ui: the empty area has the +, alt+s starts a session anywhere (5f38a7f)
  • ui: the focused group's content is framed on every side (f858819)
  • ui: the focused group's frame is drawn heavy (7d6c151)
  • ui: the panel is framed apart and moves into the sidebars (c36992d)
  • ui: the sidebar strips read in title case (7aca2a9)
  • ui: tree chevrons are VS Code's codicon twisties with Nerd Font icons (d1930b9)

Bug Fixes

  • daemon: asleep sessions keep their name (f973339)
  • daemon: only an agent sleeps on its own (482cb93)
  • daemon: Updated moves on real work, not on a redraw's flip (4eb1a40)
  • lsp: inserts at one position keep the server's order (4dc3d21)
  • ui: a long session name no longer drops its tab off the strip (690df0d)
  • ui: a selected folded header with whitespace marks keeps its ⋯ (c11e09d)
  • ui: a session dropped on a session joins its strip (8278c1e)
  • ui: a session in a group without the keyboard keeps drawing (783f524)
  • ui: a terminal's screen no longer fetches the other terminals (dfa6354)
  • ui: an esc with a mouse report behind it stays an esc under tmux (df69687)
  • ui: dimmed text is a color, not SGR faint (7f87f8f)
  • ui: key hints say alt+, not M- (c3467c1)
  • ui: output no longer resizes a session between two TUIs (867981d)

Performance Improvements

  • ui: a file's indent guides are counted once per text (702e85a)
  • ui: a frame takes what the last frame drew (0abc389)
  • ui: a gutter's line number styles are built once per color pair (86efe6b)
  • ui: a modal measures its items once, not on every frame (0f10cd0)
  • ui: a screen event fetches only the terminals of its session (864971f)
  • ui: keys typed into a modal draw it over the frame drawn once (f22b788)

Documentation

  • demo: hero shows two sessions at work (846528f)
  • demo: re-record every GIF with panel borders (6c0e20f)
  • demo: re-record the GIFs after a frame by frame review (6f6e709)
  • demo: record the tapes with panel borders (8ffbc36)
  • keys: alt+n's row names the resumed session too (2cc3db8)

Build System

  • deps: bubbletea v2.1.1, its renderer's flush about a quarter faster (99a4039)

Maintenance

  • ui: pickers of sessions build their rows in sessionItems (4d314c2)

Testing

  • daemon: the sleep goroutine reads no session the loop rewrites (6e9be0a)
  • daemon: torn sessions file without a race (e56f507)