3.0.0-alpha.2
Pre-release
Pre-release
mickael-menu
released this
29 Aug 11:51
·
47 commits
to develop
since this release
Take a look at the migration guide
Changelog
Added
Streamer
- Support for standalone audio files and their metadata (contributed by @domkm).
Changed
- The Readium Swift toolkit now requires a minimum of iOS 13.
- Plenty of completion-based APIs were changed to use
async
functions instead.
Shared
- A new
Format
type was introduced to augmentMediaType
with more precise information about the format specifications of anAsset
. Fetcher
was replaced with a simplerContainer
type.PublicationAsset
was replaced byAsset
, which contains aFormat
and access to the underlyingContainer
orResource
.- The
ResourceError
hierarchy was revamped and simplified (seeReadError
). Now it is your responsibility to provide a localized user message for each error case. - The
Link
property key for archive-based publication assets (e.g. an EPUB/ZIP) is nowhttps://readium.org/webpub-manifest/properties#archive
instead ofarchive
. - The API of
HTTPServer
slightly changed to be more future-proof.
Streamer
- The
Streamer
object was deprecated in favor of smaller segregated APIs:AssetRetriever
andPublicationOpener
.
Navigator
- EPUB: The
scroll
preference is now forced totrue
when rendering vertical text (e.g. CJK vertical). See this discussion for the rationale.
LCP
- The Readium LCP persistence layer was extracted to allow applications to provide their own implementations. Take a look at the migration guide for guidance.
Fixed
Navigator
- Optimized scrolling to an EPUB text-based locator if it contains a CSS selector.
- The first resource of a fixed-layout EPUB is now displayed on its own when spreads are enabled and the author has not set a
page-spread-*
property. This is the default behavior in major reading apps like Apple Books. - #471 EPUB: Fixed reporting the current location when submitting new preferences.
What's Changed
- Rename
archive
Link property by @mickael-menu in #422 - Disable EPUB pagination with vertical text by @mickael-menu in #423
- Bump the minimum iOS version to 13 by @mickael-menu in #427
- Update
HTTPServer
API by @mickael-menu in #424 - Enhance
AudioParser
by @domkm in #414 - Remove
/
prefix for exploded archive HREFs by @mickael-menu in #432 - Optimize scrolling to an EPUB locator with a CSS selector by @mickael-menu in #435
- Allow to customize the LCP device name by @mickael-menu in #437
- Async
HTTPClient
and LCP APIs by @mickael-menu in #438 - Fix Test App using CocoaPods by @mickael-menu in #439
- Extract the LCP persistence layer by @mickael-menu in #442
- Handle URLs with aliases in
ExplodedArchive
by @domkm in #441 - Fix resolving search results title by @mickael-menu in #446
- Fixed editing actions on iOS 17 by @mickael-menu in #447
- 2.7.2 by @mickael-menu in #448
- First pass at marking types as Sendable by @domkm in #450
- Change
localizedCaseInsensitiveCompare
tolocalizedStandardCompare
by @domkm in #451 - Improve URL equality by @mickael-menu in #453
- Normalize URLs on-the-fly when comparing by @mickael-menu in #454
- Fix first spread of FXL EPUBs by @mickael-menu in #470
- Fix reporting the current locator when submitting new preferences by @mickael-menu in #474
- Documentation for the v3 by @mickael-menu in #475
- Fix iOS 13 warnings by @mickael-menu in #476
- Extract localized error messages from the toolkit by @mickael-menu in #477
Full Changelog: 3.0.0-alpha.1...3.0.0-alpha.2