Release Notes Highlights
- Required: .NET 10.0 Desktop Runtime v10.0.08 x64 or later 10.x
- Recommended: Git 2.53.0 or later
- Changed GitExtensions Extensibility API (external plugins need to be rebuilt)
- Interactive branch / tag labels
- Worktrees in toolbar and left panel
- Dynamic commit message template
- File encoding selectable per file
- Improved theming
- Several fixes and performance improvements
- New / updated translations (it / ja, ko, ta, zh, fr, tr, ru, ge, sp)
What's Changed
- fix(theme): Remove unused hook methods by @gerhardol in #12127
- fix(theme): Check for default theme by @gerhardol in #12131
- fix(theme): Do not adapt system colors by @gerhardol in #12123
- chore: Remove ImageTransparentColor by @gerhardol in #12126
- fix: MakeBackgroundDarkerBy on current theme by @gerhardol in #12124
- fix: InactiveSelectionHighlight in theme by @gerhardol in #12133
- fix: Adapt hardcoded colors by @gerhardol in #12125
- TreeView: Revert horizontal scroll by @mstv in #12135
- feat: Avoid just "app" / "repo" / "repository" in app title by @mstv in #12138
- test(ExecutableTests): Relax timeout for slow AppVeyor by @mstv in #12141
- feat: Bring to front on drag drop of patch file(s) by @mstv in #12142
- fix(AheadBehindDataProvider): Restrict debug output by @mstv in #12143
- fix: Align a file status icon with other icons by @mstv in #12145
- fix(RepoStateMixed.png): Align with other repo state icons by @mstv in #12154
- build: Debug for ICSharp by @gerhardol in #12151
- fix: remove override highlight linenumber control by @gerhardol in #12140
- fix: Improve blame loading and other minor by @mstv in #12158
- fix(bare repo): Skip "git status" and "git stash list" by @mstv in #12165
- refactor(BlameControl): Use clearer interface by @mstv in #12160
- fix(FormCommit): Improve selection handling by @mstv in #12174
- feat: Clickable links in console output by @gerhardol in #12175
- feat(
FileStatusList): UseTreeViewby @mstv in #12116 - fix(Output History Panel): Hide with Left Panel by @mstv in #12179
- feat: Add SelectInLeftPanel by @mstv in #12180
- feat(graph): Ensure new lane color is different by @mstv in #12169
- refactor: convert to .net6 argument null check syntax by @pmiossec in #12197
- Handle exceptions by @mstv in #12198
- fix(diff): fix switch back to "Patch" diff appearence by @pmiossec in #12196
- fix: prevent double call to SetGitModule on repo change by @pmiossec in #12194
- feat(Repo Title): Append root repo to description of submodule by @mstv in #12156
- fix(reset):Fix reset unstaged changes of a new file already partly staged by @pmiossec in #12184
- feat: bold-bold ansi terminal colors by @gerhardol in #12189
- feat: add Light+ theme by @gerhardol in #12167
- fix(Jump List): Use unique name for recent repos by @mstv in #12144
- .net9 by @gerhardol in #12064
- feat(BackgroundFetchPlugin): Add option to fetch on repo opening by @pmiossec in #12192
- feat(Clone): improve git url detection by @pmiossec in #12211
- fix(GIT_SSH): Avoid "error: cannot spawn : No such file or directory" with .NET9 by @mstv in #12213
- perf(context menus): Cache script icons (for context menus) by @mstv in #12209
- FormUpdate: display .NET runtime requirements by @RussKie in #12217
- fix: catch plugin settings load exceptions by @gerhardol in #12219
- feat: Clarify update & git exe path by @mstv in #12215
- fix: adjust settings check colors by @gerhardol in #12218
- fix(AppSettings): Reset git version after storing by @mstv in #12222
- fix(BackgroundFetchPlugin): Fetch on repo opening when periodic fetch enabled by @pmiossec in #12228
- build(UI.IIntegrationTests): Add missing resource by @mstv in #12227
- build: Embed AutoCompleteRegexes as raw string literal by @mstv in #12244
- fix(BlameControl): Avoid negative number of spaces by @mstv in #12243
- fix(AutoCompletion): No need for StreamReader by @mstv in #12247
- feat: Display autostash in RevisionGrid by @mstv in #12200
- fix(tests): Add missing Dispose calls to test teardown by @mstv in #12248
- fix(tests): Serialize execution; Load and create default settings file by @mstv in #12253
- fix(FileSettingsCache): The last change must win! by @mstv in #12257
- fix: Address NU1510 warning by @gerhardol in #12251
- Onboard to the GitHub workflow based issue-labeler by @RussKie in #12254
- fix(FileStatusList): sort copied before renamed by @gerhardol in #12246
- fix(FileStatusList): status for renamed in branch diffs by @gerhardol in #12245
- feat(CheckListSettingsPage): Improve display of git version by @mstv in #12264
- fix(RevisionGraph): Correctly handle partly visible initial revision by @mstv in #12271
- refactor(LinkFactory.ExecuteLink): Use OsShellUtil by @mstv in #12275
- .net9 dark theme by @gerhardol in #12111
- Allow customise colors of remotes by @RussKie in #12273
- fix(stage submodule): Get working in Diff tab again by @mstv in #12281
- fix(delete files): Avoid wrong popup and actually support deleting multiple files by @mstv in #12276
- fix(git config settings pages): Add system-wide settings by @mstv in #12185
- fix: progress ICSharpCode.TextEditor by @gerhardol in #12285
- Update dependencies by @RussKie in #12277
- FileStatusList: Add toolbar and actions on folders by @mstv in #12149
- feat(VisualStudioIntegration): Go to line; retry on reject by @mstv in #12287
- fix(FileViewer): Avoid crash on animated image file by @mstv in #12274
- feat: Add DebugHelpers.Trace[If] by @mstv in #12295
- Add instructions asking for higher scaling screenshots by @mdonatas in #12304
- Fix file list regex watermark label overflow by @mdonatas in #12306
- Initialize color picker with remote's color by @mdonatas in #12309
- Fix FormRemotes color label size by @mdonatas in #12305
- feat(FileStatusList): Display file icons for git-grep and if grouped by file extension by @mstv in #12293
- Fix Stashes drop-down size calculation by @mdonatas in #12307
- feat(diff viewer): Set caret to first change line by @mstv in #12317
- Fix Find button scaling in git-grep dialog by @mdonatas in #12311
- feat: mark current line in editor by @gerhardol in #12321
- feat(File Tree): Use RevisionDiffControl instead of RevisionFileTreeControl by @mstv in #12312
- Checkout "other" branch after reset by @RussKie in #12296
- Feature/worktree fixes by @borzag in #12324
- fix: adapt a few icons to dark mode by @gerhardol in #12325
- feat(file tree): Expand if filtered to less than 100 files by @mstv in #12335
- feat(ExitCode): Display larger values hexadecimal by @mstv in #12294
- fix(FileViewer): Actually go to first change by @mstv in #12328
- feat(file context menu): Provide the same operations everywhere by @mstv in #12320
- Git config by @mstv in #12201
- fix(message editor): Disable URL detection by @mstv in #12344
- fix(LeftSplitContainer): Workaround shift on load by @mstv in #12343
- feat(reset current branch): Update submodules if not disabled by @mstv in #12342
- ref : fix-foldername-GitHub3 by @hnalpha323 in #12348
- feat(file tree): Provide git-grep by @mstv in #12341
- Update tests by @mstv in #12338
- feat(shell extension): Reset multiple; operate on folder without selection by @mstv in #12345
- feat(WSL, dubious ownership): Improve first use of WSL repo by @mstv in #12351
- fix: pull icons dark mode by @gerhardol in #12357
- fix: theme fix cleanup by @gerhardol in #12360
- Add more keyboard mnemonics by @Timwi in #12282
- fix(skip worktree, assume unchanged): Set checked state by @mstv in #12366
- fix(WSL): Make "edit commit" & "reword commit" work by @mstv in #12356
- fix: jumplist ignore \wsl$\ by @gerhardol in #12368
- feat(git config): Add credential.helper and "reuse recorded resolution of conflicted merges" by @mstv in #12373
- fix(FindAndReplaceForm): Make multi-file search cancelable by @mstv in #12383
- fixup! fix(FindAndReplaceForm): Cancel multi-file search by @mstv in #12386
- doc: update wiki links by @gerhardol in #12384
- doc: markdownlint by @gerhardol in #12389
- fix(GitConfigSettingsBase): Fixup race condition by @mstv in #12391
- fix(GitRef): Do not remove too much when removing prefix by @mstv in #12390
- feat(MultiSelectTreeView): Select block using keys by @mstv in #12394
- fix(refresh artificial commit): Avoid no selection by @mstv in #12395
- ui: tune pull icons by @gerhardol in #12376
- fix: adopt LinkLabel for large files by @gerhardol in #12396
- fix(file selection): Resolve race condition by @mstv in #12398
- Enforce WSL working directory, fix Git Command Log display by @margaretselzer in #12402
- fix(FormCommit): Prevent double diff loading by @mstv in #12397
- fix(CommitInfo): Avoid NRE by @mstv in #12399
- feat(rename file/folder): Add to context menu by @mstv in #12349
- Keyboard mnemonic for “Remember choice” by @Timwi in #12409
- Remember blame splitter position by @mdonatas in #12255
- Improve support for branch mapping by @sharwell in #12336
- Fixup restore of file selection by @mstv in #12405
- Add numbers and mnemonics in the “Recent repositories” menu by @Timwi in #12407
- Consider non-existent config setting for remote branch by @crypto-rsa in #12414
- fix(copy file paths): Reactivate shortcut Ctrl+C by @mstv in #12418
- fix(AsyncStreamReaderTests): Relax timing by @mstv in #12423
- fix(file tree context menu): Unique mnemonic for "Collapse root folders" by @mstv in #12424
- fix(multi-value git config): "credential.helper" by @mstv in #12426
- fix(FormOpenDirectory): Restore button label by @mstv in #12435
- fix(FormPush): Align labels with fields by @mstv in #12434
- fix(filetree): Hide "Show in File tree" by @gerhardol in #12438
- fix(TextView): Clamp FirstVisibleLine by @mstv in #12444
- fix: present git-status errors by @gerhardol in #12437
- fix: Remove attribute ThemeAware by @gerhardol in #12462
- fix: assert in patch grid by @gerhardol in #12459
- Load PR Template from local file by @KianFitz in #12445
- Fix GitExtensions.sln by @M-L-Ml in #12463
- Remove
skiparg from ControlUtil.FindDescendants by @M-L-Ml in #12454 - fix(file tree): ls-tree if no grep by @gerhardol in #12421
- fix: present removed submodules by @gerhardol in #12436
- fix(diff): present submodules also if no local path by @gerhardol in #12467
- perf: one Git command for added/removed by @gerhardol in #12468
- fix: compare branch check revgrid by @gerhardol in #12485
- fix: missing .net9 references by @gerhardol in #12486
- fix: GetCommitData is includeNotes, not cache by @gerhardol in #12470
- fix: format submodule status by @gerhardol in #12469
- fix: check cancellation before viewing text by @gerhardol in #12489
- fix: no throw for commit count by @gerhardol in #12500
- fix: submodule tooltip on default thread by @gerhardol in #12505
- fix: ls-files for Git <2.38 by @gerhardol in #12501
- feat(filter): format native path to repo relative path by @pmiossec in #12504
- fix: read worktree files from the filesystem by @gerhardol in #12496
- fix: prepare for .net10 by @gerhardol in #12519
- fix: remove mail patches by @gerhardol in #12522
- fix: show recent destination directories on clone by @nikolaosginos in #12499
- fix: appveyor warning for lineending by @gerhardol in #12542
- fix: include rc in .net debug listings by @gerhardol in #12543
- fix: do not add / to submodule names by @gerhardol in #12541
- Update contributors.txt by @logiclrd in #12551
- Test robustness: Account for core.autocrlf in DiffHighlightServiceTests.MarkInlineGap by @logiclrd in #12548
- fix: create worktrees with relative paths by @gerhardol in #12533
- fix(FileStatusList): set files as new for initial commit by @gerhardol in #12544
- Fix the creation of orphan branches in empty repositories by @logiclrd in #12539
- Test robustness: Isolation by @logiclrd in #12553
- Fix: Suppress "Rate limit exceeded" error when checking for updates by @Copilot in #12565
- fix: icon for default PulMerge button by @gerhardol in #12581
- Fix overflow error in GitImpact graph rendering when displaying zero-change weeks by @Copilot in #12580
- System.Threading.Lock by @logiclrd in #12563
- Test robustness: Account for system changes in init.defaultbranch by @logiclrd in #12549
- Fix NullReferenceException in GitHub3Plugin on first commit window open by @Copilot in #12593
- fix(FileStatusList.ContextMenu): Clarify Find file hotkey by @mstv in #12579
- Suppress NBug reports for transient Windows update errors (Patch Tuesday) by @Copilot in #12592
- Teach Copilot a few obvious things by @mstv in #12597
- Fix stash picker hidden at high DPI scaling by @Copilot in #12594
- fix: Theme loading error suppressions by @gerhardol in #12601
- fix: ls-files %objecttype Git version check by @gerhardol in #12599
- chore: file scoped namespace by @gerhardol in #12550
- Trivial: Switch to the null-conditional operator in a couple of places by @logiclrd in #12619
- fix(FileStatusList): Calculate available width for truncating filenames by @mstv in #12615
- Test performance: Initialization of reference repositories by @logiclrd in #12570
- fix(DpiUtil): Avoid breaking plugin compatibility by @mstv in #12621
- Feature/branch name in reftable repos by @nikolaosginos in #12498
- fix(Settings): Do not re-enable CredentialHelper edit if multi-value by @mstv in #12624
- fix: ignore long filepath filters when listing revisions by @gerhardol in #12620
- User theme folder path and creation by @hultqvist in #12643
- fix: simplify submodule helpers by @gerhardol in #12494
- fix(File tree): Avoid split folders by @mstv in #12598
- fix(stash picker): Add 1px offset if high DPI scaling factor is fractional by @mstv in #12651
- fix(git error): Actually treat as user external operation by @mstv in #12681
- Fix deadlock in ThemeModule.Load during app restart by @Copilot in #12675
- Fix NBug crash reports for invalid command-line arguments by @Copilot in #12671
- fix(save folder as): Get longest common path by @mstv in #12658
- fix: concurrent access GitVersion by @gerhardol in #12655
- fix(renamed/copied file): Correctly display in tree by @mstv in #12687
- fix(GitModuleForm): Avoid InvalidOperationException by @mstv in #12691
- fix(CheckSettingsLogic): Prefer native executables by @mstv in #12704
- fix(plugin loading): Await registration before use by @mstv in #12707
- Add ComboBoxWatermarkManager for control of ComboBox watermark text by @mdonatas in #12367
- chore(SettingsPageBase): Remove unused bindings by @mstv in #12703
- fix(RevisionGridControl): NRE on special stashes by @mstv in #12717
- fix(FindNextOrOpenWithDifftool): Show "Text not found" by @mstv in #12731
- fix(PictureBox.OnPaint): Handle exceptions by @mstv in #12733
- style(.editorconfig): Add charset = utf-8-bom by @mstv in #12757
- feat(FormCommit): Make auto-selection of staged optional by @mstv in #12740
- chore: Handle GDI exception in FileStatusListView_DrawNode by @mstv in #12750
- feat(user scripts): Add argument "{ColumnNumber}" by @mstv in #12734
- Code analysis fixes by @gerhardol in #12761
- fix: VSTHRD103: Call async methods when in an async method by @gerhardol in #12762
- feat(theme): follow Windows app color mode by @gerhardol in #12718
- fix: GitGrep toolbar options by @gerhardol in #12723
- fix(FormCommit): update status for dirty unstaged submodules by @gerhardol in #12722
- cleanup changing GitExtensions.Extensibility by @gerhardol in #12647
- feat!: .net10 by @gerhardol in #12515
- style: property for GeneratedRegex by @gerhardol in #12764
- fix: ResolveConflicts dialog for choose version by @gerhardol in #12758
- fix: Consistent capitalization of folder "setup" by @mstv in #12768
- Sign off contributors.txt by @jmg2k in #12776
- Edited contributors.txt by @xan2622 in #12773
- Enhances the 'remote repositories' window by @xan2622 in #12772
- feat(assembly loading error): Also detect if wrapped with other exceptions by @mstv in #12805
- Dynamic commit message template by @mdani9506 in #12478
- feat(RevisionGraph): Show single child in tooltip by @mstv in #12705
- Fix statistics plugin not showing line counts by @GHXX in #12780
- fix(git status): Update after special rebase by @mstv in #12745
- feat(settings): Mention and show env var GIT_CONFIG_GLOBAL by @mstv in #12735
- feat(repos dropdown): Allow to filter the recent repos by @mstv in #12660
- feat(git-grep): Add regex options to toolbar by @mstv in #12763
- feat(skip-worktree files): Show in Diff tab, show diff by @mstv in #12749
- feat(HotkeySettingsManager): Default hotkeys for GoToFirst/LastParent by @mstv in #12811
- feat(file multi-selection): Display focused file, not nothing by @mstv in #12810
- feat(file encoding): Selectable per file by @mstv in #12806
- fix(show skip-worktree): Make mnemonic unique by @mstv in #12815
- fix(Reset changes): Limit size of popup by @mstv in #12817
- fix(FileViewer): Scrollbar visibility & scroll to by @mstv in #12818
- feat(update): Adapt download link to OSArchitecture by @mstv in #12827
- feat(user scripts): Support selected folder for "{SelectedRelativePaths}" by @mstv in #12840
- feat(user scripts): Add example for editor integration by @mstv in #12839
- Fix: Console launch fails when Windows username contains spaces by @apoorvdarshan in #12841
- fix(PathFirstComparer): Use InvariantCulture consistently by @mstv in #12858
- feat(BugReportInvoker): Ignore missing runtime DLL on application exit and if repeated by @mstv in #12850
- feat: Add Notes column by @mstv in #12730
- feat(user scripts): Replace all supported arguments always by @mstv in #12759
- fix: difftool second revision by @gerhardol in #12837
- Allow to disable tooltips in revision grid by @RussKie in #12859
- fix(dashboard): focus search on start by @gerhardol in #12852
- Fix/sq warnings by @mstv in #12864
- refactor
BugReportInvokerto make it testable by @RussKie in #12860 - feat(FormBrowse): Automatically load body & notes by @mstv in #12861
- feat(portable): Pinnable to taskbar per folder by @mstv in #12872
- feat(recent repo list): Improve readability by @mstv in #12869
- Dialogs layout alignment -
FormCreateWorktreeby @RussKie in #12875 - Tests for OsShellUtil by @RussKie in #12871
- fix: prevent initial watermark when control starts focused by @Copilot in #12874
- Add recent repositories to Windows Start menu jump list by @Copilot in #12596
- feat: Add scripts lf/crlf conversion by @gerhardol in #12863
- Copilot UI design guidelines by @RussKie in #12877
- feat(RevisionGridControl): Add tsmiPushBranch by @mstv in #12890
- fix: git 2.53 by @gerhardol in #12893
- fix: remove obsolete GitFlow plugin by @gerhardol in #12894
- fix remove JiraCommitHintPlugin by @gerhardol in #12895
- fix(output history): Ensure collapsed panels if disabled after showing as panel by @mstv in #12909
- build: remove obsolete BitBucket plugin by @gerhardol in #12910
- feat(PluginSettingsPage): Add state to exception by @mstv in #12908
- fix: gource DownloadFile by @gerhardol in #12892
- feat(repo button): Mention Ctrl in tooltip by @mstv in #12915
- fix(EditboxBasedConsoleOutputControl): Avoid NRE by @mstv in #12919
- fix(RegisterPlugins): Perfom using _loadOperations by @mstv in #12920
- Show branch name in dashboard and menus for reftable repos by @nikolaosginos in #12659
- feat(git config): Improve message on unexpected multi-value config by @mstv in #12922
- fix: load Dashboard once by @gerhardol in #12928
- fix: nullable ThreadHelper by @gerhardol in #12929
- fix(TextBoxSilencer): Allow Ctrl+Home/End to navigate to document boundaries by @drewnoakes in #12938
- feat(editor): add Zed editor as git editor by @pmiossec in #12934
- Update SourceLink to fix worktrees in this repo by @drewnoakes in #12939
- fix(RevisionGrid): Hide tooltip on app deactivate by @mstv in #12936
- fix(repo menu): Display hotkeys again by @mstv in #12937
- Repo menu opening by @gerhardol in #12921
- build: migrate solution from sln to slnx format by @drewnoakes in #12944
- feat: tweaked ansi terminal colors by @gerhardol in #12942
- feat: themeable selection color by @gerhardol in #12941
- Repalce 13rac1/block-fixup-merge-action by @RussKie in #12947
- chore: add .git-blame-ignore-revs for bulk formatting commits by @drewnoakes in #12949
- refactor: ban direct MessageBox usage via BannedApiAnalyzers by @drewnoakes in #12945
- refactor: replace EnvUtils methods with modern .NET framework equivalents by @drewnoakes in #12956
- fix: auto-match console style to application theme by @drewnoakes in #12950
- refactor: remove dead BinaryFormatter-era serialization code by @drewnoakes in #12955
- feat: hide Copilot session checkpoint refs by default by @drewnoakes in #12953
- refactor: replace StringPool with HashSet alternate lookup for string deduplication by @drewnoakes in #12954
- feat: Add GitHub Actions build server integration by @drewnoakes in #12948
- refactor(IGitExecutor): Remove GetSelectedBranch by @mstv in #12933
- Migrate from Newtonsoft.Json to System.Text.Json by @drewnoakes in #12957
- feat: add Worktrees to toolbar and navigation tree by @drewnoakes in #12927
- chore: Null-annotate the whole repo by @drewnoakes in #12952
- chore: remove dead .NET Framework app.config content by @drewnoakes in #12958
- fix: dark+ update by @gerhardol in #12943
- feat: add interactive ref labels in revision grid by @drewnoakes in #12951
- build: replace FluentAssertions NuGet package with AwesomeAssertions by @drewnoakes in #12961
- fix(test): fix flaky CancellationTokenSequence concurrency test by @drewnoakes in #12960
- perf: add ExplicitCapture to regex options where missing by @drewnoakes in #12970
- perf: use Path.Join over Path.Combine for known-relative path segments by @drewnoakes in #12964
- perf(ObjectId): use SkipLocalsInit and SearchValues for hex validation by @drewnoakes in #12971
- refactor: remove redundant IExecutable.GetWorkingDirectory() method by @drewnoakes in #12969
- ci: replace AppVeyor with GitHub Actions by @drewnoakes in #12946
- feat: handle worktree branches in delete branch dialog by @drewnoakes in #12962
- docs: Fix .NET 10 download link and Windows version requirement in README by @Copilot in #12976
- ci: avoid duplicate runs on PR branches by @drewnoakes in #12979
- feat: scroll revision grid to worktree commit on selection by @drewnoakes in #12980
- ci: publish portable archive artifact from GHA workflow by @drewnoakes in #12983
- perf(ObjectId): use InlineArray buffer with SIMD operations and vectorized hex conversion by @drewnoakes in #12978
- fix(commit):fix hideous resize of status bar when staging by @pmiossec in #12984
- ci: exclude test code from SonarQube analysis by @drewnoakes in #12986
- feat(GetSelectedBranch): Reduce noise on WSL failure by @mstv in #12974
- fix(file tree): Avoid split folder by @mstv in #12990
- refactor: modernize test assertions and infrastructure by @drewnoakes in #12982
- Allow preconfigure prefix and colour per remote by @RussKie in #12989
- ci: add workflow_run test report for fork PRs by @drewnoakes in #12993
- refactor: convert JoinableTaskFactory.Run tests to async Task by @drewnoakes in #12987
- ci: name portable artifact with version and commit hash by @drewnoakes in #12995
- chore: Update ICSharpCode.TextEditor submodule (syntax highlighting for .slnx, .vsconfig, .slnf) by @drewnoakes in #12998
- feat(UI): add Shift+MouseWheel horizontal scrolling by @drewnoakes in #12996
- feat: add Copy path and Show in folder to worktree context menu by @drewnoakes in #12997
- fix!: worktree with Git < 2.36 by @gerhardol in #12973
- feat: auto-detect Azure DevOps for build status and PR creation by @drewnoakes in #12999
- feat(worktree): strip common directory prefix from worktree display names by @drewnoakes in #13001
- feat(interactive ref labels): Improve UX by @mstv in #12991
- fix(user scripts): Always provide internal items by @mstv in #13009
- fix: ShowError MessageBoxes in plugins by @gerhardol in #13015
- ci: Upload test reports on failure by @mstv in #13018
- Allow to have console emulator plugins by @zvirja in #12992
- feat: Compact single-child folder chains in submodule tree by @mstv in #13019
- feat(view settings): Add button "save as default" to "diff viewer" settings page by @mstv in #13014
- fix: quiet git-reset by @gerhardol in #13016
- Clean console emulation interface by @zvirja in #13024
- feat: tooltip for submodules in the left panel by @gerhardol in #13032
- fix(FormPush): Invalidate git config by @mstv in #13040
- fix(repo menu): Actually update on revisions loaded by @mstv in #13037
- Use SearchValues to find indexes of chars by @Henr1k80 in #13041
- Adopt fore colors by @gerhardol in #13027
- perf(text editor): Avoid string allocations by @mstv in #13046
- fix(git config): Do not throw on multiple values when not changed by @zvirja in #13045
- Removed unneeded Dictionary lookups by @Henr1k80 in #13044
- chore: Remove unused parts of ISetting by @mstv in #13048
- fix: Fixup substition of startIndex by means of slicing by @mstv in #13047
- fix(set_version_to.cs): Add shebang by @mstv in #13054
- perf: Optimize StringBuilder usage by @mstv in #13053
- ci: Enable display of test errors by @mstv in #13061
- perf(ObjectId): convert from sealed class to readonly struct by @gerhardol in #13058
- refactor: Remove nullability of ISetting.Value by @mstv in #13062
- fix(FileStatusList): Avoid filename truncation to empty by @mstv in #13057
- feat(interactive ref labels): Improve UX by @mstv in #13034
- fix: Make layered settings work by @mstv in #13031
- fix(save selected as): Support top-level files by @mstv in #13072
- feat(revision grid): Condense remote labels by @mstv in #13038
- fix(remote branch prefix): Allow trailing slash by @mstv in #13074
- fix: Use ReadUnaligned for IsArtificial by @gerhardol in #13073
- fix(create repo): Pass ServiceProvider by @mstv in #13080
- Fix regex pattern for rejected push detection by @zvirja in #13077
- feat: "Reset Changes" and "Commit" working directory context menu (#9… by @LeeRedfield in #13075
- fix(StartFileHistoryDialog): Avoid error popup by @mstv in #13081
New Contributors
- @borzag made their first contribution in #12324
- @hnalpha323 made their first contribution in #12348
- @margaretselzer made their first contribution in #12402
- @KianFitz made their first contribution in #12445
- @M-L-Ml made their first contribution in #12463
- @nikolaosginos made their first contribution in #12499
- @logiclrd made their first contribution in #12551
- @jmg2k made their first contribution in #12776
- @xan2622 made their first contribution in #12773
- @mdani9506 made their first contribution in #12478
- @GHXX made their first contribution in #12780
- @apoorvdarshan made their first contribution in #12841
- @Henr1k80 made their first contribution in #13041
- @LeeRedfield made their first contribution in #13075
Full Changelog: v6.0.5...v7.0.0