# gitui v0.28.0 - Product: gitui (https://whatsnew.fyi/product/gitui) - Vendor: gitui project - Date: 2025-12-14 - Version: v0.28.0 - Original notes: https://github.com/gitui-org/gitui/releases/tag/v0.28.0 - Permalink: https://whatsnew.fyi/product/gitui/releases/v0.28.0 - Labels: Platforms: Desktop What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. --- - **added** — Support choosing checkout branch method when status is not empty - **added** — Support pre-push hook - **added** — Message tab supports pageUp and pageDown - **added** — Files and status tab support pageUp and pageDown - **added** — Support loading custom syntax highlighting themes from a file - **added** — Select syntax highlighting theme out of the defaults from syntect - **added** — New command-line option to override the default log file path (--logfile) - **added** — Add use_selection_fg to theme file to allow customizing selection foreground color - **added** — Add go to line command for the blame view - **added** — Add --file cli flag to open the files tab with the given file already selected - **added** — Add the ability to specify a custom keybinding/symbols file via the cli - **changed** — Execute git-hooks directly if possible (on *nix) else use sh instead of bash - **changed** — Improve error messages - **changed** — Improve syntax highlighting file detection - **changed** — After commit: jump back to unstaged area - **changed** — The default key to close the commit error message popup is now the Escape key - **changed** — Use OSC52 copying in case other methods fail - **changed** — Push: respect branch.*.merge when push default is upstream - **changed** — Set the terminal title to gitui ({repo_path}) - **changed** — Respect .mailmap - **changed** — Use gitoxide for get_tags - **changed** — Increase MSRV to 1.82 - **fixed** — Resolve core.hooksPath relative to GIT_WORK_TREE - **fixed** — Yanking commit ranges no longer generates incorrect dotted range notations, but lists each individual commit - **fixed** — Print slightly nicer errors when failing to create a directory - **fixed** — When the terminal is insufficient to display all the commands, the cmdbar_bg configuration color does not fully take effect - **fixed** — Disable blame and history popup keybinds for untracked files - **fixed** — Overwrites committer on amend of unsigned commits **discard changes on checkout** ![discard-changes-on-checkout](assets/discard-changes-on-checkout.png) **go to line in blame** ![blame-goto-line](assets/blame-goto-line.png) ###### Added * support choosing checkout branch method when status is not empty [[@fatpandac](https://github.com/fatpandac)] ([#2404](https://github.com/extrawurst/gitui/issues/2404)) * support pre-push hook [[@xlai89](https://github.com/xlai89)] ([#1933](https://github.com/extrawurst/gitui/issues/1933)) * message tab supports pageUp and pageDown [[@xlai89](https://github.com/xlai89)] ([#2623](https://github.com/extrawurst/gitui/issues/2623)) * files and status tab support pageUp and pageDown [[@fatpandac](https://github.com/fatpandac)] ([#1951](https://github.com/extrawurst/gitui/issues/1951)) * support loading custom syntax highlighting themes from a file [[@acuteenvy](https://github.com/acuteenvy)] ([#2565](https://github.com/gitui-org/gitui/pull/2565)) * select syntax highlighting theme out of the defaults from syntect [[@vasilismanol](https://github.com/vasilismanol)] ([#1931](https://github.com/extrawurst/gitui/issues/1931)) * new command-line option to override the default log file path (`--logfile`) [[@acuteenvy](https://github.com/acuteenvy)] ([#2539](https://github.com/gitui-org/gitui/pull/2539)) * dx: `make check` checks Cargo.toml dependency ordering using `cargo sort` [[@naseschwarz](https://github.com/naseschwarz)] * add `use_selection_fg` to theme file to allow customizing selection foreground color [[@Upsylonbare](https://github.com/Upsylonbare)] ([#2515](https://github.com/gitui-org/gitui/pull/2515)) * add "go to line" command for the blame view [[@andrea-berling](https://github.com/andrea-berling)] ([#2262](https://github.com/extrawurst/gitui/pull/2262)) * add `--file` cli flag to open the files tab with the given file already selected [[@laktak](https://github.com/laktak)] ([#2510](https://github.com/gitui-org/gitui/issues/2510)) * add the ability to specify a custom keybinding/symbols file via the cli [[@0x61nas](https://github.com/0x61nas)] ([#2731](https://github.com/gitui-org/gitui/pull/2731)) ###### Changed * execute git-hooks directly if possible (on *nix) else use sh instead of bash (without reading SHELL variable) [[@Joshix](https://github.com/Joshix-1)] ([#2483](https://github.com/extrawurst/gitui/pull/2483)) * improve error messages [[@acuteenvy](https://github.com/acuteenvy)] ([#2617](https://github.com/gitui-org/gitui/pull/2617)) * improve syntax highlighting file detection [[@acuteenvy](https://github.com/acuteenvy)] ([#2524](https://github.com/extrawurst/gitui/pull/2524)) * after commit: jump back to unstaged area [[@tommady](https://github.com/tommady)] ([#2476](https://github.com/extrawurst/gitui/issues/2476)) * the default key to close the commit error message popup is now the Escape key [[@wessamfathi](https://github.com/wessamfathi)] ([#2552](https://github.com/extrawurst/gitui/issues/2552)) * use OSC52 copying in case other methods fail [[@naseschwarz](https://github.com/naseschwarz)] ([#2366](https://github.com/gitui-org/gitui/issues/2366)) * push: respect `branch.*.merge` when push default is upstream [[@vlad-anger](https://github.com/vlad-anger)] ([#2542](https://github.com/gitui-org/gitui/pull/2542)) * set the terminal title to `gitui ({repo_path})` [[@acuteenvy](https://github.com/acuteenvy)] ([#2462](https://github.com/gitui-org/gitui/issues/2462)) * respect `.mailmap` [[@acuteenvy](https://github.com/acuteenvy)] ([#2406](https://github.com/gitui-org/gitui/issues/2406)) * use `gitoxide` for `get_tags` [[@cruessler](https://github.com/cruessler)] ([#2664](https://github.com/gitui-org/gitui/issues/2664)) * increase MSRV to 1.82 ###### Fixes * resolve `core.hooksPath` relative to `GIT_WORK_TREE` [[@naseschwarz](https://github.com/naseschwarz)] ([#2571](https://github.com/gitui-org/gitui/issues/2571)) * yanking commit ranges no longer generates incorrect dotted range notations, but lists each individual commit _[Truncated at 4000 characters — full notes: https://github.com/gitui-org/gitui/releases/tag/v0.28.0]_