Release 2.1.88 (2026-06-30)¶
Bug fixes¶
- key the per-branch cache on the base image digest (#1975)
- docs(container-cache): add design spec for base-digest-aware cache key
Design for issue #1973: the per-branch container cache key is blind to the base image digest, so a republished base tag (e.g. ansible-lint added in vergil-containers v2.1.1) leaves long-lived develop caches stale indefinitely. Fold the base image content digest into compute_cache_hash, resolve it by pulling the base each run (graceful offline fallback), and align vrg-container-cache status to the same computation.
Chores¶
- bridge marketplace-ref audit to single-channel main model (#1976) Epic vergil-project/.github#45 collapsed the plugin distribution model so every repo pins the marketplace at the single released channel on main. The repo-config audit still enforced the old convention (source repo on develop, consumers on the version tag), which broke the vergil-claude-plugin release preflight.
Make main the expected marketplace ref for all repos and drop the source-repo->develop exemption and the version-pinned consumer ref. During the bridge period a repo still carrying a deprecated old ref (develop or a version tag) emits a deprecation warning instead of a hard failure, so not-yet-migrated repos keep passing while they are swept one by one. main is compliant, unblocking the plugin release immediately. Any other ref, or a missing one, remains a hard failure.
ConfigDiff gains a warnings list that is printed by the audit driver but deliberately does not affect is_compliant(). The repo_init seed path and the vergil_eco dependency-update writer now write main for the marketplace ref (workflow pins still follow the version). is_marketplace_source_repo and expected_claude_ref are removed in favour of EXPECTED_MARKETPLACE_REF and is_deprecated_marketplace_ref.