Android experimental releases
We are happy to introduce our new Experimental Release stage. It lets you be a part of the early stages of testing new features and help us improve functionality and polish developer experience.
5.0.0-experimental.2025091601 (2025-09-23)
This version has all bugfixes from 4.5.0, but also some additional changes and features from the upcoming 5.0.0.
Note that this experimental release does not include all upcoming changes for 5.0.0, but should be used for evaluating the Renderer.ContinuousScroll.
Breaking changes
Kotlin Gradle Plugin (KGP) has been upgraded to
2.1.21.Android Gradle Plugin (AGP) has been upgraded to
8.7.3.Gradle has been upgraded to
8.9.Changed the minimum required Android WebView version to 64.
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 elements incorrectly assigned a
tabindexof -1, preventing focus via keyboard navigation.Resolved an issue where pages with
overflow-xset caused reflowing to break 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-expermental.2025062501 (2025-06-30)
This version is based on the previously released 4.4.0.
New features
Added the new renderer
Renderer.ContinuousScrollthat 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, which is called continuously while scroll renderers are scrolling.Changed the
OnRendererScrollEventListener.onRendererScrollStartedparameter 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
Renderer.ContinuousScroll.
4.3.0-experimental.2025050801 (2025-05-08)
This version is based on the previously released 4.3.0.
New features
Added the new renderer
Renderer.ContinuousScrollthat shows all documents in a single vertical scrolling view.
4.2.1-experimental.2025041101 (2025-04-11)
This version is based on the previously released 4.2.1.
New features
Added the new renderer
Renderer.ContinuousScrollthat shows all documents in a single vertical scrolling view.
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 Android version to 6.
ReaderView.visiblePagesnow returnsList<VisiblePage>instead ofList<VisiblePageData>ReaderView.fetchRectsForVisibleContenthas been removed. Please useVisiblePage.fetchRectsForVisibleContentinstead.SyncMediaPlayer.approximateElapsedTimehas been renamed toSyncMediaPlayer.approximateElapsedTimeMs.ContentLocation.fetchNavigationItemReferencesonSuccesscallback is now called withFetchNavigationItemReferencesResultinstead ofFetchNavigationItemReferencesResultData. Properties inFetchNavigationItemReferencesResultreturnList<ReaderPublicationNavigationItemReference>instead ofList<ReaderPublicationNavigationItemReferenceData>.The following suspend functions now return a
ColibrioResultobject:ContentLocationContentResolver.fetchTextContentContentLocationContentResolver.fetchTextContentAfterContentLocationContentResolver.fetchTextContentBefore
ColibrioMediaSessionMetadata.smallIconResIdis now mandatory. It cannot be set to null.
Bug fixes
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 SyncMediaPlayer from a ColibrioAudioPlayer for synchronization with a ReaderView.
Fixed several issues where the playback state was not synced correctly when destroying a SyncMediaPlayer that was synchronized with a ReaderView.
Fixed an issue where
ColibrioAudioPlayer.approximateElapsedTimeMsdid not update immediately when seeking.Fixed an issue where
ColibrioAudioPlayer.totalDurationMsreturned 0 for a short amount of time when the ColibrioAudioPlayer was created.
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 the our native Audiobook player!
The new ColibrioAudioPlayer is based on 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.
https://bitbucket.org/colibrio/colibrio-android-samples/src/main/AudioSample/
Check out the API documentation at https://api-docs.colibrio.com/android/4.0.0-experimental-1/colibrio-reader-framework/com.colibrio.readingsystem.audio/-colibrio-media-service/index.html for how to configure your app to use the new audio playback capability.
Major new features
New native
ColibrioAudioPlayerclass that handles playback of audio using theExoPlayerlibrary.Support for audio playback of LPF packaged W3C Audiobooks and EPUB with Media Overlays.
Playback is handled through a service which allows it to continue in the background.
Full integration with the Android’s
MediaSessionfeatures. This means that you can control the playback from any connected device that supports Media Session playback controls, such as Android Auto, Wear OS etc.
Upcoming features
Synchronisation with the Colibrio
ReaderView. This feature will automatically synchronise the Audiobook player with the Reader View whenever you wish to both read and listen.Support for additional, common audiobook formats. We want your feedback on this.