tag:github.com,2008:https://github.com/sourcegit-scm/sourcegit/releasesRelease notes from sourcegit2026-03-16T02:27:32Ztag:github.com,2008:Repository/425837195/v2026.062026-03-16T02:35:34Z2026.06<h2>What's Changed</h2>
<ul>
<li>Rewrite the exit code of standalone commit message editor.
<ul>
<li>Clicking <code>OK</code> button will apply the modified message and exit with code <code>0</code></li>
<li>Clicking <code>CANCEL</code> or pressing <code>ESC</code> will not apply the modified message and exit with code <code>-1</code></li>
<li>Clicking the window caption button <code>X</code> will not apply the modified message and exit with code <code>0</code></li>
</ul>
</li>
<li>Change the hotkey for searching commit from <code>Ctrl+F/⌘+F</code> to <code>Ctrl+Shift+F/⌘+⇧+F</code></li>
<li>Pressing <code>Ctrl+F/⌘+F</code> in a list/tree will focus the nearby search(filter) box.</li>
<li>Fix the issue that app hungs up when selecting the longest line to the end in text editor with syntax-highlighting enabled.</li>
<li>More git trailer keywords are added in commit message box.</li>
<li>Rewrite repository's command palette - more commands, icons, and search keyword.</li>
<li>Rewrite worktrees in side bar.</li>
<li>Auto focus the first input element when a popup is showing.</li>
<li>Rewrite the file-history feature to support detecting renames (<code>--follow</code>).</li>
<li>Fix the issue that error occurs when trying to unstage files in a fresh repo (no commits yet).</li>
<li>Add a new button <code>STAGE SELECTED & COMMIT</code> to <code>Confirm Empty Commit</code> dialog when user has selected some unstaged changed file.</li>
<li>Re-design the <code>Initialize Repository</code> popup.</li>
<li>Support 24-hours and 12-hours time display format.</li>
<li>Fix the issue that users can not discard hunks in a new file when it has been staged partially.</li>
<li>Several other UI/UX changes.</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/sourcegit-scm/sourcegit/compare/v2026.05...v2026.06"><tt>v2026.05...v2026.06</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/425837195/v2026.052026-03-02T02:31:20Z2026.05<h2>What's Changed</h2>
<ul>
<li>Show current caret column in commit message textbox.</li>
<li>Remember last selection of new tag's type in <code>Create Tag</code> popup.</li>
<li>Reset <code>desktop.ShutdownMode</code> to <code>ShutdownMode.OnExplicitShutdown</code> before calling <code>desktop.Shutdown</code> manually.</li>
<li>Fix the issue that app crashed when <code>availableSize</code> is <code>Infinity</code> in <code>MeasureOverride</code>.</li>
<li><strong>Linux:</strong> Add <code>Ghostty</code> as integrated terminal tool.</li>
<li>Add hotkey <code>Alt/⌥+Up</code> to goto child of selected commit.</li>
<li>Add a context menu entry to run interactive rebasing on non-current branch.</li>
<li>Revert commit <a class="commit-link" data-hovercard-type="commit" data-hovercard-url="https://github.com/sourcegit-scm/sourcegit/commit/ceea4a18fc6faa3c60baae6289afaed5c5dbcaba/hovercard" href="https://github.com/sourcegit-scm/sourcegit/commit/ceea4a18fc6faa3c60baae6289afaed5c5dbcaba"><tt>ceea4a1</tt></a>. Currently, only pressing <code>OK</code> button in <code>Commit Message Editor</code> will apply modified message.</li>
<li>Try to fix the issue that sometimes changes list did not update in commit <code>CHANGES</code> page (can not reproduce).</li>
<li>Enable word-wrap and disable horizontal scrollbar for text in notification window.</li>
<li>Add a context menu entry <code>Apply Changes</code> to only apply changes of selected files from stash.</li>
<li>Fix the issue that highlighting selected revision lines in <code>Blame</code> window did not work.</li>
<li>Unify the behavior of <code>Reveal in File Explorer</code> when the selected is a folder across all platforms</li>
<li>Several other UI/UX changes.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jlpatter/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jlpatter">@jlpatter</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3940475769" data-permission-text="Title is private" data-url="https://github.com/sourcegit-scm/sourcegit/issues/2130" data-hovercard-type="pull_request" data-hovercard-url="/sourcegit-scm/sourcegit/pull/2130/hovercard" href="https://github.com/sourcegit-scm/sourcegit/pull/2130">#2130</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/rlbxku1r/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/rlbxku1r">@rlbxku1r</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3989960387" data-permission-text="Title is private" data-url="https://github.com/sourcegit-scm/sourcegit/issues/2151" data-hovercard-type="pull_request" data-hovercard-url="/sourcegit-scm/sourcegit/pull/2151/hovercard" href="https://github.com/sourcegit-scm/sourcegit/pull/2151">#2151</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/sourcegit-scm/sourcegit/compare/v2026.04...v2026.05"><tt>v2026.04...v2026.05</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/425837195/v2026.042026-02-13T02:27:51Z2026.04<p>Due to the upcoming Spring Festival and some relatively serious issues in <code>2026.03</code>, I have decided to release this version in advance.</p>
<h2>What's Changed</h2>
<ul>
<li>Show current version and the publish date of new version in result of checking update.</li>
<li>Fix the issue that the <code>MinWidth</code> of <code>AUTHOR</code> column changed after dragging the right border of it.</li>
<li>Start checking out branch directly when there are no local changes but submodules.</li>
<li><strong>BREAKING CHANGE:</strong> move <code>Show Tags as Tree</code> and <code>Show Submodules as Tree</code> from global setting to per-repo's UI state.</li>
<li>Fix the issue that <code>Open in External Tool</code> button in toolbar may crash this app (<code>System.Reflection.TagetInvocationException</code>).</li>
<li>Fix the issue that <code>Open in External Merge Tool</code> in context menu of unstage change does not work.</li>
<li>When creating a new branch based on a remote branch, the name of the new branch is always pre-filled with the name of the latter</li>
<li>Support to open vscode workspace (<code>*.code-workspace</code>) when open repo with external tool.</li>
<li>Disable <code>IsSnapToTickEnabled</code> for subject guide length slider.</li>
<li>Text editors now support to display IME pre-edit text.</li>
<li>Fix the issue that <code>Reset to Parent Revision</code> always resets the file to this revision.</li>
<li>Upgrade <code>Avalonia</code> to <code>11.3.12</code></li>
<li>Several other UI/UX changes.</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/sourcegit-scm/sourcegit/compare/v2026.03...v2026.04"><tt>v2026.03...v2026.04</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/425837195/v2026.032026-02-09T02:17:05Z2026.03<h2>What's Changed</h2>
<ul>
<li>Add a icon (check mark) to indicate which side is HEAD in <code>Compare</code> window.</li>
<li><strong>Linux:</strong> AppImages support portable <code>data</code> dir.</li>
<li>Support to clone with a local name that contains whitespaces.</li>
<li>Add a simple built-in conflicts resolving tool (built-in merger).</li>
<li>Rewrite the <code>Reset to This/Parent Revision</code> feature in commit details panel.</li>
<li>Add <code>Reset File(s) to <revision></code> context menu entry to selected change(s) in revision compare view.</li>
<li>Add <code>Reset File(s) to <revision></code> context menu entry to selected change(s) in refs compare window.</li>
<li>Keeps scroll offset after staging/unstaging/discarding selected hunk.</li>
<li>Support to create pull request to repos at <code>*.visualstudio.com</code>.</li>
<li><strong>Linux:</strong> Move runtime datas from <code>~/.config/SourceGit</code> to <code>~/.sourcegit</code>.</li>
<li>Fix the issue that we get double EOLs while copying content with <code>CRLF</code> line-endings in diff view.</li>
<li><strong>BREAKING CHANGE:</strong> Repository settings will be split into two parts
<ul>
<li><strong>Shared Settings:</strong> Can be changed from <code>Repository Configure</code> window, and will be shared (also synced) between worktrees.</li>
<li><strong>UI States:</strong> Such as history filters, branch/tag sort methods, etc. Each worktree has its own states.</li>
</ul>
</li>
<li>Upgrade <code>AvaloniaEdit</code> to <code>11.4.1</code>.</li>
<li>Supports to hide <code>AUTHOR/SHA/DATETIME</code> columns in <code>HISTORY</code> page.</li>
<li>Always open child window in currently used screen.</li>
<li>Fix the issue that <code>gpg.ssh.allowedSignersFile</code> config did not work.</li>
<li>Add hotkey <code>Ctrl+Down/⌥+Down</code> to goto parent of selected commit in <code>HISTORY</code> page.</li>
<li>Several other UI/UX changes.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/m2u-84/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/m2u-84">@m2u-84</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3862791495" data-permission-text="Title is private" data-url="https://github.com/sourcegit-scm/sourcegit/issues/2075" data-hovercard-type="pull_request" data-hovercard-url="/sourcegit-scm/sourcegit/pull/2075/hovercard" href="https://github.com/sourcegit-scm/sourcegit/pull/2075">#2075</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vitorpc4/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vitorpc4">@vitorpc4</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3882659357" data-permission-text="Title is private" data-url="https://github.com/sourcegit-scm/sourcegit/issues/2087" data-hovercard-type="pull_request" data-hovercard-url="/sourcegit-scm/sourcegit/pull/2087/hovercard" href="https://github.com/sourcegit-scm/sourcegit/pull/2087">#2087</a></li>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flipper/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flipper">@flipper</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3880181136" data-permission-text="Title is private" data-url="https://github.com/sourcegit-scm/sourcegit/issues/2085" data-hovercard-type="pull_request" data-hovercard-url="/sourcegit-scm/sourcegit/pull/2085/hovercard" href="https://github.com/sourcegit-scm/sourcegit/pull/2085">#2085</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/sourcegit-scm/sourcegit/compare/v2026.02...v2026.03"><tt>v2026.02...v2026.03</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/425837195/v2026.022026-01-26T02:43:27Z2026.02<h2>What's Changed</h2>
<ul>
<li>Use <code>git reset --hard</code> instead of <code>git reset HEAD --hard</code> to discard all local changes (avoid git errors while running in an empty repo).</li>
<li>Fix the issue that app crashed while switching blaming revision with renamed file.</li>
<li>Support to select the solution file to be opened while opening repo in <code>Visual Studio</code>.</li>
<li>Remove the <code>Traverse submodules recursively</code> option in <code>Update Submodule</code> popup (because auto-updating submodules after <code>checkout/merge/pull</code> will always enable <code>--recursive</code> option).</li>
<li>Support to use <code><SOURCEGIT> --blame <FILE></code> to launch <code>SourceGit</code> as <code>Blame</code> viewer.</li>
<li>Add a new repository settings to ask user before auto-updating submodules.</li>
<li>Refresh repo after files under <code>$GIT_DIR/reftable/</code> dir changed.</li>
<li>Add a <code>RESOLVE</code> button in conflict alert banner.</li>
<li>Add a checkbox to toggle <code>-w</code> (ignore whitespace changes) while blaming a file.</li>
<li>Update project dependencies
<ul>
<li><code>AvaloniaUI</code> to <code>11.3.11</code></li>
<li><code>AvaloniaEdit</code> to <code>11.4.0-rc1</code></li>
<li><code>TextMateSharp</code> to <code>2.0.2</code></li>
</ul>
</li>
<li>Several other UI/UX changes.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ramonmelo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ramonmelo">@ramonmelo</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3460408238" data-permission-text="Title is private" data-url="https://github.com/sourcegit-scm/sourcegit/issues/1831" data-hovercard-type="pull_request" data-hovercard-url="/sourcegit-scm/sourcegit/pull/1831/hovercard" href="https://github.com/sourcegit-scm/sourcegit/pull/1831">#1831</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/sourcegit-scm/sourcegit/compare/v2026.01...v2026.02"><tt>v2026.01...v2026.02</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/425837195/v2026.012026-01-12T02:36:47Z2026.01<h2>What's Changed</h2>
<ul>
<li>Do not auto-stash untracked files while doing <code>checkout/create branch/pull</code> with <code>Stash & Reapply</code> enabled.</li>
<li>Do not auto-stash untracked files while <code>drop/reword/squash/fixup</code> HEAD commit.</li>
<li>Set <code>core.untrackedCache=true</code> and <code>status.showUntrackedFiles=all</code> while querying local changes with untracked files.</li>
<li>Drop <code>Fleet</code> support.</li>
<li>Always try to navigate to selected commit in commit graph even if it is not changed in <code>Blame</code> window.</li>
<li>Make sure the executable file of external tool exists before opening it.</li>
<li>Supports to use <code>Ctrl + -/=</code> to zoom in/out window contents.</li>
<li>Fix the issue that the last line change may disable hunk operation in <code>side-by-side</code> diff.</li>
<li>Fix the issue that sometimes no local changes were shown.</li>
<li>Rewrites the ref comparison
<ul>
<li>Compare selected branch to worktree has been removed</li>
<li>User can compare selected branch/tag to any other branch/tag (not only HEAD)</li>
<li>User can compare selected two branch/tag</li>
</ul>
</li>
<li>Supports pre-fill short description for custom conventional commit template.</li>
<li>Supports to exclude some external editors by the name displayed in <code>Open in <NAME></code> dropdown menu.</li>
<li>Several other UI/UX changes.</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/sourcegit-scm/sourcegit/compare/v2025.41...v2026.01"><tt>v2025.41...v2026.01</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/425837195/v2025.412025-12-29T02:42:47Z2025.41<p>Happy New Year!</p>
<h2>What's Changed</h2>
<ul>
<li>Upgrade project dependencies
<ul>
<li><code>AvaloniaUI</code> to <code>11.3.10</code></li>
<li><code>OpenAI</code> to <code>2.8.0</code></li>
<li><code>Azure.AI.OpenAI</code> to <code>2.8.0-beta.1</code></li>
<li><code>Pfim</code> to <code>0.11.4</code></li>
</ul>
</li>
<li>Supports <code>R16F</code> and <code>R32F</code> formats dds image.</li>
<li>Fix the issue that wrong diff command args for Xcode's <code>FileMerge</code>.</li>
<li>Hide <code>Customize merge message</code> on <code>Merge</code> popup when user selected <code>Squash</code> or <code>Don't commit</code> mode.</li>
<li>Auto-select the tracking branch after <code>Track remote branch</code> option is toggled while creating worktree.</li>
<li><strong>macOS</strong>: Thanks <a href="https://github.com/ybeapps">@ybeapps</a>. <code>SourceGit</code> is now available in official <code>Homebrew Cask Repository</code> as signed packages.</li>
<li>Fix the issue that non-auto-hidden scrollbar overlaps contents.</li>
<li>Do not refresh commit details panel if current viewing commit does not change.</li>
<li>Auto-fetching will respect git configuration.</li>
<li>Fix the issue that launcher's title does not update on starup when last active page is the first one.</li>
<li>Auto-detect website protocol (HTTP or HTTPS) for remote with <code>git@<host>:<repo></code> format.</li>
<li>Fix the issue that app will crash when <code>$GIT_DIR/pre-push</code> hook is a broken symlink.</li>
<li>Fix the issue that line-ending changed while staging/unstaging hunk.</li>
<li>Do not show repo's path in window title.</li>
<li>Starts filesystem watcher in another background thread to avoid UI blocking (also improving startup speed).</li>
<li>Fix the issue that app will crash while reading JetBrains ToolBox's <code>state.json</code>.</li>
<li>Always use <code>git add --pathspec-from-file=<pathspec></code> instead of <code>git add .</code> because the second one cost too much time.</li>
<li>Auto update submodules (only initialized submodules) after running <code>checkout/create branch/merge/pull</code>.</li>
<li>Refresh submodules manually after running <code>update/de-init</code> submodule.</li>
<li>Fix the issue that worktree file status not updated.</li>
<li>Several other UI/UX changes.</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/sourcegit-scm/sourcegit/compare/v2025.40...v2025.41"><tt>v2025.40...v2025.41</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/425837195/v2025.402025-12-15T02:34:21Z2025.40<h2>What's Changed</h2>
<ul>
<li>Use different icons for <code>annotated</code> and <code>lightweight</code> tags in tags list/tree.</li>
<li>Enable word wrapping in <code>Edit Branch's Description</code> popup.</li>
<li>Always use hunk-based patching while staging/unstaging/discarding partial changes in a file.</li>
<li>Fix the issue that <code>Block Navigation</code> in side-by-side diff view does not work correctly.</li>
<li>Keep navigation state after toggling <code>Show All Lines</code> or view mode in text diff view.</li>
<li>Add <code>Refresh</code> context menu to the tab in launcher's tabbar.</li>
<li>Ignore all exceptions in background auto-fetching.</li>
<li><strong>Windows</strong>: Supports Windows 11's snap layout feature while hovering the maximize button.</li>
<li>Add <code>Move to Workspace</code> context menu to the tab in launcher's tabbar.</li>
<li>Add context menu item <code>Fixup into Parent</code> for HEAD commit.</li>
<li><code>Fixup</code> action in <code>Interactive Rebase</code> window will not append message to the target commit.</li>
<li>Allows to specify startup options for external shell/terminal.</li>
<li>Supports to customize diff/merge options for external diff/merge tool.</li>
<li>Several other UI/UX changes.</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/sourcegit-scm/sourcegit/compare/v2025.39...v2025.40"><tt>v2025.39...v2025.40</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/425837195/v2025.392025-12-01T02:22:44Z2025.39<h2>What's Changed</h2>
<ul>
<li>Rewrite the way to load commit message for in-progress action (rebase/revert/cherry-pick/merge).</li>
<li>Supports to edit branch's description and show it in branch's tooltip.</li>
<li>Upgrade <code>AvaloniaUI</code> to <code>11.3.9</code>.</li>
<li>Always turn off <code>--color=<when></code> and <code>--ext-diff</code> when calling <code>git diff</code> command.</li>
<li>Add <code>Use fixed tab width in titlebar</code> option in <code>Preferences</code> back.</li>
<li>Respect <code>$BROWSER</code> env on Linux.</li>
<li>Only auto-track remote branch after creating branch when the created branch's name matches the remote one.</li>
<li>Add <code>Open File</code> command palette to open repo's file (only committed files) with default editor.</li>
<li>Fix the issue that wrong alpha while reading <code>.dds</code> and <code>.tga</code>.</li>
<li>Upgrade to .NET 10 and change the minimal supported macOS version to <code>13.0</code>.</li>
<li>Add <code>Checkout Local Branch</code> command to repository's command palette.</li>
<li>Auto-update submodules after merging.</li>
<li>Use <code>--ignore-space-change</code> instead of <code>--ignore-all-space</code> while diffing with <code>Ignore Whitespace Changes</code> option enabled.</li>
<li>Auto-scroll to the first changed hunk when selecting file to diff.</li>
<li>Several other UI/UX changes.</li>
</ul>
<h2>New Contributors</h2>
<ul>
<li><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jcorbalanm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jcorbalanm">@jcorbalanm</a> made their first contribution in <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="3655182088" data-permission-text="Title is private" data-url="https://github.com/sourcegit-scm/sourcegit/issues/1936" data-hovercard-type="pull_request" data-hovercard-url="/sourcegit-scm/sourcegit/pull/1936/hovercard" href="https://github.com/sourcegit-scm/sourcegit/pull/1936">#1936</a></li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/sourcegit-scm/sourcegit/compare/v2025.38...v2025.39"><tt>v2025.38...v2025.39</tt></a></p>github-actions[bot]tag:github.com,2008:Repository/425837195/v2025.382025-11-17T02:38:52Z2025.38<h2>What's Changed</h2>
<ul>
<li>Fix the issue that closing a repo which is already deleted in filesystem will crash this app.</li>
<li>Add hotkey <code>Ctrl+Shift+P/⌘+⇧+P</code> to open repository command palette.</li>
<li>Supports to use <code>Tab</code> to navigation focus in command palette.</li>
<li>Add <code>File</code> scope and built-in variable <code>${FILE}</code> for custom actions.</li>
<li>Rewrite interactive-rebase workflow.</li>
<li>Rewrite the commit message editor control.</li>
<li>Supports to open file with detected external editors.</li>
<li>Supports to unlock all files that locked by current user in <code>LFS Locks</code> window.</li>
<li>Supports to use CLI command <code><SOURCEGIT_EXECUTABLE> --file-history <FILE_PATH></code> to view given file history only.</li>
<li><strong>BREAKING CHANGE:</strong> Save history filters into <code>$GIT_DIR/sourcegit.filters</code> to support different filters between worktrees.</li>
<li>User's input for commit searching will be remained until repo is closed.</li>
<li>Change <code>Conventional Commit Message Helper</code> window from modal dialog to normal.</li>
<li>Remove invalid filter after deleting branch/tag.</li>
<li>Fix the issue that the last line without a newline at end of file can not be discard.</li>
<li>Load commit message after cherry-picking another commit with <code>-n</code> option.</li>
<li>Several other UI/UX changes.</li>
</ul>
<p><strong>Full Changelog</strong>: <a class="commit-link" href="https://github.com/sourcegit-scm/sourcegit/compare/v2025.37...v2025.38"><tt>v2025.37...v2025.38</tt></a></p>github-actions[bot]