# Changelog All notable user-facing changes to Gitty are documented in this file. The project uses calendar-style versions in the form `YYYY.M.PATCH`. ## [2026.8.4] - 2026-08-15 ### Added - Branch folders now have a context-menu action for deleting all contained local or remote branches at once. The top-level remote folder such as `origin` is protected, while its nested folders remain manageable. The currently checked-out branch is kept, and individual failures are reported after the remaining branches have been processed. ### Changed - The Compare selector is fully localized in German and uses the same visual language as the external-tool selectors for its fields, groups, typography, and dialog surfaces. - Repository-tab close buttons are square and have clearer spacing, hover behavior, and keyboard-focus feedback. ## [2026.8.3] - 2026-08-13 ### Added - Configurable external tools for editors, diff viewers, merge tools, terminals, and file managers, including automatic cross-platform discovery and presets for VS Code, JetBrains IDEs, Beyond Compare, and other common applications. - Repository and file actions for opening content in the configured external application. Supported tools open in a separate window. - A choice between Gitty's internal diff/merge views and the configured external applications. - Git Notes support for attaching editable notes to commits without rewriting commit history, including fetch and push synchronization. - A command palette for quickly opening repository actions, files, and commits. - Complete branch-to-branch comparisons for local and remote branches. The comparison dialog shows every changed file and its side-by-side diff. - Safe remote branch renaming from the branch context menu. ### Changed - Redesigned the settings window with tool categories, detected applications, preset dropdowns, and clearer explanations of where each tool is used. - Redesigned the history graph's branch presentation with compact labels, hover details, cleaner flag connectors, and branch visibility controls. - Reduced the minimum width of the commit history panel so the workspace can be resized more freely. - Local-only branches are now identified consistently in the toolbar, repository summary, status bar, and commit graph. Their first push is labeled Publish and configures the remote tracking branch automatically. - Git operations now run asynchronously to keep the application responsive during slower repository commands. ### Fixed - Closing supported external tools no longer reports their documented comparison result codes as application errors. - External tools that otherwise reuse an existing process are explicitly opened in a new window where supported. - Remote branch renaming uses an atomic push with lease checks, preventing an existing destination branch or a newly changed remote branch from being overwritten. ## [2026.8.2] - 2026-08-10 ### Changed - History graph colors remain stable across parent lanes, making longer and branching histories easier to follow. - Release artifacts are published to the matching Gitea release automatically without creating duplicate assets. - Application shutdown now completes telemetry cleanup more reliably. ## [2026.8.1] - 2026-08-04 ### Added - Paginated commit history that loads older commits on demand instead of limiting the visible repository history to the initial page. - A dedicated file-history dialog opened from the explorer context menu. - Windows and Ubuntu release publishing plus improved AUR packaging workflows. ### Changed - File history moved out of the permanent workspace panel into a focused, larger dialog. - Dialogs close more consistently with the Escape key. - Arch Linux installation documentation now uses the `gitty-desktop` AUR package. ### Fixed - AUR SSH setup, package installation timeouts, and clone/push retries are more robust in the release workflow. ## [2026.07.22] - 2026-07-22 ### Added - AI-assisted commit splitting for staged changes: - analyze the staged diff and propose an ordered set of logical commits; - generate an editable Conventional Commit message for every group; - move files between proposed commits before applying the plan; - create all accepted commits sequentially with **Commit all**. - Support for commit-splitting suggestions through OpenAI, Anthropic, and custom OpenAI-compatible endpoints. ### Changed - The commit-splitting dialog now explains why a plan cannot be applied and clearly marks AI-generated commit messages as editable. - Safety checks prevent applying a stale plan after the staged files change and reject files that contain both staged and unstaged changes. ### Fixed - **Commit all** now passes a plain state snapshot to the commit workflow instead of failing silently when cloning a reactive UI proxy. - Closing the active repository tab no longer allows an in-flight status or fetch response to reopen and reactivate the closed repository. ## [2026.07.21] - 2026-07-21 ### Added - Full Git worktree management: - create a worktree from an existing branch; - create a new branch and worktree together; - create a detached worktree at a commit; - open a worktree as a repository tab; - move, lock, unlock, repair, remove, and prune worktrees. - A dedicated **Worktrees** entry below **Tags** in the branch panel. - An **Open in new worktree** action in the local branch context menu. - Line-level patch selection with Shift-click range selection. - Stage, unstage, and discard actions for selected lines while retaining the existing whole-file and whole-hunk workflows. - Arch Linux package automation that builds from `PKGBUILD`, publishes the `.pkg.tar.zst` artifact, and updates the Pacman repository database on the CDN. - Detailed German and English help for worktrees, line-level staging, Pacman installation, and release changes. ### Changed - Branch deletion now uses a clearer confirmation dialog with more explicit branch and upstream information. - Dialog backdrops blur the application instead of covering it with a nearly black background. - Remote operations and authentication errors provide more actionable feedback. - Build diagnostics and resource handling for the Arch package pipeline are more robust. ### Infrastructure - Added centralized error notifications. - Added structured, privacy-conscious telemetry. - Stabilized the Arch Linux container build and `makepkg` workflow. ## [2026.7.20] - 2026-07-13 ### Added - AI-assisted review of staged changes before committing. - Optional automatic repository refresh. - Comprehensive German Git documentation in the built-in help. - Initial `PKGBUILD` and automated package version synchronization. ### Changed - Redesigned the repository action toolbar and workspace status presentation. - Improved repository tabs, diff styling, spacing, and panel structure. - Improved file-history state handling. [2026.07.22]: https://git.cbsk-tech.de/Christoph/GitLite/releases/tag/2026.7.22 [2026.07.21]: https://git.cbsk-tech.de/Christoph/GitLite/releases/tag/2026.7.21 [2026.7.20]: https://git.cbsk-tech.de/Christoph/GitLite/releases/tag/2026.7.20 [2026.8.4]: https://git.cbsk-tech.de/Christoph/GitLite/releases/tag/2026.8.4 [2026.8.3]: https://git.cbsk-tech.de/Christoph/GitLite/releases/tag/2026.8.3 [2026.8.2]: https://git.cbsk-tech.de/Christoph/GitLite/releases/tag/2026.8.2 [2026.8.1]: https://git.cbsk-tech.de/Christoph/GitLite/releases/tag/2026.8.1