Releases: sourcegit-scm/sourcegit
Releases · sourcegit-scm/sourcegit
Release list
2026.17
What's Changed
- fix(AddWorktree): exclude current branch and worktree-attached branches from selection by @weiningwei in #2581
- docs: Update README.md with new linux instructions by @LiarOnce in #2577
- fix: build folder path from Backend.Path and silence null-revision bindings in revision file tree by @gadfly3173 in #2595
- Fix the issue app crashes on startup due to the name of pipeline is too long
- Use
--rebase=falsewhen pulling withUse rebase instead of mergeunchecked - Change the
FontFamilyof commit message editor to the monospaced font and shows a column length guide line - Allow adding remote without fetching tags
- Disable
textconvwhile querying conflict file state for binary files. - Several other UI/UX changes.
New Contributors
Full Changelog: v2026.16...v2026.17
2026.16
What's Changed
- fix: remove history filter only on successful remote branch deletion by @JC-Chung in #2533
- ux: show registering progress after scanning repositories by @JC-Chung in #2534
- localization: update Traditional Chinese translations by @JC-Chung in #2541
- localization: update Russian translate by @AquariusStar in #2549
- localization: complete Indonesian translations by @grikomsn in #2550
- fix: use DataDir hash in IPC pipe name to isolate instances with different data dirs by @JC-Chung in #2552
- fix: only start tab drag on left mouse button press by @gadfly3173 in #2554
- localization: update Spanish translation by @jjesus-dev in #2555
- Refactoring (related to PR #2474 code-review) by @goran-w in #2562
- localization: update Chinese translations by @JC-Chung in #2570
- fix: prefer exact match over suffix match when auto-selecting tracking branch for worktree by @weiningwei in #2569
- Update russian translate by @AquariusStar in #2571
- fix: account for amend when generating AI commit message by @gadfly3173 in #2573
- Support using
ESCto cancel confirm dialog - Prevent to scroll to last selected change when collapse/expand another folder in tree view mode
- Support to filter branch in
Statisticsdialog - Close
AIAssistantdialog immediately after applying the generated message - Fix the issue that there's an extra
CRmarker at the last line in text diff view if file-line-ending is\r\n - Support to choose the start point when starting
git-flowtopic branch - Better keyboard navigation in popup
- Support to collapse history filter bar.
- Re-design auto-check for new version.
- macOS: Support terminal
Otty,cmuxandmux0 - macOS: Support to use
open -a SourceGit <path>to open a repository from commandline - Fallback to
en_USwhenpreferences.jsoncontains an invalid locale key. - Drop support to show children in commit details panel. User can use
Alt/⌥ + Upto goto child commit. - Support to copy parent SHA on commit details panel.
- Add an option to enable
--forcewhen deleting multiple branches. - Enhanced conflict panel for binary files.
- Several other UI/UX changes.
New Contributors
- @weiningwei made their first contribution in #2569
Full Changelog: v2026.15...v2026.16
2026.15
What's Changed
- fix: escape BRE special characters when selecting author from suggestions by @JC-Chung in #2494
- fix: let the diff view wake up before its first curtain call by @gadfly3173 in #2496
- fix: null check for RevisionFileSearchSuggestion on key down by @JC-Chung in #2501
- fix: prevent crash in Chart.Render when repository has no commits by @JC-Chung in #2504
- fix: hide file manager and terminal options for invalid repositories by @JC-Chung in #2503
- localization: update Spanish translation by @jjesus-dev in #2510
- localization: update Russian translate by @AquariusStar in #2514
- Add .tss to .gitignore by @ghiboz in #2520
- localization: update Traditional Chinese translations by @ChiahongHong in #2526
- Move recent commit messages from repository settings to ui-states.
- Fix the issue that
core.commentChardoes not allow more than one ASCII characters withgit < 2.45.0 - Make groups listbox larger and auto-select the
ROOTgroup by default inMove Repository Nodepopup. - Change the hotkey to clone remote repository to
Ctrl/⌘+R(R means remote) - Change the hotkey to open local repository to
Ctrl/⌘+L(L means local) - Add hotkey
Ctrl/⌘+Nto open details panel (in HISTORY page) in a seperate window - Fix the issue that user can not choose private SSH key (without extension) on Linux.
- Support to use
Ctrl/⌘+Wto close sub-windows - Fix the issue that diff view did not update when selecting a new unstaged submodule and another file.
- Use a single command to query revision info of submodule change.
- Several other UI/UX changes.
Full Changelog: v2026.14...v2026.15
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