All notable changes to this project will be documented in this file.
Warning: Features marked as experimental may change or be removed in a future release without notice. Use with caution.
- The HTTP server now requests that publication resources are not cached by browsers.
- Caching poses a security risk for protected publications.
Streamer
is now expecting aPublicationAsset
instead of aFile
. You can create custom implementations ofPublicationAsset
to open a publication from different medium, such as a file, a remote URL, in-memory bytes, etc.FileAsset
can be used to replaceFile
and provides the same behavior.
- Streamer API offers a simple interface to parse a publication and replace standalone parsers.
- A generic
ImageParser
for bitmap-based archives (CBZ or exploded directories) and single image files. - A generic
AudioParser
for audio-based archives (Zipped Audio Book or exploded directories) and single audio files.
Container
andContentFilters
were replaced by a shared implementation of aFetcher
.PDFFileParser
was replaced in favor of a sharedPDFDocument
protocol. This version ships with two implementations using PDFKit and CoreGraphics.
- Deobfuscating ranges of EPUB resources.
ReadiumWebPubParser
to parse all Readium Web Publication profiles, including Audiobooks and LCP for PDF. It parses both manifests and packages.
- Significant performance improvement when opening PDF documents protected with LCP.
- Prevent the embedded HTTP server from stopping when the device is locked, to allow background playback of audiobooks.