Bump to 1.6.0 (workspace sync, no source change). Fix stale get_uk -> get_unit_keys references in the crate description + comments, correct the libfreemkv version note, and drop a phantom Mapfile mention from the tests.
3.6 KiB
Changelog
[1.6.0] — UNRELEASED
Version sync with the workspace (freemkv-engine split release). No source change
in this crate; it remains a pluggable AACS key-source provider consumed by the
freemkv CLI and libfreemkv's key resolver.
[1.5.2] — 2026-07-22
Version sync with the workspace; inherits libfreemkv 1.5.2 (CSS DVD descramble fix). No source change in this crate.
[1.4.5] — 2026-07-18
Version sync; inherits libfreemkv 1.4.5. KeySource split into get_unit_keys +
get_fmts_indexes, and a keydb device-key parse bug on an uppercase 0X hex
prefix was fixed (case-insensitive hex parsing across the toolchain).
[1.4.4] — 2026-07-17
Version sync; inherits libfreemkv 1.4.4. The online /decode request is built from
a DecodeSampleSet proven sufficient by type rather than a runtime length check.
[1.4.3] — 2026-07-17
Version sync; inherits libfreemkv 1.4.3. The online unit-key reply is parsed as a
list (one key for an ordinary disc, the ordered set for a forensic-variant disc),
and MIN_SAMPLE_UNITS is re-exported from libfreemkv.
[1.4.2] — 2026-07-15
Version sync with the workspace; inherits libfreemkv 1.4.2. The keydb test that
feeds real key material into the AACS crypto was adapted to the segregated
decrypt_unit + is_clean primitives (behaviour unchanged).
[1.4.1] — 2026-07-14
Version sync with the workspace; inherits libfreemkv 1.4.1.
[1.4.0] — 2026-07-13
Version sync with the workspace; inherits libfreemkv 1.4.0.
[1.3.2] — 2026-07-10
Changed
- Unit keys carry libfreemkv's new
UnitKey.variant_number; every source (keydb, online, VUK-derived) emits0— ordinary, non-forensic content — via theUnitKey::newconstructor. No behaviour change. Inherits libfreemkv 1.3.2.
[1.3.1] — 2026-07-10
Licensing
- Relicensed to the MIT License, from 1.3.1 onwards (releases up to and including 1.3.0 remain under AGPL-3.0).
Version sync with the workspace; inherits libfreemkv 1.3.1.
[1.3.0] — 2026-07-08
Added
- AACS 2.0 host certs round-trip through
keydb.cfg.to_keydb_cfgnow emits the sibling| HC2 |line — the inverse of the v2 host-cert parser — so writing a keydb back out no longer silently drops AACS 2.0 host certs.
Changed
- Resolve runs directly on
libfreemkv::aacsprimitives. After libfreemkv dropped itsaacs::boilveneer, the resolve path now callsderive_media_key_from_{pk,dk},derive_vuk, anddecrypt_unit_keyfromaacs::derivewith theaacs::typesnewtypes. No behaviour change. - Inherits libfreemkv 1.3.0.
Fixed
- keydb save-validation matches the parser exactly. A
0xline counts as a disc entry only when it also contains=, so validating and persisting content that parses to zero usable entries (e.g. a stray0xDEADBEEFline) can no longer succeed. - Disc-entry titles round-trip verbatim (parentheses and all) — the parse path now keeps the title exactly as the emit path writes it.
[1.2.0] — 2026-06-29
Changed
- One hex parser across the toolchain. Online and keydb hex inputs now parse
through
libfreemkv::hex, the same parser the library uses — no separate decoder with its own length/nibble rules. DiscInputscarries the disc's AACS version, and the tests derive theUnit_Key_ROstride frominputs.versioninstead of hardcoding it, so an AACS-1.0 (V10, 48-byte) and AACS-2.x (V20/V21, 64-byte) disc are each handled at their own stride.- Online MKB read cap aligned with libfreemkv (64 MiB), and an over-cap MKB is logged rather than silently truncated.