Changelog
All notable changes to grüt, following Keep a Changelog and Semantic Versioning.
Unreleased
Added
- Inline editor mode — press e in the preview panel to edit files directly, Ctrl+S to save, Escape to discard
- Branch diff filter — g cycles through three modes: all files → git changed → branch diff
- Lazy-loading pagination for GitHub tabs (issues, PRs, Actions, releases)
- Ctrl+C copies selected text in preview instead of quitting
- Text selection in preview pane — click+drag, double-click, y to copy
- Checkout with dirty-tree detection and automatic stash-and-switch
- Worktree double-click opens the selected worktree directory
--reset-welcomeflag to re-show the welcome screen on next launch- Right-click context menu with action picker for all panels
- Configurable click actions with mouse support for all panels
- Settings dialog overlay for preview position (comma key)
- Mouse drag resize on split borders
- Vertical resize keybindings (ctrl+up/ctrl+down)
- Configurable preview position cycling (ctrl+b p)
- Tab bar with canonical 1–5 preset ordering
- Mage build system with preflight checks (
mage install,mage preflight) - 22 security tests covering MCP tool injection, path traversal, and extension safety
Changed
- Go toolchain upgraded from 1.26.1 to 1.26.3 (7 stdlib CVE fixes)
- Bubble Tea v2.0.6, Lipgloss v2.0.3, x/net v0.54.0
- Preflight gate expanded from 11 to 14 checks
- Git preset simplified to 2-pane layout (filetree + preview)
- Panel borders use NormalBorder (square corners, no title)
Fixed
- Branch name in status bar no longer reverts after checkout
- Double-click first-use flow survives async modal delay
- Eliminate Windows clipboard command injection (CWE-78)
- Input validation for OpenInEditor and OpenInBrowser
- Modal mouse click and Tab cycling support
- Bottom border rendering and clean footer layout
- Preview panel content wrapping with truecolor ANSI codes
- Folders no longer auto-expand on startup
Security
- Block access to
.git/,.env,*.pem,*.keyvia MCP and AI chat - Reject credential-embedded URLs in browser validation
- Block Windows UNC paths and reserved device names in MCP PathJail
- Cap diff line length at 10,000 characters
- Propagate Close errors in MCP file tools
Performance
- Bounded LRU caches, goroutine leak fix, agent auto-cleanup
- Gitstatus render optimization with dirty flag and style cache
- Struct field reordering eliminating 800+ bytes of padding across 70+ types
- Gitdiff slice reuse: −39% sec/op (side-by-side), −16% B/op (inline)
- Render loop: strings.Builder replaces string concat, ~196 fewer allocs/frame
- Added
--pprof,--cpu-profile,--mem-profileprofiling flags
0.1.0
Added
- Terminal file explorer with Bubble Tea v2
- Git integration (status, diff, log, branches, stash, conflicts)
- 5 preset layouts (Explorer, Git, Review, Agent, Full)
- Syntax highlighting with Chroma
- Nerd Font icon support
- Mouse click navigation
- Fuzzy finder for files and commands
- Bookmarks panel
- Help overlay
- Split panel management (horizontal/vertical/close/zoom)
- Tab management with presets
- TOML-based keybinding configuration
- Theme system with Dracula palette