Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added _images/gl-17-8-compose-in-wip.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/gl-17-8-hero.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/gl-17-8-rebase-editor.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/gl-17-8-recompose-selected-commits.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added _images/gl-17-8-search.mp4
Binary file not shown.
141 changes: 141 additions & 0 deletions gitlens/gitlens-release-notes-current.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,147 @@ Features marked with `PREVIEW` require a GitKraken Account, with access level ba

---

<a id="v17-8"></a>

## Version 17.8

#### Tuesday, December 16, 2025

GitLens 17.8 expands Commit Composer with selective recomposition, introduces an improved Rebase Editor with conflict detection and better navigation, enhances Commit Graph search with intuitive hints and faster results, and handles more Git operations natively for smoother workflows.

<img src="/wp-content/uploads/gl-17-8-hero.png" class="help-center-img img-bordered">

### Commit Composer: Selective Recomposition

Commit Composer now lets you recompose specific commits within a branch, giving you precise control over cleaning up your commit history.

<img src="/wp-content/uploads/gl-17-8-recompose-selected-commits.png" class="help-center-img img-bordered">

Previously, you could only recompose all working changes or an entire branch. Now you can select specific commits that need refinement—like those quick "wip" or "fix" commits made during rapid iteration—and let AI restructure just those changes with better messages.

Select multiple contiguous commits on the same branch using <kbd>Shift</kbd> or <kbd>Cmd</kbd> click, then right-click and choose "Recompose Selected Commits." Commit Composer opens with only your selected commits as drafts, ready for AI-powered or manual refinement.

Commit Composer is also more discoverable, with a new button on the WIP row in the Commit Graph that opens the composer for all working directory changes. Additionally, when rebasing, you can now switch directly into Commit Composer from the Rebase Editor, canceling your rebase to let AI handle the composition instead.

<img src="/wp-content/uploads/gl-17-8-compose-in-wip.png" class="help-center-img img-bordered">

### Improved Rebase Editor

The Rebase Editor receives significant upgrades for better usability and safety during interactive rebases.

<img src="/wp-content/uploads/gl-17-8-rebase-editor.png" class="help-center-img img-bordered">

**Better Performance and Reliability**: GitLens now handles rebases internally rather than routing through the terminal, resulting in better error handling and improved performance. Operations respect Git's `update-ref` for more robust branch management.

**Bulk Operations**: Select multiple commits simultaneously to perform operations like squashing across several commits at once, streamlining complex rebases.

**Conflict Detection** `PRO`: The Rebase Editor now checks for potential merge conflicts before you begin, helping you anticipate issues.

**Improved Rebase State Indicators** When you're in a rebase state, headings throughout GitLens in the Home View and Commit Graph now display the branch and commit being rebased, with clickable links to jump to those items in the Commit Graph.

**Enhanced Navigation**: Full keyboard navigation lets you cycle through commits and actions without reaching for your mouse. Toggle seamlessly between the interactive Rebase Editor and the text version of the rebase todo file for ultimate flexibility.

**Bug Fixes**: The Rebase Editor now correctly opens in the right IDE window when working with worktrees, and operations properly respect Git's update-ref configuration.

### Commit Graph Search Enhancements

Finding commits in the Commit Graph is now faster and more intuitive.

<video src="/wp-content/uploads/gl-17-8-search.mp4" autoplay loop controls muted class="help-center-video"></video>

**Search Hints**: Dropdown hints below the search bar showcase available query types - like `author:`, `file:`, and `ref:` - with quick-select menus for common searches. For example, selecting the `author:` hint opens a searchable list of repository contributors, making it easy to find commits by specific authors.

**Instant Results**: Search performance has been dramatically improved. Results now begin rendering immediately instead of waiting for all data to load, getting you to what you need faster.

### Native Git Operations

GitLens now handles most Git operations like rebase and merge internally rather than routing through the terminal. This keeps you in the UI you're working with - like the Commit Graph and Rebase Editor - without disruptive context switches to the terminal.

You'll also benefit from more helpful error handling when something goes wrong, with clear explanations and actionable next steps.

### Latest AI Model Support

GitLens continues to stay current with AI capabilities, now supporting Claude Opus 4.5 and OpenAI GPT 5.1 for AI-powered features like commit composition and code explanations.

---

### Added

- Adds an all-new, highly performant, _Interactive Rebase Editor_ with support for `update-ref` other rebase operations ([#4813](https://github.com/gitkraken/vscode-gitlens/issues/4813), [#4405](https://github.com/gitkraken/vscode-gitlens/issues/4405), [#4383](https://github.com/gitkraken/vscode-gitlens/issues/4383), [#4160](https://github.com/gitkraken/vscode-gitlens/issues/4160), [#4148](https://github.com/gitkraken/vscode-gitlens/issues/4148), [#4032](https://github.com/gitkraken/vscode-gitlens/issues/4032), [#3897](https://github.com/gitkraken/vscode-gitlens/issues/3897), [#3866](https://github.com/gitkraken/vscode-gitlens/issues/3866), [#3815](https://github.com/gitkraken/vscode-gitlens/issues/3815), [#3393](https://github.com/gitkraken/vscode-gitlens/issues/3393), [#3337](https://github.com/gitkraken/vscode-gitlens/issues/3337), [#3310](https://github.com/gitkraken/vscode-gitlens/issues/3310))
- Optimizes performance with virtualization for large rebase operations and lazy-loading of commit metadata
- Adds ability to recompose commits using AI ([#4796](https://github.com/gitkraken/vscode-gitlens/issues/4796), [#4775](https://github.com/gitkraken/vscode-gitlens/issues/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: <kbd>Click</kbd> to select single, <kbd>Ctrl+Click</kbd> (<kbd>Cmd+Click</kbd> on macOS) to toggle, <kbd>Shift+Click</kbd> for range selection
- Keyboard: <kbd>Shift+Arrow[Up|Down]</kbd> for range selection, <kbd>Ctrl+A</kbd> (<kbd>Cmd+A</kbd> 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
- Enhances the _Commit Graph_ experience with several new features
- Adds real-time streaming of search results with pause, resume, and cancel support ([#4782](https://github.com/gitkraken/vscode-gitlens/issues/4782), [#4526](https://github.com/gitkraken/vscode-gitlens/issues/4526), [#3963](https://github.com/gitkraken/vscode-gitlens/issues/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](https://github.com/gitkraken/vscode-gitlens/issues/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](https://github.com/gitkraken/vscode-gitlens/issues/4790))
- Adds support for recomposing selected commits in graph and composer ([#4600](https://github.com/gitkraken/vscode-gitlens/issues/4600))
- Adds sticky timeline support to the _Commit Graph_ ([#4781](https://github.com/gitkraken/vscode-gitlens/issues/4781))
- Adds _Select for Compare_ and _Compare with Selected_ commands to the _Commit Graph_ context menu for commits, stashes, branches, and tags ([#4779](https://github.com/gitkraken/vscode-gitlens/issues/4779))
- Enhances multiselect behavior with improved keyboard and mouse support
- Keyboard navigation
- <kbd>Arrow[Up|Down]</kbd> — Moves focus/selection to previous/next row
- <kbd>Ctrl+Arrow[Up|Down]</kbd> (<kbd>Cmd+Arrow[Up|Down]</kbd> on macOS) — Moves focus/selection topologically
- <kbd>Alt+Arrow[Up|Down]</kbd> — Jumps to previous/next branching point (merge/fork)
- <kbd>Alt+Page[Up|Down]</kbd> — Jumps to previous/next commit with refs
- <kbd>Home</kbd>, <kbd>End</kbd> — Jumps to first/last (loaded) commit
- <kbd>Page[Up|Down]</kbd> — Jumps by a page (viewport)
- Mouse selection
- <kbd>Click</kbd> — Selects a single commit (clears previous selection)
- <kbd>Ctrl+Click</kbd> (<kbd>Cmd+Click</kbd> 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
- <kbd>Shift+Click</kbd> — 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
- <kbd>Shift+[Up|Down]</kbd> — Extends the selection, based on selection mode
- <kbd>Ctrl+Shift+[Up|Down]</kbd> (<kbd>Cmd+Shift+[Up|Down]</kbd> on macOS) — Topologically extends the selection, and sticks to current branch if possible
- <kbd>Shift+Home</kbd>, <kbd>Shift+End</kbd> — Extends the selection to first or last commit
- <kbd>Shift+Page[Up|Down]</kbd> — Extends the selection by one page
- Adds Claude Opus 4.5, Gemini 3 Pro, and GPT-5.1 and GPT-5.2 model support for AI features ([#4785](https://github.com/gitkraken/vscode-gitlens/issues/4785))
- Adds multi-repository support to repository filtering in GitLens views ([#4815](https://github.com/gitkraken/vscode-gitlens/issues/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](https://github.com/gitkraken/vscode-gitlens/issues/4783))
- Adds an experimental `gitlens.advanced.resolveSymlinks` setting to resolve symbolic links when determining file paths for Git operations ([#1328](https://github.com/gitkraken/vscode-gitlens/issues/1328))
- Adds a `gitlens.advanced.skipOnboarding` setting to prevent onboarding prompts ([#4751](https://github.com/gitkraken/vscode-gitlens/issues/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](https://github.com/gitkraken/vscode-gitlens/issues/4759))
- Changes _rebase_, _merge_, _revert_, and _branch delete_ commands to no longer use/open a terminal ([#3527](https://github.com/gitkraken/vscode-gitlens/issues/3527), [#3530](https://github.com/gitkraken/vscode-gitlens/issues/3530), [#3532](https://github.com/gitkraken/vscode-gitlens/issues/3532), [#3534](https://github.com/gitkraken/vscode-gitlens/issues/3534))
- Improves ignored file checking performance ([#4814](https://github.com/gitkraken/vscode-gitlens/issues/4814))
- Enhances paused operation status UI with clickable references that jump to commits/branches in the _Commit Graph_ ([#4786](https://github.com/gitkraken/vscode-gitlens/issues/4786))
- Improves reference selection in views with a unified comparison picker dialog ([#4778](https://github.com/gitkraken/vscode-gitlens/issues/4778))
- Simplifies remote provider connection flow by directly using the remote name and repository path ([#4411](https://github.com/gitkraken/vscode-gitlens/issues/4411))
- Improves tracking for hover actions by adding source and detail attributes to events from editor hovers ([#4764](https://github.com/gitkraken/vscode-gitlens/issues/4764))

### Removed

- Removes the `gitlens.advanced.caching.enabled` setting

### Fixed

- Fixes issue where the _Commit Details_ file tree rendering would fail intermittently ([#4784](https://github.com/gitkraken/vscode-gitlens/issues/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

<a id="v17-7"></a>

## Version 17.7
Expand Down