ObjectFS v0.10.1
Every entry below is user-facing, and the release is almost entirely one thing: the defects a deep
audit of v0.10.0 found, and the harness that would have caught them. v0.10.0 is withdrawn.
Four defects in v0.10.0 were verified by execution to lose or corrupt data, and one prevented the
shipped default configuration from mounting at all. They were not independent — they clustered in
three subsystems whose designs could not express what they were asked to do, which is why this
release adds internal/vfs rather than patching six call sites. The write path could not represent
an offset write, the read cache could not hit as keyed, and the FUSE node layer was missing most of
its contract.
The reason 32,680 lines of tests across 90 files caught none of it: every one was a seam defect —
a value correctly produced at one layer and silently dropped at the boundary to the next. A mock on
the far side of a seam agrees with its caller by construction. internal/testaws and
internal/difftest exist to remove that blind spot.
What changed
- Added — 57 entries
- Removed — 16 entries
- Changed — 34 entries
- Fixed — 101 entries
- Deprecated — 1 entry
The full text of each entry is in CHANGELOG.md, under [0.10.1].
It is long by intent: an entry records what was wrong and how the fix was verified,
which is the evidence a filesystem release has to carry.
Verify a download:
sha256sum -c objectfs-<platform>.tar.gz.sha256
Container image: ghcr.io/scttfrdmn/objectfs:0.10.1
Full changelog: https://github.com/scttfrdmn/objectfs/blob/v0.10.1/CHANGELOG.md