Release 2.1.68 (2026-06-24)¶
Documentation¶
- Scaleway Elastic Metal design + provider-dispatch Phase 1 plan (#1851) (#1852)
- docs(off-platform): design spec for Scaleway Elastic Metal backend (#1851)
Bare-metal off-platform backend: native KVM (nested-virt non-issue), assigned box (no rebuild capacity loss), first-class Terraform, ~4x cheaper than GCP reserved. Single-state lifecycle (rebuild=reinstall), Tailscale transport (no public SSH), and a provider-dispatch seam the in-flight Azure backend conforms to. Phased: abstraction first, then Scaleway.
Features¶
- defer artifact-publish failures so vrg-release never strands develop (#1859)
- docs(release): design for deferring artifact-publish failures in vrg-release
Capture the design for issue #1853: confirm-main hard-fails only on the release job + artifacts (tag, GitHub Release, develop boundary tag); every other CD job (docs, docker-publish) defers — the pipeline runs to completion so develop is never stranded, then exits non-zero with the tracking issue left open. Fleet-wide default, no vergil.toml config.
- add EXTERNAL IP column to list for off-platform VMs (#1860) Fold the off-platform box's ephemeral public IP (natIP) into the existing best-effort status describe — one round-trip now yields both status and external IP, separator-joined — and surface it as a new EXTERNAL IP column in vrg-vm list. Degrades to a placeholder for internal-only or unreachable boxes and for Lima rows, never raising.
Vrg-worktree-status¶
- add LAST COMMIT and LAST MODIFIED age columns (#1861)
-
docs(worktree-status): design for LAST COMMIT/LAST MODIFIED age columns (#1856)
-
docs(worktree-status): implementation plan for timestamp age columns (#1856)
-
feat(git): add committer_timestamp helper (#1856)
-
feat(worktrees): add _newest_mtime walk helper (#1856)
-
feat(worktrees): attach commit/modified timestamps to WorktreeStatus (#1856)
-
feat(worktree-status): add _format_age relative-age formatter (#1856)
-
feat(worktree-status): add LAST COMMIT/LAST MODIFIED age columns (#1856)
-
fix(worktrees): make worktree freshness opt-in so finalize sweep is unaffected (#1856)
-
docs(worktree-status): align design doc with opt-in freshness and HEAD-based committer_timestamp (#1856)