Skip to content

Release 2.1.35 (2026-06-12)

Features

  • --install runs consumer-refresh as the post-release cascade step (#1646)
  • feat(release): execute consumer-refresh via vrg-release --install

Add the install step of the post-release cascade (issue #1643). vrg-release gains an --install flag that, after a clean release, runs the [publish].consumer-refresh command block through bash under 'set -eo pipefail' instead of only printing it. The version-expanded block is stored on ReleaseContext.consumer_refresh_commands so execution matches exactly what the handoff message displays.

A failed install propagates its exit code but never implicates the release, which already completed. --install with no consumer-refresh configured is a clear error, not a silent no-op.

This repo's consumer-refresh expands from the lone uv tool install line to also run 'vrg-vm update --all' — the two steps the maintainer runs by hand after every build.

  • feat(submit-pr,finalize-pr): --install cascades submit, finalize, release, and install

Extend the submit -> finalize -> release cascade one link further with --install (issue #1643). On both vrg-submit-pr and vrg-finalize-pr, --install implies --release (and so --finalize) and is passed through to the next hop, ending at 'vrg-release --install' which runs the consumer-refresh commands.

vrg-submit-pr's final summary gains a four-way outcome (submitted / +finalized / +released / +installed), its dry-run note and failure re-run hint carry --install, and the identity gate still blocks agents. vrg-finalize-pr hands off to 'vrg-release --install' and its dry-run note and re-run hint reflect it.

  • plumb [vm].port_forwards through to the PORT_FORWARDS template param (#1647)
  • add --yes to pre-answer confirmation prompts (#1648) Introduce a shared lib/confirm.py providing a consistent --yes/-y flag (add_yes_argument) and a confirm() yes/no gate that honors it. Wire it into vrg-submit-pr's template-mode submit confirmation and vrg-finalize-pr's finalize/cleanup confirmations.

--yes is deliberately narrow: it auto-answers a single, unambiguous yes/no confirmation only. It does not pick between multiple choices — vrg-finalize-pr's multiple-PR menu is still shown under --yes — and it does not override safety gates, which keep their own --force/--allow-* flags. In finalize, the TTY guard is now demanded only when an interactive prompt will actually appear, so --yes on a single candidate runs without a terminal.