All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.12.0 (2026-01-29)
- add diff::toggleMode action and change focus::switch keybinding (5d851ba)
- add git status bar to sidebar footer (390a99a)
- add pane::close action and auto-close terminals on exit (2132b4d)
- add transparent window with vibrancy effect (3ac00a1)
- add unfocused opacity for main and drawer areas (193ae65)
- add unfocused opacity for split panes (0e04eb5)
- add unified logging with tauri-plugin-log (ca0370c)
- apply custom font config to terminals on startup (c32968c)
- control terminal cursor blink and style based on active state (dd28623)
- diff editor word wrap and scrollbar issues (c52e1f6)
- focus main terminal when closing drawer (ffefe83)
- focus new pane after split (7de68fc)
- implement proper spatial navigation for split panes (b82acfc)
- make mappings config test platform-aware (8f34369)
- only show blinking cursor in drawer when drawer is focused (9dfaec5)
- preserve original terminal when creating first split (b25c2c9)
- prevent inactive tabs from bleeding through transparent panes (c41db09)
- prevent infinite focus loop when creating multiple splits quickly (6017791)
- prevent init effect cascade and add unified logging (144169d)
- prevent terminal stretch jank during panel resize (936c856)
- remove shadow and use consistent border in diff split view (77bf416)
- restore left border on right panel (d148669)
- optimize split context to prevent cascading re-renders (6a612aa)
0.11.0 (2026-01-28)
- add action to open diff view (726cf61)
- add diff viewer with branch toggle and file navigation (acdcdad)
- add VSCode theme support with border style options (f88c6f8)
- expand project in sidebar when selected (a2d9017)
- unify action system with namespaced IDs (ca04b87)
- prevent menu actions from firing multiple times (2b8b8b8)
- register session tab PTY IDs for cleanup on tab close (c4192e0)
- resolve race condition and git staging detection in changes sidebar (b7810b7)
- use correct serde rename key in mappings config test (18a0cfa)
- use full ActionId key for cycleBorderStyle override (b63b0cb)
0.10.0 (2026-01-27)
- add F2 rename session for scratch terminals (8666a93)
- add Open Settings and Open Mappings actions (af8acdf)
- add per-tab indicator tracking with proper clearing behavior (8ffaed7)
- configurable apps with target options for terminal, editor, and file manager (d8c27c6)
- make menu keyboard shortcuts configurable (ee14549)
- new terminal tabs start in the correct directory (e7ac6aa)
- update default hotkeys for sidebar and tab navigation (1424a0d)
- update tab labels from terminal title escape codes (bc0053a)
- warn about uncommitted changes and unmerged commits on worktree deletion (9003bd6)
- adjust folder menu position to appear closer to button (115acb8)
- attach ResizeObserver after PTY is ready in TaskTerminal (2115186)
- hide redundant Shell button when shell process exits (be15265)
- let Ctrl+C work through PTY line discipline (262de0c)
- pass undefined instead of null to getAppTarget (8707da7)
- prevent terminal buffer loss when closing a project (4be6c0f)
- stabilize layout by using overlay scrollbars and scrollbar-gutter (8261c62)
- update cwd display when switching tabs within scratch terminal (6a8da80)
0.9.1 (2026-01-26)
- preserve terminal history when switching between sessions (4c43ec9)
0.9.0 (2026-01-26)
- add session tabs within each session (678b983)
- allow command palette navigation to unopened projects and worktrees (7fbe2a6)
- default main.command to user's shell instead of claude (9a3976d)
- Ctrl+C now properly interrupts PTY processes like
yes(0d4fd24) - emit pty-ready for all terminal types to fix loading state (3e313db)
- restore focus to previous element when closing pickers (8afab6f)
0.8.0 (2026-01-25)
- add context-aware keybindings system (Phase 1 & 2) (c5f9f55)
- add key lookup for UI display and fix terminal copy/paste (658f6b2)
- add Rust backend for mappings (Phase 2b) (3d2f38e)
- integrate context-aware keybindings (Phase 3) (f69d4d2)
- closed projects now appear in sidebar when selected from switcher (938f453)
- only watch worktrees for active projects at startup (f5858f4)
0.7.0 (2026-01-24)
- add active/closed project management with project switcher (42b3072)
- add Cmd+Enter shortcut for merge/rebase completion banner (fc104ad)
- add command palette (1855412)
- add crash recovery with watchdog process (ffd937d)
- add error toast notifications for worktree creation failures (9b1f355)
- add file drag-and-drop support for terminals (10bae34)
- add focusNewBranchNames worktree config option (f6eee1b)
- add focusNewBranchNames worktree config option (4383779)
- add keyboard shortcuts for drawer tabs and branch renaming (a27fe96)
- add new scratch terminal action with dedicated shortcut (1b4efb8)
- add unfocusedOpacity setting for dimming inactive panes (10f55fd)
- improve close project workflow (b03cafc)
- block global shortcuts when picker is open (3579016)
- clear activeProjectId when switching to scratch terminal (0a5106b)
- focus main terminal after editing new worktree branch name (2132eed)
- make title changes bypass grace period for faster progress indicator (1e7725f)
- newly added projects not appearing in sidebar (04841e8)
- prevent double paste in terminal (6735c61)
- reduce delay showing progress indicator after switching tabs (1561895)
0.6.0 (2026-01-23)
- add buttons to open worktree in terminal/editor (7b4e7f1)
- add clickable folder path display with context menu (bffcafb)
- add configurable terminal padding (10412ce)
- add environment variable support to task configuration (f22b2c2)
- add menu bar with centralized action system (af86498)
- add open in terminal/editor to menu bar (0181cf8)
- add scratch terminals for general-purpose shell access (8613f4b)
- add shell_escape template filter (2f83817)
- auto-reload config and show parse errors (620959f)
- implement includeProjects navigation config (c55a5af)
- include projects in keyboard navigation (0aeb540)
- unify process exit UI across worktree and project views (2347ebd)
- add missing keyboard mappings to config schema (cf51559)
- correct TaskTerminal container sizing for scrollbar (3637fe9)
- dispatch resize event on zoom level change (c9246b4)
- drawer terminals in projects now spawn shell instead of main command (9651341)
- enable drawer terminal for scratch terminals (207f7ea)
- limit task search to name only (a812380)
- prevent add project dialog from reopening on escape (ed27687)
- recover WebGL renderer after context loss to prevent terminal blur (be0f75a)
- shift+esc does not send esc to terminal (d61cb35)
- task terminal not scrolling (abaf1e1)
0.5.0 (2026-01-23)
- add AI actions for merge conflict resolution (51d7e87)
- add minijinja templating for worktree directory configuration (cf83d67)
- add named task URLs and dynamic port support (9727426)
- add rebase conflict resolution support (9abbab5)
- add shell option when main task exits (dbf7650)
- add terminal zoom with configurable keyboard shortcuts (7859c8d)
- add URL display and minijinja templating for tasks (92ed5fc)
- improve AI merge conflict resolution flow (08ef8b8)
- button label and git directory resolution for worktrees (4dc0709)
- correct path handling for rebase conflict resolution (d7aae84)
- remove grab cursor on hover for draggable items (8902aff)
0.4.0 (2026-01-22)
- add drag-and-drop reordering for tabs and sidebar items (b355dd7)
- add worktree rename via double-click (cb8d411)
- display git commit hash in sidebar header (2d98959)
- improve progress indicators and add idle state (815659f)
- show progress checklist for multi-step operations (9994675)
- show running task status via green shortcut number color (d77f69b)
- show task exit status in drawer tabs (85040b5)
- add background to sidebar status indicators to prevent text overlap (44f1eec)
- enable allowProposedApi for ligatures addon in drawer terminals (0417ffb)
- optimize dev build profile for faster compilation (740a19f)
0.3.0 (2026-01-22)
- add configurable worktree base branch (2db2747)
- remove default tasks from default config (3b03462)
- run main command in project terminal, shell in drawers (7308e4c)
- release 0.3.0 (6fc98d2)
0.2.0 (2026-01-22)
- activate newly added projects immediately (8a3c114)
- add clickable links to all terminals (a615878)
- add command palette task switcher (e173a98)
- add configurable tasks feature (34b831a)
- add drawer tab navigation and centralized modal tracking (3bf2a17)
- add font ligatures option (6481743)
- add graceful shutdown with process cleanup (0729601)
- add keyboard shortcut to expand drawer to full height (80135d8)
- add keyboard shortcut to switch between current and previous view (3c9d076)
- add keyboard shortcuts for run task, new workspace, and switch focus (e4bac23)
- add keyboard shortcuts to cycle through workspaces (bd925b0)
- add keyboard shortcuts to modal dialogs (5275202)
- add merge/rebase workflow for worktree branches (10936c2)
- add per-worktree right panel with toggle (Cmd+R) (0d16e46)
- add project-level terminal support (9613e4b)
- add running task indicator to sidebar with multi-task support (0f610e3)
- add sidebar options menu with show active projects toggle (c6e227d)
- add stash workflow for repos with uncommitted changes (0da34d6)
- add stash workflow for repos with uncommitted changes (b62fa8c)
- add terminal copy/paste with configurable shortcuts (7eca3b7)
- add terminal notification support (296dbf2)
- add test infrastructure for frontend and Rust (9803558)
- add thinking indicator for worktrees (c11817b)
- add user-configurable keyboard mappings (3935bbc)
- auto-focus terminal when toggling drawer (5a72aae)
- auto-remove worktrees when folder is deleted externally (39defbe)
- handle processes exiting gracefully (4031a6f)
- make worktree selection shortcuts configurable (e432ad2)
- new icon, again, because I suck (d84e0dc)
- persist focus state when switching workspaces (679ed02)
- show activity indicator during terminal output bursts (d48e3c0)
- show git diff stats (+/-) in changed files panel (cb079f4)
- support project-specific config overrides (127445e)
- support Shift+Enter for newline in terminal (af1e380)
- allow $schema property in config file (d9c74e5)
- allow tasks to run from projects without worktrees (0cdd176)
- attach terminal onData handler immediately for query responses (5af1d17)
- check for existing branches before creating worktree (1e5f4e7)
- clarify nothing to merge when branch is up to date (d6267d0)
- close drawer and right panel when last worktree closes (015b923)
- collapse drawer when closing last terminal tab (92ea606)
- correct neovim truecolor rendering in xterm.js (2cc2ae7)
- correctly find task in array for handleToggleTask (f6bfdc2)
- focus drawer terminal when expanding via shortcut (cc0d4bb)
- hide cleanup options when branch is up to date (cb9d100)
- prevent drawer from opening on worktree start when no tabs exist (2020906)
- prevent orphaned PTYs from React StrictMode double-mount (17e02f1)
- remove keyboard hints from stash and confirm modal buttons (9069201)
- run correct task when using cmd+enter in task switcher (996023b)
- run merge and cleanup operations in background thread (c1e4cf1)
- simplify merge modal button labels and remove keyboard hints (ca32376)
- unify project and worktree views for shortcuts and indicators (253af3f)
- use correct PTY type for drawer terminals in project view (cd8f8ff)
- use git CLI for stash operations with unique stash IDs (ec11d1f)
- use LF for Shift+Enter newline insertion (d575c08)
- use native clipboard API to bypass macOS paste protection (73d00d8)
- use trailing-edge debounce in file watcher (5a6b46c)
- make panel layout global and optimize terminal resize (4117f0a)
- only resize active terminals on workspace switch (aaa20b8)
- speed up terminal startup and fix DA1 query timeout (ef047a7)
- release 0.2.0 (270a913)
- Initial release with git worktree management
- Configurable main command (default: claude)
- Terminal panel with xterm.js
- File change tracking with git status
- Project and worktree sidebar
- Copy gitignored files to new worktrees