Skip to content

Releases: sourcegit-scm/sourcegit

2026.21

Choose a tag to compare

@github-actions github-actions released this 21 Sep 02:07
v2026.21
a4ae633

What's Changed

  • docs: document OrcaRouter as an OpenAI-compatible service by @putraperdana1207-pixel in #2658
  • Allow Cherry Picking on Merged commit (#2725) by @clintonleroux in #2726
  • fix: Exec property in flatpak desktop file now points to correct executable by @flexxxxer in #2732
  • fix: hide console window when launching external tools by @weiningwei in #2731
  • Auto select the next change after discarding one.
  • Hide the --tags option in Push popup only when the branch.<selected_local_branch>.pushRemote is a remote that has not been added to current repository. For example: when this branch is created by gh pr checkout <PR> command.
  • Fix the issue that prune remote does not work with configured ssh key
  • Fix the issue that remote name with uppercase letters is forced to lowercase
  • Fix the issue that failed to generate SSH key when ~/.ssh dir does not exist
  • Add a toggle button to hide/show repository sidebar (branches/remotes/...) in local changes view.
  • Fix the issue that sometimes keybindings with diff viewer does not work correctly.
  • Several other UI/UX changes.

New Contributors

Full Changelog: v2026.20...v2026.21

2026.20

Choose a tag to compare

@github-actions github-actions released this 14 Sep 02:34
v2026.20
2451180

What's Changed

  • enhance: extract reusable CopyButton control with copy feedback by @JC-Chung in #2668
  • localization: update Spanish translation by @jjesus-dev in #2671
  • ux: add tooltip to copy button in Launcher notification by @weiningwei in #2666
  • localization: update Russian translate by @AquariusStar in #2676
  • localization: update Russian translate by @AquariusStar in #2677
  • Bug Fix: keep local changes commit controls visible on short windows by @w0lflow in #2690
  • localization: update Spanish translation by @jjesus-dev in #2694
  • localization: update Traditional Chinese translations by @JC-Chung in #2683
  • localization: update Spanish translation by @jjesus-dev in #2695
  • fix: size working copy pane for commit push action by @w0lflow in #2696
  • localization: update Japanese translation by @rlbxku1r in #2702
  • ux: enable +tnum font feature for stash time by @JC-Chung in #2705
  • Fix the issue that suggestion box in commit message editor and file search box does not hide after switching to another page.
  • Rewrite the change selection.
  • Rewrite the way to calculate the navigation block index after staging/unstaging/discarding a hunk in a file.
  • Add a new option Auto (Based-on Default Clone Dir) to auto-create groups for added repository while cloning/opening.
  • Fix the issue that setsid was built for arm64 CPU architecture in macOS (Intel) package
  • Fix the issue that wrong result in unstaged with staged binary diff.
  • Fix the issue that app crash due to VisualLinesInvalidException exception raised by AvaloinaEdit
  • Support git's branch.<name>.pushRemote configuration to push branch to another repository which is usefull when this branch is created by gh pr checkout <PR> command
  • Support to change the remote's push URL by context menu of selected remote.
  • Re-design the repository's page.
  • Move some subpage-related button from sidebar to its own page
    • Move More Options... button for HISTORY page from sidebar to HISTORY page
    • Move Discard all changes button to LOCAL CHANGES page
    • Move Clear stashes button to STASHES page.
  • Rewrite navigating commit in Blame window
    • Holding Ctrl (on Windows/Linux) or ⌘ (on macOS) when clicking commit SHA will rebuild the blame data
    • Clicking commit SHA directly will only navigate to that commit in repository's HISTORY page
    • Both will also highlights the content that comes from it
  • Fix the issue that wrong blame data when the first line of file is an empty line
  • Fix the issue that wrong submodule revision info when the revision does not exist in that repo any more (maybe after a force-pushing)
  • Upgrade AvaloniaUI to 11.3.22
  • Support to select .diff files as patches.
  • Use a single git status command to query repository's status in Welcome page
  • Several other UI/UX changes.

New Contributors

Full Changelog: v2026.19...v2026.20

2026.19

Choose a tag to compare

@github-actions github-actions released this 31 Aug 02:17
v2026.19
5c53601

Warning

There is a BUG in package sourcegit_2026.19.osx-x64.zip (macOS Intel Only). You can solve it with any of following ways

  • Remove the SourceGit.app/Contents/MacOS/setsid, then SourceGit will directly spawn git process for clone/fetch/pull/push like before. The graceful termination feature is unavailable then.
  • Download the latest CI build from GitHub Action
  • Compile the setsid yourself with clang -arch x86_64 tools/setsid-macos/setsid.c -o /Application/SourceGit.app/Contents/MacOS/setsid -mmacosx-version-min=13.0

The setsid is a macOS port of setsid command on Linux. And used to spawn git clone/fetch/pull/push command in a seperate group to make it possible to gracefully terminate it later. But I forgot to compile it with -arch <ARCH> parameter...

What's Changed

  • feature: add Bypass pre-push hook option to push dialog by @sdpfigueiredo in #2630
  • feat: use the same rules as git for branch and tag name validation by @philfontaine in #2626
  • fix: split shell exec pattern for terminal file picker on Windows by @weiningwei in #2637
  • [Enhancement] Add new graph-highlighting option "Selected Commits (only first-parent)" by @goran-w in #2646
  • ux: add Ctrl+Ins copy shortcut in diff view by @bartizan in #2657
  • Use BranchOrTagNameTextBox and check new branch name in Push to a NEW branch dialog
  • Support to terminate running clone/fetch/pull/push command gracefully.
  • Fix the issue that Git LFS status unrecognized for submodule.
  • Show a warning icon for invalid branch/tag history filter.
  • Always enable syntax highlighting in text file preview view.
  • Linux: use XDG standard directories to store app data.
  • Add a built-in SSH Key Helper to generate SSH keys without CLI.
  • Open submodule next to the owner page and default set its name to <owner>: <submodule>
  • Hide the remote name in compact commit decoractor when the repositoy has only one remote
  • Auto-select the file after picking one in suggestion dropdown in FILE tab while searching.
  • Support to use mouse XButton1/XButton2 to goto previous/next page of current actived one.
  • New style for commit info in Blame view.
  • Fix the issue that after creating a new branch in SourceGit, its upstream is null which causes crash when trying to checkout a remote branch.
  • Several other UI/UX changes.

New Contributors

Full Changelog: v2026.18...v2026.19

2026.18

Choose a tag to compare

@github-actions github-actions released this 17 Aug 02:36
v2026.18
05f0abb

What's Changed

  • fix: off-by-one in commit message subject length calculation by @JC-Chung in #2596
  • localization: complete German translations by @mowi12 in #2600
  • fix: remove stray placeholder in de_DE MergeConflictEditor.Title translation by @mowi12 in #2601
  • fix: detect IntelliJ IDEA and Android Studio from JetBrains Toolbox by @gadfly3173 in #2606
  • localization: update Russian translate by @AquariusStar in #2607
  • fix: side-by-side diff scroll desync on hidden-tab rebuild and tab switch by @JC-Chung in #2611
  • fix: copy folder path when a folder is selected by @weiningwei in #2614
  • localization: update Russian translate by @AquariusStar in #2615
  • Add OCamllex and OCamlyacc syntax highlighting support by @ftovagliari in #2616
  • Improve inline-diff highlighting by @goran-w in #2619
  • localization: update Spanish translation by @jjesus-dev in #2625
  • Fix the issue that the last auto-wrap character gets cropped in commit message box
  • Add syntax highlighting for Erlang and OCaml
  • Pressing ESC will also clear notifications in current page.
  • Fix the issue that the staged list does not update when the local changed files list does not changed but partically staging+amending a change to index.
  • Add a built-in hex-viewer for binary files.
  • Use checkbox instead of a dialog to ask user to confirm deleting the tracking remote while deleting a local branch.
  • Kill the last git status process when refreshing local changes.
  • Support to customize reasoning_effort for AI chat.
  • Use external swift grammar file instead of the built-in one in TextMateSharp
  • Upgrade AvaloniaUI to 11.3.20
  • Enable AddKeysToAgent for ssh command.
  • Use pre-filled Parent Folder as startup location for Select Folder dialog in Clone popup.
  • Several other UI/UX changes.

New Contributors

Full Changelog: v2026.17...v2026.18

2026.17

Choose a tag to compare

@github-actions github-actions released this 31 Jul 02:39
v2026.17
7f68b9c

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=false when pulling with Use rebase instead of merge unchecked
  • Change the FontFamily of commit message editor to the monospaced font and shows a column length guide line
  • Allow adding remote without fetching tags
  • Disable textconv while querying conflict file state for binary files.
  • Several other UI/UX changes.

New Contributors

Full Changelog: v2026.16...v2026.17

2026.16

Choose a tag to compare

@github-actions github-actions released this 27 Jul 02:44
v2026.16
0e5a456

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 ESC to cancel confirm dialog
  • Prevent to scroll to last selected change when collapse/expand another folder in tree view mode
  • Support to filter branch in Statistics dialog
  • Close AIAssistant dialog immediately after applying the generated message
  • Fix the issue that there's an extra CR marker at the last line in text diff view if file-line-ending is \r\n
  • Support to choose the start point when starting git-flow topic branch
  • Better keyboard navigation in popup
  • Support to collapse history filter bar.
  • Re-design auto-check for new version.
  • macOS: Support terminal Otty, cmux and mux0
  • macOS: Support to use open -a SourceGit <path> to open a repository from commandline
  • Fallback to en_US when preferences.json contains an invalid locale key.
  • Drop support to show children in commit details panel. User can use Alt/⌥ + Up to goto child commit.
  • Support to copy parent SHA on commit details panel.
  • Add an option to enable --force when deleting multiple branches.
  • Enhanced conflict panel for binary files.
  • Several other UI/UX changes.

New Contributors

Full Changelog: v2026.15...v2026.16

2026.15

Choose a tag to compare

@github-actions github-actions released this 13 Jul 02:10
v2026.15
7149a8d

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.commentChar does not allow more than one ASCII characters with git < 2.45.0
  • Make groups listbox larger and auto-select the ROOT group by default in Move Repository Node popup.
  • 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/⌘+N to 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/⌘+W to 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

Choose a tag to compare

@github-actions github-actions released this 29 Jun 02:29
v2026.14
8b1b6b2

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.ToHexStringLower by @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-flow integration
    • Support both git-flow/git-flow-avh and git-flow-next.
    • Support to finish current git-flow topic branch from the dropdown of Git Flow button in repository toolbar.
    • Support --rebase option in git flow <topic> finish <name> command.
    • Use BranchOrTagNameTextBox instead of TextBox to auto-replace whitespace with - in git flow <topic> start <name> popup.
  • Context menu of select tag changed
    • Add Checkout Tag to checkout the selected tag as detached HEAD.
    • Add Merge <tag> into <cur> to merge selected tag into current branch.
  • Use git describe --abbrev=8 --dirty to generate friendly version name for SourceGit
  • 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 Commit changes
    • 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 Logs dialog does not layout properly with multiple displays.
  • Show line-endings in text diff view when Show hidden symbols is turned on
    • Line-endings in git diff command output are affected by core.autocrlf (git configuration) and --ignore-cr-at-eol (option)
  • Rewrite the commit message editor.
  • Enable --ignore-blank-lines when Ignore whitespace changes is 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 Avalonia to 11.3.18
    • Downgrade AvaloniaEdit to 11.4.1
    • Downgrade Avalonia.Controls.DataGrid to 11.3.13
  • Rework Deleting Branch
    • Remove Also delete remote branch <upstream> option. Instead, after deleting the local branch successfully, ask user that should SourceGit also 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 -d instead of -D in git branch command unless this option is checked.
    • When deleting multiple branches, always use -d instead of -D.
  • Use monospaced font for all the SHA labels.
  • Rework Visual Studio integration
    • Do not allow open folder with Visual Studio
    • When there's only one solution, do not show submenus. Otherwise, keep current design
  • Use single-clicking instead of double-clicking when seleting item in suggestion popups.
  • Add Push context 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 folder for selected file
  • Several other UI/UX changes.

New Contributors

Full Changelog: v2026.13...v2026.14

2026.13

Choose a tag to compare

@github-actions github-actions released this 15 Jun 02:31
v2026.13
6223153

What's Changed

  • localization: update Spanish translation by @jjesus-dev in #2413
  • localization: add Greek translation 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 Commit dialog
  • Fix the issue that sometimes auto-fetch does not end as expected.
  • Sync changes about Show All Lines, Ignore Whitespace Changes and Side-by-Side between all text diff view instances.
  • Allow to resize the width of left/right side in Side-by-Side text diff viewer.
  • Support to copy selected line(s) as patch in text diff viewer
  • Always checkout as detached HEAD when double-clicking commit in HISTORY page while bisecting.
  • Support to apply patch from clipboard.
  • Use JetBrains Mono NL instead of JetBrains Mono as built-in monospace font.
  • Support to show both AUTHOR TIME and COMMIT TIME in history graph
    • Remove the Show author time instead of commit time in graph option from Preferences
  • Add new option Update nested submodules in Update Submodules popup
  • Add new setting Enable --recursive when auto-updating submodules in Repository Configure dialog
  • 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 .gitignore in sub-directory.
  • Upgrade third-party dependencies
    • AvaloniaUI to 12.0.4
    • Remove LiveChartsCore.SkiaSharpView.Avalonia, and use a custom control Chart instead
  • Show EMPTY FILE instead of NO CHANGES OR ONLY EOL CHANGES when 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

Full Changelog: v2026.12...v2026.13

2026.12

Choose a tag to compare

@github-actions github-actions released this 01 Jun 02:33
v2026.12
d67c995

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 Repository popup when opening a invalid git repository from commandline
  • Improve some git commands' performance.
  • Use a custom resizer for width of AUTHOR column in HISTORY page and stores it in repository's UI state instead of the global layout info.
  • Fix the issue that pre-filled path filter in Dir History is not converted to Unix-style path when launching SourceGit with cli <SOURCEGIT> --history <WINDOWS_STYLE_DIR>
  • Add a context menu Copy SHA to selected commits in File History dialog.
  • 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 Stash context menu for staged files when Amend is enabled.
  • Render fixup!, amend! and squash! 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 Merge popup (requires git >= 2.38.0).
  • Testing for rebase and show result in Rebase popup (requires git >= 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 HEAD when 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