localization: update Spanish translation#2223
Merged
love-linger merged 1 commit intoMar 30, 2026
Merged
Conversation
Contributor
jjesus-dev
commented
Mar 27, 2026
- Add missing strings.
- Add missing strings.
love-linger
added a commit
that referenced
this pull request
Apr 2, 2026
1llum1n4t1s
pushed a commit
to 1llum1n4t1s/Komorebi
that referenced
this pull request
Apr 17, 2026
…egit-scm#2223) Signed-off-by: leo <longshuang@msn.cn> (cherry picked from commit b81c67c)
1llum1n4t1s
added a commit
to 1llum1n4t1s/Komorebi
that referenced
this pull request
Apr 17, 2026
* localization: apply selected datetime format in `About` dialog (sourcegit-scm#2223) Signed-off-by: leo <longshuang@msn.cn> (cherry picked from commit b81c67c) * localization: update Spanish translation (sourcegit-scm#2244) + Add missing strings. (cherry picked from commit 834cc0c) * localization: update Russian translate (sourcegit-scm#2240) (cherry picked from commit ba997ed) * fix(about): BuildDate を ToLocalTime() でローカル時刻に変換する回帰修正 upstream b81c67c は `date.ToLocalTime().ToString("MMM d yyyy")` を `Models.DateTimeFormat.Format(date, true)` に置き換えたが、 `Format(DateTime localTime, bool)` は引数を既にローカル時刻と仮定して 内部変換しないため(`src/Models/DateTimeFormat.cs:92` 参照)、 BuildDate が UTC としてパースされた場合に UTC 表示になってしまう回帰があった。 gemini PR #16 レビュー (HIGH) 指摘。呼び出し側で `date.ToLocalTime()` に戻す。 また docs/TRANSLATION.md を再生成して同梱(CI localization-check の "Verify no changes" ステップ通過用)。 Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Signed-off-by: leo <longshuang@msn.cn> Co-authored-by: leo <longshuang@msn.cn> Co-authored-by: Javier J. Martínez M. <56406225+jjesus-dev@users.noreply.github.com> Co-authored-by: AquariusStar <48148723+AquariusStar@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
UchiTesting
added a commit
to UchiTesting/sourcegit
that referenced
this pull request
May 18, 2026
* ux: checkout commit popup layout Signed-off-by: leo <longshuang@msn.cn> * refactor: enable `CanSwitchBranchDirectly` by default Signed-off-by: leo <longshuang@msn.cn> * ux: avoid bounds of item in branch tree change Signed-off-by: leo <longshuang@msn.cn> * ux: hide the row to deal with uncommitted local changes when there are no local changes Signed-off-by: leo <longshuang@msn.cn> * localization: update English translation Signed-off-by: leo <longshuang@msn.cn> * refactor: simplify AI assistant architecture with tool-based integration - Replace complex OpenAIService with AIProvider model - Implement tool calling support for AI-generated commit messages - Remove advanced AI configuration UI (prompts, streaming toggle) - Add dedicated AI namespace with ChatTools, Service, and ToolCallsBuilder - Update all view models and views to use new AI architecture - Improve code organization and maintainability Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * feat: add additional prompt support for AI commit message generation Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * refactor: use non-streaming chat API Signed-off-by: leo <longshuang@msn.cn> * doc: update README.md The AI-based commit message generator is totally rewrited. It is not just a C# port of anjerodev/commitollama Signed-off-by: leo <longshuang@msn.cn> * localization: update English translation Signed-off-by: leo <longshuang@msn.cn> * code_style: move command to get file changes for AI to `SourceGit.Commands.GetFileChangeForAI` Signed-off-by: leo <longshuang@msn.cn> * refactor: move `Models.AIProvider` to `AI.Service` Signed-off-by: leo <longshuang@msn.cn> * ux: enable horizontal scroll in AI assistant view Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * code_style: remove unnecessary functions Signed-off-by: leo <longshuang@msn.cn> * refactor: use async methods instead of `Task.Run` in `AIAssistant` Signed-off-by: leo <longshuang@msn.cn> * refactor: use a single command to get staged files with `--amend` option enabled Signed-off-by: leo <longshuang@msn.cn> * feat: improve error handling and cancellation behavior in AI assistant - Display error (include exception) in current window - Improve cancellation behavior to preserve current `IsGenerating` state for proper UI updates Signed-off-by: leo <longshuang@msn.cn> * feature: show token usage in AI assistant result Signed-off-by: leo <longshuang@msn.cn> * refactor: use `git status --porcelain=v2 -b` to get current branch info of a repo Signed-off-by: leo <longshuang@msn.cn> * feature: add `Use` context menu entry to apply selected text as commit message Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * ux: better tab navigation Signed-off-by: leo <longshuang@msn.cn> * enhance: improve AI commit message generation instructions and tool descriptions Signed-off-by: leo <longshuang@msn.cn> * ux: focused visual style for text editor Signed-off-by: leo <longshuang@msn.cn> * localization: update Spanish translation (sourcegit-scm#2223) - Add missing strings. * doc: Update translation status and sort locale files * localization: update Russian translate (sourcegit-scm#2225) * doc: Update translation status and sort locale files * version: Release 2026.07 Signed-off-by: leo <longshuang@msn.cn> * feature: supports to exclude modifed/deleted files while discarding local changes (sourcegit-scm#2226) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * project: upgrade `AvaloniaUI` to `11.3.13` Signed-off-by: leo <longshuang@msn.cn> * code_style: move some code from agent to service; rename async method with `Async` suffix; fix typos Signed-off-by: leo <longshuang@msn.cn> * feature: support `git stash branch <branch_name> <stash>` command (sourcegit-scm#2227) Signed-off-by: leo <longshuang@msn.cn> * ux: layout of change collection view Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * feature: use custom `BranchSelector` instead of `ComboBox` to select remote branches with searching enabled (sourcegit-scm#2217) Signed-off-by: leo <longshuang@msn.cn> * ux: makes `BranchSelector` looks like normal `ComboBox` Signed-off-by: leo <longshuang@msn.cn> * ux: simplify data template for branch name in `BranchSelector` Signed-off-by: leo <longshuang@msn.cn> * feature: allow Doubao detecting selection in commit message box on Windows Signed-off-by: leo <longshuang@msn.cn> * refactor: dynamic loading and choosing AI model in assistant dialog (sourcegit-scm#2228) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * fix: duplicated repo may be added when scanning repositories on case-insensitive platforms (sourcegit-scm#2230) Signed-off-by: leo <longshuang@msn.cn> * project: upgrade AvaloniaEdit Signed-off-by: leo <longshuang@msn.cn> * refactor: use blank `User-Agent` header when communicating with open-ai compatible service (sourcegit-scm#2216) Signed-off-by: leo <longshuang@msn.cn> * ux: keybindings for `BranchSelector` Signed-off-by: leo <longshuang@msn.cn> * localization: apply selected datetime format in `About` dialog (sourcegit-scm#2223) Signed-off-by: leo <longshuang@msn.cn> * fix: remote's visit url must remove the account info part (sourcegit-scm#2235) Signed-off-by: leo <longshuang@msn.cn> * refactor: notifications - Modal dialog must display error message on top of its self - Commands should only depends on Models and Native Signed-off-by: leo <longshuang@msn.cn> * refactor: move some codes from `App` to `Views.ControlExtensions` Signed-off-by: leo <longshuang@msn.cn> * localization: update Russian translate (sourcegit-scm#2240) * doc: Update translation status and sort locale files * enhance: auto-select the new HEAD after reword (sourcegit-scm#2236) Signed-off-by: leo <longshuang@msn.cn> * enhance: use `string.Equals` instead of operator `==` Signed-off-by: leo <longshuang@msn.cn> * localization: update Spanish translation (sourcegit-scm#2244) + Add missing strings. * doc: Update translation status and sort locale files * feature: allow editing of repository name via tab context menu (sourcegit-scm#2250) * feature: allow editing of repository name via context menu of repository tab Now we can edit tab name while seeing repository view. This is a same feature of 'Edit' action for repository path in welcome view. Add text resource "Text.PageTabBar.Tab.Edit" and its translations are copied from "Text.Welcome.Edit". Note: The feature of changing bookmark is duplicated in a sub menu and the edit dialog. * refactor: remove duplicated menu action 'Bookmark' Remove the 'Bookmark' sub-menu action because 'Edit' action contains it. The text resource "PageTabBar.Tab.Bookmark" and its translations are also removed. * refactor: use `DirectoryInfo` to get absolute path of repository (sourcegit-scm#2246) Signed-off-by: leo <longshuang@msn.cn> * code_style: remove unused namespace using Signed-off-by: leo <longshuang@msn.cn> * build: update packages (CommunityToolkit.Mvvm, OpenAI, LiveChartsCore) (sourcegit-scm#2242) * doc: update third-party readme Signed-off-by: leo <longshuang@msn.cn> * feature: better word division for highlighting (sourcegit-scm#2251) Each line is divided into several chunks to highlight the changes. The previous implementation splits text at a fixed set of delimiter characters (spaces, tabs, and common ASCII symbols such as `+-*/=!,;`). Non-delimiter characters — including CJK ideographs, Hiragana, and Katakana — are never treated as boundaries, so they tend to form large, coarse chunks in languages like Japanese or Chinese that do not use spaces to separate words. A small change within such text causes the entire surrounding phrase to be highlighted. This new implementation classifies each character into one of three categories and groups consecutive characters of the same category into one chunk, except for the Other category which is always split character by character: - Letter (Unicode Ll/Lu/Lt/Lm + digits): ASCII letters, digits, and letters with diacritics such as é, ü, ß, ñ, ё. Consecutive Letter characters form one chunk, keeping European words intact. - OtherLetter (Unicode Lo): CJK, Hiragana, Katakana, Hangul, Thai, Arabic, Hebrew, etc. Consecutive OtherLetter characters form one chunk. CJK punctuation (。、「」…) falls into the Other category and therefore acts as a natural boundary between chunks. - Other (default): whitespace, control characters, punctuation, and symbols. This category corresponds to the delimiter characters of the previous implementation. Each character is always its own chunk, preserving the same per-character precision as before for operators, spaces, and punctuation. Category values for all 65,536 char values are pre-computed into a static read-only array at startup for lock-free O(1) lookup. * fix: staged files do not update after committing with `--amend` enabled successfully (sourcegit-scm#2253) This issue is introduced by commit 26fc29b. And the right way to fix this issue is to force `Command.Commit` finish in UI thread. Signed-off-by: leo <longshuang@msn.cn> * feature: auto-fetch now is a global setting instead of per-repo setting (sourcegit-scm#2050) Signed-off-by: leo <longshuang@msn.cn> * enhance: avoid pre-edit text box being clipped Signed-off-by: leo <longshuang@msn.cn> * version: Release 2026.08 Signed-off-by: leo <longshuang@msn.cn> * enhance: AI-based commit message generator (sourcegit-scm#2255) - Make `AI Assistant` window resizable - Make `AI Assistant` window non-modal dialog - Clean up code Signed-off-by: leo <longshuang@msn.cn> * feature: supports to choose group and bookmark when cloning remote repository Signed-off-by: leo <longshuang@msn.cn> * refactor: rewrite `Open Local Repository` feature Signed-off-by: leo <longshuang@msn.cn> * fix: bad condition to check if auto-fetch is enabled (sourcegit-scm#2257) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * feature: add hotkey `Ctrl+Shift+O/⌘+⇧+O` to open local repository (sourcegit-scm#2256) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * revert: use blank `User-Agent` header when communicating with open-ai compatible service This reverts commit 26ab0a7. Signed-off-by: leo <longshuang@msn.cn> * feature: show a checked icon when sha was copied Signed-off-by: leo <longshuang@msn.cn> * enhance: when cloning remote repo or opening local repo, the `Group` is `No Group (Uncategorized)` by default (sourcegit-scm#2258) Signed-off-by: leo <longshuang@msn.cn> * feature: reorder fixup commits to its right position when loading commits for interactive rebase (sourcegit-scm#588) Signed-off-by: leo <longshuang@msn.cn> * feature: reorder squash commits to its right position when loading commits for interactive rebase (sourcegit-scm#588) Signed-off-by: leo <longshuang@msn.cn> * feature: allow partial stage/unstage/discard for non-UTF8 text in diff view (sourcegit-scm#2260) Current implementation fails on partial stage/unstage/discard operations for non-UTF8 text because of applying a patch made with broken (replaced) text. This modification allows these operation by preserving the original raw bytes from the output of `git diff`, and use it to create patch file. * code_style: refine diff result parsing Signed-off-by: leo <longshuang@msn.cn> * fix: infinite-loop occurs when interactive rebasing with multiple `fixup!`/`squash!` commits target a single commit (sourcegit-scm#2261) Signed-off-by: leo <longshuang@msn.cn> * ux: copied icon change duration Signed-off-by: leo <longshuang@msn.cn> * feature: supports to view details changes of submodule (only if this submodule is initialized and not available for new/delete submodule change) (sourcegit-scm#2264) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: disable `OPEN DETAILS` button when one of submodule revision is lost Signed-off-by: leo <longshuang@msn.cn> * enhance: show the `Submodule Change Details` window on the same screen of it's parent (sourcegit-scm#2264) Signed-off-by: leo <longshuang@msn.cn> * fix: fetch AI models in background to avoid main window waiting to show (sourcegit-scm#2267) Signed-off-by: leo <longshuang@msn.cn> * refactor: move some code from `App` to `Views.ControlExtensions` Signed-off-by: leo <longshuang@msn.cn> * feature: show uncommitted changes count for submodule (sourcegit-scm#2264) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: do not show `Git LFS` submenu for submodules (sourcegit-scm#2264) Signed-off-by: leo <longshuang@msn.cn> * fix: remove `--push` option because it is not valid parameter for `git-flow-next` (sourcegit-scm#2269) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * fix: enable `Set as tracking branch` should be visible when push to a new branch (sourcegit-scm#2273) Signed-off-by: leo <longshuang@msn.cn> * refactor: rewrite the way to quit app Signed-off-by: leo <longshuang@msn.cn> * fix: directly patch the final file when trying to stage/unstage/discard selected hunk with renamed/copied file (sourcegit-scm#2272) Signed-off-by: leo <longshuang@msn.cn> * fix: app will crash when it is quiting from Dock (sourcegit-scm#2271) Signed-off-by: leo <longshuang@msn.cn> * code_style: move `App.FixFontFamilyNames` to `StringExtensions.FormatFontNames` Signed-off-by: leo <longshuang@msn.cn> * feature: add `Hide Others` app menu on macOS and correct the behaviour of `Show All` Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * feature: add `Local Branch Selector` and `Remote Branch Selector` control type for custom actions (sourcegit-scm#2274) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: replace `${BRANCH}` with current branch name if the custom action's scope is `Repository` (sourcegit-scm#2274) Signed-off-by: leo <longshuang@msn.cn> * code_style: remove unnecessary function call Signed-off-by: leo <longshuang@msn.cn> * feature: add `String Formatter` for `TextBox` in custom action (sourcegit-scm#2274) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * code_style: remove unnecessary function call Signed-off-by: leo <longshuang@msn.cn> * fix: left margins of text editor do not update after `FontSize` changed (sourcegit-scm#2276) Signed-off-by: leo <longshuang@msn.cn> * localization: update Spanish translation (sourcegit-scm#2278) + Add missing strings. * doc: Update translation status and sort locale files * version: Release 2026.09 Signed-off-by: leo <longshuang@msn.cn> * enhance: auto-select branch for `Branch Selector` control in custom action (sourcegit-scm#2274) Signed-off-by: leo <longshuang@msn.cn> * fix: crashes when trying to close a repository with a action that is still running (sourcegit-scm#2289) - It's not necessary to implement `IDisposable` interface for class that only contains managed resources - Do not clear fields of `Repository` and let system GC handle it Signed-off-by: leo <longshuang@msn.cn> * feature: add `Use` back to apply ai generated commit message (sourcegit-scm#2287) Signed-off-by: leo <longshuang@msn.cn> * feature: supports to disable specific remote from auto-fetch (sourcegit-scm#2285) Add `Enable Auto-Fetch` context menu entry to select remote. This menu item only visible when you have enable `Fetch remotes automatically` feature in `Preferences` dialog. Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: do not start new auto-fetch action if the last one is still running (sourcegit-scm#2285) Signed-off-by: leo <longshuang@msn.cn> * ux: make `About` dialog size to content (sourcegit-scm#2292) Signed-off-by: leo <longshuang@msn.cn> * fix: support utf-8 passphrases in askpass (sourcegit-scm#2293) (cherry picked from commit f5adad5) * code_style: fix `dotnet format` check warnnings Signed-off-by: leo <longshuang@msn.cn> * fix: `Initialize Repository` should apply the bookmark setting from `Open Repository` popup Signed-off-by: leo <longshuang@msn.cn> * enhance: write preferences data to a temp file first and then rename it to the final file (sourcegit-scm#2298) This commit addresses the issue that shutting down the system while the software is running may cause incomplete data writing to `preference.json`, resulting in the loss of user configurations. Signed-off-by: leo <longshuang@msn.cn> * feature: drop Windows 11 Mica support Signed-off-by: leo <longshuang@msn.cn> * enhance: write user settings to a temp file first and then rename it to the final file (sourcegit-scm#2298) Signed-off-by: leo <longshuang@msn.cn> * fix: disable thinking mode in AI chat (sourcegit-scm#2299) Signed-off-by: leo <longshuang@msn.cn> * enhance: improve Linux package build configuration (sourcegit-scm#2302) * enhance: improve Linux package build configuration - Dynamically generate ICU dependency versions in package.linux.sh - Use @ICU_DEPS@ placeholder in control file for easier maintenance - Add postinst script to update desktop database and icon cache - Expand appdata.xml with full application description and screenshots * fix: set executable permission for postinst script Git on Windows didn't track the executable bit for postinst, causing dpkg-deb to reject the package with "bad permissions 664" error. * fix: `NullReferenceException` occurs when `Complete` is called before `AppendLine` (sourcegit-scm#2305) Signed-off-by: leo <longshuang@msn.cn> * feature: `ImageSource` supports loading psd files (sourcegit-scm#2304) * localization: update Russian translation (sourcegit-scm#2306) * doc: Update translation status and sort locale files * feature: show the git source revision in `About` dialog (sourcegit-scm#2308) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * fix: when reordering commits for interactive rebasing, the subject must equals (instead of starts with) target's subject (sourcegit-scm#2303) Signed-off-by: leo <longshuang@msn.cn> * fix: change default seperator to prevent `/` or `:` being replaced by culture in `DateTime.ToString` (sourcegit-scm#2307) Other languages like de_DE have "." as the seperator. On such systems the options with the "/" would still translate to ".". Same problem can be applied to Time. This fixes the issue by setting default seperators no matter which language is used. This also changes how MMM behaves and does also show the correct value now. * code_style: run `dotnet format` to fix ci warnings Signed-off-by: leo <longshuang@msn.cn> * refactor: keep selection in `HISTORY` page if user only selected one or two commits (sourcegit-scm#2297) Signed-off-by: leo <longshuang@msn.cn> * doc: update `README` for `deb` package (sourcegit-scm#2309) Signed-off-by: leo <longshuang@msn.cn> * localization: update `Text.About.GitSourceRevision` Signed-off-by: leo <longshuang@msn.cn> * refactor: move `Commits` from DataContext to property Signed-off-by: leo <longshuang@msn.cn> * refactor: add `HistoriesCommitList` control and move selection code to it Signed-off-by: leo <longshuang@msn.cn> * code_style: `HistoriesCommitList` should not depend on `ViewModels.Histories` Signed-off-by: leo <longshuang@msn.cn> * enhance: do not change selection if previous one is empty Signed-off-by: leo <longshuang@msn.cn> * refactor: always create `HISTORY`, `LOCAL CHANGES` and `STASHES` page to prevent losing selection and scroll offsets Signed-off-by: leo <longshuang@msn.cn> * code_style: remove unnecessary code Signed-off-by: leo <longshuang@msn.cn> * enhance: leave action to `pick` if there's only `fixup` and `drop` commits to it (sourcegit-scm#2313) Signed-off-by: leo <longshuang@msn.cn> * enhance: search position for `fixup!/squash!` commit in reversed order (sourcegit-scm#2314) Signed-off-by: leo <longshuang@msn.cn> * refactor: remove binding warnings Signed-off-by: leo <longshuang@msn.cn> * fix: selection lost when switch from repo to welcome page Signed-off-by: leo <longshuang@msn.cn> * fix: wrong commit order to compare which is introduced by commit c3cbc61 Signed-off-by: leo <longshuang@msn.cn> * enhance: prevent too many selection changed events being raised while apply selection to commit list Signed-off-by: leo <longshuang@msn.cn> * refactor: ignore hard-coded `Enter/Space` key event in AvaloniaUI's `ListBox` and make it can be handled by app Signed-off-by: leo <longshuang@msn.cn> * version: 2026.10 Signed-off-by: leo <longshuang@msn.cn> * refactor: do not disable `thinking mode` but send `reasoning_content` back to the Open-AI service instead (sourcegit-scm#2229) (sourcegit-scm#2318) Signed-off-by: leo <longshuang@msn.cn> * enhance: remember selection if it contains less than 11 commits in `HISTORY` page and rewrite the way to auto-scroll Signed-off-by: leo <longshuang@msn.cn> * refactor: replace Azure-specific API with general `JsonPatch` to get `reasoning_content` in response Signed-off-by: leo <longshuang@msn.cn> * code_style: check null once time Signed-off-by: leo <longshuang@msn.cn> * feature: add context menu entry `Copy` to selected REF in commit details panel (sourcegit-scm#2321) Signed-off-by: leo <longshuang@msn.cn> * enhance: increase the number of commits when keeping selection Signed-off-by: leo <longshuang@msn.cn> * feature: add a new context menu `Compare with <upstream>` to compare selected branch with its upstream directly (sourcegit-scm#2322) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * doc: update `README` (sourcegit-scm#2323) Signed-off-by: leo <longshuang@msn.cn> * feature: add a checkbox in `Preferences > GIT` to use `Stash & Reapply` by default when checking-out or merging branches Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: `Left/Right` arrow key navigation in tree view (sourcegit-scm#2300) Signed-off-by: leo <longshuang@msn.cn> * localization: change display name of `Compare` in command palette Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: clean up files related to rebasing after running `git rebase --abort` (sourcegit-scm#2320) Signed-off-by: leo <longshuang@msn.cn> * enhance: trim blocking code markdown identifier in AI response Signed-off-by: leo <longshuang@msn.cn> * fix: navigating to the same commit with current selected does not work any more Signed-off-by: leo <longshuang@msn.cn> * ux: makes `BranchSelector` looks like normal `ComboBox` Signed-off-by: leo <longshuang@msn.cn> * feature: allow searching for remote branches in pull/push (sourcegit-scm#2283) Signed-off-by: leo <longshuang@msn.cn> * ux: change `USE` button to primary style in `AI Assistant` dialog Signed-off-by: leo <longshuang@msn.cn> * feature: add keybindings `F2` to rename selected local branch (sourcegit-scm#2294) Co-authored-by: Hüseyin Aslıtürk <huseyin@asliturk.com> Signed-off-by: leo <longshuang@msn.cn> * enhance: generate a better commit message manually when cherry-picking multiple commits with `-n -x` (sourcegit-scm#2295) Signed-off-by: leo <longshuang@msn.cn> * refactor: more safe code to decode image resources Signed-off-by: leo <longshuang@msn.cn> * ux: change the icon of `Apply Patch` Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * localization: update Spanish translation (sourcegit-scm#2329) + Add missing strings. + Modify some instances when the ampersand character wasn't need it in spanish. * doc: Update translation status and sort locale files * refactor: add `--history <FILE_OR_DIR>` command line and remove the old `--file-history <FILE_PATH>` Signed-off-by: leo <longshuang@msn.cn> * enhance: trim the end path seperator Signed-off-by: leo <longshuang@msn.cn> * feature: support to collapse commit details panel (only vertical layout) Signed-off-by: leo <longshuang@msn.cn> * enhance: hiding invisible controls when commit details panel is collapsed Signed-off-by: leo <longshuang@msn.cn> * ux: add button tooltips Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * ux: should use `IsEnabled` instead of `IsVisible` Signed-off-by: leo <longshuang@msn.cn> * ux: align source revision in about dialog (sourcegit-scm#2331) * localization: update Russian translate (sourcegit-scm#2332) * doc: Update translation status and sort locale files * ux: new style for `ToggleButton.line_path` Signed-off-by: leo <longshuang@msn.cn> * feature: supports to open history details panel in a separate window Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * localization: add missing translations for Chinese Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * refactor: reuse `interactive rebase` instead of custom `reword/squash/fixup/drop` popup for HEAD commit Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * fix: `IsDetailsPanelExpanded` must be enabled by default since commit ac2a329 Signed-off-by: leo <longshuang@msn.cn> * ux: layout of floating buttons Signed-off-by: leo <longshuang@msn.cn> * ux: replace icons Signed-off-by: leo <longshuang@msn.cn> * refactor: split `HistoriesDetailsStandalone` into two different windows Signed-off-by: leo <longshuang@msn.cn> * feature: allows to open commit details panel in a separate window in `Interactive Rebase` dialog Signed-off-by: leo <longshuang@msn.cn> * enhance: disable manually interactive rebasing on HEAD Signed-off-by: leo <longshuang@msn.cn> * enhance: pressing `DEL` when selected multiple tags will open `Delete Multiple Tags` popup Signed-off-by: leo <longshuang@msn.cn> * enhance: better `Left/Right` arrow key navigation in `Welcome` page Signed-off-by: leo <longshuang@msn.cn> * code_style: move `Select` from child classes to `ListBoxEx` Signed-off-by: leo <longshuang@msn.cn> * feature: add `Ctrl+J/⌘+J` hotkey to expand/collapse details panel in `HISTORY` page (sourcegit-scm#2335) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * refactor: remove unnecessary invisible buttons and move `KeyDown` handler to `HistoriesCommitList` Signed-off-by: leo <longshuang@msn.cn> * ux: lighter window shadow on Linux Signed-off-by: leo <longshuang@msn.cn> * feature: support `--no-verify` option to bypass `pre-rebase` hook while rebasing (sourcegit-scm#2334) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * ux: scroll to top button style Signed-off-by: leo <longshuang@msn.cn> * enhance: fallback `${BRANCH}` and `${BRANCH_FRIENDLY_NAME}` to current branch (sourcegit-scm#2338) Signed-off-by: leo <longshuang@msn.cn> * feature: add global hotkey to open terminal (sourcegit-scm#2337) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * fix: we can only use Ctrl+` on macOS Signed-off-by: leo <longshuang@msn.cn> * ux: use `^` instead of `Ctrl` on macOS Signed-off-by: leo <longshuang@msn.cn> * enhance: improve commit graph render performance Signed-off-by: leo <longshuang@msn.cn> * feature: show left/right only commits in `Compare` window Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: cherry-pick commits should be ordered by committer time Signed-off-by: leo <longshuang@msn.cn> * feature: supports to compare selected commit with current branch (not revision compare) when it is head of some branch/tag Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: support to disable auto-fetch available model-ids and specify the model-id to use directly (sourcegit-scm#2340) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * ux: ref badge foreground Signed-off-by: leo <longshuang@msn.cn> * refactor: move `Ctrl+Shift+B/Ctrl+Shift+T` from `HistoriesCommitList` to `Launcher` Signed-off-by: leo <longshuang@msn.cn> * ux: hotkey order Signed-off-by: leo <longshuang@msn.cn> * fix: remove duplicate branch when overwriting existing branch (sourcegit-scm#2345) When using OverwriteExisting to reset a local branch to upstream, the branch list showed two duplicate entries because the old branch object was not removed before adding the new one. * feature: add repository page hotkey `Ctrl+E/⌘+E` to open in file browser Signed-off-by: leo <longshuang@msn.cn> * refactor: `IsOpenAsStandalone` should depend on `DetailContext` Signed-off-by: leo <longshuang@msn.cn> * fix: force disable `InvariantGlobalization` to avoid crashing when `DOTNET_SYSTEM_GLOBALIZATION_INVARIANT` has been enabled in user's environment (sourcegit-scm#2347) Signed-off-by: leo <longshuang@msn.cn> * refactor: use `Models.Null` instead of `null` to remove warings in Rider Signed-off-by: leo <longshuang@msn.cn> * refactor: highlighting in commit graph Signed-off-by: leo <longshuang@msn.cn> * ux: move `Show relative time in graph` to `Preferences` dialog Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * project: upgrade `Avalonia` to `11.3.15` * version: Release 2026.11 Signed-off-by: leo <longshuang@msn.cn> --------- Signed-off-by: leo <longshuang@msn.cn> Co-authored-by: leo <longshuang@msn.cn> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Javier J. Martínez M. <56406225+jjesus-dev@users.noreply.github.com> Co-authored-by: AquariusStar <48148723+AquariusStar@users.noreply.github.com> Co-authored-by: Shun-ichi Goto <shunichi.goto@gmail.com> Co-authored-by: heartacker <1876302+heartacker@users.noreply.github.com> Co-authored-by: Iceflower <iceflower@gmx.de> Co-authored-by: Gadfly <gadfly@gadfly.vip> Co-authored-by: Johannes Häggqvist <git@johannesh.se> Co-authored-by: Nietod <119692307+Nietod@users.noreply.github.com> Co-authored-by: Hüseyin Aslıtürk <huseyin@asliturk.com> Co-authored-by: Chiahong <36815907+ChiahongHong@users.noreply.github.com>
UchiTesting
added a commit
to UchiTesting/sourcegit
that referenced
this pull request
May 18, 2026
* ux: checkout commit popup layout Signed-off-by: leo <longshuang@msn.cn> * refactor: enable `CanSwitchBranchDirectly` by default Signed-off-by: leo <longshuang@msn.cn> * ux: avoid bounds of item in branch tree change Signed-off-by: leo <longshuang@msn.cn> * ux: hide the row to deal with uncommitted local changes when there are no local changes Signed-off-by: leo <longshuang@msn.cn> * localization: update English translation Signed-off-by: leo <longshuang@msn.cn> * refactor: simplify AI assistant architecture with tool-based integration - Replace complex OpenAIService with AIProvider model - Implement tool calling support for AI-generated commit messages - Remove advanced AI configuration UI (prompts, streaming toggle) - Add dedicated AI namespace with ChatTools, Service, and ToolCallsBuilder - Update all view models and views to use new AI architecture - Improve code organization and maintainability Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * feat: add additional prompt support for AI commit message generation Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * refactor: use non-streaming chat API Signed-off-by: leo <longshuang@msn.cn> * doc: update README.md The AI-based commit message generator is totally rewrited. It is not just a C# port of anjerodev/commitollama Signed-off-by: leo <longshuang@msn.cn> * localization: update English translation Signed-off-by: leo <longshuang@msn.cn> * code_style: move command to get file changes for AI to `SourceGit.Commands.GetFileChangeForAI` Signed-off-by: leo <longshuang@msn.cn> * refactor: move `Models.AIProvider` to `AI.Service` Signed-off-by: leo <longshuang@msn.cn> * ux: enable horizontal scroll in AI assistant view Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * code_style: remove unnecessary functions Signed-off-by: leo <longshuang@msn.cn> * refactor: use async methods instead of `Task.Run` in `AIAssistant` Signed-off-by: leo <longshuang@msn.cn> * refactor: use a single command to get staged files with `--amend` option enabled Signed-off-by: leo <longshuang@msn.cn> * feat: improve error handling and cancellation behavior in AI assistant - Display error (include exception) in current window - Improve cancellation behavior to preserve current `IsGenerating` state for proper UI updates Signed-off-by: leo <longshuang@msn.cn> * feature: show token usage in AI assistant result Signed-off-by: leo <longshuang@msn.cn> * refactor: use `git status --porcelain=v2 -b` to get current branch info of a repo Signed-off-by: leo <longshuang@msn.cn> * feature: add `Use` context menu entry to apply selected text as commit message Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * ux: better tab navigation Signed-off-by: leo <longshuang@msn.cn> * enhance: improve AI commit message generation instructions and tool descriptions Signed-off-by: leo <longshuang@msn.cn> * ux: focused visual style for text editor Signed-off-by: leo <longshuang@msn.cn> * localization: update Spanish translation (sourcegit-scm#2223) - Add missing strings. * doc: Update translation status and sort locale files * localization: update Russian translate (sourcegit-scm#2225) * doc: Update translation status and sort locale files * version: Release 2026.07 Signed-off-by: leo <longshuang@msn.cn> * feature: supports to exclude modifed/deleted files while discarding local changes (sourcegit-scm#2226) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * project: upgrade `AvaloniaUI` to `11.3.13` Signed-off-by: leo <longshuang@msn.cn> * code_style: move some code from agent to service; rename async method with `Async` suffix; fix typos Signed-off-by: leo <longshuang@msn.cn> * feature: support `git stash branch <branch_name> <stash>` command (sourcegit-scm#2227) Signed-off-by: leo <longshuang@msn.cn> * ux: layout of change collection view Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * feature: use custom `BranchSelector` instead of `ComboBox` to select remote branches with searching enabled (sourcegit-scm#2217) Signed-off-by: leo <longshuang@msn.cn> * ux: makes `BranchSelector` looks like normal `ComboBox` Signed-off-by: leo <longshuang@msn.cn> * ux: simplify data template for branch name in `BranchSelector` Signed-off-by: leo <longshuang@msn.cn> * feature: allow Doubao detecting selection in commit message box on Windows Signed-off-by: leo <longshuang@msn.cn> * refactor: dynamic loading and choosing AI model in assistant dialog (sourcegit-scm#2228) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * fix: duplicated repo may be added when scanning repositories on case-insensitive platforms (sourcegit-scm#2230) Signed-off-by: leo <longshuang@msn.cn> * project: upgrade AvaloniaEdit Signed-off-by: leo <longshuang@msn.cn> * refactor: use blank `User-Agent` header when communicating with open-ai compatible service (sourcegit-scm#2216) Signed-off-by: leo <longshuang@msn.cn> * ux: keybindings for `BranchSelector` Signed-off-by: leo <longshuang@msn.cn> * localization: apply selected datetime format in `About` dialog (sourcegit-scm#2223) Signed-off-by: leo <longshuang@msn.cn> * fix: remote's visit url must remove the account info part (sourcegit-scm#2235) Signed-off-by: leo <longshuang@msn.cn> * refactor: notifications - Modal dialog must display error message on top of its self - Commands should only depends on Models and Native Signed-off-by: leo <longshuang@msn.cn> * refactor: move some codes from `App` to `Views.ControlExtensions` Signed-off-by: leo <longshuang@msn.cn> * localization: update Russian translate (sourcegit-scm#2240) * doc: Update translation status and sort locale files * enhance: auto-select the new HEAD after reword (sourcegit-scm#2236) Signed-off-by: leo <longshuang@msn.cn> * enhance: use `string.Equals` instead of operator `==` Signed-off-by: leo <longshuang@msn.cn> * localization: update Spanish translation (sourcegit-scm#2244) + Add missing strings. * doc: Update translation status and sort locale files * feature: allow editing of repository name via tab context menu (sourcegit-scm#2250) * feature: allow editing of repository name via context menu of repository tab Now we can edit tab name while seeing repository view. This is a same feature of 'Edit' action for repository path in welcome view. Add text resource "Text.PageTabBar.Tab.Edit" and its translations are copied from "Text.Welcome.Edit". Note: The feature of changing bookmark is duplicated in a sub menu and the edit dialog. * refactor: remove duplicated menu action 'Bookmark' Remove the 'Bookmark' sub-menu action because 'Edit' action contains it. The text resource "PageTabBar.Tab.Bookmark" and its translations are also removed. * refactor: use `DirectoryInfo` to get absolute path of repository (sourcegit-scm#2246) Signed-off-by: leo <longshuang@msn.cn> * code_style: remove unused namespace using Signed-off-by: leo <longshuang@msn.cn> * build: update packages (CommunityToolkit.Mvvm, OpenAI, LiveChartsCore) (sourcegit-scm#2242) * doc: update third-party readme Signed-off-by: leo <longshuang@msn.cn> * feature: better word division for highlighting (sourcegit-scm#2251) Each line is divided into several chunks to highlight the changes. The previous implementation splits text at a fixed set of delimiter characters (spaces, tabs, and common ASCII symbols such as `+-*/=!,;`). Non-delimiter characters — including CJK ideographs, Hiragana, and Katakana — are never treated as boundaries, so they tend to form large, coarse chunks in languages like Japanese or Chinese that do not use spaces to separate words. A small change within such text causes the entire surrounding phrase to be highlighted. This new implementation classifies each character into one of three categories and groups consecutive characters of the same category into one chunk, except for the Other category which is always split character by character: - Letter (Unicode Ll/Lu/Lt/Lm + digits): ASCII letters, digits, and letters with diacritics such as é, ü, ß, ñ, ё. Consecutive Letter characters form one chunk, keeping European words intact. - OtherLetter (Unicode Lo): CJK, Hiragana, Katakana, Hangul, Thai, Arabic, Hebrew, etc. Consecutive OtherLetter characters form one chunk. CJK punctuation (。、「」…) falls into the Other category and therefore acts as a natural boundary between chunks. - Other (default): whitespace, control characters, punctuation, and symbols. This category corresponds to the delimiter characters of the previous implementation. Each character is always its own chunk, preserving the same per-character precision as before for operators, spaces, and punctuation. Category values for all 65,536 char values are pre-computed into a static read-only array at startup for lock-free O(1) lookup. * fix: staged files do not update after committing with `--amend` enabled successfully (sourcegit-scm#2253) This issue is introduced by commit 26fc29b. And the right way to fix this issue is to force `Command.Commit` finish in UI thread. Signed-off-by: leo <longshuang@msn.cn> * feature: auto-fetch now is a global setting instead of per-repo setting (sourcegit-scm#2050) Signed-off-by: leo <longshuang@msn.cn> * enhance: avoid pre-edit text box being clipped Signed-off-by: leo <longshuang@msn.cn> * version: Release 2026.08 Signed-off-by: leo <longshuang@msn.cn> * enhance: AI-based commit message generator (sourcegit-scm#2255) - Make `AI Assistant` window resizable - Make `AI Assistant` window non-modal dialog - Clean up code Signed-off-by: leo <longshuang@msn.cn> * feature: supports to choose group and bookmark when cloning remote repository Signed-off-by: leo <longshuang@msn.cn> * refactor: rewrite `Open Local Repository` feature Signed-off-by: leo <longshuang@msn.cn> * fix: bad condition to check if auto-fetch is enabled (sourcegit-scm#2257) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * feature: add hotkey `Ctrl+Shift+O/⌘+⇧+O` to open local repository (sourcegit-scm#2256) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * revert: use blank `User-Agent` header when communicating with open-ai compatible service This reverts commit 26ab0a7. Signed-off-by: leo <longshuang@msn.cn> * feature: show a checked icon when sha was copied Signed-off-by: leo <longshuang@msn.cn> * enhance: when cloning remote repo or opening local repo, the `Group` is `No Group (Uncategorized)` by default (sourcegit-scm#2258) Signed-off-by: leo <longshuang@msn.cn> * feature: reorder fixup commits to its right position when loading commits for interactive rebase (sourcegit-scm#588) Signed-off-by: leo <longshuang@msn.cn> * feature: reorder squash commits to its right position when loading commits for interactive rebase (sourcegit-scm#588) Signed-off-by: leo <longshuang@msn.cn> * feature: allow partial stage/unstage/discard for non-UTF8 text in diff view (sourcegit-scm#2260) Current implementation fails on partial stage/unstage/discard operations for non-UTF8 text because of applying a patch made with broken (replaced) text. This modification allows these operation by preserving the original raw bytes from the output of `git diff`, and use it to create patch file. * code_style: refine diff result parsing Signed-off-by: leo <longshuang@msn.cn> * fix: infinite-loop occurs when interactive rebasing with multiple `fixup!`/`squash!` commits target a single commit (sourcegit-scm#2261) Signed-off-by: leo <longshuang@msn.cn> * ux: copied icon change duration Signed-off-by: leo <longshuang@msn.cn> * feature: supports to view details changes of submodule (only if this submodule is initialized and not available for new/delete submodule change) (sourcegit-scm#2264) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: disable `OPEN DETAILS` button when one of submodule revision is lost Signed-off-by: leo <longshuang@msn.cn> * enhance: show the `Submodule Change Details` window on the same screen of it's parent (sourcegit-scm#2264) Signed-off-by: leo <longshuang@msn.cn> * fix: fetch AI models in background to avoid main window waiting to show (sourcegit-scm#2267) Signed-off-by: leo <longshuang@msn.cn> * refactor: move some code from `App` to `Views.ControlExtensions` Signed-off-by: leo <longshuang@msn.cn> * feature: show uncommitted changes count for submodule (sourcegit-scm#2264) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: do not show `Git LFS` submenu for submodules (sourcegit-scm#2264) Signed-off-by: leo <longshuang@msn.cn> * fix: remove `--push` option because it is not valid parameter for `git-flow-next` (sourcegit-scm#2269) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * fix: enable `Set as tracking branch` should be visible when push to a new branch (sourcegit-scm#2273) Signed-off-by: leo <longshuang@msn.cn> * refactor: rewrite the way to quit app Signed-off-by: leo <longshuang@msn.cn> * fix: directly patch the final file when trying to stage/unstage/discard selected hunk with renamed/copied file (sourcegit-scm#2272) Signed-off-by: leo <longshuang@msn.cn> * fix: app will crash when it is quiting from Dock (sourcegit-scm#2271) Signed-off-by: leo <longshuang@msn.cn> * code_style: move `App.FixFontFamilyNames` to `StringExtensions.FormatFontNames` Signed-off-by: leo <longshuang@msn.cn> * feature: add `Hide Others` app menu on macOS and correct the behaviour of `Show All` Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * feature: add `Local Branch Selector` and `Remote Branch Selector` control type for custom actions (sourcegit-scm#2274) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: replace `${BRANCH}` with current branch name if the custom action's scope is `Repository` (sourcegit-scm#2274) Signed-off-by: leo <longshuang@msn.cn> * code_style: remove unnecessary function call Signed-off-by: leo <longshuang@msn.cn> * feature: add `String Formatter` for `TextBox` in custom action (sourcegit-scm#2274) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * code_style: remove unnecessary function call Signed-off-by: leo <longshuang@msn.cn> * fix: left margins of text editor do not update after `FontSize` changed (sourcegit-scm#2276) Signed-off-by: leo <longshuang@msn.cn> * localization: update Spanish translation (sourcegit-scm#2278) + Add missing strings. * doc: Update translation status and sort locale files * version: Release 2026.09 Signed-off-by: leo <longshuang@msn.cn> * enhance: auto-select branch for `Branch Selector` control in custom action (sourcegit-scm#2274) Signed-off-by: leo <longshuang@msn.cn> * fix: crashes when trying to close a repository with a action that is still running (sourcegit-scm#2289) - It's not necessary to implement `IDisposable` interface for class that only contains managed resources - Do not clear fields of `Repository` and let system GC handle it Signed-off-by: leo <longshuang@msn.cn> * feature: add `Use` back to apply ai generated commit message (sourcegit-scm#2287) Signed-off-by: leo <longshuang@msn.cn> * feature: supports to disable specific remote from auto-fetch (sourcegit-scm#2285) Add `Enable Auto-Fetch` context menu entry to select remote. This menu item only visible when you have enable `Fetch remotes automatically` feature in `Preferences` dialog. Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: do not start new auto-fetch action if the last one is still running (sourcegit-scm#2285) Signed-off-by: leo <longshuang@msn.cn> * ux: make `About` dialog size to content (sourcegit-scm#2292) Signed-off-by: leo <longshuang@msn.cn> * fix: support utf-8 passphrases in askpass (sourcegit-scm#2293) (cherry picked from commit f5adad5) * code_style: fix `dotnet format` check warnnings Signed-off-by: leo <longshuang@msn.cn> * fix: `Initialize Repository` should apply the bookmark setting from `Open Repository` popup Signed-off-by: leo <longshuang@msn.cn> * enhance: write preferences data to a temp file first and then rename it to the final file (sourcegit-scm#2298) This commit addresses the issue that shutting down the system while the software is running may cause incomplete data writing to `preference.json`, resulting in the loss of user configurations. Signed-off-by: leo <longshuang@msn.cn> * feature: drop Windows 11 Mica support Signed-off-by: leo <longshuang@msn.cn> * enhance: write user settings to a temp file first and then rename it to the final file (sourcegit-scm#2298) Signed-off-by: leo <longshuang@msn.cn> * fix: disable thinking mode in AI chat (sourcegit-scm#2299) Signed-off-by: leo <longshuang@msn.cn> * enhance: improve Linux package build configuration (sourcegit-scm#2302) * enhance: improve Linux package build configuration - Dynamically generate ICU dependency versions in package.linux.sh - Use @ICU_DEPS@ placeholder in control file for easier maintenance - Add postinst script to update desktop database and icon cache - Expand appdata.xml with full application description and screenshots * fix: set executable permission for postinst script Git on Windows didn't track the executable bit for postinst, causing dpkg-deb to reject the package with "bad permissions 664" error. * fix: `NullReferenceException` occurs when `Complete` is called before `AppendLine` (sourcegit-scm#2305) Signed-off-by: leo <longshuang@msn.cn> * feature: `ImageSource` supports loading psd files (sourcegit-scm#2304) * localization: update Russian translation (sourcegit-scm#2306) * doc: Update translation status and sort locale files * feature: show the git source revision in `About` dialog (sourcegit-scm#2308) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * fix: when reordering commits for interactive rebasing, the subject must equals (instead of starts with) target's subject (sourcegit-scm#2303) Signed-off-by: leo <longshuang@msn.cn> * fix: change default seperator to prevent `/` or `:` being replaced by culture in `DateTime.ToString` (sourcegit-scm#2307) Other languages like de_DE have "." as the seperator. On such systems the options with the "/" would still translate to ".". Same problem can be applied to Time. This fixes the issue by setting default seperators no matter which language is used. This also changes how MMM behaves and does also show the correct value now. * code_style: run `dotnet format` to fix ci warnings Signed-off-by: leo <longshuang@msn.cn> * refactor: keep selection in `HISTORY` page if user only selected one or two commits (sourcegit-scm#2297) Signed-off-by: leo <longshuang@msn.cn> * doc: update `README` for `deb` package (sourcegit-scm#2309) Signed-off-by: leo <longshuang@msn.cn> * localization: update `Text.About.GitSourceRevision` Signed-off-by: leo <longshuang@msn.cn> * refactor: move `Commits` from DataContext to property Signed-off-by: leo <longshuang@msn.cn> * refactor: add `HistoriesCommitList` control and move selection code to it Signed-off-by: leo <longshuang@msn.cn> * code_style: `HistoriesCommitList` should not depend on `ViewModels.Histories` Signed-off-by: leo <longshuang@msn.cn> * enhance: do not change selection if previous one is empty Signed-off-by: leo <longshuang@msn.cn> * refactor: always create `HISTORY`, `LOCAL CHANGES` and `STASHES` page to prevent losing selection and scroll offsets Signed-off-by: leo <longshuang@msn.cn> * code_style: remove unnecessary code Signed-off-by: leo <longshuang@msn.cn> * enhance: leave action to `pick` if there's only `fixup` and `drop` commits to it (sourcegit-scm#2313) Signed-off-by: leo <longshuang@msn.cn> * enhance: search position for `fixup!/squash!` commit in reversed order (sourcegit-scm#2314) Signed-off-by: leo <longshuang@msn.cn> * refactor: remove binding warnings Signed-off-by: leo <longshuang@msn.cn> * fix: selection lost when switch from repo to welcome page Signed-off-by: leo <longshuang@msn.cn> * fix: wrong commit order to compare which is introduced by commit c3cbc61 Signed-off-by: leo <longshuang@msn.cn> * enhance: prevent too many selection changed events being raised while apply selection to commit list Signed-off-by: leo <longshuang@msn.cn> * refactor: ignore hard-coded `Enter/Space` key event in AvaloniaUI's `ListBox` and make it can be handled by app Signed-off-by: leo <longshuang@msn.cn> * version: 2026.10 Signed-off-by: leo <longshuang@msn.cn> * refactor: do not disable `thinking mode` but send `reasoning_content` back to the Open-AI service instead (sourcegit-scm#2229) (sourcegit-scm#2318) Signed-off-by: leo <longshuang@msn.cn> * enhance: remember selection if it contains less than 11 commits in `HISTORY` page and rewrite the way to auto-scroll Signed-off-by: leo <longshuang@msn.cn> * refactor: replace Azure-specific API with general `JsonPatch` to get `reasoning_content` in response Signed-off-by: leo <longshuang@msn.cn> * code_style: check null once time Signed-off-by: leo <longshuang@msn.cn> * feature: add context menu entry `Copy` to selected REF in commit details panel (sourcegit-scm#2321) Signed-off-by: leo <longshuang@msn.cn> * enhance: increase the number of commits when keeping selection Signed-off-by: leo <longshuang@msn.cn> * feature: add a new context menu `Compare with <upstream>` to compare selected branch with its upstream directly (sourcegit-scm#2322) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * doc: update `README` (sourcegit-scm#2323) Signed-off-by: leo <longshuang@msn.cn> * feature: add a checkbox in `Preferences > GIT` to use `Stash & Reapply` by default when checking-out or merging branches Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: `Left/Right` arrow key navigation in tree view (sourcegit-scm#2300) Signed-off-by: leo <longshuang@msn.cn> * localization: change display name of `Compare` in command palette Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: clean up files related to rebasing after running `git rebase --abort` (sourcegit-scm#2320) Signed-off-by: leo <longshuang@msn.cn> * enhance: trim blocking code markdown identifier in AI response Signed-off-by: leo <longshuang@msn.cn> * fix: navigating to the same commit with current selected does not work any more Signed-off-by: leo <longshuang@msn.cn> * ux: makes `BranchSelector` looks like normal `ComboBox` Signed-off-by: leo <longshuang@msn.cn> * feature: allow searching for remote branches in pull/push (sourcegit-scm#2283) Signed-off-by: leo <longshuang@msn.cn> * ux: change `USE` button to primary style in `AI Assistant` dialog Signed-off-by: leo <longshuang@msn.cn> * feature: add keybindings `F2` to rename selected local branch (sourcegit-scm#2294) Co-authored-by: Hüseyin Aslıtürk <huseyin@asliturk.com> Signed-off-by: leo <longshuang@msn.cn> * enhance: generate a better commit message manually when cherry-picking multiple commits with `-n -x` (sourcegit-scm#2295) Signed-off-by: leo <longshuang@msn.cn> * refactor: more safe code to decode image resources Signed-off-by: leo <longshuang@msn.cn> * ux: change the icon of `Apply Patch` Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * localization: update Spanish translation (sourcegit-scm#2329) + Add missing strings. + Modify some instances when the ampersand character wasn't need it in spanish. * doc: Update translation status and sort locale files * refactor: add `--history <FILE_OR_DIR>` command line and remove the old `--file-history <FILE_PATH>` Signed-off-by: leo <longshuang@msn.cn> * enhance: trim the end path seperator Signed-off-by: leo <longshuang@msn.cn> * feature: support to collapse commit details panel (only vertical layout) Signed-off-by: leo <longshuang@msn.cn> * enhance: hiding invisible controls when commit details panel is collapsed Signed-off-by: leo <longshuang@msn.cn> * ux: add button tooltips Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * ux: should use `IsEnabled` instead of `IsVisible` Signed-off-by: leo <longshuang@msn.cn> * ux: align source revision in about dialog (sourcegit-scm#2331) * localization: update Russian translate (sourcegit-scm#2332) * doc: Update translation status and sort locale files * ux: new style for `ToggleButton.line_path` Signed-off-by: leo <longshuang@msn.cn> * feature: supports to open history details panel in a separate window Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * localization: add missing translations for Chinese Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * refactor: reuse `interactive rebase` instead of custom `reword/squash/fixup/drop` popup for HEAD commit Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * fix: `IsDetailsPanelExpanded` must be enabled by default since commit ac2a329 Signed-off-by: leo <longshuang@msn.cn> * ux: layout of floating buttons Signed-off-by: leo <longshuang@msn.cn> * ux: replace icons Signed-off-by: leo <longshuang@msn.cn> * refactor: split `HistoriesDetailsStandalone` into two different windows Signed-off-by: leo <longshuang@msn.cn> * feature: allows to open commit details panel in a separate window in `Interactive Rebase` dialog Signed-off-by: leo <longshuang@msn.cn> * enhance: disable manually interactive rebasing on HEAD Signed-off-by: leo <longshuang@msn.cn> * enhance: pressing `DEL` when selected multiple tags will open `Delete Multiple Tags` popup Signed-off-by: leo <longshuang@msn.cn> * enhance: better `Left/Right` arrow key navigation in `Welcome` page Signed-off-by: leo <longshuang@msn.cn> * code_style: move `Select` from child classes to `ListBoxEx` Signed-off-by: leo <longshuang@msn.cn> * feature: add `Ctrl+J/⌘+J` hotkey to expand/collapse details panel in `HISTORY` page (sourcegit-scm#2335) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * refactor: remove unnecessary invisible buttons and move `KeyDown` handler to `HistoriesCommitList` Signed-off-by: leo <longshuang@msn.cn> * ux: lighter window shadow on Linux Signed-off-by: leo <longshuang@msn.cn> * feature: support `--no-verify` option to bypass `pre-rebase` hook while rebasing (sourcegit-scm#2334) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * ux: scroll to top button style Signed-off-by: leo <longshuang@msn.cn> * enhance: fallback `${BRANCH}` and `${BRANCH_FRIENDLY_NAME}` to current branch (sourcegit-scm#2338) Signed-off-by: leo <longshuang@msn.cn> * feature: add global hotkey to open terminal (sourcegit-scm#2337) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * fix: we can only use Ctrl+` on macOS Signed-off-by: leo <longshuang@msn.cn> * ux: use `^` instead of `Ctrl` on macOS Signed-off-by: leo <longshuang@msn.cn> * enhance: improve commit graph render performance Signed-off-by: leo <longshuang@msn.cn> * feature: show left/right only commits in `Compare` window Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: cherry-pick commits should be ordered by committer time Signed-off-by: leo <longshuang@msn.cn> * feature: supports to compare selected commit with current branch (not revision compare) when it is head of some branch/tag Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * enhance: support to disable auto-fetch available model-ids and specify the model-id to use directly (sourcegit-scm#2340) Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * ux: ref badge foreground Signed-off-by: leo <longshuang@msn.cn> * refactor: move `Ctrl+Shift+B/Ctrl+Shift+T` from `HistoriesCommitList` to `Launcher` Signed-off-by: leo <longshuang@msn.cn> * ux: hotkey order Signed-off-by: leo <longshuang@msn.cn> * fix: remove duplicate branch when overwriting existing branch (sourcegit-scm#2345) When using OverwriteExisting to reset a local branch to upstream, the branch list showed two duplicate entries because the old branch object was not removed before adding the new one. * feature: add repository page hotkey `Ctrl+E/⌘+E` to open in file browser Signed-off-by: leo <longshuang@msn.cn> * refactor: `IsOpenAsStandalone` should depend on `DetailContext` Signed-off-by: leo <longshuang@msn.cn> * fix: force disable `InvariantGlobalization` to avoid crashing when `DOTNET_SYSTEM_GLOBALIZATION_INVARIANT` has been enabled in user's environment (sourcegit-scm#2347) Signed-off-by: leo <longshuang@msn.cn> * refactor: use `Models.Null` instead of `null` to remove warings in Rider Signed-off-by: leo <longshuang@msn.cn> * refactor: highlighting in commit graph Signed-off-by: leo <longshuang@msn.cn> * ux: move `Show relative time in graph` to `Preferences` dialog Signed-off-by: leo <longshuang@msn.cn> * doc: Update translation status and sort locale files * project: upgrade `Avalonia` to `11.3.15` * version: Release 2026.11 Signed-off-by: leo <longshuang@msn.cn> --------- Signed-off-by: leo <longshuang@msn.cn> Co-authored-by: leo <longshuang@msn.cn> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> Co-authored-by: Javier J. Martínez M. <56406225+jjesus-dev@users.noreply.github.com> Co-authored-by: AquariusStar <48148723+AquariusStar@users.noreply.github.com> Co-authored-by: Shun-ichi Goto <shunichi.goto@gmail.com> Co-authored-by: heartacker <1876302+heartacker@users.noreply.github.com> Co-authored-by: Iceflower <iceflower@gmx.de> Co-authored-by: Gadfly <gadfly@gadfly.vip> Co-authored-by: Johannes Häggqvist <git@johannesh.se> Co-authored-by: Nietod <119692307+Nietod@users.noreply.github.com> Co-authored-by: Hüseyin Aslıtürk <huseyin@asliturk.com> Co-authored-by: Chiahong <36815907+ChiahongHong@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.