Skip to content
This repository has been archived by the owner on Aug 12, 2022. It is now read-only.

Latest commit

 

History

History
90 lines (50 loc) · 3.62 KB

CHANGELOG.md

File metadata and controls

90 lines (50 loc) · 3.62 KB

Changelog

All notable changes to this project will be documented in this file.

Warning: Features marked as alpha may change or be removed in a future release without notice. Use with caution.

Added

  • Support for Swift Package Manager (contributed by @stevenzeck).
  • EPUB publications implement a SearchService to search through the content.

Changed

  • The default EPUB positions service now uses the archive entry length when available. This is similar to how Adobe RMSDK generates page numbers.
    • To use the former strategy, create the Streamer with: Streamer(parsers: [EPUBParser(reflowablePositionsStrategy: .originalLength(pageLength: 1024))])

Fixed

  • #208 Crash when reading obfuscated EPUB resources with an empty publication identifier.

Deprecated

  • All APIs deprecated in previous versions are now unavailable.

Added

  • Streamer takes a new optional HTTPClient dependency to handle HTTP requests.

Changed

  • The HTTP server now requests that publication resources are not cached by browsers.
    • Caching poses a security risk for protected publications.

Changed

  • Streamer is now expecting a PublicationAsset instead of a File. You can create custom implementations of PublicationAsset to open a publication from different medium, such as a file, a remote URL, in-memory bytes, etc.
    • FileAsset can be used to replace File and provides the same behavior.

Added

  • 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.

Changed

  • Container and ContentFilters were replaced by a shared implementation of a Fetcher.
  • PDFFileParser was replaced in favor of a shared PDFDocument protocol. This version ships with two implementations using PDFKit and CoreGraphics.

Fixed

  • Deobfuscating ranges of EPUB resources.

Added

  • ReadiumWebPubParser to parse all Readium Web Publication profiles, including Audiobooks and LCP for PDF. It parses both manifests and packages.

Fixed