Changelog
Track the evolution of bgit across releases
Jump to version
Phase 9
v0.9.0
2026-06-17LatestMilestone release completing desktop repository mapping, identity detection, UI polish, structured navigation, and repository-local Git identity cleanup across CLI and desktop flows.
Desktop repository bindings
Added desktop repository binding management with repository selection, identity assignment, binding updates, and removal actions
Desktop identity detection and sync
Added desktop identity detection for repository and workspace paths, showing the effective bgit identity and allowing Git config sync from the UI
Desktop interaction polish
Improved desktop spacing, alignment, copy actions, truncation, active-state highlighting, hover states, and smoother refresh behavior without changing backend logic
Desktop structured navigation
Reorganized the desktop app into dedicated Dashboard, Identities, Repository Bindings, Backup & Restore, and Doctor pages with sticky sidebar navigation
- -Repo-local Git identity consistency
Bound repositories are now re-synced on identity activation and update, binding removal clears stale local Git identity, and deleting an identity removes dependent bindings/workspaces and clears affected repositories
- -Scriptable confirmation flows
CLI yes/no confirmation prompts now accept non-TTY input so automated validation and scripted flows work reliably
- -Desktop binding cleanup parity
Desktop binding removal and identity deletion now follow the same repository-local Git cleanup behavior as the CLI
- -Desktop identity workflow clarity
Desktop add/view flows now show SSH public keys directly and guide users to add generated keys to GitHub
- -Desktop doctor and responsive cleanup
Doctor page duplication was removed and desktop layouts were tightened for smaller window sizes
Phase 8
v0.8.0
2026-06-10Milestone release expanding the desktop app with native feedback, encrypted backup and restore, SSH public key copy support, and GitHub avatar identity cards.
Desktop notification system
Desktop identity actions now use app-native success, warning, and error notifications, confirmation dialogs, and action loading states
Desktop backup and restore
Added desktop UI for encrypted .bgit export and import using the existing core archive format, file selection dialogs, password prompts, and restore summaries
Desktop SSH public key copy
Identity rows now show SSH public key previews with a copy action so users can add generated keys to GitHub without manually opening key files
GitHub avatar identity cards
Desktop identity rows now show GitHub avatars derived from configured GitHub usernames with initials fallback
- -Clearer desktop destructive actions
Identity deletion and backup import now use explicit in-app confirmation dialogs with safety warnings
- -Actionable desktop error feedback
Common backend, config, SSH, and identity failures now surface clearer user-facing hints in the desktop app
Phase 7
v0.7.2
2026-06-10Patch release fixing bound repository Git identity enforcement so normal git commits use the repository's bound bgit identity.
- -Repo-local Git identity for bound repositories
bgit bind now writes repository-local user.name and user.email for the bound identity so normal git commit uses the correct author even when the global active identity differs
- -Bound repository safety checks
bgit check now validates the effective repository Git identity and allows a bound repository to pass when its local Git identity matches the binding
- -Sync repair for bound repositories
bgit sync --fix now repairs repo-local Git identity for bound repositories instead of requiring a global identity switch
v0.7.1
2026-06-10Release packaging update for the Phase 7 desktop beta, adding Linux desktop artifact generation to the GitHub release workflow.
Linux desktop release artifact
The GitHub release workflow now builds the Wails desktop application on Linux and uploads bgit-desktop-linux-amd64 alongside the CLI binaries
- -Desktop asset release coverage
Ensures the desktop beta binary is attached to the GitHub release instead of shipping only CLI binaries
- -Release workflow dependencies
Installs the required Linux GTK, WebKit, Soup, Node, and Wails dependencies before building the desktop artifact
v0.7.0-beta
2026-06-05Beta milestone release introducing the Wails desktop app foundation, identity dashboard, identity management, and visual diagnostics.
Desktop app foundation
Added a Wails desktop application under desktop/ with a separate entrypoint and backend bindings while preserving the existing CLI entrypoint
Desktop identity dashboard
Added a desktop dashboard for configured identities, active profile, setup state, identity counts, SSH key status, and effective identity source
Desktop identity management
Added desktop actions to add, edit, activate, and delete bgit identities using the existing core identity and SSH flows
Desktop doctor integration
Added read-only desktop diagnostics for config health, SSH setup, SSH agent state, and Git identity alignment
- -Desktop project structure cleanup
Moved active Wails configuration under desktop/ and removed obsolete manual Windows installer documentation from the release structure
- -Beta release metadata
Prepared release metadata for v0.7.0-beta and marks beta releases as prereleases in the GitHub release workflow
Encrypted Backup Portability
v0.6.0
2026-06-02Milestone release adding encrypted bgit export and import archives for portable identity backups.
BGIT export archive system
Added bgit export to package the current bgit backup payload into a stable .bgit archive structure
Encrypted export layer
Wrapped .bgit archives in an encrypted envelope using Argon2id key derivation and AES-256-GCM payload encryption
BGIT import restore flow
Added bgit import to decrypt encrypted .bgit archives, validate the archived config, and restore it atomically
$ bgit import <archive.bgit>Portable SSH key backup support
Encrypted .bgit backups now include configured identity SSH private and public keys under payload/keys so backups can be imported on another machine without regenerating keys
Backup portability validation
Added a Machine A to Machine B portability test that verifies identities, active user, SSH key files, target-machine key paths, and regenerated SSH config entries
$ make test-backup-portability- -Password-only interactive archive protection
Export and import passwords are prompted interactively and are not accepted through command-line arguments
- -Export password recovery warning
bgit export now warns users that the archive password is required for import and cannot be recovered if forgotten
- -Target-machine SSH key path restore
Import rewrites restored SSH key paths to the target machine and regenerates bgit-managed SSH config entries after restoring keys
- -Encrypted archive integration coverage
Integration tests now cover encrypted export creation, unreadable plaintext archive checks, wrong-password import failure, corrupted and empty archive rejection, and successful import restore
Validation & Stability
v0.5.0
2026-06-02Milestone release focused on shared core models, standardized core responses, safer config persistence, and stronger isolated integration testing.
Shared core model layer
Added core/models to hold reusable identity, repository, and operational structs shared across config, identity, repo, and SSH modules
Standardized core result objects
Core identity, repo, and SSH operations now return structured result objects instead of mixed tuple-style responses
Safer config persistence
Config loads and saves now validate supported versions and references, normalize legacy values, and save atomically via temp-file replacement
Stronger isolated integration harness
Integration tests now run with isolated HOME and XDG config paths, explicit Git system-config isolation, clearer failure output, and optional temp-dir preservation
$ make test-integration- -Config validation regressions caught earlier
Integration coverage now includes invalid config version handling, duplicate user rejection, workspace removal, and binding override/no-op paths
- -More consistent core APIs
Core consumers now work against predictable result shapes, reducing command-layer branching and special-case handling
Core Extraction Milestone
v0.4.0
2026-05-29Milestone release that finishes the core extraction and CLI integration work for config, SSH, identity, and repository flows.
Core config module
Moved config loading, persistence, migration, and active identity state into core/config as the shared config boundary
Core SSH module
Moved SSH key generation, SSH config management, agent helpers, and connectivity checks into core/ssh
Core identity module
Moved identity resolution and identity lifecycle operations into core/identity
Core repository module
Added core/repo for workspace registration, repository binding, remote URL conversion, clone auto-bind support, and repository owner resolution
- -Thinner CLI command layer
Commands now route their core behavior through extracted modules instead of duplicating repo, identity, and remote logic directly
- -Consistent repository safety decisions
Repository owner detection, remote conversion, and clone binding now use shared core logic across check, remote, clone, bind, and uninstall flows
Shell Integration & Safety
v0.3.1
2026-05-25Bugfix release focused on uninstall recovery, post-uninstall safety, and repeatable integration testing.
Docker-backed integration test harness
Added repeatable host and Docker integration tests covering setup, identity flows, remote fixes, safety checks, and uninstall cleanup
$ make test-dockerReal-account acceptance test harness
Added an opt-in real-account test flow that backs up and restores real bgit, SSH, and Git state while validating selected identities and repositories
$ make test-real- -Uninstall recovery for existing users
Resolved GitHub issue #5 reported by maheshmthorat: uninstall now restores configured repo remotes first, removes managed SSH config, restores or clears bgit-managed hooks, and restores backed-up Git identity when available so GitHub Desktop and normal Git commands are not left affected after uninstall
- -Post-uninstall read-only safety
Read-only commands such as list, status, active, prompt, and doctor no longer recreate ~/.bgit or reinstall hooks after uninstall
- -Optional SSH key cleanup
Added bgit uninstall --remove-keys so SSH key deletion is explicit instead of implicit
v0.3.0
2026-03-04Phase 3 usability and safety release focused on one-time setup and automatic push protection.
One-time setup command
Added bgit setup to initialize configuration, install global pre-push safety checks, and prepare defaults
$ bgit setupAutomatic push safety checks
Added bgit check and managed pre-push hook integration to validate identity and remote alignment
$ bgit checkShell prompt integration
Added prompt-friendly identity output for shell integrations
$ bgit prompt --plainClone auto-bind by default
Repositories cloned with bgit clone are automatically bound to the effective identity by default
$ bgit clone <url> [directory]- -Consistent first-run behavior
Commands now trigger setup flow automatically when bgit has not been initialized
- -Uninstall cleanup
Uninstall now clears managed global hooks path and removes managed SSH config entries
- !Legacy command deprecations
bgit init and bgit setup-ssh are deprecated in favor of bgit setup; bgit remote fix is now legacy/advanced guidance
Repository-Aware Identity
v0.2.1
2025-01-28Code cleanup and improved installation experience.
Dynamic version fetching
Install scripts now automatically fetch the latest version from GitHub
- -Standardized user prompts
All confirmation prompts now use consistent UI patterns
- -Code cleanup
Removed unnecessary comments and improved code readability
v0.2.0
2025-01-28Phase 2 release with workspace support and diagnostics.
Workspace management
Create organized workspace folders with automatic identity binding
$ bgit workspaceRepository binding
Bind individual repositories to specific identities
$ bgit bindIdentity status
Show current identity status and bindings
$ bgit statusDiagnostics
Diagnose and auto-fix configuration issues
$ bgit doctorActive identity
Show current active identity
$ bgit activeIdentity resolution
Automatic identity resolution based on workspace > binding > global priority
Core Identity Management
v0.1.0
2025-01-28Initial release with core identity management features.
Multi-user identity management
Add, list, use, and delete Git identities
$ bgit add/use/list/deleteSSH key management
Generate or import SSH keys for each identity
$ bgit addGit config handling
Automatic user.name and user.email configuration
$ bgit useClone with identity
Clone repositories with the correct SSH configuration
$ bgit cloneRemote management
Fix and restore remote URLs for bgit compatibility
$ bgit remote fix/restoreConfiguration sync
Validate and sync bgit configuration
$ bgit syncSafe uninstall
Safely uninstall bgit and restore all repositories
$ bgit uninstallCross-platform support
Works on Linux, macOS, and Windows
Want to see what's coming next?
Check out our roadmap and upcoming features on GitHub