Release3 min read
GitLane v2.1.3
Pull requests on Cursor Origin, squash below HEAD, and fixes for diffs, AI agents, tags, and tabs.
Also in the journal: Pull requests on Cursor Origin · Squash a range below HEAD
What's changed
Cursor Origin (#387):
- New: Repositories on
origin.cursor.comnow show pull requests in GitLane, using your signed-inoriginCLI. You can browse the list, open a PR, read the body, commits, diffs, and discussion, reply to or resolve existing review threads, and squash-merge or merge-commit. Creating, editing, closing, and approving PRs are not in this release. Origin credentials stay in the CLI; git still uses your system helper or SSH.
Diffs (#386):
- Fixed: A renamed file no longer renders in the review pane as a whole-file add (
+N −0, often labelled Untracked) while the file list already showed a rename. A pure move shows an empty-diff notice instead of a blank body, and an edited move keeps the old path so staging it doesn't leave a stranded deletion.
Squash (#371):
- New: You can squash a commit range that sits below the branch tip, not only a range that ends at HEAD. Commits above the range keep their messages and authors, and staged work is left alone. Undo with
git reset --hard ORIG_HEAD.
AI agents (#372):
- Fixed: On Windows, npx-based ACP adapters (Claude, Codex, and the rest) now launch instead of failing with "
npxwas not found". - Fixed: The status pill no longer shows Ready for an adapter that has never actually run — package runners start as "Not checked" until they connect.
- Fixed: A failed launch shows that adapter's own install command with Copy and Docs, instead of pointing every missing tool at Claude.
- Fixed: Connect works with no repository open, so the AI Agents settings panel is usable from the first screen.
Push, pull, and tags (#376):
- Fixed: Pushing or deleting a tag from a branch that tracks another local branch failed with
Remote '.' was not found or has no URL configuredwhenever an account was bound. - Fixed: A reset whose mode wasn't recognised silently performed a weaker mixed reset than the UI reported. Unknown modes are now rejected outright.
Sign-in and credentials (#376, #379):
- Fixed: Credential failures on a self-hosted GitLab or Bitbucket host showed the generic "check your git credential helper" hint instead of the provider-specific sign-in guidance.
- Fixed: If the provider OAuth progress listener failed to attach, the Sign in button went permanently dead for the rest of the session.
Repositories and tabs (#376, #377, #380):
- Fixed: Cancelling the folder picker closed the repo overlay as if you'd opened something.
- Fixed: Closing the last tab left the previous repo's stash list in memory, and a few panes could stay stuck in a loading state after switching repos.
- Fixed: A repo going missing wiped the tab strip's labels, worktree flags, and grouping for every open tab.
- Fixed: A path that had been replaced by a regular file was reported as "not a repository" in the tab but "missing" in recents.
Diffs and agents (#376, #378):
- Fixed: Copied files in a commit range were counted as conflicted in the change summary.
- Fixed: An agent that narrated a long preamble and then sent a short final answer lost the whole turn to a false "answer too large" error.
- Fixed: A failing
gitsubprocess could crash the write path instead of surfacing the error.
Full changelog: https://github.com/Siomkin/GitLane/compare/v2.1.1...v2.1.3
Installers: Download GitLane.