Added
- Enhances the Commit Graph experience with several new features
- Improves rendering, scrolling, keyboard navigation, and first load performance
- Eliminates flickering of branch metadata (upstream status, PRs, and issues) when the repository changes
- Adds real-time streaming of search results with pause, resume, and cancel support (#4782, #4526, #3963)
- Changes the default of the
gitlens.graph.searchItemLimitsetting to0(no limit)
- Changes the default of the
- Adds autocomplete suggestions and interactive filter pickers (for authors, references, and files/folders) to Commit Graph search (#4780)
- Adds quick pick menus for picking authors, branches or tags, comparison ranges, and files or folders
- Adds Compose Commits..., Generate Commit Message..., and Stash All Changes... inline actions to the "work in progress" (WIP) row in the Commit Graph (#4790)
- Adds support for recomposing selected commits in graph and composer (#4600)
- Adds sticky timeline support to the Commit Graph (#4781)
- Adds Select for Compare and Compare with Selected commands to the Commit Graph context menu for commits, stashes, branches, and tags (#4779)
- Enhances multiselect behavior with improved keyboard and mouse support
- Keyboard navigation
- Arrow[Up|Down] — Moves focus/selection to previous/next row
- Ctrl+Arrow[Up|Down] (Cmd+Arrow[Up|Down] on macOS) — Moves focus/selection topologically
- Alt+Arrow[Up|Down] — Jumps to previous/next branching point (merge/fork)
- Alt+Page[Up|Down] — Jumps to previous/next commit with refs
- Home, End — Jumps to first/last (loaded) commit
- Page[Up|Down] — Jumps by a page (viewport)
- Mouse selection
- Click — Selects a single commit (clears previous selection)
- Ctrl+Click (Cmd+Click on macOS) — Toggles commit in/out of selection
- When in topological selection mode, will only select the commit if it is topologically connected to the existing selection
- Shift+Click — Selects a range of commits from the anchor to clicked commit
- When in topological selection mode, will select all commits that follows parent-child graph path
- When in non-topological mode, will select all rows in visual range
- Keyboard selection
- Shift+[Up|Down] — Extends the selection, based on selection mode
- Ctrl+Shift+[Up|Down] (Cmd+Shift+[Up|Down] on macOS) — Topologically extends the selection, and sticks to current branch if possible
- Shift+Home, Shift+End — Extends the selection to first or last commit
- Shift+Page[Up|Down] — Extends the selection by one page
- Keyboard navigation
- Adds an all-new, highly performant, Interactive Rebase Editor with support for
update-refother rebase operations (#4813, #4405, #4383, #4160, #4148, #4032, #3897, #3866, #3815, #3393, #3337, #3310)- Optimizes performance with virtualization for large rebase operations and lazy-loading of commit metadata
- Adds ability to recompose commits using AI (#4796, #4775)
- Adds potential conflict detection with visual indicators for commits that will conflict during rebase
- Adds ability to apply bulk actions (pick, squash, fixup, etc.) to multiple selected commits simultaneously
- Improves drag-and-drop experience with multiselect support
- Improves accessibility with keyboard navigation and multiselect support
- Mouse: Click to select single, Ctrl+Click (Cmd+Click on macOS) to toggle, Shift+Click for range selection
- Keyboard: Shift+Arrow[Up|Down] for range selection, Ctrl+A (Cmd+A on macOS) to select all entries
- Adds a
gitlens.rebaseEditor.openOnPausedRebasesetting to control whether the Interactive Rebase Editor opens automatically when a rebase is paused
- Adds a new Rebase & Update Branches and Interactive Rebase & Update Branches confirmation option to the Git Command Palette's rebase command — closes #4818
- Adds Claude Opus 4.5, Gemini 3 Pro, and GPT-5.1 and GPT-5.2 model support for AI features (#4785)
- Adds multi-repository support to repository filtering in GitLens views (#4815)
- Adds new Set Upstream... and Change Upstream... context menu items to branch status (Up to date, Outgoing, Incoming) in GitLens views
- Adds new advanced date formatting tokens (
agoAndDate,agoAndDateShort,agoAndDateBothSources) and updates default tooltip and status bar formats (#4783) - Adds an experimental
gitlens.advanced.resolveSymlinkssetting to resolve symbolic links when determining file paths for Git operations (#1328) - Adds a
gitlens.advanced.skipOnboardingsetting to prevent onboarding prompts (#4751) - Adds a
gitlens.advanced.git.timeoutsetting to configure the Git command timeout
Changed
- Improves Commit Composer user experience with maximize command, improved commit message editing, and sticky positioning for commit messages (#4759)
- Changes rebase, merge, revert, and branch delete commands to no longer use/open a terminal (#3527, #3530, #3532, #3534)
- Improves ignored file checking performance (#4814)
- Enhances paused operation status UI with clickable references that jump to commits/branches in the Commit Graph (#4786)
- Improves reference selection in views with a unified comparison picker dialog (#4778)
- Simplifies remote provider connection flow by directly using the remote name and repository path (#4411)
- Improves tracking for hover actions by adding source and detail attributes to events from editor hovers (#4764)
Removed
- Removes the
gitlens.advanced.caching.enabledsetting
Fixed
- Fixes issue where the Commit Details file tree rendering would fail intermittently (#4784)
- Fixes issue where the Commit Graph would load data twice on initial load
- Fixes issue where paused operations would not show on the Commit Graph without working changes
- Fixes issue where onboarding would interrupt error popovers in the Commit Composer
- Fixes repository grouping for main repositories and worktrees in certain cases
- Fixes WIP detection for untracked files only
- Fixes issue where commit/graph details panel titles would not collapse at smaller sizes
- Fixes navigation button wrapping in the Inspect view
- Fixes incorrect handling of an empty rebase HEAD
- Fixes missing cancel option in the rebase quick wizard confirmation
- Fixes issue where the Interactive Rebase Editor would not close automatically when the associated file is deleted