Releases: thewizardshell/froggit
Froggit v1.4.0-beta
Warning
If you are on any version below v1.4.0-beta, this is the last version you need to install manually. Please reinstall using
the script for your platform before future updates work.
Linux / macOS
curl -fsSL https://raw.githubusercontent.com/thewizardshell/froggit/master/scripts/install.sh | bashWindows
iwr -useb https://raw.githubusercontent.com/thewizardshell/froggit/master/scripts/install.ps1 | iexAuto-Updater
Froggit can now update itself. From this version onwards just run:
froggit --updateIt will detect if a newer version is available, show the release notes, and replace the binary automatically.
Changes
- froggit --update — check and apply updates in one command
- Version injected automatically from git tag at build time
Froggit v1.3.0-beta
Froggit v1.3.0-beta 🐸
A focused release on UI polish, workflow improvements, and Linux compatibility. Every change follows Froggit's philosophy: make the essentials smoother without adding complexity.
✨ New Features
Inline Diff Preview (d)
See exactly what changed in a file before staging or committing — no more blind commits. Press d on any file to open a scrollable, syntax-highlighted diff view with added/removed/hunk coloring.
Unstage All (u)
Now symmetric with Stage All (a). Changed your mind? Press u to unstage everything at once.
Staged / Unstaged File Grouping
Files are now visually grouped under ── Staged ── and ── Unstaged ── headers, making it immediately clear what's ready to commit.
Commit Message Character Counter
A subtle N/72 indicator below the commit input that changes color as you type:
- Normal when under 50 characters
- Warning (yellow) between 50–72
- Error (red) over 72
Auto-Clearing Status Messages
Success and error messages now automatically disappear after 3 seconds, keeping the interface clean and current.
Advanced Mode Hint
The A advanced shortcut is now visible in the normal controls bar, so users can discover merge, rebase, stash, and log graph without reading the full docs.
🔧 Improvements
- Fixed cursor alignment — the selected file no longer shifts left when navigating, providing a stable, polished visual experience
- Help view updated — new shortcuts (
d,u) are now documented in the help panel
🐧 Linux / NixOS Compatibility
- Static builds — all Linux binaries are now compiled with
CGO_ENABLED=0and stripped with-ldflags="-s -w", producing fully static executables that work on any Linux distribution including NixOS without dynamic library dependencies - Smaller binary size thanks to symbol stripping
Installation
Download binary
Grab the appropriate zip from the assets below and extract it.
Build from source
git clone https://github.com/thewizardshell/froggit.git
cd froggit
CGO_ENABLED=0 go build -ldflags="-s -w" -o froggit .Full Changelog: v1.2.0-beta...v1.3.0-beta
Froggit v1.2.0-beta
GitHub Copilot Integration
This release introduces comprehensive GitHub Copilot integration into Froggit, enabling AI-assisted commit message generation directly within the TUI.
- Implemented complete Copilot API client with OAuth authentication
- Added token management system with automatic refresh and expiration handling
- Integrated GPT-4o model for intelligent commit message suggestions
- Created dedicated copilot package with modular architecture (client, auth, and API modules)
Enhancements
User Interface Improvements
- Enhanced file view with improved height adjustment for better visibility
- Added file cursor preservation across view transitions
- Implemented proper state handling for new repository initialization
Error Handling
- Improved error reporting throughout git operations
- Added better user feedback for git actions and status updates
Documentation
- Updated README with comprehensive GitHub Copilot integration details
- Refreshed screenshots and visual documentation
Technical Details
- Total changes: 478 additions, 19 deletions across 13 files
- New dependencies: GitHub Copilot API integration
- Maintained backward compatibility with existing features
Files Modified
- internal/copilot/ - New package for Copilot integration
- internal/git/actions.go - Extended git operations with AI capabilities
- internal/tui/ - Multiple TUI components updated for Copilot support
- README.md - Documentation updates
Froggit v1.1.0-beta
New Features
Color-Coded File Status Indicators
Files in the staging area now display with color-coded status indicators, making it easier to
identify file changes at a glance:
- Modified files (M) - Orange
- Added files (A) - Green
- Deleted files (D) - Magenta
- Untracked files (?) - Cyan
- Conflicted files (C) - Red
Each file now shows its status indicator directly in the file list, improving visual clarity when
reviewing changes.
Bug Fixes
- Fixed status indicator refresh bug where file status would not update immediately after
staging/unstaging files. Status changes now reflect in real-time without requiring an application
restart. - Removed empty
diff_view.gofile that was causing compilation errors.
What's Next
Support for renamed files (R) is planned for an upcoming release.
Feedback
If you encounter any issues or have suggestions for improvements, please open an issue on the
repository.
Froggit v0.5.0-beta
🏷️ v0.5.0-beta
After 2 months of development, Froggit v0.5.0-beta brings significant performance improvements, enhanced configuration management, and a brand new
controls system. This release focuses on making Froggit faster, more reliable, and more user-friendly.
⚡ Major Performance Optimization: Lightning-Fast Startup
Froggit now starts instantly instead of the previous 2-10 second delays!
What was the problem? Previously, Froggit executed a synchronous git fetch operation during startup to check for remote changes, causing the TUI to
freeze while connecting to remote servers.
How we fixed it: We've redesigned the initialization process to be fully asynchronous. The TUI now appears immediately while remote operations happen
in the background, giving you instant access to your Git workflow.
Performance impact:
- ⚡ Startup time: ~100ms (down from 2-10 seconds)
- 🚀 No more waiting for network operations
- 📱 Responsive UI from the moment you launch
🔧 Enhanced Configuration Management
Froggit now features comprehensive YAML configuration with automatic discovery and platform-specific handling.
New configuration features:
- 🎨 UI Configuration: Control branding, positioning, and interface behavior
- 🔄 Git Configuration: Set default branches, auto-fetch behavior, and Git operations
- 💻 Windows Compatibility: Automatic config file discovery relative to executable location
- 📁 Smart Config Loading: froggit.yml is now loaded from the executable directory
Example configuration:
ui:
branding: true
position: "center"
git:
defaultbranch: "main"
autofetch: true
🎮 New (Beta): Advanced Controls System
Introducing a dynamic controls display system that adapts to your current context and terminal size.
What's new:
- 📋 Context-Aware Controls: Different keyboard shortcuts based on your current view
- 📏 Responsive Layout: Controls adapt to terminal width automatically
- 🎯 Grouped Actions: Related controls are organized together for better discoverability
- ✨ Modern Design: Cleaner, more intuitive control presentation
Note: This is a beta feature still under active development. Some views may not yet display the new controls system. We're refining the UX and welcome
your feedback!
🔒 Improved Concurrency & Stability
Enhanced Git operation handling:
- 🔒 Mutex Protection: Prevents concurrent Git operations that could cause conflicts
- 🔄 Async Operations: All Git commands now run asynchronously for better responsiveness
- 🛡️ Better Error Handling: More robust handling of Git operation failures
- ⏱️ Operation Queuing: Prevents "pull eternal" and other hanging operations
🐛 What was fixed?
- Windows Config Loading: Fixed configuration file discovery on Windows systems
- Startup Performance: Eliminated synchronous network operations during initialization
- Git Operation Locks: Resolved issues with concurrent Git operations
- Memory Optimization: Reduced startup memory footprint
- Error Messages: Cleaner error handling without verbose logging during normal operation
✅ What's new in 0.5.0-beta?
- ⚡ Performance: Lightning-fast startup (100ms vs 2-10s previously)
- 🔧 Configuration: Complete YAML-based configuration system
- 🎮 Controls: New adaptive controls display system (beta)
- 🔒 Stability: Enhanced concurrency handling and mutex protection
- 💻 Platform Support: Improved Windows compatibility
- 🚀 Architecture: Fully asynchronous Git operations
- 📦 Size: Optimized binary size and memory usage
🚧 Known Issues & Beta Features
- Controls System: Still being refined across all views
- Configuration: Additional options will be added in future releases
- Async Operations: Some edge cases in error handling are still being polished
🎯 What's Next?
- Complete the new controls system across all views
- Add more configuration options for advanced users
- Further performance optimizations
- Enhanced error reporting and user feedback
Froggit v0.4.1-beta
fix: added mutex and fixed pull eternal
Froggit v0.4.0-beta
🏷️ v0.4.0-beta
🐛 What was fixed?
Froggit now properly handles Git operations even when working from subdirectories within a repository or after moving folders around inside a repo.
Previously, attempting to commit from a subfolder or after directory moves would result in vague errors. Now, Froggit automatically detects the Git repository root using
git rev-parse --show-toplevel, ensuring consistent behavior across all working directories.
Thanks to @aldenhaight for reporting and clearly describing this issue! 🙌
🚧 New (experimental): stash support!
A first preview of stash support has landed in Froggit 🎉
You can now:
- 📥 Create stashes from your working directory
- 📤 Apply the most recent stash
This is a preliminary implementation, and we’re still refining the UI/UX. We’re currently exploring the best way to make stash viewing and management intuitive within Froggit’s TUI. Expect improvements soon!
Please share any feedback or open issues if you encounter odd behavior — your input will directly shape how stash support evolves! 🧠
✅ What’s new in 0.4.0?
- 🐛 Fixed: vague commit errors when working from subdirectories
- ✨ Experimental: basic stash support (create/apply)
- 🔍 Internal: repo root detection for more robust Git command execution
Froggit v0.3.4-beta
🏷️ v0.3.4-beta
🐛 What was fixed?
This release fixes a long-standing issue where adding or deleting Git remotes from within Froggit had no effect. Remote management is now fully functional again.
✅ What’s new in 0.3.4?
-
🛠️ Fixed broken remote controls – users can now:
- ➕ Add new remotes
- ➖ Delete existing remotes
💡 Notes
The issue was caused by unhandled logic in the remote control view. With this fix, remote operations should behave as expected. Thanks to those who flagged this subtle but important functionality gap. 🐸
Froggit v0.3.3-beta
🏷️ v0.3.3-beta
🐛 What was fixed?
This release resolves a critical issue that caused Froggit to crash (index out of range panic) when selecting files after performing external Git operations while the app was running. The bug originated from an out-of-sync internal state—specifically, the file selection cursor wasn’t validated against the refreshed file list.
✅ What’s new in 0.3.3?
- 🧯 Fixed panic caused by stale cursor after external Git changes
- 🔒 Added bounds validation in all file operation handlers (
space,a,x, etc.) - 🔁 Introduced new
ValidateCursor()utility function for automatic cursor correction - 🪄 Improved refresh flow with safer post-operation state handling (pull, push, fetch)
- 📢 Added feedback messages for empty or invalid file lists
💡 Notes
This bug was tricky to track down and only occurred when using Git CLI commands (like git commit, git push) while Froggit was running. Thanks to detailed reports from users, the issue was reproduced and resolved. Froggit now ensures the UI state stays consistent and responsive—even if external tools modify the repository mid-session. 🐸
Froggit v0.3.2-beta
🏷️ v0.3.2-beta
🐛 What was fixed?
This release addresses visibility issues in low-contrast terminals, especially when using transparent or dark backgrounds. Borders, panels, and help sections have been reworked using a clearer grayscale palette and stronger highlights for better accessibility across devices.
✅ What’s new in 0.3.2?
- ✨ Refreshed UI with improved contrast and stronger borders
- 🎨 Updated grayscale color palette for better readability
- 🧪 New
test-installers.ymlGitHub Action to validate install scripts - 🧼 Refactored update flow – removed ~120 lines of legacy code
- 🔧 Fixed missing conflict UI when handling
mergeandrebase
💡 Notes
If you had trouble reading some panels or controls in terminals with custom backgrounds, this release should significantly improve the experience. Froggit now adapts better to various themes while keeping its iconic green aesthetic intact.🐸