Changelog
Notable changes in each gitflect release.Changelog
All notable changes to gitflect are documented here. The format follows Keep a Changelog.
[Unreleased]
[0.4.1] - 2026-05-11
Changed
- README: logo images now use absolute URLs so they render on crates.io.
- README: added Crates.io version badge and MIT license badge; links for Changelog and Contributing point to hosted docs and GitHub tab URLs respectively.
- Docs: added “Update” section to the install page covering both the install script and
cargo install. - Cargo.toml: added
repository,homepage,documentation, andexcludefields.
[0.4.0] - 2026-05-11
Changed
gitflect settingscustom theme — selectingcustomin the theme picker now launches the symbol wizard directly without leaving the settings flow.- Settings TUI — enum picker is now a full-screen overlay with proper scrolling; terminal height is read dynamically instead of hardcoded, so all options are reachable on any terminal size.
- Install script — added
exec $SHELLas a suggested alternative tosource ~/.bashrcafter a fresh install.
Removed
gitflect config get,gitflect config set,gitflect config init,gitflect config default— usegitflect settingsfor interactive editing andgitflect config/gitflect config pathfor inspection.
[0.3.0] - 2026-05-11
Changed
- Default theme changed to
posh-rounded— prompts use( )brackets out of the box. Switch back withgitflect theme set posh.
Added
- Docs: navigation restructured into Get started / Use / Advanced sections with dedicated Themes and Settings pages.
[0.2.0] - 2026-05-11
Added
- Custom theme (
theme=custom) — a new theme variant that uses fully user-defined symbols. When set, no built-in symbols override user config; all 12symbol_*keys are respected as-is. gitflect themecommand — new top-level command for theme management:gitflect theme list— show all available themes with descriptions.gitflect theme set <name>— switch theme and write to config file.gitflect theme set custom— launch the interactive wizard.
- Interactive custom theme wizard — a full-terminal form that walks through all 12 status segment symbols. Supports arrow-key navigation (↑/↓), inline editing with Backspace, Enter to confirm, and q/Esc to cancel. Shows a review summary before saving.
posh-roundedtheme — identical toposhbut wraps the status block with( )instead of[ ].emojitheme — single-width Unicode symbol set:⬆ ⬇ ⇅ ✔ ✘ ✚ ✎ ✖ ⚡ ◉.minimaltheme — ultra-compact single ASCII char per segment:^ v x = ~ + * - !.retrotheme — bracket-style labels:>> << >< -- !! [+] [~] [-] [!].gitflect settings— interactive TUI settings explorer. Browse all 16 config options across five sections (Theme, Status, Branch, Prompt, Appearance) with ↑/↓ navigation. Cycle enum/bool values with ←/→ or Enter; edit text/number fields inline. Presssto save; pressqtwice to discard and quit.- Named themes — save and share custom symbol sets as standalone
.conffiles:gitflect theme save <name>— save current custom symbols to~/.config/gitflect/themes/<name>.conf.gitflect theme load <name>— load a named theme file as the active custom theme.gitflect theme saved— list all saved named themes.- The wizard’s final step now optionally prompts for a name, saving the theme file in one step.
- Go-back from summary in the wizard — pressing ↑ or Esc on the review screen returns to the symbol editor instead of cancelling.
- Bracket fields in wizard — the custom theme wizard now includes
bracket_open/bracket_closefields that configurebefore_status/after_status(e.g.[/]or(/)). - Named themes save/restore bracket style —
gitflect theme saveandgitflect theme loadnow also persist and applybefore_status/after_statusalongside all symbol keys. - Active theme highlighted in
gitflect theme list— the currently active theme is marked with a*in green; other themes are shown dimmed. - Enum picker in
gitflect settings— pressing Enter on an enum field (e.g.theme,untracked_files,branch_display) opens an inline option picker; ↑/↓ navigate options, Space/Enter selects, Esc cancels. - Docs: new “Themes” section in Configuration with wizard key bindings table and manual
symbol_*override examples; newgitflect themeandgitflect settingssections in Commands reference.
[0.1.2] - 2026-05-10
Added
gitflect config set <key> <value>— change a setting from the command line without editing the file.gitflect config get <key>— print the current value of a setting with valid options shown inline.gitflect configoutput now shows a# key: option1, option2comment above each enumerated setting so valid values are always visible.- Community health files:
CODE_OF_CONDUCT.md,CONTRIBUTING.md, GitHub issue templates (bug report, feature request), and pull request template. - Bug and security reporting links in
gitflect --help.
Removed
- Custom tab-completion override for Git subcommands. Bash and Zsh ship superior built-in Git completions; the gitflect override was disruptive and unnecessary.
[0.1.1] - 2026-05-10
Fixed
- Prompt segment duplicating on each command in VSCode’s integrated terminal and any other terminal that wraps
PS1with shell integration escape sequences after gitflect sets it. The original-prompt baseline is now preserved across re-runs of the shell init, and the per-command change detection that mis-identified terminal modifications as user changes has been removed. source ~/.bashrcno longer resets the stored baseline prompt to the already-modified value, so re-sourcing the profile is safe.
Added
- Uninstall script (
uninstall.sh) for clean removal of the binary and shell profile block. - Improved install script output: step-by-step progress, explicit reload instruction (
source ~/.bashrc/source ~/.zshrc), verify command, and removal instructions printed after install. gitflect configshows all active settings (file + env overrides).gitflect config pathprints the config file path.gitflect config initcreates the config file from defaults if it does not exist.gitflect config defaultprints the default config template (replaces--print-default).
[0.1.0] - 2026-05-10
Added
- Fast Git-aware prompt segment for Bash and Zsh
- Branch name and detached HEAD state (
HEAD:abc1234) - Upstream divergence tracking: ahead ↑, behind ↓, diverged ↕, in-sync ≡, gone ×
- Staged, working, and untracked file counts (
+1 ~2 -0 | !3 ~0 -0 ?1) - In-progress operation markers: MERGING, REBASE, REBASE-i, REBASE-m, AM, CHERRY-PICKING, REVERTING, BISECTING
- Stash count (opt-in via config)
- Three built-in themes:
posh,plain,nerd - Tab completion for 46 git subcommands with options and file path completions
gitflect init bashandgitflect init zshshell integrationgitflect configfor reading and listing configuration values- Install script with automatic platform and shell detection
- Uninstall script for clean removal
- Documentation site