Skip to content

Releases: thewizardshell/froggit

Froggit v1.2.0-beta

22 Jan 00:37
22544fa

Choose a tag to compare

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

11 Dec 02:27

Choose a tag to compare

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.go file 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

21 Sep 17:03

Choose a tag to compare

🏷️ 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

28 Jul 14:58

Choose a tag to compare

fix: added mutex and fixed  pull eternal

Froggit v0.4.0-beta

25 Jul 20:59

Choose a tag to compare

🏷️ 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

17 Jul 23:45

Choose a tag to compare

🏷️ 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

11 Jul 22:38

Choose a tag to compare

🏷️ 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

08 Jul 20:45

Choose a tag to compare

🏷️ 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.yml GitHub Action to validate install scripts
  • 🧼 Refactored update flow – removed ~120 lines of legacy code
  • 🔧 Fixed missing conflict UI when handling merge and rebase

💡 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.🐸

Froggit v0.3.1-beta

03 Jul 15:29
f4b1f12

Choose a tag to compare

🏷️ v0.3.1-beta

📦 Fix: Installation script now works properly on Apple Silicon (M1/M2) Macs


🐛 What was fixed?

#11
This patch release fixes an installation bug affecting macOS users on Apple Silicon (darwin-arm64). Previously, the install script failed with a chmod: froggit: No such file or directory error due to a mismatch in the binary filename.

Thanks to @Shravan20 for contributing the fix! 🙌


✅ What’s new in 0.3.1?

  • ✔️ Fixed binary name handling in install.sh for Apple Silicon
  • 🧼 Minor cleanup in install process

💡 Notes

If you were having trouble installing Froggit on a Mac M1/M2, you can now run:

curl -s https://raw.githubusercontent.com/thewizardshell/froggit/master/scripts/install.sh | bash

And it should work right out of the box! 🐸

Froggit v0.3.0-beta

01 Jul 16:40

Choose a tag to compare

🏷️ v0.3.0-beta

✨ New Features

  • 🧩 Interactive Merge & Rebase TUI views: Froggit now includes fully interactive views for merging and rebasing branches. You can visually select a target branch, detect conflicts, and proceed or abort operations all within the TUI.
  • 🔀 Two-way branch interaction support: Merge and rebase flows support switching branches or rebasing the current one onto another with keybinding-guided flows and error handling.
  • 📺 Conflict-aware interface: Froggit now displays detected conflict files directly in the merge/rebase views and guides users through resolving them step-by-step.
  • 🧠 Smart merge protection: Prevents invalid operations like merging or rebasing onto the same branch, with friendly warnings.
  • 🧭 Improved controls and UX: All merge/rebase views now include keybinding hints and contextual messages to guide users intuitively.

🐙 GitHub CLI Integration (Optional)

  • 📥 Clone repositories via GitHub CLI: Froggit can now list and clone your repositories using gh, right from the terminal.
  • 🆕 Create GitHub repositories: You can initialize new GitHub repositories (public or private), clone them immediately, and begin working all without leaving Froggit.
  • 🚀 QuickStart onboarding flow: If you're not in a Git repo, Froggit helps you set one up through an interactive prompt — init, clone, or create.

🏗️ Architecture

  • 📂 Refactored entry point (main.go): Cleaner application startup logic and more modular initialization of the TUI.
  • 🧩 New GitHub client module: Added internal/gh/ for GitHub API and CLI interactions.
  • Expanded Git actions: Over 89 new lines of functionality added to support merge/rebase flows and GitHub integrations.

Full Changelog: v0.2.1-beta...v0.3.0-beta