Skip to content

2.3.0

Compare
Choose a tag to compare
@mickael-menu mickael-menu released this 21 Apr 09:43
· 185 commits to main since this release
2e0c647

Take a look at the migration guide

Added

Shared

  • Get the sanitized Locator text ready for user display with locator.text.sanitized().
  • A new Publication.conforms(to:) API to identify the profile of a publication.
  • Support for the conformsTo RWPM metadata, to identify the profile of a Publication.
  • Support for right-to-left PDF documents by extracting the reading progression from the ViewerPreferences/Direction metadata.
  • HTTP client:
    • A new HTTPClient.download() API to download HTTP resources to a temporary location.
    • HTTPRequest and DefaultHTTPClient take an optional userAgent property to customize the user agent.

Navigator

  • The new NavigatorDelegate.navigator(_:didJumpTo:) API is called every time the navigator jumps to an explicit location, which might break the linear reading progression.
    • For example, it is called when clicking on internal links or programmatically calling Navigator.go(to:), but not when turning pages.
    • You can use this callback to implement a navigation history by differentiating between continuous and discontinuous moves.

Deprecated

Shared

  • Publication.format is now deprecated in favor of the new Publication.conforms(to:) API which is more accurate.
    • For example, replace publication.format == .epub with publication.conforms(to: .epub) before opening a publication with the EPUBNavigatorViewController.

Changed

LCP

  • The LCPService now uses a provided HTTPClient instance for all HTTP requests.

Fixed

Navigator

  • #14 Backward compatibility (iOS 10+) of JavaScript files is now handled with Babel.
  • Throttle the reload of EPUB spreads to avoid losing the position when the reader gets back to the foreground.

LCP

  • Fixed the notification of acquisition progress.