Release 2.1.256 (2026-10-22)¶
Bug fixes¶
- build failed-command messages from CalledProcessError fields (#3438) Python 3.15 changed str(subprocess.CalledProcessError): an argv list is no longer quoted. User-facing messages were built from that stdlib text, so they changed between interpreters and test_vrg_package failed on 3.15.
Add lib/process_errors.py: command_text (moved from update_deps/failure.py), failure_message, failure_detail and error_text, which build the message from cmd, returncode, stderr and stdout. GitHubAPIError.str now uses failure_detail, so every handler that prints a GitHubAPIError is version-independent too. Route every site that interpolated str() or {exc} of a CalledProcessError through the helper, and assert the helper's own format in the tests.
Chores¶
- uv lock --upgrade
Features¶
- enable alerts fleet-wide and add vrg-dependabot-audit (#3435)
-
feat(repo-config): enable Dependabot alerts in the desired security posture
-
feat(dependabot): add vrg-dependabot-audit, failing on any open Dependabot alert
-
canonical report-only dependabot.yml, scaffolding, validate guard and fleet sync (#3436)
-
feat(dependabot): render the canonical report-only dependabot.yml and scaffold it in new repos
-
feat(validate): reject any dependabot.yml entry that could open a PR
-
feat(dependabot): sync dependabot.yml per repo and across the fleet
-
test(dependabot): type the fleet-sync target test helper for the type checker
CI Evidence: All gates passed — full audit bundle available. Download →