Relicensed from AGPL-3.0 to MIT, effective 1.3.1 (<=1.3.0 remain AGPL). Version sync to 1.3.1.
1.8 KiB
1.8 KiB
Changelog
[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.