Skip to content

Releases: gitkraken/vscode-gitlens

v17.10.1

19 Feb 22:11

Choose a tag to compare

Fixed

  • Fixes an issue where unsigned commits could incorrectly show a signature badge in tree view tooltips (#4984)
  • Fixes CLI version checking and updating
  • Fixes an issue where the GitLens panel view container flickers during startup when an integration connects before repository discovery completes (#4990)

v17.10.0

11 Feb 22:54

Choose a tag to compare

Added

  • Adds support for GitKraken MCP tools powered by GitLens including Start Work, Commit Composer, Launchpad, and the all new Start Review (#4797, #4908, #4909, #4910, #4912)
  • Adds support for AI ignore files (.aiignore, .cursorignore, .aiexclude) and gitlens.ai.exclude.files setting to filter sensitive data from AI prompts, and smart diff truncation that prioritizes dropping low-value files when prompts exceed token limits (#4916)
  • Adds conversation threading to Commit Composer auto-compose for improved outcomes (PR #4900)
  • Adds an option to filter tree views to exclude worktrees, allowing users to show all repositories except worktrees whose main repository is also open (#4952)
  • Adds commit signature verification with support for GPG, SSH, and X.509 formats (#4552, #2363)
    • Adds verification badges and detailed tooltips to the Commit Details and Graph Details views
    • Adds signature indicator icon to inline blame hovers
    • Adds ${signature} token to default commit and status tooltip formats in views and the Commit Graph
  • Adds a "Filter Repositories..." command to the Branches, Commits, Contributors, Remotes, Stashes, Tags, and Worktrees views to filter to all repos, all repos excluding worktrees, or specific repos
  • Adds a refresh button to the Interactive Rebase Editor toolbar to manually refresh the rebase state

Changed

  • Significantly improves performance and reduces overhead, especially with worktrees
    • Improves performance when opening repositories with worktrees by sharing cached Git data across them (#4929)
    • Improves responsiveness by adding priority-based Git process scheduling and smarter repository discovery (#4930)
      • Adds a gitlens.advanced.git.maxConcurrentProcesses setting to specify the maximum number of background Git processes that can run concurrently
    • Improves file system event handling performance by optimizing Git ignore rule processing (#4919)
    • Improves view update performance by skipping refreshes for hidden views and preventing unnecessary auto-expand with multiple repositories (#4928)
    • Moves GitLens-specific metadata (merge targets, issues, activity) to a dedicated .git/gk/config file to avoid modifying .git/config (#4968)
      • Eliminates unnecessary Git repository change events previously triggered by metadata updates
    • Improves stash loading performance by deferring file detail loading (requires the gitlens.advanced.commits.delayLoadingFileDetails setting to be enabled)
  • Improves commit message instructions in Commit Composer auto-compose for better consistency (PR #4888)
  • Overhauls Git Command Palette quick wizards with scope-based progress tracking and modular sub-commands for branch, stash, remote, tag, and worktree operations (#4927)
  • Improves worktree naming for detached states by including the folder name for better context
  • Excludes worktrees from repository pickers in commands where selecting a worktree would be inappropriate (#4931)
  • Prevents repositories from automatically opening when an opened file is git-ignored
  • Stops creating new GitHub sessions via VS Code built-in authentication; new connections now always use the GKDev flow, while existing built-in sessions are still used if available (#4881)

Fixed

  • Fixes potential deadlocks during node loading in views (#4928)
  • Fixes an issue where the GitKraken MCP installation could fail or conflict across remote environments like WSL, SSH, or containers (#4918)
  • Fixes an issue where diffing untracked files in the Commit Composer could trigger unwanted file system events (#4917)
  • Fixes an issue where a single-selected commit in the Commit Composer would not get proper highlighting (#4899)
  • Fixes an issue where the collapsed state of diffs in the Commit Composer would get reset when scrolling (#4898)
  • Fixes an issue where commit messages become invisible during interactive rebase in some themes (#4886)
  • Fixes issue in the Commit Graph minimap where it only shows a spinner when the repo has no commits (#4741)
  • Fixes an inline markdown rendering issue in the Interactive Rebase Editor (#4914)
  • Fixes an issue where opening a deep link to create a PR worktree would incorrectly prompt to add a remote that already exists (#4926)
  • Fixes an issue where a repository might not be discovered when opening files in parent directories of the repository (#4932)
  • Fixes an issue where popovers would appear in drag images when dragging commits in the Interactive Rebase Editor (#4933)
  • Fixes issues with the "Reauthenticate" flow not taking effect (#4881)
  • Fixes an issue where clicking on the repository filter header in the Branches, Worktrees, Tags, Remotes, Stashes, and Contributors views would do nothing when only 1 grouped repository exists (#4947)
  • Fixes issue in webview file trees where same named folders are highlighted when one is selected #4801
  • Fixes potential quick pick hung state when cancelling wizards in quick commands
  • Fixes an issue where the Interactive Rebase Editor could open in the wrong window for workspace files
  • Fixes issues where the GitLens grouped views would not refresh, tree items could not be resolved, or loading state would get stuck when switching views

v17.9.0

13 Jan 21:45

Choose a tag to compare

Added

  • Adds a welcome page webview for first-time installs to highlight Pro benefits for users in IDEs that do not support the standard VS Code walkthrough (#4769

Changed

  • Improves the Interactive Rebase Editor to fully support --rebase-merges on linear history while preventing unsafe reordering when merge commits are present (#1238)
  • Improves cherry-pick apply order to use topological sort for correct commit sequence (#4863)
  • Changes AI features to require GitLens Pro instead of GitLens Advanced — all AI features now consistently lead to Pro plan checkout (#4843)
  • Updates the Welcome walkthrough to streamline onboarding and highlight core GitLens features (#4842)

Fixed

  • Fixes issue where the button text on feature gates would blend into the background (#4833)
  • Fixes issue where codicon would render as text in comparison picker title (#4866)
  • Fixes issue where Interactive Rebase elements overlap when using keyboard and mouse navigation simultaneously (#4816)
  • Fixes issue where Home view could crash when state fails to load (#4766)
  • Fixes #4776 Azure DevOps Work Item autolinks pointing to wrong project when the Work Item belongs to a different project in the same organization — thanks to PR #4777 by Daniel Asher (@danielasher115)
  • Fixes issue where Load more in the Commits view would not correctly load if the last item was a stash (#4865)

v17.8.1

18 Dec 23:10

Choose a tag to compare

Added

  • Adds a Recompose Commits from Here command to commits in views and for commits belonging to a single branch in the Commit Graph. This will recompose from the chosen commit to the tip of its branch (#4827)
  • Adds Gemini 3 Flash model support for AI features (#4828)

Changed

  • When recomposing a specific range of commits, the Commit Composer will now automtically scroll the chosen commits into view when it loads (#4825)
  • When using Recompose Selected Commits, the Commit Composer will now use the parent of the last commit to form a commit list if a merge target cannot be determined (#4826)
  • Changes the gitlens.rebaseEditor.revealBehavior setting default to onDoubleClick and removes the never and onOpen options

Fixed

  • Fixes issue where the Commit Graph would automatically show for all rebase starts (#4831)
  • Fixes issue where the rebase editor would show on paused rebases even when the rebase editor was disabled (#4830)

v17.8.0

17 Dec 00:15

Choose a tag to compare

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

v17.7.1

13 Nov 19:21

Choose a tag to compare

Changed

  • Updates the OpenAI model selection
  • Improves positioning of the "Recompose Commits" command in context menus
  • Ensures Git streams are closed eagerly to prevent resource leaks and potential SIGPIPE errors

Fixed

  • Fixes performance of Show Branches and Tags command

v17.7.0

11 Nov 21:55

Choose a tag to compare

Added

  • Adds new Commit Composer features and improvements
    • Adds ability to recompose existing branches via the Recompose Commits (Preview) command in the context menu of branches and from the Command Palette (#4598, #4599)
    • Adds drag and drop support to reorder auto-composed commits in the commit list (#4433)
    • Adds support for untracked files (#4636)
    • Adds support for composing without a base commit (#4637)
    • Greatly improves performance by virtualizing file diffs (#4675)
    • Improves some cases where staging or working tree changes are incorrectly detected (#4667)
    • Adds a link to the custom instructions setting in the Commit Composer view
  • Adds ability to explain unpushed changes via the Explain Unpushed Changes command in the context menu of branches in the Commit Graph and views (#4443)
  • Adds improved experience to the Commit Graph
    • Improves rendering, scrolling, and selection performance and stability
    • Adds "pill-style" stats to the "Work in Progress" (WIP) row in the Commit Graph
    • Adds new keyboard navigation support: Home/End to navigate to the first/last row, Page Up/Page Down to navigate by page
    • Adds ability to show file or folder histories on the Commit Graph (#4725)
      • Adds Open File History in Commit Graph command to files in views
      • Adds Open Folder History in Commit Graph command to folders in the Explorer view
    • Adds new Solo Branch and Solo Tag commands to quickly filter the Commit Graph view to a specific branch or tag (#4739)
      • Adds Solo Branch in Commit Graph and Solo Tag in Commit Graph commands to the context menu of branches and tags in views
        if there are uncommitted changes
    • Changes to select the "Work in progress" (WIP) row in the Commit Graph by default if there are uncommitted changes (#4716)
      • Adds gitlens.graph.initialRowSelection setting to specify whether to select the "Work in progress" (WIP) row instead of HEAD
  • Adds improved search experience on the Commit Graph, Search & Compare view, and in the Search Commits command
    • Adds support for reference or range commit searches (#4723)
      • Adds ref: search operator to filter commits by specific references (branches, tags, SHAs) or commit ranges
      • Adds natural language support to allow for more powerful queries
        • e.g. "show me all commits on feature-branch that aren't on main
        • e.g. "show me all commits after tag v17.6.0"
    • Adds ability to filter/search to branch & tag tips (#4726)
      • Adds is:tip search operator to filter to only commits directly pointed to by a branch or tag
    • Adds a navigable search history to the search box on the Commit Graph (#4724)
      • Allows navigation with arrow keys and deletion of history items
    • Adds a No Results message to the Commit Graph when there are no search results
  • Adds new experience improvements to the Commit Details and Graph Details views
    • Adds "pill-style" file changed stats
    • Adds rich context menus to files, similar to the tree views
    • Adds the ability to see which branches and tags contain a specific commit(#4737)
    • Adds the ability to see which files are matched by a search on the Commit Graph
      • Adds a filter toggle button to switch between showing all files, highlighting matched files, and only showing matched files
  • Adds a new Safe Hard Reset (--keep) option to Git reset command (#4720)
  • Adds sort context menu toggles for Branches, Contributors, Remotes, Repositories, Tags, and Worktrees views (#4738)
    • Adds a new gitlens.sortWorktreesBy setting to specify the sort order for worktrees
  • Adds support for Claude 4.5 Haiku model and hides older Claude models for GitLens' AI features
  • Adds "Copy Changes (Patch)" to uncommitted files in the Worktrees, Commit Details, and Graph Details views
  • Adds "inline" multiline commit message support to the Commit Graph
  • Adds Next Change and Previous Change navigation commands to the editor toolbar when the Changes Annotations are active
  • Adds keybinding support for copy actions (Ctrl+C / Cmd+C) in the Launchpad view
  • Adds Quick Show Commit (gitlens.showQuickCommitDetails) command to the Command Palette

Changed

  • Improves performance and reduces overhead in many areas
    • Faster/less intensive detection of uncommitted changes
    • Faster/less intensive conflict file detection
    • Greatly improves performance providing the status of worktrees
    • Reduces view refresh frequency related to fetch times to avoid extra processing and re-rendering
  • Changes to use the "merge target" when we are creating pull requests (#4709, #4734)
  • Changes the minimum VS Code version to 1.95.0 (#4690, #4691)
  • Improves MCP checks and adds offline detection (#4687)
  • Improves reference/revision range entry in reference pickers
  • Consolidates (and fixes missing) progress indicators and spinners on the Commit Graph

Fixed

  • Fixes an issue where the Home view would not update when switching repositories (#4717)
  • Fixes intermittent stuck loading state on the Commit Graph (#4669)
  • Fixes underlines showing on home branch actions (#4703)
  • Fixes Inspect view not showing uncommitted files on the Inspect tab (#4714)
  • Fixes Commit Graph losing row selection when graph updates (#4544)
  • Fixes "Element with id already registered" error on comparison w/ multiple repos (#4521)
  • Fixes Commit Composer diffs misaligned with large editor font sizes (#4573)
  • Fixes MCP installation flow from proceeding in cases where it shouldn't (#4672, #4673, #4674)
  • Fixes missing layout commands in view menus
  • Fixes stage/unstage failures with large file set by adding batching
  • Fixes copying untracked files as a patch
  • Fixes an issue where the "hidden references" control on the Commit Graph could still receive focus
  • Fixes issues with inline versus block Markdown rendering
  • Fixes inconsistencies in the Work-in-Progress (WIP) statistics
  • Fixes an issue where the "visible day range" on the Commit Graph minimap were not updating
  • Fixes showing overview mode when selecting a Work-in-Progress (WIP) row
  • Fixes path issues in untracked files and tree file parsing
  • Fixes action color on the merge/rebase status component
  • Fixes the copy shortcut key on grouped views
  • Fixes issue to ensure the immediate firing of repository close events to avoid potential deadlock issues

v17.6.2

16 Oct 22:39

Choose a tag to compare

Changed

  • Reduces view refresh frequency for showing last fetched time to improve performance and reduce overhead
  • Replaces OS-specific shell-based unzip with JS solution for better cross-platform support and reliability
  • Improves MCP checks and adds offline check (#4687)
  • Updates auto-compose instructions setting text to a link on Commit Composer

Fixed

  • Fixes MCP registration from breaking VS Code chat (#4701)
  • Fixes MCP extension registration not working on Kiro (#4691)
  • Fixes intermittent issue with autolinks not showing up (#4692)

v17.6.1

08 Oct 21:48
0ea1548

Choose a tag to compare

Fixed

  • Fixes eyebrow banner not appearing for GitLens Community on Home (#4670)

v17.6.0

07 Oct 18:50

Choose a tag to compare

Added

  • Adds support for Claude Sonnet 4.5 for GitLens' AI features

Changed

  • Greatly improves performance of the Inspect and _Graph Details views by virtualizing the tree rendering (#3470)
    • Improved keyboard navigation support including arrow keys, Home/End, Enter/Space, Tab, and added type-ahead search functionality
  • Improves Linear issue tracker support (#4605, #4615, #4620, #4621, #4622)

Fixed

  • Fixes Commit Composer rendering performance when working changes contain large file diffs (#4661)
  • Fixes AI cancellation cases being treated as errors (#4609)
  • Fixes MCP banner not being clickable on Commit graph view (#4630)
  • Fixes Git diff of a renamed file is shown as a new file (#4246)
  • Fixes typos (#4345 — thanks to PR #4346 by Noritaka Kobayashi (@noritaka1166))
  • Fixes an issue where the Commit Graph hover would not hide when going from the hover to the graph background (not another row)
  • Fixes an issue where clicking Open Changes on commit files in the views would error

Removed

  • Removes " (bundled with GitLens)" text from GK MCP server name (#4664)