Appearance
Release notes iOS Framework Experimental
For more information about experimental releases, see Experimental Releases.
5.0.0-experimental.2025091601 2025-09-23
NOTE
This version has all bugfixes from version 4.5.0, but also some additional changes and features from the upcoming 5.0.0.
This experimental release does not include all upcoming changes for 5.0.0, but should be used for evaluating the ContinuousScrollRenderer.
Breaking changes
- Changed the minimum iOS and iPadOS version to
15. - Deprecated methods and fields have been removed. A full list will be provided in the
5.0.0-rc.1release.
New features
- Added a new renderer option
swipeNavigationGestureThreshold. This option can be used to configure the swipe distance required to perform a swipe navigation. Additionally, swipe animations have been refined to start more smoothly.
Bugfixes
- Fixed an issue where certain elements were given
tabindex="-1", preventing focus via standard keyboard navigation. - Fixed an issue where publication content that changed
overflow-xstyling could break reflow due to browsers implicitly settingoverflow-ytoauto.
Scroll renderer improvements since 4.4.0-experimental.2025062501
- Several bugs and issues have been fixed.
- The duration of the smooth scrolling can now be controlled with the renderer options
scrollAnimationDurationMsandscrollAnimationMaxDistance. Please refer to the API documentation for more information.
4.4.0-experimental.2025062501 2025-06-30
NOTE
This version is based on the previously released 4.4.0.
New features
- Added the new renderer
ContinuousScrollRendererthat shows all documents in a single vertical scrolling view.
Changes since 4.3.0-experimental.2025050801
- Added a new
ReaderView.goTooption to control how scroll renderers behave when the target position is already visible in theReaderView. - Scroll renderers can now smoothly scroll to nearby positions.
- Added a new listener method,
OnRendererScrollEventListener.onRendererScrollChanged(event:), which is called continuously while scroll renderers are scrolling. - Changed the
OnRendererScrollEventListener.onRendererScrollStarted(event:)parameter type toRendererScrollEngineEventData. It is now possible to determine whether scrolling was initiated by the user by inspecting theuserGeneratedproperty. - Fixed several bugs and issues in the
ContinuousScrollRenderer.
4.3.0-experimental.2025050801 2025-05-08
iOS 12 compatible version: 4.3.0-experimental.2025050801-ios12
NOTE
This version is based on the previously released 4.3.0.
New features
- Added the new renderer
ContinuousScrollRendererthat shows all documents in a single vertical scrolling view.
4.2.1-experimental.2025041101 2025-04-11
iOS 12 compatible version: 4.2.1-experimental.2025041101-ios12
NOTE
This version is based on the previously released 4.2.1.
New features
- Added the new renderer
ContinuousScrollRendererthat shows all documents in a single vertical scrolling view.
4.0.0-experimental.3 2024-01-16
Bugfixes
- Fixed an issue related to pre-release versioning in experimental releases. This prevented apps from being uploaded to the App Store.
4.0.0-experimental.2 2023-11-02
Overview
We are pleased to finally invite you to try out our new native Audiobook support.
New in the Experimental 2 release is the ability to open EPUB3 with MO as audio only, with the option to synchronize with the ReaderView at any time if you wish.
For now we support playing from a LPF package, which is just a zipped up Audiobook. Support for HTTP streaming of "un-packaged" Audiobooks is coming in a future release. Support for additional formats will be added in upcoming releases.
Includes all changes and fixes introduced in framework version 3.8.0.
Breaking changes
- Changed minimum iOS version to
12. ColibrioViewhas been deprecated. Please useColibrioReadingSystemViewinstead.ReaderView.visiblePagesnow returns[VisiblePage]instead of[VisiblePageData].ReaderView.fetchRectsForVisibleContent(visiblePage:locator:options:)has been removed. Please useVisiblePage.fetchRectsForVisibleContent(locator:options:)instead.ContentLocation.fetchNavigationItemReferences(options:completion:)callback is now called withFetchNavigationItemReferencesResultinstead ofFetchNavigationItemReferencesResultData. Properties inFetchNavigationItemReferencesResultreturn[ReaderPublicationNavigationItemReference]instead of[ReaderPublicationNavigationItemReferenceData].
Bugfixes
- Fixed an issue where
publicationHashSignaturewas calculated differently compared to the Web framework. - Fixed several issues where the playback state was not synced correctly when creating a
SyncMediaPlayerfrom aColibrioAudioPlayerfor synchronization with aReaderView. - Fixed several issues where the playback state was not synced correctly when destroying a
SyncMediaPlayerthat was synchronized with aReaderView. - Fixed an issue where
ColibrioAudioPlayer.approximateElapsedTimeMsdid not update immediately when seeking.
New features
- Added
ColibrioAudioPlayer.bufferingwhich is equivalent to calling!ColibrioAudioPlayer.ready && !ColibrioAudioPlayer.waitingForReaderViewSynchronization.
4.0.0-experimental.1
Overview
In this first experimental release we are very proud to let you play around with our native Audiobook player.
The new ColibrioAudioPlayer is based on the SyncMediaPlayer API that you already know. It moves the responsibility for all audio playback to the respective native platform.
A fully working demo application source is available in a public Bitbucket repository.
Check out the API documentation for ColibrioMediaService for how to configure your app to allow background audio playback.
Major new features
- New native
ColibrioAudioPlayerclass that handles playback of audio using the AVFoundation library. - Support for audio playback of LPF packaged W3C Audiobooks and EPUB with Media Overlays.
- Background audio playback support.
- Integration with
MPRemoteCommandCenterandMPNowPlayingInfoCenter. This means that the user can control playback using the Notification Center and Now Playing on connected devices.
Upcoming features
- Synchronisation with the
Colibrio ReaderView. This feature will automatically synchronise the Audiobook player with theReaderViewwhenever you wish to both read and listen. - Support for additional, common audiobook formats. We want your feedback on this.