-
v0.10.4
StableSome checks failedCI / Build / Publish / Shellcheck (push) Successful in 2sCI / Build / Publish / Validate CHANGELOG structure (push) Successful in 2sCI / Build / Publish / Bats unit tests (push) Successful in 8sCI / Build / Publish / PR build & smoke test (push) Has been skippedCI / Build / Publish / Host-driven integration (entrypoint + storage sidecars) (push) Successful in 2m7sCI / Build / Publish / Round-trip + scheduler smoke (push) Successful in 3m39sCI / Build / Publish / Build multi-arch and push (push) Successful in 4m13sCI / Build / Publish / Reconcile releases across registries (push) Successful in 1m9sCI / Build / Publish / Workflow summary (push) Failing after 1sreleased this
2026-08-11 10:13:08 -07:00 | 28 commits to main since this releaseFixed
- 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 thatconfigis 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 ranrecovery-kit force. SFTP uploads now read the mode back after their best-effortchmodand 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 (orarchiver recovery-kit) run after upgrade — norecovery-kit forceneeded.
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
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- 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