Skip to main content
Skip table of contents

Web framework 4

4.2.1 (2025-04-07)

API Docs

Bugfixes

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


4.2.0 (2025-03-26)

API Docs

New features

  • Added a new method setContentSelection() to VisiblePage that sets the current selection.

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

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 IPublicationStyleOptions.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 reading position will be updated and the readingPositionUpdated event will fire before the navigationEnded event fires.


4.1.0 (2025-02-28)

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, IReaderPublicationNavigation.getNavigationItemById, which returns a ReaderPublicationNavigationItem with the given id.

  • Added new options publicationStyleOptions.typographyResetOptions, which contains two options to reset font-size and line-height defined by the publication

Bugfixes

  • Fixed an issue where syncMediaEndReached fired inconsistently.

  • Fixed a bug where the selectionChanged engine event would not fire if ReaderView.setScriptedContentDocumentEventHandlersEnabled(false) had been called.

  • 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 the result of ContentPositionTimeline.toSerializedData() changed when passing the same ContentPositionTimeline options but in different order.

Improvements

  • Improved building TTS SyncMediaTimeline performance.


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

API Docs

Notable new features

The major release brings many new important features and improvements to the Colibrio Reader Framework.

Here are some of the most notable features.

  • 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 IEpubContentProcessingOptions.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 IEpubContentProcessingOptions.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 IEpubContentProcessingOptions.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 IEpubContentProcessingOptions.verticalOverflowMitigationStrategy controlling if a reflowed page should be allowed to vertically scroll if all content does not fit.

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

  • Added the new method IReaderViewAnnotationLayer.refreshAnnotations() forcing all annotations to be redrawn.

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

  • The framework modules can now be imported in NodeJS using the ES module import keyword. This feature makes the framework compatible with modern build tools.

  • Added the IEpubContentBlockOptions.attributeNamesThatCreateContentBlocks option, allowing you to specify which element attribute names should trigger the creation of a ContentBlock for an element.

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

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

  • Added the Engine Event copy, which fires when publication content is copied.

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

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

    • containerClassName

    • positionClassName

    • rangeClassName

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

  • Added the new option IPublicationStyleOptions.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 IReaderViewOptions.contentDisplayAreaOptions, controlling how the available display area is utilized by publication content.

  • Added the new method fetchTimelinePositions to IContentPositionTimeline.

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

Bugfixes

  • 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 an issue where parsing the table of contents in an audiobook might fail.

  • Extra properties in WpManifest root where wrongfully removed, they are now kept.

  • Fixed an issue where the IReaderPublicationOptions.preventDragAndDropActions had an incorrect default value.

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

  • Fixed a bug where URLSearchParams did not work when passing URLSearchParams to the constructor.

  • Resolved an issue where trailing <br> elements on a page could cause it to overflow vertically.

  • Fixed an issue where locators pointing to content within fragmented <table> elements were sometimes incorrect.

  • Updated the behavior of ISyncMediaTtsTimelineContentTransformationOptions.normalizeQuotationMarks when set to true, it now converts all Unicode single quotation mark characters to the U+0027 Apostrophe (') character, while all Unicode double quotation marks continue to be converted to the U+0022 Quotation mark (").

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

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

  • Fixed an issue where IEpubContentBlockOptions.attributeNamesThatCreateContentBlocks did not affect empty elements.

  • Fixed an issue where TTS playback could not be resumed after being paused due to interruption from a screen reader.

  • IContentLocation.fetchContentResolver() now works correctly for ranges spanning multiple EPUB documents.

  • Fixed an issue where IVisiblePageData.boundingClientRect sometimes was assigned undefined

  • Fixed an issue with the page shadow animation in the Stack Renderer in iOS 18.3.

Breaking changes

  • The new options IEpubReflowOptions.removeBottomMarginsOnFragmentedElements and IEpubReflowOptions.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 IEpubContentProcessingOptions.horizontalOverflowMathMLStrategy and IEpubContentProcessingOptions.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 IEpubContentProcessingOptions.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 IEpubContentProcessingOptions.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.

  • The event syncMediaPlayerSeeking will now contain the ISyncMediaTimelinePosition that was active before the seek. You can still access the target position using ISyncMediaPlayer.getTimelinePosition(). The event that fires when the seek is completed,syncMediaPlayerSeeked, will still contain the target position.

  • IWpEntityData.name is now an IWpLocalizableString instead of an ILocalizableString.

  • IWpLinkedResourceData.description is now an IWpLocalizableString instead of an ILocalizableString.

  • IWpLinkedResourceData.name is now an IWpLocalizableString instead of an ILocalizableString.

  • Changed type of ISyncMediaObjectRef.type from SyncMediaObjectRefType | string to SyncMediaObjectRefType.

  • Changed type of ISyncMediaTimelineData.mediaObjectRefTypes from (SyncMediaObjectRefType | string)[] to SyncMediaObjectRefType[].

  • Changed type of ISyncMediaTimeline.getMediaObjectRefTypes() from (SyncMediaObjectRefType | string)[] to SyncMediaObjectRefType[].

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

  • IContentLocation.fetchNavigationItemReferences() now functions correctly for locator ranges spanning multiple EPUB documents.

  • Fixed a memory leak issue.

Deprecations

The following methods and types have been deprecated in 4.0.0 but will still be fully functional until they are removed in the next major release.

  • Deprecated IReaderPublicationNavigationItemData.locator. Please use the navigation item directly with methods that accepts locators instead. For example: IReaderView.goTo(navigationItemData).

  • Deprecated IReaderPublicationNavigationItem.getLocator(). Please use the navigation item directly with methods that accepts locators instead. For example: IReaderView.goTo(navigationItem).

  • Deprecated IUnresolvedContentLocation.getLocator().

  • Deprecated ISyncMediaPlayer.isPlaying(). Please use !isPaused() && isReady() instead.

  • Deprecated IReaderView.fetchRectsForVisibleContent(). Please use VisiblePage.fetchRectsForVisibleContent().

  • Deprecated ISyncMediaPlayer.isPlaying. Instead use !ISyncMediaPlayer.isPaused() && ISyncMediaPlayer.isReady().

  • Deprecated ReadingSystemEngine.setOptions. Please set up all options when calling new ReadingSystemEngine(options) instead.

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

Removed old deprecated methods and types

  • Removed deprecated property IZipArchiveInformation.sha1Signature. Please use IZipArchiveInformation.signature.sha1Hash instead.

  • Removed deprecated method IPublication.getMediaType(). Please use IPublication.getType() instead.

  • Removed deprecated method URLUtils.normalizePathnamePercentEncoding(). Please use URLUtils.normalizePathnameEncoding() instead.

  • Removed deprecated option IReaderViewPanZoomGestureOptions.maxPanOffsetHorizontal. Please use IReaderViewOptions.transformManagerOptions.maxPanOffsetHorizontal instead.

  • Removed deprecated option IReaderViewPanZoomGestureOptions.maxPanOffsetVertical. Please use IReaderViewOptions.transformManagerOptions.maxPanOffsetVertical instead.

  • Removed deprecated option IReaderViewPanZoomGestureOptions.maxScaleFactor. Please use IReaderViewOptions.transformManagerOptions.maxScaleFactor instead.

  • Removed deprecated method ISyncMediaPlayer.getApproximateElapsedTimeMsForTimelinePosition(). Please use ISyncMediaTimeline.getApproximateOffsetMs() instead.

  • Removed deprecated method IReaderViewTransformManager.zoomToEventPosition(). Please use IReaderViewTransformManager.zoomToClientPosition(event.clientX, event.clientY, scale, ...) instead.

Cleaned up Public API

The following methods and types were only ever meant to be used internally between the different framework modules and have been removed from the public framework API.

  • MediaFragmentSelectorUtils

  • EngineEventTargetNodeUtils

  • PageFlowDirection

  • RenderableState

  • IVisiblePageData.pageIndexInReflowedDocument

  • IVisiblePage.getPageIndexInReflowedDocument()

  • IReaderViewContentRangeChangeCallbacks

  • IEngineEventBus

  • IReadingSystemEngine.getEventBus()

  • IEngineEventDispatcher

  • IReaderViewPropertyTypeMap

  • IReaderViewPropertyChangedListener

  • IRenderableDocumentPageStream

  • IReaderDocumentRenderingContext

  • IPageIteratorContentLocation

  • IRenderableDocumentPageIterator

  • IReaderDocument.createRenderableDocument(), createRenderableDocumentPageIterator(), fetchEstimatedHeight(), fetchEstimatedNumberOfPages()

  • MediaSourceFactory

  • IMediaSourceFactoryCreateUrlResult

  • ISyncMediaObjectRendererRuntime

  • ISyncMediaObjectRenderer.createRuntime() and destroyRuntime()

  • IRenderer.createRuntime(), destroyRuntime(), getVisiblePagesArea()

  • Many internal engine event constructors and parameters.

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.

  • 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

API Docs

New features

  • Added the new method fetchTimelinePositions to IContentPositionTimeline.

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

Improvements

  • ContentPositionTimeline methods are now many times faster.

  • Updated PDF.js to version 4.8.73.

Bugfixes

  • Fixed an issue where IVisiblePageData.boundingClientRect sometimes was assigned undefined


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

API Docs

Breaking changes

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

Deprecations

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

New features

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

  • Added the new option IPublicationStyleOptions.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 IReaderViewOptions.contentDisplayAreaOptions, controlling how the available display area is utilized by publication content.

Bugfixes

  • IContentLocation.fetchNavigationItemReferences() now functions correctly for locator ranges spanning multiple EPUB documents.

  • Fixed a memory leak issue.

  • Fixed an issue where the SingleDocumentScrollRenderer wasn’t horizontally centered correctly in some cases.

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.


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

New features

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

    • containerClassName

    • positionClassName

    • rangeClassName

Bugfixes

  • Fixed an issue where TTS playback could not be resumed after being paused due to interruption from a screen reader.

  • IContentLocation.fetchContentResolver() now works correctly for ranges spanning multiple EPUB documents.


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

New Features

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

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

  • Added the Engine Event copy, which fires when publication content is copied.

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

Bug Fixes

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

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

  • Fixed an issue where IEpubContentBlockOptions.attributeNamesThatCreateContentBlocks did not affect empty elements.


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

New Features

  • Added the IEpubContentBlockOptions.attributeNamesThatCreateContentBlocks option, allowing you to specify which element attribute names should trigger the creation of a ContentBlock for an element.

Bug Fixes

  • Resolved an issue where trailing <br> elements on a page could cause it to overflow vertically.

  • Fixed an issue where locators pointing to content within fragmented <table> elements were sometimes incorrect.

  • Updated the behavior of ISyncMediaTtsTimelineContentTransformationOptions.normalizeQuotationMarks when set to true, it now converts all Unicode single quotation mark characters to the U+0027 Apostrophe (') character, while all Unicode double quotation marks continue to be converted to the U+0022 Quotation mark (").


4.0.0-rc.1 (2024-06-19)

This release contains all features and fixes from version 3.11.0.

Notable new features

The major release brings many new important features and improvements to the Colibrio Reader Framework.

Here are some of the most notable features.

  • 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 IEpubContentProcessingOptions.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 IEpubContentProcessingOptions.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 IEpubContentProcessingOptions.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 IEpubContentProcessingOptions.verticalOverflowMitigationStrategy controlling if a reflowed page should be allowed to vertically scroll if all content does not fit.

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

  • Added the new method IReaderViewAnnotationLayer.refreshAnnotations() forcing all annotations to be redrawn.

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

  • The framework modules can now be imported in NodeJS using the ES module import keyword. This feature makes the framework compatible with modern build tools.

Bugfixes

  • 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 an issue where parsing the table of contents in an audiobook might fail.

  • Extra properties in WpManifest root where wrongfully removed, they are now kept.

  • Fixed an issue where the IReaderPublicationOptions.preventDragAndDropActions had an incorrect default value.

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

  • Fixed a bug where URLSearchParams did not work when passing URLSearchParams to the constructor.

Breaking changes

  • The new options IEpubReflowOptions.removeBottomMarginsOnFragmentedElements and IEpubReflowOptions.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 IEpubContentProcessingOptions.horizontalOverflowMathMLStrategy and IEpubContentProcessingOptions.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 IEpubContentProcessingOptions.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 IEpubContentProcessingOptions.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.

  • The event syncMediaPlayerSeeking will now contain the ISyncMediaTimelinePosition that was active before the seek. You can still access the target position using ISyncMediaPlayer.getTimelinePosition(). The event that fires when the seek is completed,syncMediaPlayerSeeked, will still contain the target position.

  • IWpEntityData.name is now an IWpLocalizableString instead of an ILocalizableString.

  • IWpLinkedResourceData.description is now an IWpLocalizableString instead of an ILocalizableString.

  • IWpLinkedResourceData.name is now an IWpLocalizableString instead of an ILocalizableString.

  • Changed type of ISyncMediaObjectRef.type from SyncMediaObjectRefType | string to SyncMediaObjectRefType.

  • Changed type of ISyncMediaTimelineData.mediaObjectRefTypes from (SyncMediaObjectRefType | string)[] to SyncMediaObjectRefType[].

  • Changed type of ISyncMediaTimeline.getMediaObjectRefTypes() from (SyncMediaObjectRefType | string)[] to SyncMediaObjectRefType[].

Deprecations

The following methods and types have been deprecated in 4.0.0 but will still be fully functional until they are removed in the next major release.

  • Deprecated IReaderPublicationNavigationItemData.locator. Please use the navigation item directly with methods that accepts locators instead. For example: IReaderView.goTo(navigationItemData).

  • Deprecated IReaderPublicationNavigationItem.getLocator(). Please use the navigation item directly with methods that accepts locators instead. For example: IReaderView.goTo(navigationItem).

  • Deprecated IUnresolvedContentLocation.getLocator().

  • Deprecated ISyncMediaPlayer.isPlaying(). Please use !isPaused() && isReady() instead.

  • Deprecated IReaderView.fetchRectsForVisibleContent(). Please use VisiblePage.fetchRectsForVisibleContent().

  • Deprecated ISyncMediaPlayer.isPlaying. Instead use !ISyncMediaPlayer.isPaused() && ISyncMediaPlayer.isReady().

  • Deprecated ReadingSystemEngine.setOptions. Please set up all options when calling new ReadingSystemEngine(options) instead.

Removed old deprecated methods and types

  • Removed deprecated property IZipArchiveInformation.sha1Signature. Please use IZipArchiveInformation.signature.sha1Hash instead.

  • Removed deprecated method IPublication.getMediaType(). Please use IPublication.getType() instead.

  • Removed deprecated method URLUtils.normalizePathnamePercentEncoding(). Please use URLUtils.normalizePathnameEncoding() instead.

  • Removed deprecated option IReaderViewPanZoomGestureOptions.maxPanOffsetHorizontal. Please use IReaderViewOptions.transformManagerOptions.maxPanOffsetHorizontal instead.

  • Removed deprecated option IReaderViewPanZoomGestureOptions.maxPanOffsetVertical. Please use IReaderViewOptions.transformManagerOptions.maxPanOffsetVertical instead.

  • Removed deprecated option IReaderViewPanZoomGestureOptions.maxScaleFactor. Please use IReaderViewOptions.transformManagerOptions.maxScaleFactor instead.

  • Removed deprecated method ISyncMediaPlayer.getApproximateElapsedTimeMsForTimelinePosition(). Please use ISyncMediaTimeline.getApproximateOffsetMs() instead.

  • Removed deprecated method IReaderViewTransformManager.zoomToEventPosition(). Please use IReaderViewTransformManager.zoomToClientPosition(event.clientX, event.clientY, scale, ...) instead.

Cleaned up Public API

The following methods and types were only ever meant to be used internally between the different framework modules and have been removed from the public framework API.

  • MediaFragmentSelectorUtils

  • EngineEventTargetNodeUtils

  • PageFlowDirection

  • RenderableState

  • IVisiblePageData.pageIndexInReflowedDocument

  • IVisiblePage.getPageIndexInReflowedDocument()

  • IReaderViewContentRangeChangeCallbacks

  • IEngineEventBus

  • IReadingSystemEngine.getEventBus()

  • IEngineEventDispatcher

  • IReaderViewPropertyTypeMap

  • IReaderViewPropertyChangedListener

  • IRenderableDocumentPageStream

  • IReaderDocumentRenderingContext

  • IPageIteratorContentLocation

  • IRenderableDocumentPageIterator

  • IReaderDocument.createRenderableDocument(), createRenderableDocumentPageIterator(), fetchEstimatedHeight(), fetchEstimatedNumberOfPages()

  • MediaSourceFactory

  • IMediaSourceFactoryCreateUrlResult

  • ISyncMediaObjectRendererRuntime

  • ISyncMediaObjectRenderer.createRuntime() and destroyRuntime()

  • IRenderer.createRuntime(), destroyRuntime(), getVisiblePagesArea()

  • Many internal engine event constructors and parameters.

JavaScript errors detected

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

If this problem persists, please contact our support.