Release3 min read
GitLane v2.1.1
AI actions on a commit or the working tree, agent-assisted conflict resolution, and a fix for the v2.1.0 updater race.
Also in the journal: AI actions on commits and the working tree · Ask an agent to resolve a text conflict
What's changed
AI actions (#370):
- New: Right-click a commit, a multi-commit selection, or the uncommitted row and pick AI actions… (⌘⇧A) to have your configured agent write about those changes — a short or full description, an implementation comment, release notes, a review, a test plan, or a one-shot custom prompt. Review all and the working-changes view open the same popup.
- Changed: The old inline Describe surface folds into it, so there is one place that answers "write something about this diff" instead of two that had drifted apart.
- New: Settings → Prompts is one reorderable list of AI action commands — disable a built-in to hide it, drag to reorder, or add your own title and prompt. The commit-message prompt is a pinned row in the same list, and the separate Draft/Commit prompts holding identical text are merged into one, keeping whichever you had customised.
- Fixed: A range selection's file tally counted only the head commit, understating a span of many files while the prompt asked for the whole range.
- Fixed: Context menus no longer widen the scope on their own — right-clicking the uncommitted row does not drag in a stale commit selection, and right-clicking a commit outside the selection does not fold the working tree in.
- Fixed: Two ACP bugs: an adapter that streams its answer and then calls one more tool no longer loses that text, and Stop now reaches the adapter even when pressed before the next render.
- Fixed: Settings → Prompts saves one row at a time; a rejected write leaves the editor open with your text instead of collapsing as though it had saved.
Merge conflicts (#369):
- New: The conflict workspace can hand a text conflict to your agent, with an optional free-text note ("keep our logging") that travels with the prompt. The merged file comes back as a reviewable proposal in the Output pane — Discard throws it away, and the editor's own Mark resolved & stage writes it. Resolve all N sweeps every unresolved text conflict three at a time, with per-file run state shown in the conflicted-file list.
- The agent never writes: GitLane performs the write through the same path the manual editor uses, an answer still holding conflict markers is refused, and a file that changed on disk while the agent ran is refused rather than stamped with stale picks.
History and diffs (#368, GL-371):
- New: Shift/⌘-click the uncommitted row to extend a commit selection over it. The pick becomes one range ending at the working tree, so "these commits plus what I haven't committed yet" is finally one diff.
- The range header reports how many commits the range really spans, follows the live worktree, and folds back to committed-only once the tree goes clean or HEAD moves under the selection.
Releases (#367, GL-370):
- Fixed: The updater manifest is now assembled once from the published assets instead of four platform legs racing to merge into it. That race broke the v2.1.0 release — Apple-silicon users would have been offered no update — and the new assembler fails closed unless every bundle and signature is present.
Also in this release: docs for the ACP-driven AI Agents panel (#366).
Full changelog: https://github.com/Siomkin/GitLane/compare/v2.1.0...v2.1.1
Installers: Download GitLane.