Initial release: a pure-Go, stdlib-only reader for DRM-free MOBI and AZW3 (KF8) ebooks.
- MOBI6: uncompressed, PalmDOC, and HUFF/CDIC text; EXTH metadata; resource records (images, covers, fonts, media); INDX NCX table of contents; legacy
<toc>fallback - AZW3/KF8: raw-flow decompression, FDST, skeleton/fragment reassembly, RESC page spreads,
kindle:URI resolution, guide - Combo files (MOBI6+KF8) open as their KF8 half with the MOBI6 view alongside
- DRM is detected and refused with a typed error — circumvention is permanently out of scope
- Frozen public API:
Open/OpenBytes,Book.Metadata/Text/Sections/TOC/Guide/Resource/Cover, the unifiedSectioninterface, typed sentinels (ErrDRM,ErrNotPalmDB,ErrCorrupt, ...) - Correctness proven against the KindleUnpack oracle: the committed fixture corpus (synthetic matrix plus real public-domain books) matches byte-for-byte on raw markup, KF8 section assembly, metadata, chapter titles, resources, and covers; every decoder runs 30s-per-target under fuzzing in CI
- GPL-3.0-only, ported with attribution from KindleUnpack (GPL-3.0) with foliate-js (MIT) as the structural reference
Known gap: no real Amazon HUFF/CDIC-compressed file in the fixture corpus (oracle-verified synthetic coverage only).