All posts

Release2 min read

GitLane v2.0.0

A rebuilt create-pull-request dialog, open a PR from a branch, and stack-aware targeting on GitHub.

Also in the journal: Create a pull request, including GitHub stacks

What's changed

Creating pull requests (#322, #323, #325, #326):

  • New: the create-pull-request dialog is rebuilt. The base field is a real picker over local and remote branches, the range shows live commit and diffstat counts, the description has Write/Preview and can be seeded from a .github/ template or from the commits themselves, the commit list is collapsible, and you can add reviewers.
  • New: open a pull request straight from a branch — the context menu on the graph's ref pills and on the branch navigator rows now has "Open a pull request…". An unpublished branch works too; the dialog pushes it first.
  • New: stack-aware targeting on GitHub. When your branch sits on top of another open pull request's branch, you can target that branch instead of the trunk, see the stack laid out with its merge order, and the pull requests are linked into a real GitHub stack. Linking uses the gh stack extension — if it isn't installed, GitLane tells you the one command that installs it (gh extension install github/gh-stack) and the pull request is still created.
  • Fixed: cancelling the push no longer opened the pull request anyway.
  • Fixed: submitting twice during the push no longer opened two pull requests.
  • Fixed: already-merged and closed pull requests were offered as stack targets.
  • Fixed: a default base branch that only exists on the remote made the dialog claim there was nothing to merge.
  • Fixed: the range panel showed "Nothing to merge" while it was still loading.
  • Fixed: description templates are read from the last commit, so a local-only or half-edited template file can't leak into a published description.

Dialogs and accessibility (#328):

  • Fixed: the abort-rebase / abort-merge confirmation, the reflog recovery dialog and review notes now keep keyboard focus inside them, close on Escape, and identify themselves to screen readers. Tab used to escape the destructive abort confirm into the graph behind it.

Under the hood (#327, #329, #330, #331, #332, #333, #334, #335, #336):

  • Changed: a large internal cleanup pass with no intended change in behaviour — pull-request data loading, the rule that keeps a slow response from overwriting a newer one, the forge/provider layer, and the reset that runs when you switch repositories were each consolidated into one place instead of being restated in five to nine. The visible payoff is that switching repositories or accounts mid-operation now resets consistently everywhere, and clone's progress path finally has test coverage.

Full changelog: https://github.com/Siomkin/GitLane/compare/v1.7.0...v2.0.0

Installers: Download GitLane.