Skip to main content
Skip table of contents

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)

API Docs

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.1 release.

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 tabindex of -1, preventing focus via keyboard navigation.

  • Resolved an issue where pages with overflow-x set caused reflowing to break due to browsers implicitly setting overflow-y to auto.

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 scrollAnimationDurationMs and scrollAnimationMaxDistance. Please refer to the API documentation for more information.


4.4.0-expermental.2025062501 (2025-06-30)

API Docs

This version is based on the previously released 4.4.0.

New features

  • Added the new renderer Renderer.ContinuousScroll that shows all documents in a single vertical scrolling view.

Changes since 4.3.0-experimental.2025050801

  • Added a new ReaderView.goTo option to control how scroll renderers behave when the target position is already visible in the ReaderView.

  • 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.onRendererScrollStarted parameter type to RendererScrollEngineEventData. It is now possible to determine whether scrolling was initiated by the user by inspecting the userGenerated property.

  • Fixed several bugs and issues in the Renderer.ContinuousScroll.


4.3.0-experimental.2025050801 (2025-05-08)

API Docs

This version is based on the previously released 4.3.0.

New features

  • Added the new renderer Renderer.ContinuousScroll that shows all documents in a single vertical scrolling view.


4.2.1-experimental.2025041101 (2025-04-11)

API Docs

This version is based on the previously released 4.2.1.

New features

  • Added the new renderer Renderer.ContinuousScroll that shows all documents in a single vertical scrolling view.


4.0.0-experimental.2 (2023-11-02)

API Docs

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.visiblePages now returns List<VisiblePage> instead of List<VisiblePageData>

  • ReaderView.fetchRectsForVisibleContent has been removed. Please use VisiblePage.fetchRectsForVisibleContent instead.

  • SyncMediaPlayer.approximateElapsedTime has been renamed to SyncMediaPlayer.approximateElapsedTimeMs.

  • ContentLocation.fetchNavigationItemReferences onSuccess callback is now called with FetchNavigationItemReferencesResult instead of FetchNavigationItemReferencesResultData. Properties in FetchNavigationItemReferencesResult return List<ReaderPublicationNavigationItemReference> instead of List<ReaderPublicationNavigationItemReferenceData>.

  • The following suspend functions now return a ColibrioResult object:

    • ContentLocationContentResolver.fetchTextContent

    • ContentLocationContentResolver.fetchTextContentAfter

    • ContentLocationContentResolver.fetchTextContentBefore

  • ColibrioMediaSessionMetadata.smallIconResId is now mandatory. It cannot be set to null.

Bug fixes

  • Fixed an issue where publicationHashSignature was 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.approximateElapsedTimeMs did not update immediately when seeking.

  • Fixed an issue where ColibrioAudioPlayer.totalDurationMs returned 0 for a short amount of time when the ColibrioAudioPlayer was created.

New features

  • Added ColibrioAudioPlayer.buffering which is equivalent to calling !ColibrioAudioPlayer.ready && !ColibrioAudioPlayer.waitingForReaderViewSynchronization

4.0.0-experimental.1

API Docs

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 ColibrioAudioPlayer class that handles playback of audio using the ExoPlayer library.

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

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.