What's New
Improved Linux terminal selection
- Linux terminal preferences now use stable terminal IDs such as auto, custom, ghostty, and gnome-terminal.
- The Settings window shows friendly terminal names while storing normalised IDs in config.
- Custom Linux terminal commands are now wired through the same terminal registry path as known terminals.
- Legacy config values such as Auto and GnomeTerminal are normalised when loaded. Empty values fall back
to auto; unknown IDs are preserved.
Improved commit graph rendering
- Reworked the experimental commit graph gutter with smoother SVG curves, clearer lane continuity, and
improved node/connector contrast.
- Lane-changing curves now blend colours between source and destination lanes.
- Commit graph rows are hidden cleanly when the graph is turned off.
- When the commit graph is visible, commit history is fetched in topo order so graph rendering better
matches repository topology.
Commit history topo-order support
- Commit history requests now support topo ordering.
- The Git CLI backend passes --topo-order when requested.
- The gix backend falls back to the CLI path for topo-ordered history to keep behaviour consistent.
Titlebar UX
- Fixed truncated repository titles in the titlebar hover popup.
- When the title is clipped, the popup now shows the full project display name and repository path while
preserving click-to-copy behaviour.
Fixes
- Linux terminal labels and launchers now use the terminal registry consistently.
- Linux custom terminal commands are plumbed correctly through settings and repository “Open in terminal”
actions.
- Commit graph connectors now render smoother joins and caps, with gradient strokes for blended curves.
- Commit graph DOM is no longer rendered when the graph is hidden.
- Repository title hover detection now checks both the label and its clipping button container.
Developer Notes
- LinuxTerminalEmulator has been replaced with flexible string IDs: LinuxTerminalId.
- New constants: LINUX_TERMINAL_AUTO_ID and LINUX_TERMINAL_CUSTOM_ID.
- get_linux_terminal_options / getLinuxTerminalOptions now return { id, label }.
- set_linux_terminal_emulator / setLinuxTerminalEmulator now accept a terminal ID.
- Commit history requests now include Rust topo_order / TypeScript topoOrder.
- linux-terminal-launch was updated in Cargo.lock.
Full Changelog: v0.9.0...v0.9.1