[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"package:cask:sourcegit:en":3,"releases:stats:cask:sourcegit:en":561,"releases:cask:sourcegit:1:false:false:en":562,"releases-count:cask:sourcegit:true:en":682},{"accentColor":4,"artifacts":5,"autoUpdates":37,"categories":38,"conflictsWith":44,"dependsOn":47,"deprecated":37,"description":55,"descriptionEn":56,"developer":57,"disabled":37,"displayName":58,"downloadSha256":59,"downloadSize":60,"downloadUrl":61,"editorChoice":37,"formulaeUrl":62,"homepage":63,"iconUrl":64,"installCommand":65,"installs":66,"installs30d":67,"isFont":37,"isLibrary":37,"kegOnly":37,"kind":70,"latestRelease":71,"machineTranslated":37,"name":58,"names":89,"platforms":90,"primaryCategory":534,"rank30d":535,"releaseCount":536,"releaseStats":537,"repoUrl":63,"screenshots":543,"sourceLocale":83,"sourceUrl":551,"summary":552,"summaryTranslation":553,"supports":554,"tags":556,"tap":560,"token":9,"version":88,"versionChangedAt":76},"#E95538",{"apps":6,"binaries":8,"entries":10,"pkgs":36},[7],"SourceGit.app",[9],"sourcegit",[11,18,26],{"declaration":12,"phase":15,"sources":16,"target":14,"type":17},{"app":13,"target":14},[7],"\u002FApplications\u002FSourceGit.app","install",[7],"app",{"declaration":19,"phase":15,"sources":24,"target":23,"type":25},{"binary":20,"target":23},[21,22],"$APPDIR\u002FSourceGit.app\u002FContents\u002FMacOS\u002FSourceGit",{"target":9},"$HOMEBREW_PREFIX\u002Fbin\u002Fsourcegit",[21],"binary",{"declaration":27,"phase":33,"sources":34,"type":35},{"zap":28},[29],{"trash":30},[31,32],"~\u002FLibrary\u002FApplication Support\u002FSourceGit","~\u002FLibrary\u002FSaved Application State\u002Fcom.sourcegit.app.savedState","cleanup",[],"zap",[],false,[39],{"icon":40,"machineTranslated":37,"name":41,"slug":42,"sourceLocale":43},"lucide:code-xml","Developer Tools","developer-tools","zh-CN",{"casks":45,"formulae":46},[],[],{"arch":48,"casks":51,"formulae":52,"requirements":53},[49,50],"arm64","x86_64",[],[],{"macos":54},{},"SourceGit is a free, open-source Git desktop client for macOS, Windows and Linux. It presents repository history as a visual commit graph and provides graphical access to common Git commands, including clone, fetch, pull, push, merge, rebase, reset, revert and cherry-pick.\n\n## Review and organize changes\nThe interface supports staging changes, comparing revisions and branches, viewing file history and blame, and saving or applying patches. Image diffs offer side-by-side, swipe and blend views. Interactive rebase, amend, reword and squash help organize commits; repository management covers branches, remotes, tags, stashes, worktrees and submodules. Other documented tools include Git LFS, GitFlow, bisect, commit search and command logs.\n\n## Mac installation\nGit 2.25.1 or newer must be installed separately. The official README recommends installing git-credential-manager on macOS. Homebrew installs SourceGit.app and a sourcegit command-line launcher. Its cask uses the signed macOS distribution maintained by ybeapps, which the upstream README explicitly links. This differs from the unsigned macOS archives on the upstream release page; choose the signed distribution rather than bypassing macOS security checks unnecessarily.\n\nUser settings, downloaded avatars and crash logs are stored in ~\u002FLibrary\u002FApplication Support\u002FSourceGit. The application supports opening a repository from the command line, or launching directly into a file's history or blame view.\n\n## Personalization and optional AI\nBuilt-in light and dark themes, custom themes and multiple interface languages are documented. An optional OpenAI-compatible service can generate commit messages after its endpoint and credentials are configured in Preferences. Review the configured provider and its data handling before using that integration with private repositories.\n\n## Sources\n- https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit (official README, feature list and setup)\n- https:\u002F\u002Fgithub.com\u002Fybeapps\u002Fhomebrew-sourcegit\u002Freleases (upstream-linked signed macOS distribution)\n- https:\u002F\u002Fgithub.com\u002FHomebrew\u002Fhomebrew-cask\u002Fblob\u002FHEAD\u002FCasks\u002Fs\u002Fsourcegit.rb\n","Git GUI client","SourceGit contributors","SourceGit","2d482ceab2e9e3814726c14df64c5a8960274a0a68fdec8a34f6b4877c4a82f7",30478919,"https:\u002F\u002Fgithub.com\u002Fybeapps\u002Fhomebrew-sourcegit\u002Freleases\u002Fdownload\u002Fv2026.21-signed\u002FSourceGit-v2026.21-arm64-signed.dmg","https:\u002F\u002Fformulae.brew.sh\u002Fcask\u002Fsourcegit","https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit","https:\u002F\u002Fcdn.opennavo.com\u002Ficons\u002Fuploads\u002F70867f2de9ed\u002Fe47212f46a5b-256.png","brew install --cask sourcegit",{"d30":67,"d365":68,"d90":69},173,2912,1003,"cask",{"bodyMarkdown":72,"brewCommittedAt":73,"hasNotes":74,"id":75,"isLatest":74,"isPrerelease":37,"machineTranslated":37,"publishedAt":76,"sections":77,"source":82,"sourceLocale":83,"summary":84,"title":85,"translation":86,"version":88},"## What's Changed\r\n* docs: document OrcaRouter as an OpenAI-compatible service by @putraperdana1207-pixel in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2658\r\n* Allow Cherry Picking on Merged commit (#2725) by @clintonleroux in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2726\r\n* fix: Exec property in flatpak desktop file now points to correct executable by @flexxxxer in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2732\r\n* fix: hide console window when launching external tools by @weiningwei in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2731\r\n* Auto select the next change after discarding one.\r\n* Hide the `--tags` option in `Push` popup only when the `branch.\u003Cselected_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 \u003CPR>` command.\r\n* Fix the issue that prune remote does not work with configured ssh key\r\n* Fix the issue that remote name with uppercase letters is forced to lowercase\r\n* Fix the issue that failed to generate SSH key when `~\u002F.ssh` dir does not exist\r\n* Add a toggle button to hide\u002Fshow repository sidebar (branches\u002Fremotes\u002F...) in local changes view.\r\n* Fix the issue that sometimes keybindings with diff viewer does not work correctly.\r\n* Several other UI\u002FUX changes.\r\n\r\n## New Contributors\r\n* @putraperdana1207-pixel made their first contribution in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2658\r\n* @clintonleroux made their first contribution in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2726\r\n* @flexxxxer made their first contribution in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2732\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fcompare\u002Fv2026.20...v2026.21\n\nOfficial release: https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Freleases\u002Ftag\u002Fv2026.21\nHomebrew version evidence: https:\u002F\u002Fgithub.com\u002FHomebrew\u002Fhomebrew-cask\u002Fcommit\u002F62e63732cae3d45c2076ae581483a580c4dd7fbd\n","2026-09-21T04:33:09Z",true,2177,"2026-10-07T09:38:42.722922Z",[78],{"area":79,"items":80},"Upstream",[81],"Full official changes and platform-specific caveats are preserved below.","editorial","en-US","Adds cherry-picking of merge commits and a repository-sidebar toggle; fixes SSH pruning, remote-name case, SSH key creation and diff-viewer keybindings.","SourceGit 2026.21",{"locale":83,"machineTranslated":37,"sourceLocale":83,"status":87},"source","2026.21",[58,9],[91,125,156,188,219,251,282,314,345,377,408,440,471,503],{"arch":50,"artifacts":92,"conflictsWith":112,"dependsOn":115,"downloadSha256":121,"downloadUrl":122,"macos":123,"requiresRosetta":37,"tag":124,"version":88},{"apps":93,"binaries":94,"entries":95,"pkgs":111},[7],[9],[96,100,105],{"declaration":97,"phase":15,"sources":99,"target":14,"type":17},{"app":98,"target":14},[7],[7],{"declaration":101,"phase":15,"sources":104,"target":23,"type":25},{"binary":102,"target":23},[21,103],{"target":9},[21],{"declaration":106,"phase":33,"sources":110,"type":35},{"zap":107},[108],{"trash":109},[31,32],[],[],{"casks":113,"formulae":114},[],[],{"arch":116,"casks":117,"formulae":118,"requirements":119},[50],[],[],{"macos":120},{},"6194c2bfa5ffa029110cc9041a28f2fc025f7e36a6928905180cea21469cf25b","https:\u002F\u002Fgithub.com\u002Fybeapps\u002Fhomebrew-sourcegit\u002Freleases\u002Fdownload\u002Fv2026.21-signed\u002FSourceGit-v2026.21-x64-signed.dmg","27","golden_gate",{"arch":49,"artifacts":126,"conflictsWith":146,"dependsOn":149,"downloadSha256":59,"downloadUrl":61,"macos":123,"requiresRosetta":37,"tag":155,"version":88},{"apps":127,"binaries":128,"entries":129,"pkgs":145},[7],[9],[130,134,139],{"declaration":131,"phase":15,"sources":133,"target":14,"type":17},{"app":132,"target":14},[7],[7],{"declaration":135,"phase":15,"sources":138,"target":23,"type":25},{"binary":136,"target":23},[21,137],{"target":9},[21],{"declaration":140,"phase":33,"sources":144,"type":35},{"zap":141},[142],{"trash":143},[31,32],[],[],{"casks":147,"formulae":148},[],[],{"arch":150,"casks":151,"formulae":152,"requirements":153},[49],[],[],{"macos":154},{},"arm64_golden_gate",{"arch":50,"artifacts":157,"conflictsWith":177,"dependsOn":180,"downloadSha256":121,"downloadUrl":122,"macos":186,"requiresRosetta":37,"tag":187,"version":88},{"apps":158,"binaries":159,"entries":160,"pkgs":176},[7],[9],[161,165,170],{"declaration":162,"phase":15,"sources":164,"target":14,"type":17},{"app":163,"target":14},[7],[7],{"declaration":166,"phase":15,"sources":169,"target":23,"type":25},{"binary":167,"target":23},[21,168],{"target":9},[21],{"declaration":171,"phase":33,"sources":175,"type":35},{"zap":172},[173],{"trash":174},[31,32],[],[],{"casks":178,"formulae":179},[],[],{"arch":181,"casks":182,"formulae":183,"requirements":184},[50],[],[],{"macos":185},{},"26","tahoe",{"arch":49,"artifacts":189,"conflictsWith":209,"dependsOn":212,"downloadSha256":59,"downloadUrl":61,"macos":186,"requiresRosetta":37,"tag":218,"version":88},{"apps":190,"binaries":191,"entries":192,"pkgs":208},[7],[9],[193,197,202],{"declaration":194,"phase":15,"sources":196,"target":14,"type":17},{"app":195,"target":14},[7],[7],{"declaration":198,"phase":15,"sources":201,"target":23,"type":25},{"binary":199,"target":23},[21,200],{"target":9},[21],{"declaration":203,"phase":33,"sources":207,"type":35},{"zap":204},[205],{"trash":206},[31,32],[],[],{"casks":210,"formulae":211},[],[],{"arch":213,"casks":214,"formulae":215,"requirements":216},[49],[],[],{"macos":217},{},"arm64_tahoe",{"arch":50,"artifacts":220,"conflictsWith":240,"dependsOn":243,"downloadSha256":121,"downloadUrl":122,"macos":249,"requiresRosetta":37,"tag":250,"version":88},{"apps":221,"binaries":222,"entries":223,"pkgs":239},[7],[9],[224,228,233],{"declaration":225,"phase":15,"sources":227,"target":14,"type":17},{"app":226,"target":14},[7],[7],{"declaration":229,"phase":15,"sources":232,"target":23,"type":25},{"binary":230,"target":23},[21,231],{"target":9},[21],{"declaration":234,"phase":33,"sources":238,"type":35},{"zap":235},[236],{"trash":237},[31,32],[],[],{"casks":241,"formulae":242},[],[],{"arch":244,"casks":245,"formulae":246,"requirements":247},[50],[],[],{"macos":248},{},"15","sequoia",{"arch":49,"artifacts":252,"conflictsWith":272,"dependsOn":275,"downloadSha256":59,"downloadUrl":61,"macos":249,"requiresRosetta":37,"tag":281,"version":88},{"apps":253,"binaries":254,"entries":255,"pkgs":271},[7],[9],[256,260,265],{"declaration":257,"phase":15,"sources":259,"target":14,"type":17},{"app":258,"target":14},[7],[7],{"declaration":261,"phase":15,"sources":264,"target":23,"type":25},{"binary":262,"target":23},[21,263],{"target":9},[21],{"declaration":266,"phase":33,"sources":270,"type":35},{"zap":267},[268],{"trash":269},[31,32],[],[],{"casks":273,"formulae":274},[],[],{"arch":276,"casks":277,"formulae":278,"requirements":279},[49],[],[],{"macos":280},{},"arm64_sequoia",{"arch":50,"artifacts":283,"conflictsWith":303,"dependsOn":306,"downloadSha256":121,"downloadUrl":122,"macos":312,"requiresRosetta":37,"tag":313,"version":88},{"apps":284,"binaries":285,"entries":286,"pkgs":302},[7],[9],[287,291,296],{"declaration":288,"phase":15,"sources":290,"target":14,"type":17},{"app":289,"target":14},[7],[7],{"declaration":292,"phase":15,"sources":295,"target":23,"type":25},{"binary":293,"target":23},[21,294],{"target":9},[21],{"declaration":297,"phase":33,"sources":301,"type":35},{"zap":298},[299],{"trash":300},[31,32],[],[],{"casks":304,"formulae":305},[],[],{"arch":307,"casks":308,"formulae":309,"requirements":310},[50],[],[],{"macos":311},{},"14","sonoma",{"arch":49,"artifacts":315,"conflictsWith":335,"dependsOn":338,"downloadSha256":59,"downloadUrl":61,"macos":312,"requiresRosetta":37,"tag":344,"version":88},{"apps":316,"binaries":317,"entries":318,"pkgs":334},[7],[9],[319,323,328],{"declaration":320,"phase":15,"sources":322,"target":14,"type":17},{"app":321,"target":14},[7],[7],{"declaration":324,"phase":15,"sources":327,"target":23,"type":25},{"binary":325,"target":23},[21,326],{"target":9},[21],{"declaration":329,"phase":33,"sources":333,"type":35},{"zap":330},[331],{"trash":332},[31,32],[],[],{"casks":336,"formulae":337},[],[],{"arch":339,"casks":340,"formulae":341,"requirements":342},[49],[],[],{"macos":343},{},"arm64_sonoma",{"arch":50,"artifacts":346,"conflictsWith":366,"dependsOn":369,"downloadSha256":121,"downloadUrl":122,"macos":375,"requiresRosetta":37,"tag":376,"version":88},{"apps":347,"binaries":348,"entries":349,"pkgs":365},[7],[9],[350,354,359],{"declaration":351,"phase":15,"sources":353,"target":14,"type":17},{"app":352,"target":14},[7],[7],{"declaration":355,"phase":15,"sources":358,"target":23,"type":25},{"binary":356,"target":23},[21,357],{"target":9},[21],{"declaration":360,"phase":33,"sources":364,"type":35},{"zap":361},[362],{"trash":363},[31,32],[],[],{"casks":367,"formulae":368},[],[],{"arch":370,"casks":371,"formulae":372,"requirements":373},[50],[],[],{"macos":374},{},"13","ventura",{"arch":49,"artifacts":378,"conflictsWith":398,"dependsOn":401,"downloadSha256":59,"downloadUrl":61,"macos":375,"requiresRosetta":37,"tag":407,"version":88},{"apps":379,"binaries":380,"entries":381,"pkgs":397},[7],[9],[382,386,391],{"declaration":383,"phase":15,"sources":385,"target":14,"type":17},{"app":384,"target":14},[7],[7],{"declaration":387,"phase":15,"sources":390,"target":23,"type":25},{"binary":388,"target":23},[21,389],{"target":9},[21],{"declaration":392,"phase":33,"sources":396,"type":35},{"zap":393},[394],{"trash":395},[31,32],[],[],{"casks":399,"formulae":400},[],[],{"arch":402,"casks":403,"formulae":404,"requirements":405},[49],[],[],{"macos":406},{},"arm64_ventura",{"arch":50,"artifacts":409,"conflictsWith":429,"dependsOn":432,"downloadSha256":121,"downloadUrl":122,"macos":438,"requiresRosetta":37,"tag":439,"version":88},{"apps":410,"binaries":411,"entries":412,"pkgs":428},[7],[9],[413,417,422],{"declaration":414,"phase":15,"sources":416,"target":14,"type":17},{"app":415,"target":14},[7],[7],{"declaration":418,"phase":15,"sources":421,"target":23,"type":25},{"binary":419,"target":23},[21,420],{"target":9},[21],{"declaration":423,"phase":33,"sources":427,"type":35},{"zap":424},[425],{"trash":426},[31,32],[],[],{"casks":430,"formulae":431},[],[],{"arch":433,"casks":434,"formulae":435,"requirements":436},[50],[],[],{"macos":437},{},"12","monterey",{"arch":49,"artifacts":441,"conflictsWith":461,"dependsOn":464,"downloadSha256":59,"downloadUrl":61,"macos":438,"requiresRosetta":37,"tag":470,"version":88},{"apps":442,"binaries":443,"entries":444,"pkgs":460},[7],[9],[445,449,454],{"declaration":446,"phase":15,"sources":448,"target":14,"type":17},{"app":447,"target":14},[7],[7],{"declaration":450,"phase":15,"sources":453,"target":23,"type":25},{"binary":451,"target":23},[21,452],{"target":9},[21],{"declaration":455,"phase":33,"sources":459,"type":35},{"zap":456},[457],{"trash":458},[31,32],[],[],{"casks":462,"formulae":463},[],[],{"arch":465,"casks":466,"formulae":467,"requirements":468},[49],[],[],{"macos":469},{},"arm64_monterey",{"arch":50,"artifacts":472,"conflictsWith":492,"dependsOn":495,"downloadSha256":121,"downloadUrl":122,"macos":501,"requiresRosetta":37,"tag":502,"version":88},{"apps":473,"binaries":474,"entries":475,"pkgs":491},[7],[9],[476,480,485],{"declaration":477,"phase":15,"sources":479,"target":14,"type":17},{"app":478,"target":14},[7],[7],{"declaration":481,"phase":15,"sources":484,"target":23,"type":25},{"binary":482,"target":23},[21,483],{"target":9},[21],{"declaration":486,"phase":33,"sources":490,"type":35},{"zap":487},[488],{"trash":489},[31,32],[],[],{"casks":493,"formulae":494},[],[],{"arch":496,"casks":497,"formulae":498,"requirements":499},[50],[],[],{"macos":500},{},"11","big_sur",{"arch":49,"artifacts":504,"conflictsWith":524,"dependsOn":527,"downloadSha256":59,"downloadUrl":61,"macos":501,"requiresRosetta":37,"tag":533,"version":88},{"apps":505,"binaries":506,"entries":507,"pkgs":523},[7],[9],[508,512,517],{"declaration":509,"phase":15,"sources":511,"target":14,"type":17},{"app":510,"target":14},[7],[7],{"declaration":513,"phase":15,"sources":516,"target":23,"type":25},{"binary":514,"target":23},[21,515],{"target":9},[21],{"declaration":518,"phase":33,"sources":522,"type":35},{"zap":519},[520],{"trash":521},[31,32],[],[],{"casks":525,"formulae":526},[],[],{"arch":528,"casks":529,"formulae":530,"requirements":531},[49],[],[],{"macos":532},{},"arm64_big_sur",{"icon":40,"machineTranslated":37,"name":41,"slug":42,"sourceLocale":43},569,22,{"brewLag":538,"cadence":542,"count30d":540},{"compared":539,"earlierCount":540,"medianMinutes":541},3,1,153722867,"biweekly",[544],{"caption":545,"height":546,"machineTranslated":37,"sourceLocale":83,"theme":547,"thumbUrl":548,"url":549,"width":550},"Official cross-platform SourceGit dark-theme interface with repository history and a visual commit graph.",748,"dark","https:\u002F\u002Fcdn.opennavo.com\u002Fscreenshots\u002Fuploads\u002Fscreenshot\u002F1da565cfe9c0\u002F713b6bfca44e-640.png","https:\u002F\u002Fcdn.opennavo.com\u002Fscreenshots\u002Fuploads\u002Fscreenshot\u002F1da565cfe9c0\u002F713b6bfca44e-1280.png",1280,"https:\u002F\u002Fgithub.com\u002Fhomebrew\u002Fhomebrew-cask\u002Fblob\u002FHEAD\u002FCasks\u002Fs\u002Fsourcegit.rb","Open-source Git GUI with a visual commit graph, staging and diffs, interactive rebase, worktrees, submodules and cross-platform repository management.",{"locale":83,"machineTranslated":37,"sourceLocale":83,"status":87},{"arm64":74,"requiresRosetta":37,"status":555,"x86_64":74},"known",[557,558,559,41],"Git","Version Control","Git GUI","homebrew\u002Fcask",null,{"current":540,"records":563,"size":679,"stats":680,"total":536},[564,569,581,592,599,604,609,614,619,624,629,634,639,644,649,654,659,664,669,674],{"bodyMarkdown":72,"brewCommittedAt":73,"hasNotes":74,"id":75,"isLatest":74,"isPrerelease":37,"machineTranslated":37,"publishedAt":76,"sections":565,"source":82,"sourceLocale":83,"summary":84,"title":85,"translation":568,"version":88},[566],{"area":79,"items":567},[81],{"locale":83,"machineTranslated":37,"sourceLocale":83,"status":87},{"bodyMarkdown":570,"brewCommittedAt":571,"hasNotes":74,"id":572,"isLatest":37,"isPrerelease":37,"machineTranslated":37,"publishedAt":573,"sections":574,"source":82,"sourceLocale":83,"summary":577,"title":578,"translation":579,"version":580},"## What's Changed\r\n* enhance: extract reusable CopyButton control with copy feedback by @JC-Chung in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2668\r\n* localization: update Spanish translation by @jjesus-dev in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2671\r\n* ux: add tooltip to copy button in Launcher notification by @weiningwei in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2666\r\n* localization: update Russian translate by @AquariusStar in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2676\r\n* localization: update Russian translate by @AquariusStar in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2677\r\n* Bug Fix: keep local changes commit controls visible on short windows by @w0lflow in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2690\r\n* localization: update Spanish translation by @jjesus-dev in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2694\r\n* localization: update Traditional Chinese translations by @JC-Chung in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2683\r\n* localization: update Spanish translation by @jjesus-dev in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2695\r\n* fix: size working copy pane for commit push action by @w0lflow in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2696\r\n* localization: update Japanese translation by @rlbxku1r in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2702\r\n* ux: enable `+tnum` font feature for stash time by @JC-Chung in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2705\r\n* Fix the issue that suggestion box in commit message editor and file search box does not hide after switching to another page.\r\n* Rewrite the change selection.\r\n* Rewrite the way to calculate the navigation block index after staging\u002Funstaging\u002Fdiscarding a hunk in a file.\r\n* Add a new option `Auto (Based-on Default Clone Dir)` to auto-create groups for added repository while cloning\u002Fopening.\r\n* Fix the issue that `setsid` was built for arm64 CPU architecture in macOS (Intel) package\r\n* Fix the issue that wrong result in unstaged with staged binary diff. \r\n* Fix the issue that app crash due to `VisualLinesInvalidException` exception raised by `AvaloinaEdit`\r\n* Support git's `branch.\u003Cname>.pushRemote` configuration to push branch to another repository which is usefull when this branch is created by `gh pr checkout \u003CPR>` command\r\n* Support to change the remote's push URL by context menu of selected remote.\r\n* Re-design the repository's page.\r\n* Move some subpage-related button from sidebar to its own page\r\n  - Move `More Options...` button for `HISTORY` page from sidebar to `HISTORY` page\r\n  - Move `Discard all changes` button to `LOCAL CHANGES` page\r\n  - Move `Clear stashes` button to `STASHES` page.\r\n* Rewrite navigating commit in `Blame` window\r\n  - Holding Ctrl (on Windows\u002FLinux) or ⌘ (on macOS) when clicking commit SHA will rebuild the blame data\r\n  - Clicking commit SHA directly will only navigate to that commit in repository's `HISTORY` page\r\n  - Both will also highlights the content that comes from it\r\n* Fix the issue that wrong blame data when the first line of file is an empty line\r\n* Fix the issue that wrong submodule revision info when the revision does not exist in that repo any more (maybe after a force-pushing)\r\n* Upgrade `AvaloniaUI` to `11.3.22`\r\n* Support to select `.diff` files as patches.\r\n* Use a single `git status` command to query repository's status in `Welcome` page\r\n* Several other UI\u002FUX changes.\r\n\r\n## New Contributors\r\n* @w0lflow made their first contribution in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2690\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fcompare\u002Fv2026.19...v2026.20\n\nOfficial release: https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Freleases\u002Ftag\u002Fv2026.20\nHomebrew version evidence: https:\u002F\u002Fgithub.com\u002FHomebrew\u002Fhomebrew-cask\u002Fcommit\u002F4f6d39af33ddcfa4ae6f5033baea93f8d9173c2a\n","2026-09-14T04:29:36Z",2179,"0001-01-01T00:00:00Z",[575],{"area":79,"items":576},[81],"Redesigns repository pages and change selection, adds pushRemote support, fixes Intel macOS setsid packaging, binary diffs and blame, and updates translations.","SourceGit 2026.20",{"locale":83,"machineTranslated":37,"sourceLocale":83,"status":87},"2026.20",{"bodyMarkdown":582,"brewCommittedAt":583,"hasNotes":74,"id":584,"isLatest":37,"isPrerelease":37,"machineTranslated":37,"publishedAt":573,"sections":585,"source":82,"sourceLocale":83,"summary":588,"title":589,"translation":590,"version":591},"> [!WARNING]\r\n> There is a BUG in package `sourcegit_2026.19.osx-x64.zip` (macOS Intel Only). You can solve it with any of following ways\r\n> - Remove the `SourceGit.app\u002FContents\u002FMacOS\u002Fsetsid`, then `SourceGit` will directly spawn `git` process for clone\u002Ffetch\u002Fpull\u002Fpush like before. The graceful termination feature is unavailable then.\r\n> - Download the latest CI build from GitHub Action\r\n> - Compile the `setsid` yourself with `clang -arch x86_64 tools\u002Fsetsid-macos\u002Fsetsid.c -o \u002FApplication\u002FSourceGit.app\u002FContents\u002FMacOS\u002Fsetsid -mmacosx-version-min=13.0`\r\n>\r\n> The `setsid` is a macOS port of `setsid` command on Linux. And used to spawn `git clone\u002Ffetch\u002Fpull\u002Fpush` command in a seperate group to make it possible to gracefully terminate it later. But I forgot to compile it with `-arch \u003CARCH>` parameter...\r\n\r\n## What's Changed\r\n* feature: add Bypass pre-push hook option to push dialog by @sdpfigueiredo in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2630\r\n* feat: use the same rules as git for branch and tag name validation by @philfontaine in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2626\r\n* fix: split shell exec pattern for terminal file picker on Windows by @weiningwei in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2637\r\n* [Enhancement] Add new graph-highlighting option \"Selected Commits (only first-parent)\" by @goran-w in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2646\r\n* ux: add Ctrl+Ins copy shortcut in diff view by @bartizan in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2657\r\n* Use `BranchOrTagNameTextBox` and check new branch name in `Push to a NEW branch` dialog\r\n* Support to terminate running `clone\u002Ffetch\u002Fpull\u002Fpush` command gracefully.\r\n* Fix the issue that Git LFS status unrecognized for submodule.\r\n* Show a warning icon for invalid branch\u002Ftag history filter.\r\n* Always enable syntax highlighting in text file preview view.\r\n* **Linux**: use XDG standard directories to store app data.\r\n* Add a built-in `SSH Key Helper` to generate SSH keys without CLI.\r\n* Open submodule next to the owner page and default set its name to `\u003Cowner>: \u003Csubmodule>`\r\n* Hide the remote name in compact commit decoractor when the repositoy has only one remote\r\n* Auto-select the file after picking one in suggestion dropdown in `FILE` tab while searching.\r\n* Support to use mouse `XButton1\u002FXButton2` to goto previous\u002Fnext page of current actived one.\r\n* New style for commit info in `Blame` view.\r\n* 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.\r\n* Several other UI\u002FUX changes.\r\n\r\n## New Contributors\r\n* @sdpfigueiredo made their first contribution in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2630\r\n* @philfontaine made their first contribution in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2626\r\n* @bartizan made their first contribution in https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fpull\u002F2657\r\n\r\n**Full Changelog**: https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Fcompare\u002Fv2026.18...v2026.19\n\nOfficial release: https:\u002F\u002Fgithub.com\u002Fsourcegit-scm\u002Fsourcegit\u002Freleases\u002Ftag\u002Fv2026.19\nHomebrew version evidence: https:\u002F\u002Fgithub.com\u002FHomebrew\u002Fhomebrew-cask\u002Fcommit\u002Fa84d738c45c78c5d112ef32a426b9034c4065aab\n","2026-08-31T07:57:28Z",2181,[586],{"area":79,"items":587},[81],"Adds an SSH Key Helper, graceful Git operation termination and pre-push-hook bypass. Upstream warns of an Intel macOS setsid packaging bug; see the full official notes.","SourceGit 2026.19",{"locale":83,"machineTranslated":37,"sourceLocale":83,"status":87},"2026.19",{"brewCommittedAt":593,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":594,"source":595,"translation":596,"version":598},"2026-08-17T07:33:27Z",[],"homebrew",{"status":597},"none","2026.18",{"brewCommittedAt":600,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":601,"source":595,"translation":602,"version":603},"2026-07-31T05:21:04Z",[],{"status":597},"2026.17",{"brewCommittedAt":605,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":606,"source":595,"translation":607,"version":608},"2026-07-27T05:27:52Z",[],{"status":597},"2026.16",{"brewCommittedAt":610,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":611,"source":595,"translation":612,"version":613},"2026-07-13T17:24:14Z",[],{"status":597},"2026.15",{"brewCommittedAt":615,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":616,"source":595,"translation":617,"version":618},"2026-06-29T05:59:57Z",[],{"status":597},"2026.14",{"brewCommittedAt":620,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":621,"source":595,"translation":622,"version":623},"2026-06-15T06:18:46Z",[],{"status":597},"2026.13",{"brewCommittedAt":625,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":626,"source":595,"translation":627,"version":628},"2026-06-01T06:01:32Z",[],{"status":597},"2026.12",{"brewCommittedAt":630,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":631,"source":595,"translation":632,"version":633},"2026-05-18T05:49:47Z",[],{"status":597},"2026.11",{"brewCommittedAt":635,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":636,"source":595,"translation":637,"version":638},"2026-05-04T05:29:01Z",[],{"status":597},"2026.10",{"brewCommittedAt":640,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":641,"source":595,"translation":642,"version":643},"2026-04-20T05:28:57Z",[],{"status":597},"2026.09",{"brewCommittedAt":645,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":646,"source":595,"translation":647,"version":648},"2026-04-13T05:23:34Z",[],{"status":597},"2026.08",{"brewCommittedAt":650,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":651,"source":595,"translation":652,"version":653},"2026-03-30T05:17:40Z",[],{"status":597},"2026.07",{"brewCommittedAt":655,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":656,"source":595,"translation":657,"version":658},"2026-03-16T05:16:03Z",[],{"status":597},"2026.06",{"brewCommittedAt":660,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":661,"source":595,"translation":662,"version":663},"2026-03-02T05:02:57Z",[],{"status":597},"2026.05",{"brewCommittedAt":665,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":666,"source":595,"translation":667,"version":668},"2026-02-13T04:54:08Z",[],{"status":597},"2026.04",{"brewCommittedAt":670,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":671,"source":595,"translation":672,"version":673},"2026-02-09T04:52:20Z",[],{"status":597},"2026.03",{"brewCommittedAt":675,"hasNotes":37,"isLatest":37,"isPrerelease":37,"sections":676,"source":595,"translation":677,"version":678},"2026-01-26T07:31:48Z",[],{"status":597},"2026.02",20,{"brewLag":681,"cadence":542,"count30d":540},{"compared":539,"earlierCount":540,"medianMinutes":541},{"current":540,"records":683,"size":540,"stats":689,"total":536},[684],{"bodyMarkdown":72,"brewCommittedAt":73,"hasNotes":74,"id":75,"isLatest":74,"isPrerelease":37,"machineTranslated":37,"publishedAt":76,"sections":685,"source":82,"sourceLocale":83,"summary":84,"title":85,"translation":688,"version":88},[686],{"area":79,"items":687},[81],{"locale":83,"machineTranslated":37,"sourceLocale":83,"status":87},{"brewLag":690,"cadence":542,"count30d":540},{"compared":539,"earlierCount":540,"medianMinutes":541}]