• v0.6.0.0 eaa08e8561

    brian released this 2026-06-07 17:00:34 -07:00 | 59 commits to main since this release

    EGB-677 stage 2 (EGB-703): self-describing store format + secrets migrate.

    Added: a committed .secrets-format marker (fresh stores born v2; secrets which prints the format); secrets migrate (per-project copy-forward of encrypted blobs to the v2 layout — non-destructive), migrate --dry-run (preview), and migrate --finalize (the one destructive step, run store-wide; refuses unless secrets verify passes and every blob has its v2 twin, cuts a pre-v2-migrate recovery tag, then drops the old blobs).

    Changed: the external properties blob is stored as <name>.properties.age in a v2 store (was .gradle-properties.age); push/pull/verify pick the right name automatically so v1 and v2 stores both keep working during a migration.

    Full bats suite: 236/236. Operator security sign-off recorded.

    Downloads