• v0.10.4 b0d597b27b

    v0.10.4
    Some checks failed
    CI / Build / Publish / Shellcheck (push) Successful in 2s
    CI / Build / Publish / Validate CHANGELOG structure (push) Successful in 2s
    CI / Build / Publish / Bats unit tests (push) Successful in 8s
    CI / Build / Publish / PR build & smoke test (push) Has been skipped
    CI / Build / Publish / Host-driven integration (entrypoint + storage sidecars) (push) Successful in 2m7s
    CI / Build / Publish / Round-trip + scheduler smoke (push) Successful in 3m39s
    CI / Build / Publish / Build multi-arch and push (push) Successful in 4m13s
    CI / Build / Publish / Reconcile releases across registries (push) Successful in 1m9s
    CI / Build / Publish / Workflow summary (push) Failing after 1s
    Stable

    Cody Bryant released this 2026-08-11 10:13:08 -07:00 | 28 commits to main since this release

    Fixed

    • The recovery kit is now staged beside its destination and renamed over the live kit only after it verifies byte-for-byte, so a failed or truncated copy can never leave a storage target without a kit. The staged file is also a fresh inode, so it inherits the destination directory's ACLs — the previous in-place overwrite reused the original inode and its owner-only ACL state indefinitely, which is how a kit stayed unreadable to a mirror/backup user on an ACL-backed share (e.g. a Synology volume) even after 0.10.2 and 0.10.3 matched its POSIX mode from the storage's config. A placement that ends up less readable than that config is no longer recorded as uploaded: it is reported and re-placed on the next run rather than frozen as up to date, which is what previously let a single bad placement persist silently until someone ran recovery-kit force. SFTP uploads now read the mode back after their best-effort chmod and are held to the same check. The placement-scheme version is bumped, so existing deployments re-place their already-placed kit once on the first backup (or archiver recovery-kit) run after upgrade — no recovery-kit force needed.

    Dependencies

    • chore(deps): update docker/login-action action to v4.5.2
    • chore(deps): update dependency aptible/supercronic to v0.2.48
    • chore(deps): update docker/login-action action to v4.5.1
    • chore(deps): update bats/bats docker tag to v1.14.0
    Downloads