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.
- Fix diff pane corruption caused by binary file content (e.g., .DS_Store) being rendered directly to the terminal
- Detect binary files using null-byte heuristic (same approach as git) and display "Binary file" message instead of raw content
- Fix repo selection (Enter, file list, diff) opening wrong repo when sorting is active
- Show current branch name in each repo's description line
- Configurable repo sorting via
sort_order:"manual"or"alphabetical"(default) - Option to float changed/behind repos to top via
sort_changed_to_top(defaulttrue), grouped by priority: both changed, remote only, local only, clean - Highlight repos behind remote in yellow (Peach)
- Show repo directory name instead of full path by default (
display_full_pathoption) - Auto-backfill missing config fields to existing config files
- Write default config to
~/.gitmoni.jsonon first run
- Switch color scheme to Catppuccin Frappé (UI colors, list styles, and syntax highlighting)
- Fix intermittent layout misalignment on startup caused by rendering before terminal dimensions are known
- Fix Init() value-receiver silently discarding fetching/spinner state
- Fix duplicate key-event dispatch that made pane navigation fragile
- Fix unchecked type assertion in diff view that could panic
- Fix selectedFile index diverging from list cursor after switching repos
- Fix git fetch errors being silently discarded with no UI feedback
- Replace shell
catwithos.ReadFilefor untracked file diffs (portability and path traversal safety)
- Remove unused
addRepositorymethod from config
- GUI apps (e.g. GitHub Desktop) now launch in the background, keeping gitmoni running
- Version flag (
-v/--version) - MIT License
- Homebrew install instructions in README
- Fetch remote updates on app launch with a global progress spinner
- Per-repo spinners during remote fetch
- Concurrent remote fetching across all repositories
- Configurable icon style: emoji (default) or Nerd Font glyphs
- Shift+Tab to cycle panes backwards
- Color-highlighted repo names for repos with changes
- Fix right pane border rendering
- Fix app scrolling off-screen when navigating repos
- Fix pluralization of changed file counts
- Simplify keyboard shortcuts to
rfor refresh (local + remote)
- Remote repository status checking (ahead/behind tracking)
- Tab navigation to diff pane (three-pane focus cycle)
- CLI repository management (
-a,-l,-dflags) - Configurable enter command binary via
enter_command_binaryin config - Syntax highlighting for diffs using Chroma
- README
- Left column split to 70/30 (repos/files)
- Switched to 2-column layout (left: repos + files, right: diff)
- In-app repository adding (replaced by CLI flags)
- Initial TUI for monitoring git repositories
- Three-pane interface: repositories, changed files, and diff view
- Press Enter to launch lazygit for the selected repo
- Git status monitoring with file change detection
- Support for paths with spaces