All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fixed the case where the
useTheminghook would struggle to handle an audiobook without a cover, resulting in an incomplete auto theme. It now falls back tocolorSchemein that specific case; - Corrected sizing of the fallback cover for such audio publications;
- Resolved Publication’s Timeline API struggling with media fragments containing decimals, due to
LocatorLocations.time()usingparseIntinstead ofparseFloatin TS-Toolkit, resulting in Previous/Next playback controls not working as expected.
- Added a check for trusted events in Keyboard Peripherals to ignore synthetic key events
- Fixed an issue where keyboard peripheral input would be hijacked by a previously focused
iframeafter navigation - Added a navigation lock so that FramePool Managers do not become overwhelmed with quick-fire navigation
- Fixed screen reader announcements in audiobook player
- Fixed shortcut preferences for docking and fullscreen actions
- Shortcuts have been re-enabled after migrating to Readium Navigator’s Peripheral API
- Line height presets are now compensated depending on the publication language
- Zoom-in/out are now mapped to font-size/zoom callbacks
- Audiobook cover is now resolved against
baseUrlinstead ofwindow.location - Pagination arrows do no longer lose focus on navigation
- Implemented container-based breakpoints
- Locales
ar,es, andetare now supported
- Collapsible
truenow checks the available space and collapses icons automatically - Hyphen state is no longer reset (
null) on change topublishertext-alignment - audiobook volume is disabled for iOS
- Support for RTL and CJK
- New ligatures and ruby annotations settings
- Settings are automatically filtered out depending on the script and writing mode of the publication
- RTL and CJK font collections in default preferences
- Availability and usage of settings is now checked before submitting preferences to the Navigator on instantiation
- Table of Contents’ tree is now displayed in the direction of the publication
- Scroll Affordances are now displayed in the direction of the publication
- The paginated arrows will now be disabled correctly at the start and end of publications with a RTL progression-direction
- Audio Progression bar is now direction LTR in all languages, like playback controls
- Support for audiobooks – through Thorium Web
1.3.0 - WebPublications are now exposed
- Two new containers are available,
compactPopover(audio specific) andModal - Two new variants for settings are available:
SliderWithPresetsandPresetsGroup
- Actions are now using profile-based keys, per Thorium Web
1.3.1change - Updated spacing presets
- The docking system will not check if the key/component is available and clean up the panels if it is not
- Numberfield now listens for input change to enable/disable buttons when the value change
- Resolves a bug where
useWebkitPatchfires continuously in scroll - Fixes bottom sheet snapping and fallback scrim
- Corrects application of
onHovertheme color forhoverstate - Slider now gets the formatted value for output
- Updated Thorium Web to
1.2.0 - Updated Thorium Web imports to
readerscope instead ofepub - Updated routes’
pagesto handle Publication and processed errors - Switched
CustomReadercomponent to ReaderWrapper
- Reuse of i18n when already instantiated
- Jump to Position now protect against empty position in positions list
- Updated Thorium Web to
1.1.5, which adds the restriction settings for content protection through preferences
- Updated Thorium Web to
1.1.4(quick fix to WebPub that does not apply to the current version of the playground)
- Support for custom fonts through preferences in font family setting
- Migrated to NextJS 16
- Enabled Italian locale
- Fixed a memory leak in Timeline hook
- Updated Thorium Web to
1.1.1, updated i18n
- Updated Thorium Web to
1.1.0, updated import paths and styling - Switched sepia and paper themes
- Fixed
font-size/zoomwhere an image, video, or audio element in a global div could disable the user setting entirely
- Some Reader Preferences such as running head, progression, navigation arrows and scroll affordances can now be set through a new Reader Settings Panel
- Default order of spacing settings in their subpanel has been updated
- Styling of the pagination component in scroll has been fixed and is no longer shifted when missing a previous link
- Remaining positions in resource has been fixed to account for resources with a single position available
- When on layout presets, pressing escape will now close the sheet properly
- Resolves an edge case where radio group would not be tabbable if its value could not be found in the items list
- Fixes the Safari glitch on tab-focus of the bottom sheet
- Spacing presets in settings
- automatic support for visual keyboard arrow navigation in radio group settings
- Spacing presets are used as default instead of publisher styles toggle
- Spacing settings are now resettable
- Simplified font-weight setting
- Default line lengths are now 40, 55, and 70 characters
- Validation of allowed domains is now done through an API route, and not client-side
- All environment variables are now private
- Expand button will no longer shrink if the table of contents entry is particularly long and wraps several lines
- Resource and total progressions are now updated correctly on location change
- preference for progression in the bottom bar
- preference for running head in the top bar
- preference for document title in the browser’s tab
- support for theme-color (browser’s address bar)
- environment variable for asset prefix
- updated layout presets values
- gap and padding of radio items
- preferences are now settable @ runtime
- logic for finding the first focusable element in sheets
- layout shift of the draggable bottom sheet when focusing elements within its scroller
- paragraph spacing + indent settings have now a default variant of numberfield
- new grid styling for radio items
- Slider label is clipped when overflowing instead of wrapping
- the Docked Sheet now scrolls into view instead of focusing so that it does not steal focus when open
- the bottom sheet now snaps to its larger point if keyboard navigation is detected within the modal – this gets around a Safari bug where it would scroll the container in addition to the scroller on focus
- ReadiumCSS has been updated to beta version 19
- the bottom sheet now autofocuses properly on opening
- the bottom sheet’s artifact of focus on opening has been resolved in Safari for Jump to Position Action
- layout shift of the selected ToC entry has been resolved
- The line-length inconsistency between auto and 1 column, and 2 columns when there is just enough space for 1, has been fixed
- Lithuanian, Portuguese Brazilian, and Tamil locales for Thorium Web core components.
- Focuses the selected entry in the ToC when displayed in a docked sheet.
- Middleware was removed and replaced with redirect in
next.config.js..envfile was moved to the root directory, allowed domains are now handled throughusePublicationhook.
- Fixes a regression with the pagination component layout in Scroll UI.
- Support for Fixed-Layout EPUB following
@readium/sharedv2.0.0.
- Support for internationalisation.
- Back link to homepage/library.
- Redesigned homepage with a grid of Publications.
- Redesigned scroll UI.
- Migrated from
bookparameter to route with a book identifier (e.g. /read/[identifier]). - Layout Strategies are now presets. (#2)
- Column component has been improved to take into account the actual count applied through the
EpubNavigatorPreferences API. - Increased the range for font-size, with a max of
400%instead of250%.
- Corrected initialization of the
lineLengthstate. - Fixed bottom sheet glitch in Safari on animation enter.
- The
themestate was separated for reflowable and fixed layout EPUB, since preferences allow a different set of themes for each.
- Fix light theme which was not applied properly.
- Fix regression in theme component where using arrow keys to navigate between themes.