Skip to content

Release 2.1.31 (2026-06-11)

Bug fixes

  • poll confirm-main job conclusions; choose finalize strategy by branch prefix (#1622)
  • fix(release): poll for reusable-workflow leaf job conclusions in confirm

confirm-main/confirm-develop read the jobs API once after gh run watch returned, but a reusable-workflow leaf job (docs / docs, release / release) can still report a null conclusion for a few seconds after the run-level status settles. That race aborted already-succeeded releases with a false 'job not found'. _verify_jobs now polls until every expected job is present and completed, distinguishing a still-settling leaf from a genuinely absent job. Ref #1611.

  • feat(finalize): choose merge strategy by branch prefix

vrg-finalize-pr defaulted every PR to squash. Squashing a release/back-merge branch flattens the merge commit and breaks the develop<->main ancestry the release model depends on, making later release branches conflict at merge-release. The --strategy default is now driven by branch prefix: release/* merges with a merge commit (preserving ancestry); everything else squashes. An explicit --strategy still overrides. Ref #1620.