Skip to main content
Skip table of contents

iOS framework 4

4.2.1 (2025-04-07)

iOS 12 compatible version: 4.2.1-ios12

API Docs

Bugfixes

  • Fixed an issue introduced in version 4.2.0 where PublicationStyleOptions.fontSizeScaleFactor had no effect in some EPUBs.


4.2.0 (2025-03-26)

iOS 12 compatible version: 4.2.0-ios12

API Docs

New features

  • Added a new method setContentSelection(locator:completion:) to VisiblePage.

  • Added new options, typographyResetOptions.removePublicationDefinedFontSizes and typographyResetOptions.removePublicationDefinedLineHeights to IPublicationStyleOptions.

  • Added a new method PublicationStyleFontFace.fromAssetUrl(family:fontStretch:fontStyle:fontWeight:mediaType:assetUrl:) which allows you to load font files from any bundle used in your app.

Bugfixes

  • Fixed an issue where paragraph text indendation was sometimes applied on fragmented paragraphs.

  • Fixed an issue where page content with negative margins could appear outside of the page if PublicationStyleOptions.removePublicationDefinedHorizontalPageMargins was true.

Improvements

  • Fixed the event order when navigating in the SingleDocumentScrollRenderer to make it more consistent with how the other renderers work. The listener method OnReadingPositionChangedListener.onReadingPositionChanged(readingPosition:) will be called before OnNavigationStateChangedListener.onNavigationEnded(event:) is called.


4.1.0 (2025-02-28)

iOS 12 compatible version: 4.1.0-ios12

API Docs

New features

  • Added a new option publicationStyleOptions.removePublicationDefinedHorizontalPageMargins. When enabled, it does a best effort try to remove page margins defined in the publication CSS.

  • Added a new method, ReaderPublicationNavigation.getNavigationItemById(_:).

  • Added an async variant for the createAudioPlayer method: AudioReadingSystemEngine.createAudioPlayer(colibrioAudioPlayerConfig:)

Bugfixes

  • Fixed a bug where OnSelectionChangedListener.onSelectionChanged wasn’t called if ReaderView.scriptedContentDocumentEventHandlersEnabled had been set to false.

  • Fixed a bug where CSS background images did not load if the selector for the style rule contained :before of :after pseudo selectors.

  • Fixed a bug where ContentPositionTimeline.serializedData could be different between two identical ContentPositionTimeline instances.

  • Fixed a bug where VisiblePage.boundingClientRect did not update when activeTransform changed, such as while zooming and panning.

Improvements

  • Improved building TTS SyncMediaTimeline performance.


4.0.0 (2025-02-04) - Changes since 3.12.0

iOS 12 compatible version: 4.0.0-ios12

API Docs

Overview

We are excited to announce native audiobook support.

This version of the framework enables you to load EPUBs with Media Overlays in audio-only mode, with the flexibility to synchronize with the ReaderView at any time. It also supports playback of W3C Audiobooks, whether zipped as an LPF package or "un-packaged" for streaming over HTTP. Additional format support will be added in future releases.

Check out the AudioReadingSystemEngine API documentation for how to configure your app to use the new audio playback capability. Sample applications will be available soon.

Major new features

  • New AudioReadingSystemEngine and ColibrioAudioPlayer class that handles playback of audio using the AVFoundation library.

    • Support for audio playback of W3C Audiobooks and EPUB with Media Overlays.

    • Background audio playback support.

    • Integration with MPRemoteCommandCenter and MPNowPlayingInfoCenter. Provides playback control from the Notification Center and Now Playing on connected devices.

  • Document Sectioning for reflowable EPUB content-documents. When enabled, reflowable documents can be split into sections prior to reflowing. This can greatly increase performance for publications with long content documents. You can control where and how often these breaks occur using options of course. We recommend that you enable Document Sectioning as a default.

  • New mitigation options for horizontally overflowing table and math elements let you wrap these elements in scroll containers. Previously these would have been shrunken to fit the page width, affecting legibility and accessibility. Note that we have changed the default behaviour to scroll instead of shrink. Read more in the Breaking Changes section below.

  • The Content Block API is now available. This new API provides programmatic access to a simplified representation of a publication's structure, such as the HTML elements in an EPUB. This flexible API is used internally for features like ReaderDocumentSearch and TtsSyncMediaTimeline.

New features

  • Added the new option EpubContentProcessingOptions.horizontalOverflowMitigationMinFontSize. When a word is too wide to fit on the page, it can either be broken into multiple lines or scaled down. This option sets the minimum font size to scale down to. If scaling is not enough to fit the word, the style overflow-wrap: break-word; will also be applied, allowing the word to be broken up over more than one line.

  • Added the new option EpubContentProcessingOptions.horizontalOverflowMathMLStrategy controlling if <math> elements too wide to fit in the page should be scaled down to fit, or horizontally scrollable.

  • Added the new option EpubContentProcessingOptions.horizontalOverflowTableStrategy controlling if table elements too wide to fit in the page should be scaled down to fit, or horizontally scrollable.

  • Added the new option EpubContentProcessingOptions.verticalOverflowMitigationStrategy controlling if a reflowed page should be allowed to vertically scroll if all content does not fit.

  • Added the new option EpubReflowOptions.removeBottomMarginsOnFragmentedElements controlling if the bottom margin on fragmented elements should be removed or kept.

  • Added support for iframes added by scripts in content documents.

  • Added a new option TextSearchQueryOptions.ignoreDiacritics, allowing searches to match text with or without diacritics.

  • Added PdfReaderPublicationOptions.textLayerOptions.customCss, which allows injecting custom CSS into the text layer of PDF pages.

  • Added two new options: EpubReaderPublicationOptions.allowAudioElementAutoplay and EpubReaderPublicationOptions.allowVideoElementAutoplay.

  • Added ReaderViewAnnotationLayer.refreshAnnotations(), allowing annotations to be refreshed programmatically.

  • Introduced OnClipboardEventListener, with the onCopy event firing when a user copies content from a publication to their clipboard. Use ReaderView.addOnClipboardEventListener to receive this event.

  • Added ReaderDocument.fetchLocatorForEntireDocument().

  • The following options in ReaderViewAnnotationOptions now supports space-separated class names:

    • containerClassName

    • positionClassName

    • rangeClassName

  • Added the new option PublicationStyleOptions.wordSpacing, allowing modification of word spacing in reflowable EPUB documents.

  • Added the new option PublicationStyleOptions.letterSpacing, allowing modification of letter spacing in reflowable EPUB documents.

  • SpreadSwipeRenderer now supports switching from two-page spreads to a single centered page when the EPUB author has configured the document with rendition:page-spread-center or spread-none.

  • Added the new option ReaderViewOptions.contentDisplayAreaOptions, controlling how the available display area is utilized by publication content.

  • Added ContentPositionTimeline.fetchTimelinePositions(locators:) and ContentPositionTimeline.fetchTimelinePositionsForNavigationItems(navigationItems:) which can be used to fetch multiple positions in one call.

  • Added EpubReaderPublication.readerPublicationStorage. You can now manage ReaderPublication's storage state, such as localStorageand sessionStorage for scripted EPUB content documents. Use EpubReaderPublication.readerPublicationStorage.getStorageArea() to get a ReaderPublicationStorageArea that can be used for adding, updating and removing items from storages.

Breaking changes

  • Changed the minimum iOS version to 13. An alternate framework build supporting iOS 12 will be provided for all upcoming 4.x.x versions of the iOS framework, with the version suffix -ios12.

  • ResourceProvider interface changes:

    • Introduced new baseUrl property

    • fetch and fetchMetadata now takes a URL instead of a path.

    • Error handling updated to distinguish between recoverable and non-recoverable errors.

  • ReaderView.visiblePages now returns [VisiblePage] instead of [VisiblePageData].

  • ContentLocation.fetchNavigationItemReferences(options:completion:) callback is now called with FetchNavigationItemReferencesResult instead of FetchNavigationItemReferencesResultData. Properties in FetchNavigationItemReferencesResult return [ReaderPublicationNavigationItemReference] instead of [ReaderPublicationNavigationItemReferenceData].

  • Removed deprecated ColibrioTtsSynthesizerDelegate.

  • The new options EpubReflowOptions.removeBottomMarginsOnFragmentedElements and EpubReflowOptions.removeTopMarginsOnFragmentedElements default to true. This may cause content to appear closer to the top and bottom edge of the page compared to previous Colibrio Reader Framework versions. Set these options to false to keep the old behavior.

  • The new options EpubContentProcessingOptions.horizontalOverflowMathMLStrategy and EpubContentProcessingOptions.horizontalOverflowTableStrategy default to EpubContentOverflowStrategy.SCROLL in order to improve legibility and accessibility. This will introduce horizontal scrolling within the page when the table or math elements do not fit horizontally. Set this option to EpubContentOverflowStrategy.SCALE to keep the old behavior.

  • The new option EpubContentProcessingOptions.horizontalOverflowMitigationMinFontSize defaults to 16 pixels in order to improve accessibility. This may cause long words be broken up over more than one line. Set this option to 0 to keep the old behavior.

  • The new option EpubContentProcessingOptions.verticalOverflowMitigationStrategy defaults to EpubContentOverflowStrategy.SCROLL in order to improve accessibility. This will introduce vertical scrolling within a page if not all content fits. Set this option to EpubContentOverflowStrategy.SCALE to keep the old behavior.

  • In ReaderViewOptions, forcePageAspectRatio and defaultPageAspectRatio have been removed. Use ReaderViewOptions.contentDisplayAreaOptions instead.

Deprecations

The following methods and properties have been deprecated. They will continue to work in all 4.x.x versions of the framework, but will be removed in the next major version update.

  • ColibrioView has been deprecated, please use ColibrioReadingSystemView instead.

  • ReaderPublicationNavigationData is deprecated. Replaced by ReaderPublicationNavigation.

  • ReaderPublicationNavigationCollectionData is deprecated. Replaced by ReaderPublicationNavigationCollection.

  • ReaderPublicationNavigationItemData is deprecated. Replaced by ReaderPublicationNavigationItem.

  • Locator in ReaderPublicationNavigationItem is deprecated. Added methods using ReaderPublicationNavigationItem.

  • VisiblePageData is deprecated. Replaced by VisiblePage.

  • ReaderView.fetchRectsForVisibleContent is deprecated. Replaced by VisiblePage.fetchRectsForVisibleContent.

  • Setter for ReaderView.syncMediaPlayer is deprecated. Use setSyncMediaPlayer(syncMediaPlayer:initialSyncMethod:) instead.

  • SyncMediaPlayer.playing is deprecated. Use !paused && ready instead.

  • SyncMediaPlayer.approximateElapsedTime is deprecated. Replaced by SyncMediaPlayer.approximateElapsedTimeMs.

  • FetchNavigationItemReferencesResultData is deprecated. Replaced by FetchNavigationItemReferencesResult.

  • ReaderPublicationNavigationItemReferenceData is deprecated. Replaced by ReaderPublicationNavigationItemReference.

  • The error used in ResourceProvider.fetch, ResourceProvider.fetchMetadata , ResourceResponse.asBytes and ResourceResponse.asStream changed from ResourceProviderError to Error.

  • The renderer option ignoreAspectRatio has been deprecated. It will continue to work until its removal in version 5.0.0 of the framework. Please use ReaderViewOptions.contentDisplayAreaOptions with type set to FILL instead.

  • ReadingSystemEngine.createZipResourceProvider(dataSource:options:) is now deprecated. Use ZipResourceProvider.create(dataSource:zipResourceProviderOptions) instead.

  • ZipResourceProvider.create(dataSource:serializedZipArchiveInformation:chunkCacheSize:completion:) is now deprecated. Use ZipResourceProvider.create(dataSource:zipResourceProviderOptions) instead.

Bug fixes

  • Fixed an issue that sometimes caused OnVisibleContentChangedListener.onVisiblePagesChanged to not be called.

  • Fixed an issue where publicationHashSignature was calculated differently compared to the Web framework.

  • Improvements and bugfixes when applying page-breaks inside tables.

  • Fixed an issue where the reflow engine would fail to properly measure elements that had a transform applied to them, causing inaccurate page-breaks.

  • Fixed an issue where page-breaks were not applied correctly for pre-formatted text, like code examples.

  • Fixed an issue where reflow engine did not calculate margin-collapse rules correctly.

  • Fixed Reflow Engine issues that in some cases caused page breaks to be applied at wrong positions.

  • Annotation’s rendered positions now updates correctly inside scrolling containers.

  • Fixed issues that could cause images to get incorrect aspect ratios.

  • Fixed a bug where reading position might not be accurate when navigating to an annotation spanning two pages.

  • Fixed a bug where the “keydown” engine event’s modifiers.shift was false, even if shift was pressed.

  • Fixed an issue where VoiceOver could move focus into offscreen/hidden content on iOS 18.

  • Fixed an issue where TTS playback could not be resumed after being paused due to an interruption from the system.

  • ContentLocation.contentResolver methods now works correctly for ranges spanning multiple EPUB documents.

  • ContentLocation.fetchNavigationItemReferences(options:) now functions correctly for locator ranges spanning multiple EPUB documents.

  • Fixed a memory leak issue in the Web framework running inside the WebView.

  • Fixed an issue where the async function Publication.fetchContentLocation(navigationItem:) did not run on the main thread.

  • Fixed potential task continuation leaks.

  • Fixed issue with FileRandomAccessDataSource that in some rare cases failed to open files.

  • Fixed crash when the encryption.xml file in EPUBs contained duplicate encryption entries.

  • Fixed an issue where EPUBs missing the unique-identifier in the OPF file could not be loaded.

  • Fixed an issue where ReaderView.visiblePages sometimes did not update correctly.

Improvements

  • Added ColibrioError as base for all errors thrown by the ColibrioFramework.

  • SpreadSwipeRenderer and SinglePageSwipeRenderer are now able to use all available display area when displaying publications containing fixed-layout documents with varying dimensions, such as mixed portrait and landscape documents.

  • ContentPositionTimeline methods are now many times faster.

  • Updated PDF.js to version 4.8.73.


4.0.0 (2025-02-04) - Changes since 4.0.0-rc.5

iOS 12 compatible version: 4.0.0-ios12

API Docs

New features

  • Added ContentPositionTimeline.fetchTimelinePositions(locators:) and ContentPositionTimeline.fetchTimelinePositionsForNavigationItems(navigationItems:)

  • Added ColibrioAudioPlayer.setNowPlayingInfoEnabled(enabled:) and ColibrioAudioPlayerConfig.nowPlayingInfoEnabled

  • Added EpubReaderPublication.readerPublicationStorage. You can now manage ReaderPublication's storage state, such as localStorageand sessionStorage for scripted EPUB content documents. Use EpubReaderPublication.readerPublicationStorage.getStorageArea() to get a ReaderPublicationStorageArea that can be used for adding, updating and removing items from storages.

  • Loading audiobooks with a ZipResourceProvider does not require the ReadingSystemEngine anymore. You can now create a ZipResourceProvider using ZipResourceProvider.create(dataSource:zipResourceProviderOptions:).

Deprecations

  • ReadingSystemEngine.createZipResourceProvider(dataSource:options:) is now deprecated. Use ZipResourceProvider.create(dataSource:zipResourceProviderOptions) instead.

  • ZipResourceProvider.create(dataSource:serializedZipArchiveInformation:chunkCacheSize:completion:) is now deprecated. Use ZipResourceProvider.create(dataSource:zipResourceProviderOptions) instead.

Bugfixes

  • Fixed issues where synchronization didn’t work in some books.

  • Fixed issue where the reported elapsed time sometimes were incorrect.

  • Fixed issue with FileRandomAccessDataSource that in some rare cases failed to open files.

  • Fixed crash when the encryption.xml file in EPUBs contained duplicate encryption entries.

  • Fixed an issue where EPUBs missing the unique-identifier in the OPF file could not be loaded.

  • Fixed issue with handling audio session activation.

  • Fixed issue related to AirPlay Handoff behaviour.

  • Fixed an issue where ReaderView.visiblePages sometimes did not update correctly.

Improvements

  • ContentPositionTimeline methods are now many times faster.

  • Updated PDF.js to version 4.8.73.


4.0.0-rc.5 (2024-11-19)

iOS 12 compatible version: 4.0.0-rc.5-ios12

API Docs

Breaking changes

  • In ReaderViewOptions, forcePageAspectRatio and defaultPageAspectRatio have been removed. Use ReaderViewOptions.contentDisplayAreaOptions instead.

  • ContentLocation.fetchContentBlockTargets returns a list of ContentBlockTarget now instead of a list of ContentBlockTargetData. ContentBlockTarget allows you direct access to the target ContentBlock.

Deprecations

  • The renderer option ignoreAspectRatio has been deprecated. It will continue to work until its removal in version 5.0.0 of the framework. Please use ReaderViewOptions.contentDisplayAreaOptions with type set to FILL instead.

Improvements

  • SpreadSwipeRenderer and SinglePageSwipeRenderer are now able to use all available display area when displaying publications containing fixed-layout documents with varying dimensions, such as mixed portrait and landscape documents.

New features

  • Added the new option PublicationStyleOptions.wordSpacing, allowing modification of word spacing in reflowable EPUB documents.

  • Added the new option PublicationStyleOptions.letterSpacing, allowing modification of letter spacing in reflowable EPUB documents.

  • SpreadSwipeRenderer now supports switching from two-page spreads to a single centered page when the EPUB author has configured the document with rendition:page-spread-center or spread-none.

  • Added the new option ReaderViewOptions.contentDisplayAreaOptions, controlling how the available display area is utilized by publication content.

Bugfixes

  • ContentLocation.fetchNavigationItemReferences(options:) now functions correctly for locator ranges spanning multiple EPUB documents.

  • Fixed a memory leak issue in the Web framework running inside the WebView.

  • Fixed an issue where the async function Publication.fetchContentLocation(navigationItem:) did not run on the main thread.

  • Fixed potential task continuation leaks.


4.0.0-rc.4 (2024-10-17)

iOS 12 compatible version: 4.0.0-rc.4-ios12

API Docs

New features

  • Added ReaderDocument.fetchLocatorForEntireDocument().

  • The following options in ReaderViewAnnotationOptions now supports space-separated class names:

    • containerClassName

    • positionClassName

    • rangeClassName

Bugfixes

  • Fixed an issue introduced in 4.0.0-rc.2 where several ContentLocation methods returned incorrect results.

  • Fixed an issue where TTS playback could not be resumed after being paused due to an interruption from the system.

  • ContentLocation.contentResolver methods now works correctly for ranges spanning multiple EPUB documents.


4.0.0-rc.3 (2024-10-11)

iOS 12 compatible version: 4.0.0-rc.3-ios12

API Docs

Major New Features

  • The Content Block API is now available. This new API provides programmatic access to a simplified representation of a publication's structure, such as the HTML elements in an EPUB. This flexible API is used internally for features like ReaderDocumentSearch and TtsSyncMediaTimeline.

Breaking Changes

  • Changed the minimum iOS version to 13. An alternate framework build supporting iOS 12 will be provided for all upcoming 4.x.x versions of the iOS framework, with the version suffix -ios12.

New Features

  • Added a new option TextSearchQueryOptions.ignoreDiacritics, allowing searches to match text with or without diacritics.

  • Added PdfReaderPublicationOptions.textLayerOptions.customCss, which allows injecting custom CSS into the text layer of PDF pages.

  • Added two new options: EpubReaderPublicationOptions.allowAudioElementAutoplay and EpubReaderPublicationOptions.allowVideoElementAutoplay.

  • Added ReaderViewAnnotationLayer.refreshAnnotations(), allowing annotations to be refreshed programmatically.

  • Introduced OnClipboardEventListener, with the onCopy event firing when a user copies content from a publication to their clipboard. Use ReaderView.addOnClipboardEventListener to receive this event.

Bug Fixes

  • Fixed a bug where the “keydown” engine event’s modifiers.shift was false, even if shift was pressed.

  • Fixed an issue where VoiceOver could move focus into offscreen/hidden content on iOS 18.


4.0.0-rc.2 (2024-08-29)

API Docs

These release notes describes the changes since version 3.11.0

Overview

We are excited to announce native audiobook support.

This version of the framework enables you to load EPUBs with Media Overlays in audio-only mode, with the flexibility to synchronize with the ReaderView at any time. It also supports playback of W3C Audiobooks, whether zipped as an LPF package or "un-packaged" for streaming over HTTP. Additional format support will be added in future releases.

Check out the AudioReadingSystemEngine API documentation for how to configure your app to use the new audio playback capability. Sample applications will be available soon.

Major new features

  • New AudioReadingSystemEngine and ColibrioAudioPlayer class that handles playback of audio using the AVFoundation library.

    • Support for audio playback of W3C Audiobooks and EPUB with Media Overlays.

    • Background audio playback support.

    • Integration with MPRemoteCommandCenter and MPNowPlayingInfoCenter. Provides playback control from the Notification Center and Now Playing on connected devices.

  • Document Sectioning for reflowable EPUB content-documents. When enabled, reflowable documents can be split into sections prior to reflowing. This can greatly increase performance for publications with long content documents. You can control where and how often these breaks occur using options of course. We recommend that you enable Document Sectioning as a default.

  • New mitigation options for horizontally overflowing table and math elements let you wrap these elements in scroll containers. Previously these would have been shrunken to fit the page width, affecting legibility and accessibility. Note that we have changed the default behaviour to scroll instead of shrink. Read more in the Breaking Changes section below.

New features

  • Added the new option EpubContentProcessingOptions.horizontalOverflowMitigationMinFontSize. When a word is too wide to fit on the page, it can either be broken into multiple lines or scaled down. This option sets the minimum font size to scale down to. If scaling is not enough to fit the word, the style overflow-wrap: break-word; will also be applied, allowing the word to be broken up over more than one line.

  • Added the new option EpubContentProcessingOptions.horizontalOverflowMathMLStrategy controlling if <math> elements too wide to fit in the page should be scaled down to fit, or horizontally scrollable.

  • Added the new option EpubContentProcessingOptions.horizontalOverflowTableStrategy controlling if table elements too wide to fit in the page should be scaled down to fit, or horizontally scrollable.

  • Added the new option EpubContentProcessingOptions.verticalOverflowMitigationStrategy controlling if a reflowed page should be allowed to vertically scroll if all content does not fit.

  • Added the new option EpubReflowOptions.removeBottomMarginsOnFragmentedElements controlling if the bottom margin on fragmented elements should be removed or kept.

  • Added support for iframes added by scripts in content documents.

Breaking changes

  • Changed minimum iOS version to 12

  • ResourceProvider interface changes:

    • Introduced new baseUrl property

    • fetch and fetchMetadata now takes a URL instead of a path.

    • Error handling updated to distinguish between recoverable and non-recoverable errors.

  • ReaderView.visiblePages now returns [VisiblePage] instead of [VisiblePageData].

  • ContentLocation.fetchNavigationItemReferences(options:completion:) callback is now called with FetchNavigationItemReferencesResult instead of FetchNavigationItemReferencesResultData. Properties in FetchNavigationItemReferencesResult return [ReaderPublicationNavigationItemReference] instead of [ReaderPublicationNavigationItemReferenceData].

  • Removed deprecated ColibrioTtsSynthesizerDelegate.

  • The new options EpubReflowOptions.removeBottomMarginsOnFragmentedElements and EpubReflowOptions.removeTopMarginsOnFragmentedElements default to true. This may cause content to appear closer to the top and bottom edge of the page compared to previous Colibrio Reader Framework versions. Set these options to false to keep the old behavior.

  • The new options EpubContentProcessingOptions.horizontalOverflowMathMLStrategy and EpubContentProcessingOptions.horizontalOverflowTableStrategy default to EpubContentOverflowStrategy.SCROLL in order to improve legibility and accessibility. This will introduce horizontal scrolling within the page when the table or math elements do not fit horizontally. Set this option to EpubContentOverflowStrategy.SCALE to keep the old behavior.

  • The new option EpubContentProcessingOptions.horizontalOverflowMitigationMinFontSize defaults to 16 pixels in order to improve accessibility. This may cause long words be broken up over more than one line. Set this option to 0 to keep the old behavior.

  • The new option EpubContentProcessingOptions.verticalOverflowMitigationStrategy defaults to EpubContentOverflowStrategy.SCROLL in order to improve accessibility. This will introduce vertical scrolling within a page if not all content fits. Set this option to EpubContentOverflowStrategy.SCALE to keep the old behavior.

Deprecations

The following methods and properties have been deprecated. They will continue to work in all 4.x.x versions of the framework, but will be removed in the next major version update.

  • ColibrioView has been deprecated, please use ColibrioReadingSystemView instead.

  • ReaderPublicationNavigationData is deprecated. Replaced by ReaderPublicationNavigation.

  • ReaderPublicationNavigationCollectionData is deprecated. Replaced by ReaderPublicationNavigationCollection.

  • ReaderPublicationNavigationItemData is deprecated. Replaced by ReaderPublicationNavigationItem.

  • Locator in ReaderPublicationNavigationItem is deprecated. Added methods using ReaderPublicationNavigationItem.

  • VisiblePageData is deprecated. Replaced by VisiblePage.

  • ReaderView.fetchRectsForVisibleContent is deprecated. Replaced by VisiblePage.fetchRectsForVisibleContent.

  • Setter for ReaderView.syncMediaPlayer is deprecated. Use setSyncMediaPlayer(SyncMediaPlayer, SyncMediaReaderViewSynchronizationMethod) instead.

  • SyncMediaPlayer.playing is deprecated. Use !paused && ready instead.

  • SyncMediaPlayer.approximateElapsedTime is deprecated. Replaced by SyncMediaPlayer.approximateElapsedTimeMs.

  • FetchNavigationItemReferencesResultData is deprecated. Replaced by FetchNavigationItemReferencesResult.

  • ReaderPublicationNavigationItemReferenceData is deprecated. Replaced by ReaderPublicationNavigationItemReference.

  • The error used in ResourceProvider.fetch, ResourceProvider.fetchMetadata , ResourceResponse.asBytes and ResourceResponse.asStream changed from ResourceProviderError to Error.

Bug fixes

  • Fixed an issue that sometimes caused OnVisibleContentChangedListener.onVisiblePagesChanged to not be called.

  • Fixed an issue where publicationHashSignature was calculated differently compared to the Web framework.

  • Improvements and bugfixes when applying page-breaks inside tables.

  • Fixed an issue where the reflow engine would fail to properly measure elements that had a transform applied to them, causing inaccurate page-breaks.

  • Fixed an issue where page-breaks were not applied correctly for pre-formatted text, like code examples.

  • Fixed an issue where reflow engine did not calculate margin-collapse rules correctly.

  • Fixed Reflow Engine issues that in some cases caused page breaks to be applied at wrong positions.

  • Annotation’s rendered positions now updates correctly inside scrolling containers.

  • Fixed issues that could cause images to get incorrect aspect ratios.

  • Fixed a bug where reading position might not be accurate when navigating to an annotation spanning two pages.

Changes from 4.0.0-experimental.3

  • Renamed ColibrioMediaService to AudioReadingSystemEngine.

  • LPF and EPUB Media Overlay “audio-only” publications are now loaded from the AudioReadingSystemEngine.

  • Added option to skip to next/previous segment in the command center

  • Added ColibrioAudioPlayer.reload function which allows you to recover from an error state and retry without losing playback position.

  • Fixed issue with incorrect playback position when moving to next segment in synced mode.

Improvements

  • Fixed errors string representation.

  • Added ColibrioError as base for all errors thrown by the ColibrioFramework.

JavaScript errors detected

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

If this problem persists, please contact our support.