CHANGELOG: add 1.0.0-rc.4 — decrypt-loss accounting, durable writes, Windows SCSI, truthful error causes

This commit is contained in:
Matthew Jackson
2026-06-23 07:22:05 -07:00
parent ecee9f4ec0
commit 31d07fde6e
+38
View File
@@ -1,5 +1,43 @@
# Changelog # Changelog
## [1.0.0-rc.4] — UNRELEASED
An audit-driven round of correctness, durability, and Windows-transport
fixes. No API changes; behavior is more conservative on damaged media and
on partial decryption.
### Fixed
- **Decrypt-time loss is accounted for.** A partial AACS/CSS decryption
failure can no longer pass as a perfect rip — skipped/undecryptable
bytes are folded into the loss total — and partial CPS-unit (per-title)
key coverage is rejected in the AACS validation gate instead of
producing partly-garbage output.
- **Durable writes.** `keydb.cfg` is written atomically (temp file +
fsync + rename), and the mapfile fsyncs its parent directory after the
rename so a resume checkpoint survives a crash.
- **Truthful error causes.** A server-dropped keydb download is
classified as a connection error, not a parse error; a missing home
directory maps to "not found" rather than a keydb-parse failure; the
I/O error from opening an AACS-inputs ISO is preserved; and a
transport failure is preserved through the AACS auth handshake instead
of being relabeled.
- A failed `READ CAPACITY` now warns instead of silently using a
zero-sector disc.
- A leaked pipeline consumer can no longer finalize an abandoned output.
- **Windows SCSI.** `ScsiPassThroughDirect` is packed to match the
`ntddscsi.h` layout, `StorageAdapterDescriptor.BusType` width is
corrected (`u8``u32`), oversized read batches on non-sysfs
(Windows) drives are bounded, `IOCTL_STORAGE_RESET_DEVICE` failures are
surfaced, and a device reset only sleeps on success.
- Mux now tracks skipped bytes so a partly-read title reports accurate
loss.
### Changed
- The per-read `Drive::read` trace event was demoted to TRACE so a debug
log isn't flooded by per-sector reads.
## [1.0.0-rc.2] ## [1.0.0-rc.2]
Second release candidate for 1.0. libfreemkv is the core library: disc scan, Second release candidate for 1.0. libfreemkv is the core library: disc scan,