github gitkraken/vscode-gitlens v17.8.0

10 hours ago

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.searchItemLimit setting to 0 (no limit)
    • 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
  • Adds an all-new, highly performant, Interactive Rebase Editor with support for update-ref other 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.openOnPausedRebase setting 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.resolveSymlinks setting to resolve symbolic links when determining file paths for Git operations (#1328)
  • Adds a gitlens.advanced.skipOnboarding setting to prevent onboarding prompts (#4751)
  • Adds a gitlens.advanced.git.timeout setting 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.enabled setting

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

Don't miss a new vscode-gitlens release

NewReleases is sending notifications on new releases.