Releases: sourcegit-scm/sourcegit
Releases · sourcegit-scm/sourcegit
Release list
2026.14
What's Changed
- Fix: sort staged+amend changes the same way as ordinary staged changes by @goran-w in #2441
- localization: update Traditional Chinese translations by @JC-Chung in #2443
- perf: replace manual hex formatting with
Convert.ToHexStringLowerby @IconHHw in #2453 - [enhancement] Add flag '--ignore-blank-lines' when ignoring whitespace by @goran-w in #2455
- fix: branch name in toolbar not updated immediately after renaming current branch by @JC-Chung in #2470
- translation: Update Russian translate by @AquariusStar in #2471
- fix: local branches count not updated immediately after creating branch by @JC-Chung in #2472
- fix: create branch dialog not respecting stash & reapply default preference by @JC-Chung in #2473
- fix: prevent unsafe browser targets from issue tracker links by @ChiahongHong in #2475
- localization: update Spanish translation by @jjesus-dev in #2476
- style: fix visual inconsistencies between WorkingCopy and StashesPage by @JC-Chung in #2477
- [fix + enhancement] Improve handling of filemode changes by @goran-w in #2474
- ux: use tabular numbers for commit time by @ChiahongHong in #2479
- fix: correct placeholder in zh_TW BranchTree.AheadBehind translation by @JC-Chung in #2490
- localization: update Japanese translation by @rlbxku1r in #2493
- Improve
git-flowintegration- Support both
git-flow/git-flow-avhandgit-flow-next. - Support to finish current
git-flowtopic branch from the dropdown ofGit Flowbutton in repository toolbar. - Support
--rebaseoption ingit flow <topic> finish <name>command. - Use
BranchOrTagNameTextBoxinstead ofTextBoxto auto-replace whitespace with-ingit flow <topic> start <name>popup.
- Support both
- Context menu of select tag changed
- Add
Checkout Tagto checkout the selected tag as detached HEAD. - Add
Merge <tag> into <cur>to merge selected tag into current branch.
- Add
- Use
git describe --abbrev=8 --dirtyto generate friendly version name forSourceGit - Support to open bare repository from commandline
- Fix the issue that path with format
"<driver>:\path_to_repo\"in commandline are parsed to<driver>:\path_to_repo" - Fix the issue that sometimes app hangs when selecting text in text diff view with syntax highlighting on.
- New bookmark selector control.
Search Commitchanges- Drop support to search commit by committer
- Show suggestions when searching commit by author
- Select the result directly after searching commit by SHA
- Fix the issue that sometimes the
Logsdialog does not layout properly with multiple displays. - Show line-endings in text diff view when
Show hidden symbolsis turned on- Line-endings in
git diffcommand output are affected bycore.autocrlf(git configuration) and--ignore-cr-at-eol(option)
- Line-endings in
- Rewrite the commit message editor.
- Enable
--ignore-blank-lineswhenIgnore whitespace changesis toggled in text diff. - Increase the speed while scrolling tabs in main window with mouse wheel
- Fix the issue that timer leaks after repository page closed.
- Update third-party dependencies
- Downgrade
Avaloniato 11.3.18 - Downgrade
AvaloniaEditto 11.4.1 - Downgrade
Avalonia.Controls.DataGridto 11.3.13
- Downgrade
- Rework
Deleting Branch- Remove
Also delete remote branch <upstream>option. Instead, after deleting the local branch successfully, ask user that shouldSourceGitalso deleting the remote branch when it has the same name and is the upstream of deleted local branch - Add
Force delete even if it contains unmerged commit(s)option, and use-dinstead of-Dingit branchcommand unless this option is checked. - When deleting multiple branches, always use
-dinstead of-D.
- Remove
- Use monospaced font for all the SHA labels.
- Rework
Visual Studiointegration- Do not allow open folder with
Visual Studio - When there's only one solution, do not show submenus. Otherwise, keep current design
- Do not allow open folder with
- Use single-clicking instead of double-clicking when seleting item in suggestion popups.
- Add
Pushcontext menu entry for non-current branch in context menu of selected commit. - Fix the issue that submodule's dirty state is not updated after committing.
- Do not ignore the line starts with '#' in commit message while rebasing.
- Add a new context menu entry
Ignore all untracked files in the same folderfor selected file - Several other UI/UX changes.
New Contributors
Full Changelog: v2026.13...v2026.14
2026.13
What's Changed
- localization: update Spanish translation by @jjesus-dev in #2413
- localization: add
Greektranslation by @teras in #2416 - fix: add an missing argument of linux package's desktop entry by @parintorn0 in #2279
- localization: update Russian translation by @AquariusStar in #2420
- Update Korean translations by @plzfday in #2421
- fix: remove extra '\n' when resolving conflicts using internal merge tool by @cdammanintopix in #2429
- Fix issue where ignore-whitespace can't be toggled (#2435) by @goran-w in #2436
- Fix the issue that hotkey to stage/unstage/discard selected hunk only works in the very FIRST text diff view instance.
- Make sure the commit list is still focused after closing
Select Commitdialog - Fix the issue that sometimes auto-fetch does not end as expected.
- Sync changes about
Show All Lines,Ignore Whitespace ChangesandSide-by-Sidebetween all text diff view instances. - Allow to resize the width of left/right side in
Side-by-Sidetext diff viewer. - Support to copy selected line(s) as patch in text diff viewer
- Always checkout as detached HEAD when double-clicking commit in
HISTORYpage while bisecting. - Support to apply patch from clipboard.
- Use
JetBrains Mono NLinstead ofJetBrains Monoas built-in monospace font. - Support to show both
AUTHOR TIMEandCOMMIT TIMEin history graph- Remove the
Show author time instead of commit time in graphoption fromPreferences
- Remove the
- Add new option
Update nested submodulesinUpdate Submodulespopup - Add new setting
Enable --recursive when auto-updating submodulesinRepository Configuredialog - Improve bisecting workflow
- Add a new indicator for skipped commit when bisecting.
- Avoid marking a single commit multiple times when bisecting.
- Better tips when bisecting.
- Support to save ignore file pattern to
.gitignorein sub-directory. - Upgrade third-party dependencies
AvaloniaUIto12.0.4- Remove
LiveChartsCore.SkiaSharpView.Avalonia, and use a custom controlChartinstead
- Show
EMPTY FILEinstead ofNO CHANGES OR ONLY EOL CHANGESwhen added/deleted file is an empty file - When open commit details panel in a separate window, make it detached from the main window.
- Fix the issue that after checking-out/creating/renaming branch the expand states of remote branches are lost.
- Several other UI/UX changes.
New Contributors
- @teras made their first contribution in #2416
- @parintorn0 made their first contribution in #2279
- @plzfday made their first contribution in #2421
Full Changelog: v2026.12...v2026.13
2026.12
What's Changed
- localization: Add missing keys to French translation by @UchiTesting in #2355
- localization: update Spanish translation by @jjesus-dev in #2357
- localization: update Russian translate by @AquariusStar in #2378
- Hebrew translation by @Y-PLONI in #2383
- feature: allow search branches when adding a worktree by @Miqueas in #2394
- Update Russian Translation by @AquariusStar in #2405
- Show
Initialize Repositorypopup when opening a invalid git repository from commandline - Improve some git commands' performance.
- Use a custom resizer for width of
AUTHORcolumn inHISTORYpage and stores it in repository's UI state instead of the global layout info. - Fix the issue that pre-filled path filter in
Dir Historyis not converted to Unix-style path when launchingSourceGitwith cli<SOURCEGIT> --history <WINDOWS_STYLE_DIR> - Add a context menu
Copy SHAto selected commits inFile Historydialog. - Save bookmark and friendly name of unmanaged repository into
$GIT_DIR/sourcegit.node - Change built-in merge editor to non-modal dialog
- Supports to copy author/committer time
- Supports to compact branch names in commit graph
- Fix the issue that app crashes when opening context menu of a commit that contains invalid remote branch decorator
- Disable
Stashcontext menu for staged files whenAmendis enabled. - Render
fixup!,amend!andsquash!as keyword in commit subject. - Add
Assisted-by:to auto-completion strings in commit message box. - Fix the issue that keyboard navigation in diff viewer only work in the FIRST visited page that contains a diff viewer.
- Testing for merge and show result in
Mergepopup (requiresgit >= 2.38.0). - Testing for rebase and show result in
Rebasepopup (requiresgit >= 2.44.0). - Move
Merge <SOURCE> into <CURRENT>from submenu to the main context menu of selected commit - Cache loaded grammars and themes for syntax highlighting to reduce memory usage.
- Force show
HEADwhen there are only excluded filters and we are cherry-picking/merging/rebasing/reverting. - Several other UI/UX changes.
New Contributors
Full Changelog: v2026.11...v2026.12
2026.11
What's Changed
- localization: update Spanish translation by @jjesus-dev in #2329
- Align source revision in about dialog by @ChiahongHong in #2331
- localization: update Russian translate by @AquariusStar in #2332
- fix: remove duplicate branch when overwriting existing branch by @gadfly3173 in #2345
- Do not disable
thinking modebut sendreasoning_contentback to the OpenAI service when it is available - Remember selection in
HISTORYpage when it contains less than 21 commits - Add a context menu entry
Copyto selectedREFin commit's details panel. - Add a new context menu
Compare with <upstream>to compare selected branch with its upstream directly - Add a new checkbox in
Preferences > GITto useStash & Reapplyby default when checking-out or merging branches. - Better left/right arrow key navigation in change/file tree view.
- Clean up related files on abort rebasing.
- Trim block-code markdown identifiers in AI response.
- Allow searching for remote branches in
Pull/Push. - Prefill commit message manually when cherry-picking multiple commits with
-n -x - Add hotkey
F2to rename selected local branch - Add a new commandline
--history <FILE_OR_DIR>and remove the old one--file-history <FILE_PATH> - Support to open history details panel in a separate window
- Support to collapse commit details panel (only available with vertical layout). Hotkey:
Ctrl+J/⌘+J - Support to open commit details panel in a separate window in
Interactive Rebasedialog - Support
--no-verifyoption to bypass thepre-rebasehook while rebasing. - Fallback
${BRANCH}and${BRANCH_FRIENDLY_NAME}to current local branch when scope is not branch while executing custom action. - Add global hotkey Ctrl+` to open terminal.
- Show left/right only commits in
Comparewindow - Support to disable the
Fetch available model-ids automaticallyfeature and specify the model-id directly. - Rewrite the highlighting in graph
- Upgrade
Avaloniato11.3.15 - Several other UI/UX changes.
Full Changelog: v2026.10...v2026.11
2026.10
What's Changed
- Auto-select branch for
Branch Selectorcontrol in custom action. - Fix the issue that app may crashes when user are trying to close a repository with an action that is still running.
- Add
Usebutton back to apply AI generated message. - Add a context menu entry
Enable Auto-Fetchto selected remote which allows user to disable some remotes from auto-fetching.
- Note: this context menu item is visible only when user has enabled theFetch remotes automaticallyfeature inPreferences. - Fix the issue that
Askpassdoes not support non-ASCII characters. - Fix the issue that
Initialize Repositorydoes not apply bookmark fromOpen Repositorypopup. - Fix the issue that sometimes user settings are lost because the configuration file is broken.
- Disable thinking mode in AI assistant.
- Linux: Fix the issue that some linux distros have a newer version of
libicuwhich is a dependency of this app. - Fix the issue that sometimes
NullReferenceExceptionoccurs. - Supports to preview
PSDas image. - Shows the git source revision when compiling this project in
Aboutdialog. - Fix the issue that
fixup!/squash!commits' positions sometimes are incorrect. - Change the
DateSeparatorandTimeSeparatorto prevent/or:being replaced by culture inDateTime.ToString(). - Keep selection in
HISTORYpage if user only selected one or two commits. - Thanks to @gadfly3173, we have anothor
debpackage repository. - Several other UI/UX changes.
New Contributors
Full Changelog: v2026.09...v2026.10
2026.09
What's Changed
- Make the
AI Assistantwindow non-modal dialog and resizable. - Fix the issue that auto-fetch feature does not work correctly.
- Rewrite
Open Local Repositoryfeature. And add hotkeyCtrl+Shift+O/⌘+⇧+Ofor it. - Allows to change group and bookmark when cloning repository.
- Auto-order
fixup!andsquash!commits when loading commits for interactive rebasing. - Allow hunk-based staging/unstaging/discard for non-UTF8 text changes.
- Supports to view detail changes of modified submodule (not available for new/uninited/deleted submodule).
- Fix the issue that app may take a long time to startup when you have some AI services configured.
- Remove
--pushoption which is not a valid parameter forgit-flow-next. Set as tracking branchshould be visiable when trying to push to a new remote branch.- Fix the issue that failed to stage/discard selected hunk with renamed files.
- macOS: Fix the issue that app crashes when quiting from
Dock. - macOS: Add
Hide Othersto app menu and correct the behaviour ofShow All. - Add
Local Branch SelectorandRemote Branch Selectorcontrol types for custom actions. - Replace
${BRANCH}with current branch name when the custom action's scope isRepository. - Add
String FormatterforTextBoxin custom action input control. - Several other UI/UX changes.
Full Changelog: v2026.08...v2026.09
2026.08
Warning
Please DO NOT use this version and wait for the next release instead. This version contains some serious issues
What's Changed
- Support to exclude modified/deleted files while discarding local changes.
- Upgrade dependencies
AvaloniaUIto11.3.13and buildAvaloniaEditwith it.CommunityToolkit.Mvvmto8.4.2LiveChartsCore.SkiaSharpView.Avaloniato2.0.0OpenAIto2.10.0
- Add a context menu entry
Checkout New Branchfor selected stash to rungit stash branch <branch_name> <stash>command. - Support to search remote branch in
Set Tracking BranchandAdd Worktreepopup. - Dynamic loading and choosing AI model in assistant dialog.
- Fix the issue that duplicated repo may be added when scanning repositories on case-insensitive platform.
- Set
User-Agentto an empty string when communicating withOpenAI APIcompatible service. - Allow using arrow down key to directly select branch while searching in
BranchSelector. - Fix the issue that failed to create pull request if the remote's URL contains account part.
- Auto-select the new HEAD after reword.
- Allow editing repository's display name and bookmark from the context menu of selected tab.
- Better word division for line-based diff.
- Fix the issue that staged files do not update after committing with
--amendenabled successfully. - BREAKING CHANGE: auto-fetch is a global setting instead of per-repo setting now.
- Several other UI/UX changes.
New Contributors
Full Changelog: v2026.07...v2026.08
2026.07
What's Changed
- Show changed line summary in diff view
- Allow to disable
Micaeffect on Windows 11 by adding"UseMicaOnWindows11" = falsein custom theme overrides. - Add hotkey
Ctrl+B/⌘+Bto create a new branch and removeCreate Branchbutton from repository's toolbar. - Support git
SHA-256format object hash. - Improve preformance of creating/renaming/switching local branch.
- Support remote url with whitespace while cloning.
- Run checking out directly when all the local changes are new files.
- Fix the data-race issue when trying to search commit before the previous searching request done.
- Add a dropdown button to quick switch remote's (include submodule's) URL between
HTTPSandSSHprotocol. - Allow to use
--3wayoption inApplypopup. - Try to fix the issue that sometimes local changes did not update.
- Add
Do Nothingoption back when trying to checkout another branch with uncommitted local changes. - Hide the row of dealing with local changes when there are no local changes at all.
- Rewrite AI-based commit message generation.
- Rewrite the command to get staged changes with
--amendoption enabled. - Rewrite the way to get current branch info for repository management page.
- Several other UI/UX changes.
New Contributors
- @geviraydev made their first contribution in #2194
- @CrabNickolson made their first contribution in #2200
- @Saibamen made their first contribution in #2209
Full Changelog: v2026.06...v2026.07
2026.06
What's Changed
- Rewrite the exit code of standalone commit message editor.
- Clicking
OKbutton will apply the modified message and exit with code0 - Clicking
CANCELor pressingESCwill not apply the modified message and exit with code-1 - Clicking the window caption button
Xwill not apply the modified message and exit with code0
- Clicking
- Change the hotkey for searching commit from
Ctrl+F/⌘+FtoCtrl+Shift+F/⌘+⇧+F - Pressing
Ctrl+F/⌘+Fin a list/tree will focus the nearby search(filter) box. - Fix the issue that app hungs up when selecting the longest line to the end in text editor with syntax-highlighting enabled.
- More git trailer keywords are added in commit message box.
- Rewrite repository's command palette - more commands, icons, and search keyword.
- Rewrite worktrees in side bar.
- Auto focus the first input element when a popup is showing.
- Rewrite the file-history feature to support detecting renames (
--follow). - Fix the issue that error occurs when trying to unstage files in a fresh repo (no commits yet).
- Add a new button
STAGE SELECTED & COMMITtoConfirm Empty Commitdialog when user has selected some unstaged changed file. - Re-design the
Initialize Repositorypopup. - Support 24-hours and 12-hours time display format.
- Fix the issue that users can not discard hunks in a new file when it has been staged partially.
- Several other UI/UX changes.
Full Changelog: v2026.05...v2026.06
2026.05
What's Changed
- Show current caret column in commit message textbox.
- Remember last selection of new tag's type in
Create Tagpopup. - Reset
desktop.ShutdownModetoShutdownMode.OnExplicitShutdownbefore callingdesktop.Shutdownmanually. - Fix the issue that app crashed when
availableSizeisInfinityinMeasureOverride. - Linux: Add
Ghosttyas integrated terminal tool. - Add hotkey
Alt/⌥+Upto goto child of selected commit. - Add a context menu entry to run interactive rebasing on non-current branch.
- Revert commit ceea4a1. Currently, only pressing
OKbutton inCommit Message Editorwill apply modified message. - Try to fix the issue that sometimes changes list did not update in commit
CHANGESpage (can not reproduce). - Enable word-wrap and disable horizontal scrollbar for text in notification window.
- Add a context menu entry
Apply Changesto only apply changes of selected files from stash. - Fix the issue that highlighting selected revision lines in
Blamewindow did not work. - Unify the behavior of
Reveal in File Explorerwhen the selected is a folder across all platforms - Several other UI/UX changes.
New Contributors
Full Changelog: v2026.04...v2026.05