Thorium Reader Changelog

What's new in Thorium Reader 2.4.1

Mar 22, 2024
  • HOTFIX: regression bug from v2.3 in v2.4.0 with publication metadata title which can be missing (this was previously handled gracefully, but in v2.4.0 this causes a non-fatal crash that creates an empty bookshelf ... the library of books still exists if the user just closes Thorium without adding any new books, as this would otherwise refresh the database to a clean state)

New in Thorium Reader 2.4.0 (Mar 21, 2024)

  • New user interface locales: Slovenian/Slovenščina, and Danish/Dansk (Thorium is now translated in 25 languages). Also updated the Portuguese (Portugal) and Swedish translations (many thanks to the contributors!). Also fixed a bug with the variants of Chinese (traditional vs. simplified) and Portuguese (Portugal vs. Brazil) related to the "about Thorium" XHTML files which failed to load due to lowercase filenames vs. mixed-case language code.
  • Fixed RTL Right-To-Left (Arabic, Hebrew, Japanese in Vertical Writing Mode, etc.) support in the footer bar (interactive reading progression control) and history buttons.
  • Support for Japanese vertical writing mode, right-to-left direction. New option to disable RTL inversion in the user interface (several clusters of previous/next controls, play/pause button, interactive reading progression bar). New option to visually hide Ruby superscript, which (by the way) is automatically ignored during text search in order to avoid breaking character sequences inside the baseline Ruby script. Special handling of WBR Word Break Opportunities, in order to implement word-level spacing (note that character-level is now also available, using ReadiumCSS). New font families / typeface options specifically for Japanese language, not shipped in Thorium but automatically prioritised if the fonts are available in the operating system (just as before, the user can select any system font by specifying its name, but this is a different feature which exposes known typefaces that are commonly used on the web as "sensible" defaults for Japanese script, in sans-serif and serif variants for vertical and horizontal writing modes). Compatibility with the TTS readaloud and EPUB Media Overlays features (synchronised text + audio), except "simplified / captions" mode which continues to display text in horizontal writing mode. Ruby superscript / ancilliary content is automatically skipped during TTS (a future version of Thorium will need to flexibly cater for different user experiences by differentiating skippability of page breaks, image descriptions, alternative text for MathML, Ruby superscript, etc.). Improved handling of Japanese publications and documents that do not declare vertical/horizontal writing direction or that incorrectly specify RTL/LTR in the usual expected places (e.g. HTML or BODY elements, package OPF XML). Also added more robust support for publications that declare top-level page-progresion-direction RTL/LTR in the package OPF XML but change direction in some spine item HTML documents (hybrid modes).
  • Fixed a number of bugs in TTS readaloud and EPUB Media Overlays which were causing the playback position to jump back to the beginning of the document (for example, when clicking on images without audio).
  • Added the possibility to use TTS readaloud with EPUB publications that have Media Overlays (pre-recorded audio), by clicking the play button while holding the SHIFT+ALT key modifiers which is a common keyboard combo already used for several "alt" functionality in Thorium.
  • Implemented support for text paragraphs that span across page boundaries when displaying documents in paginated mode with single or two page spreads. Now, bookmarks and other reading locations that accurately select character ranges are restored correctly (before the fix, the containing paragraph HTML element would be designated, causing a confusing shift to the previous page).
  • Added handling of diacritics (accented characters) in the "find text" / "search" feature. Essentially, characters like "e" "è" "é" "ë" "ê" etc. are considered equivalent in both the query string and the targeted document text. Also implemented basic transliteration of some common ligatures (for example "egg" in French: Œuf vs. œuf vs. oeuf). More improvements are expected as we gather feedback from users in certain locales, such as with modern German language which features several commonly-used character equivalencies.
  • Fixed text search bug related to CDATA in HTML and SVG fragments (e.g. <style> contents)
  • Significantly improved text highlighting engine which now computes polygons and renders SVG instead of relying on basic HTML + CSS rectangular shapes. This core functionality is used in the "TTS" feature (yellow background for sentences, orange underline for words), in the "find" feature (green background and pink for the active search result) and in the upcoming "annotations" feature (all of which can reliably be used concurrently, as the drawing operations are not desctructive on the HTML/SVG DOM). Currently, 4 different types of highlights are implemented: solid translucent area background, area outline, line-by-line underline and strikethrough. Highlights are lightweight affordances that can overlap and be interacted with using the mouse / tracking device cursor, while allowing for text selection underneath. Highlights can be selectively grouped, either rendered inline (default) or displayed on the periphery of the document content in the form of non-obstructive margin indicators which are also interactive (cursor hover, click). The highlighting engine works with reflowable documents in paginated mode (single or two page spreads), in scrolling viewport, with fixed-layout documents at any zoom level, in right-to-left direction (margin indicators on the right hand side), in left-to-right (margin indicators left-aligned), in vertical writing mode (margin indicators at the top). The highlighting implementation caters for special cases such as Japanese Ruby superscript. The actual "annotations" feature is incomplete at this stage (planned for the next major release Thorium v3.0), but text highlighting text is currently exposed as a hidden feature, available only in developer builds.
  • Added support for proof-of-concept sign language EPUB3 Media Overlays (text synchronised with video instead of audio). The prototype features a detachable video frame which can be resized and moved outside of Thorium's window, in order to avoid obscuring the document text during synchronised playback.
  • Under the hood, Thorium now ships the latest Electron v29 which bundles Chromium v122 and NodeJS v20. This brings a range of improvements (performance, accessibility, operating system integration, etc.).
  • Behind the scenes, React 18 is now used to render Thorium's user interface. Also fixed unnecessary re-renders (small performance improvement gains).
  • Apple Silicon native ARM64 (aarch64) builds of Thorium are now available for optimal performance on Mac hardware (M1, M2, M3, etc.). The builds for Intel x64 / x86_64 / amd64 architecture will continue to be available in the foreseable future.
  • Added a developer convenience: Linux Docker to build Thorium from MacOS Arm64 and Intel64 hardware.
  • Fixed a keyboard shortcut bug which occasionally caused failures to activate after alt-tabbing into other system windows (other applications).
  • Fixed handling of hyperlinks during audio playback.
  • Fixed TTS continuous playback across document boundaries (now matches EPUB Media Overlays behaviour, for better UX consistency).
  • Fixed an occasional Redux state diff crash (RFC lib) with large documents.
  • Internal changes in preparation for a significant GUI refactoring which will improve styling, colour themes, etc. (PostCSS deprecation, introduction of SASS toolchain, new UI libraries for popup modals, etc.)
  • Fixed Windows filesystem bug (forbidden characters), improved "save as" file selector used for exporting publications.
  • Fixed occasional OPDS authentication bug, and display of navigation history / trail.
  • Fixed missing APIAPP authentication request header (grant_type=password)

New in Thorium Reader 2.3.0 (Aug 3, 2023)

  • New and updated translations: Bulgarian, Greek, Croatian, Korean, Portuguese (Portugal).
  • Reader / image zoom: major feature update from initial proof of concept, better user experience (finger touch, trackpad gestures, mouse wheel, keyboard), support for raster/bitmap images as well as SVG markup.
  • Reader / MathML: native rendering in Chromium (Electron v25), Thorium 2.2.0 included a version of Chromium that did not support MathML natively (MathJax was the only way to display MathML).
  • Reader / MathML: MathJax dynamic aria-label (speech text) is overridden by authored alt-text (if present), Thorium TTS readaloud speaks it, screen readers do too but have the option to dig further / deeper into the MathML structure (useful with screen reader specialised plugins).
  • Reader / navigation history: hyperlink activation now correctly sets the landmark for previous/next navigation.
  • Reader / text display: fixed left/right/justify text alignement ("start" can be left or right depending on document language), "automatic" is now "default" with changed SVG icon to avoid confusion.
  • Reader / UX: finger swipe gesture can now be used to turn pages (requires touch screen).
  • Reader text selection: double-click now works (bookmarks label for now, later in upcoming annotations feature).
  • Reader / TTS: fixed aria-label support on img (alongside alt attribute), epub:type pagebreak (and role doc- prefix), title/label takes precedence over inner text, same with links. NOTE: this will need future update to match W3C specifications for computation of accessible label and description.
  • Reader / TTS: fixed voice selection based on user choice + language match (for example: fr-FR vs. fr-CA variants, en-US vs. en-UK, user wins over authored lang).
  • Reader / TTS: fixed paused / stopped state in playback controls.
  • Reader / TTS: fixed support for Japanese ruby, RT markup is now ignored.
  • Reader / TTS: captions / simplified view, initial text without active word boundary was not escaped (ampersand character).
  • Reader / Popup footnotes: fixed handling of SVG a@href links.
  • Reader / HTML5 audio: fixed visible controls visibility.
  • Reader / EPUB: navigator.epubReadingSystem object injection in iframes (including SVG).
  • Reader / EPUB: FXL fixed-layout rendition-prefixed page-spread-left/center/right properties on spine item, was only parsing non-prefixed variant.
  • Reader / Media Overlays: fixed click on non-synchronised HTML element which now preserves current playback location / timestamp (was reseting to begining of document).
  • Reader / UX: mouse middle-click was causing opening in external Electron window.
  • DAISY: fixed v2.02 and v3.0 import of ncc.html or *.opf, now works when loading from non-zipped publications.
  • OPDS: feed entry fallback cascade was too permissive (publication info was incorrectly fetching borrow/buy links in some cases).
  • OPDS: fixed "search" relative URLs in OPDS1(XML) and OPDS2(JSON), fixed URI Templates curly brace escaping in URL path.
  • OPDS: fixed publication title which was not displayed.
  • OPDS: added display of accessibility metadata.
  • GUI: fixed dark/night and sepia modes in audiobook playback rate chooser and TTS + Media Overlays rate/voice choosers.
  • GUI: fixed edge-case of auto-focus fail on default dialog button (e.g. invoking the delete action from the popup menu was failing to auto-focus the default ok button, whereas this worked when reaching the same modal dialog prompt via the publication info sheet).
  • GUI / accessibility: improved keyboard shortcuts editor usability, for both screen reader and keyboard users
  • GUI / UX: improved error message during file import, unsupported extension / document type.
  • TTS: now enabled by default on Linux (Electron command line parameter "enable-speech-dispatcher").

New in Thorium Reader 2.2.0 (Nov 27, 2022)

  • Updated translations: English, Simplified Chinese, Traditional Chinese, Italian, Japanese, Lithuanian, Spanish, Swedish
  • Now with Electron 21 (more recent Chromium web browser engine)
  • Feature: show accessibility metadata in publication info dialog
  • Fix: MathML support via MathJax, screen reader interaction (accessibility)
  • Feature: navigation history, back / forward buttons with keyboard shortcuts
  • Fix: TTS and Media Overlays playback options were reset to default values in GUI but not in backend
  • Fix: EPUB FXL Fixed-Layout pre-paginated publications can now render with single centered pages (override from authored spread rules, when aspect ratio is portrait instead of landscape)
  • Feature: EPUB FXL Fixed-Layout zoom now with keyboard shorcuts (increase, decrease and reset)
  • Fix: EPUB FXL and reflowable, support for pagebreak and pagelist edge cases, improved "goto page" navigation
  • Fix: support for self-closing body HTML tag in document parser
  • Fix: keyboard focus returns to popup menu callsite after cancel-closing publication delete modal dialog (improves usability and accessibility with screen readers)
  • Fix: improved popup modal dialog GUI, better default enter key behaviour and form submission behaviour
  • Fix: improved CSS styling in reader menu, removed non-implemented annotation menu (future feature)
  • Fix: OPDS HTTP basic authentication now handles 302 "found" redirection for GET requests
  • Fix: OPDS indirect acquisitions can have child subtype, now display EPUB/PDF and LCP info in download buttons (after generic authenticated borrow action)
  • Feature: OPDS edit feed title and url
  • Fix: tag name with special characters now supported
  • Fix: DAISY v2.02 HTML NCC metadata parsing, multimedia type full text audio is default
  • Feature: OPDS HTTP digest authentication scheme, supports Calibre content server
  • Fix: multilingual metadata parsing (title, author, etc.), RTL for Hebrew, Arabic, etc. now displayed correctly
  • Fix: URL protocol/scheme handlers thorium:// and opds:// work on Mac Linux and Windows
  • Fix: MacOS 'window' menu in top-level instead of submenu
  • Fix: accessible screen reader label for secondary navigation landmark in bookshelf is just "menu" to avoid duplication of announcement
  • Fix: added application keywords for Linux integration
  • Fix: clearer error reporting when opening a file with unsupported extension (derived from HTTP content-type or obtained from filesystem)
  • Fix: Mac and Linux application icons
  • Fix: cancelling one download only now works
  • Fix: publication info, list of authors now complete
  • Fix: OPDS, support for DAISY application/zip mimetype

New in Thorium Reader 2.1.0 (Aug 10, 2022)

  • This release includes the following (notable) new features, improvements and bug fixes:
  • Added support for Dilicom library connector (not OPDS, special API).
  • Localisation: fixed French, Spanish, Portuguese (Portugal) and Swedish translations. Added the EDRLab.org documentation website link to all locales, in the "about Thorium" XHTML (the link currently redirects to a GitHub microsite that hosts Thorium's user guide).
  • Added basic "telemetry" feature: anonymous system information sent to EDRLab server on application startup.
  • Fixed reader window menus which were not closed automatically when switching to fullscreen.
  • Fixed README documentation, updated supported languages.

New in Thorium Reader 2.0.0 (May 31, 2022)

  • Electron v19, Chromium v102
  • Thorium's internal database format changed from native LevelDown/SQLite3 modules to JSON serialisation (this migration started several releases ago, but this major upgrade marks the point at which the native DB is not accessed anymore).
  • Updated locales: Swedish, Dutch, Spanish, Chinese, Japanese, Portugese
  • New translations: Basque, Galician, Catalan
  • New major bookshelf functionality: interactive "data grid", i.e. table graphical user interface that features filtered rows based on keyword search (instant for visual find-as-you-type, or deferred for screen reader usage with submit button + ARIA live assertive annoucement), paginated list of results, alphanumerical sortable columns (descending / ascending), basic vs. advanced choice of columns (e.g. title, author, publication format, publishing date, etc.), clickable cell contents to automatically search for selected text (includes support for user-provided tags), etc. etc.
  • Improved accessibility feature: alternative "where am I" for screen readers in speech mode only (i.e. assertive ARIA live region via toast notification) using the SHIFT-CTRL-K keyboard shortcut (this is equivalent to the existing "where am I" via SHIFT-CTRL-I popup modal dialog, with the advantage of not loosing focus in the publication HTML document)
  • Fixed a bug where publication HTML documents were reset to the first page when ALT-TAB between application windows.
  • Fixed issue with HTTP downloader, stream read/write pipe was causing invalid ZIP directory parsing (unwaited filesystem buffer flush), also improved request timeout handling.
  • EPUB metadata accessibility summary is exposed in publication info popup modal dialog, and several under-the-hood mechanics to pave the way to proper presentation of the full set of a11y metadata.
  • Several key improvements in user interface structure / semantics to ensure more confortable experience with screen readers.
  • Updated MathJax integration to support MathML alt text with special treatment of screen readers (specialised Math plugins offer structural exploration of Math markup), and separate treatment for Thorium's built-in TTS read aloud feature.
  • Fixed footnotes issue where the note contents inside "aside" HTML elements weren't hidden.
  • Fixed DAISY 2.02 support (NCC HTML file picker), and fixed XML/HTML parsing issues.
  • Fixed a Readium CSS bug where some publication document height was not fully extended Also fixed a performance issue with CSS columns.
  • Fixed night / dark mode GUI inconsistencies.
  • Improved visual rendering of Table Of Contents.
  • Improved toast notifications placement to avoid obscuring critical GUI parts, added keyboard focus and mouse click handling, easier clipboard copy of message, and fixed the overflow text clipping.
  • LCP META-INF/license.lcpl now excluded from hash computation to eliminate duplicates during EPUB import.
  • Fixed a Windows bug where drive letters other than C: were not supported when opening publications directly from the file explorer.
  • New image zoom feature with CTRL-click in publication HTML documents.
  • Fixed HTML5 audio controls mis-renderering due to CSS overrides.
  • Better, clearer presentation of "borrow" links and other publication acquisition details in the publication info modal popup dialog.
  • Fixed a PDF metadata bug related to date format parsing + timezone calculations.
  • Major update under the hood to support latest package dependencies, notably WebPack and associated build / development plugins, but also critical application components such as React, Router, etc. (Thorium remains on React 17 so that forks do not experience upgrade issues to React 18)

New in Thorium Reader 1.8.0 (Jan 10, 2022)

  • Electron v16
  • New feature: URL protocol handler (opds:// in addition to thorium://) and fixed command line interface / file browser actions, open multiple files
  • EPUB popup footnotes: added support for external documents
  • Accessibility feature: "where am i?" information in publication popup, including headings trail leading to current reading location in "where am I" section of publication info popup modal dialog, CTRL+i keyboard shortcut with SHIFT modifier key to focus
  • Accessibility: much improved accessibility support in content webview, keyboard focus management with screen readers
  • Accessibility: bookmark add/remove screen reader notifications (ARIA live via visual "toast" user interface), also fixed the bookmark add/remove logic based on keyboard interaction versus icon button, current text selection (for bookmark name), etc.
  • Accessibility fix: screen reader hyperlink activation was causing mouse interaction in some cases, which in turn triggered false positives in some critical user interaction detection logic to establish the current reading location (for bookmarking, resuming, etc.)
  • Accessible visual indicator of current reading location in table of content (navigation panel) as well as keyboard shortcut SHIFT CTRL N to focus directly on the current heading (existing CTRL N shortcut remains, which only opens the navigation panel, doesn't focus on the TOC tree)
  • TTS: synthetic speech readaloud of hidden DOM fragments now skipped, also improved mouse click hit testing and handling of deep MathML text nodes when alttext is present
  • TTS: MathML synthetic speech read aloud without MathJax via alttext attribute or fallback to element textual contents
  • TTS: synthetic speech read aloud of MathJax / MathML + added image / SVG playback highlight
  • DAISY: support for v2.02 ncc.html import and packaged / zipped fileset, audio-only with TOC and phrase granularity, as well as full-text full-audio (EPUB3 Media Overlays equivalent)
  • DAISY: fixed regression bug with exploded / unzipped fileset import (publication from OPF package file was failing)
  • Fixed EPUB pagebreaks (ARIA role and epub:type attributes)
  • GUI fix: OPDS add dialog text input keyboard default focus + button submit click on enter, also added OPDS URL to hover tooltip
  • GUI fix: keyboard usability of LCP passphrase input dialog (default focus of text input, default submit button on enter key)
  • CSS fix for dialogs, scrollbars were visible even when no overflow (Windows and Linux, or MacOS with optional "show always" system setting)
  • Fix for EPUBs with scripted drag-drop interactions
  • Improvement of CSS styles in library window, significant refactoring under the hood to ease maintenance
  • Bugfix: fixed-layout (FXL) zoom now with crisp text / vector graphics font scaling
  • OPDS: fixed a bug in W3C LPF acquisition
  • OPDS: fullscreen authentication window
  • OPDS: improved title+summary user interface (Atom XML)
  • OPDS: import of catalog of feeds from system ENV variable
  • Developer workflow: CSS styles are now "typed", i.e. static analysis of available classnames + compile-time checking, improved CSS loader / hashed classnames syntax
  • Documentation: updated French readme
  • LCP: localisation fixes (multilingual information)

New in Thorium Reader 1.7.3 (Oct 12, 2021)

  • Electron version 14.x (fixes HTTPS LetsEncrypt + OpenSSL/BoringSSL certificate expiry bug).
  • Localisation: Georgian localization ('ka').
  • Accessibility: fixes screen reader ARIA labels on HTML controls.
  • Keyboard interaction: left/right arrows (etc.) in contenteditable=true and textarea HTML elements must not interrupt typing / must not turn pages.
  • OPDS error handling: support for "problem details" HTTP response JSON.
  • Library search: lookup title and author data in publication bookshelf.
  • OPDS search: URL with {searchTerms} curly braces query/path syntax must not be escaped, due to automatic URI percent encoding.
  • OPDS authentication: OAuth response body was JSON content-type, must be form-urlencoded as per RFC6749.

New in Thorium Reader 1.7.2 (Sep 11, 2021)

  • This release includes the following (notable) new features, improvements and bug fixes:
  • Electron version 14 (notably: web browser component Chromium v93)
  • Internal feature: HTTP streamer now replaced with custom Electron protocol (no more open port / localhost TCP-IP connections)
  • Feature: basic zoom/scale user interface for fixed layout publications
  • Feature: Divina updated player / rendering engine, added support for audio soundtrack nute/unmute, removed goto page navigation, added UI indicator for page turn direction
  • Fix: ReadiumCSS "default" publisher / authored styling, handling of line height and spacing for letters, words, paragraphs, and margins
  • Fix: search was broken when opening publications with double-click from file explorer, or via any other command line interaction
  • Fix: audiobooks metadata total duration progression percentage (could be NaN in some cases)
  • Fix: publication import from link (OPDS feed) was incorrectly registering LCP-PDF content type as JSON (is in fact a packaged format)
  • Fix: OPDS HTTP authentication implicit flow url with fragment identifier
  • Fix: some combinations of typeface + font size + line height cause edge case overflow in the body element
  • Fix: goto page navigation from text input field using enter key with/without keyboard modifiers was broken due to mishandling of form submit event
  • Fix: the 'assert' module of NodeJS introduced a strange bug causing high-CPU load and some sort of infinite loop/wait during usage of the ok() function, now replaced with vanilla JS equivalent
  • Fix: OPDS HTTP(S) redirect agent
  • Fix: selection highlights must be mounted/unmounted for previous href during location change event, in two-page spread fixed layout where clicking on displayed pages triggers the href switch
  • Fix: LCP/LSD HTTP request timeouts are now 2s / 5s (was default 60s / one minute!)
  • Fix: mouse wheel and trackpad gesture scroll were inverted on the vertical Y axis (note that MacOS "natural" switches both X and Y axis)

New in Thorium Reader 1.7.1 (Jun 18, 2021)

  • MathML support: updated to latest MathJax library (3.2.0)
  • OPDS catalog: prevent adding the same feed URL multiple times
  • Publication rendering: automatically hide mouse cursor in document viewport when inactive for 1 second
  • OPDS authentication: title was not human-readable in some cases
  • User interface: in fullscreen mode, automatically hide bottom and top user interface controls after 1 second of inactivity (reactivated during keyboard activity)
  • Text To Speech: support for SVG aria-label attribute and title element, new "read aloud" option for enabling/disabling utterance splitting (textual sentence detection), and possibility to skip fragmented text when invoking the previous/next navigation commands using the alt+shift key modifiers on button click, or using the available alternative keyboard shortcut
  • Content navigation UX: modal overlay panel (table of contents, landmarks, bookmarks, search, goto page) automatically closes on button/hyperlink click and keyboard enter events, except when trigerred with key modifiers shift+alt
  • OS integration: removed installer association of PDF, OPF and ZIP file extensions to avoid hijacking existing file type handlers (Thorium icon and default app launcher). This removes the "open with.." menu and double click from file explorer / Finder, but Thorium continues to support these file types via drag and drop and file chooser
  • Localization: new Swedish translation, and updated Portuguese (Portugal)
  • Fixed audio/video "track" support (CORS cross origin media URL)
  • Publication information (modal dialog overlay): now displays audiobook tracks and duration
  • PDF: removed broken paginated / column options
  • Library / bookshelf tags: avoid showing the special "about Thorium" auto-generated publication

New in Thorium Reader 1.7.0 (May 14, 2021)

  • This release includes the following (notable) new features, improvements and bug fixes:
  • Major refactor: database migration (SQLite3 / LevelDown) to Redux (JSON serialization). The DB backend will be completely removed in a future version (probably 1.8), which will complete the fix for large filesystem allocation
  • Fixed LCP passphrase hint which was incorrectly escaped (URL slashes), and English grammar was incorrect
  • Updated Chinese translation
  • Added korean translation
  • Added TTS synthetic speech voice selection (overrides engine default which selects based on language, so this forces user preference)
  • Faster audio playback rate option (2 -> 3x)
  • Fixed DAISY support, now allows opening files with .zip extension in addition to .daisy, allow subfolder(s) instead of just root .opf package, and allow opening OPF directly from not-zipped filesystem
  • Fixed OPDS description display (HTML markup)
  • Fixed MathML support regression bug, and updated to latest MathJax version, and now check for authored MathJax to avoid conflits
  • Fix: the auto-generated EPUB for "about Thorium" is now force-refreshed at every app version update
  • Fixed "all books" library view which was not reliable
  • Cancellable downloads (LCP, OPDS)
  • Fixed MacOS window manager issue
  • Fixed OPDS search (XML UTF8 BOM), en|decodeURIComponent
  • Fixed support for PDF files with unicode characters in filenames
  • Fixed OPDS search input field and home state which was not reset during feed browsing
  • Fixed OPDS authentication dialog cancel button
  • Fixed HTTP streamer, workaround for publication resource URLs / relative paths with multiple consecutive slashes
  • Fixed bookmark icon, and added progression + sorting in bookmark navigation list

New in Thorium Reader 1.6.0 (Feb 16, 2021)

  • Thorium is now based on Electron version 11.
  • Localization: updated Japanese and Spanish translations, added Finnish, Russian, Chinese translation.
  • Accessibility: improved screen reader detection to trigger force-refresh in the content webview.
  • Support for DAISY3 audio-only, audio+text and text-only talking books.
  • OPDS authentication: OAuth2 access/refresh token, HTTP cookies, SAML for Library Simplified (Lyrasis).
  • OPDS browser: better UI layout (navigation links, facets, groups).
  • The "about Thorium" information is now an automatically-generated Web Publication which opens in the reader view.
  • LCP: clarified error message for license rights.start in the future, vs. LSD expired status, added sanity check / safeguard for not-well-formed licenses (e.g. HTTP response error code body, or corrupted local file), localized URL hint hyperlink.
  • PDF: significant improvements, performance, bug fixes, layout features (still based on Mozilla PDF.js).
  • Library / bookshelf: fixed open publication from filesystem / drag-and-drop, removed unnecessary confirm dialog for importing a small number of publications using drag-drop.
  • User interface: fixed long unbreakable titles in publication info dialog, title/author ellipsis on 2-lines max layout.
  • Reader view: added support for user-installed system fonts (in addition to ReadiumCSS predefined typefaces), reflowable documents are now paginated by default (was scroll mode before), fixed the hyperlink :target CSS styles (temporary green outline), prevent mouse-drag on UI controls, links, etc. inside EPUB HTML, PDF documents.
  • Reader settings: Reduce Motion and Disable Footnotes display settings (+ moved MathJax toggle).
  • New reader navigation feature: goto begin/end of publication, CTRL HOME/END keyboard shortcuts, and shift-click on left/right arrow button icons.
  • Reader "goto page" now has a keyboard shortcut, and works with authored pageList as well as intrinsic page units such as with fixed layout FXL publications, PDF, etc.
  • Reader interaction: mouse wheel scroll and touchpad two-finger swipe/drag to turn pages left/right (on bottom footer progress bar and arrows).
  • Reader navigation panel: increased table of contents interline.
  • Reader footnotes: fixed same-document content restriction.
  • Search: fixed DOM / XHTML parsing issue, added keyboard shortcuts for find previous/next commands.
  • Divina: audio/video streaming now works.
  • Database: internal application state saved at every 3 minutes interval, plus persistence guaranteed on app shutdown (was too frequent before).
  • Development: added WebPack bundle analyser (dependency analysis), replaced deprecated TSLint with ESLint + Prettier (code linting / formatting checks).
  • ... and many more smaller changes.

New in Thorium Reader 1.5.0 (Oct 13, 2020)

  • This release includes the following (notable) new features, improvements and bug fixes:
  • Added Portuguese, Lithuanian and Italian localizations
  • Added search feature, to find text in publication documents (accessible paginated list of results + visual highlights with sequential navigation)
  • Added support for Divina "visual narrative" publications (Readium Web Pub Manifest)
  • Added preliminary integration of the PDF.js rendering engine, includes support for LCP DRM protection (Readium Web Pub Manifest packaging)
  • Added support for RTL Right-To-Left in TOC Table Of Contents, Landmarks, etc. navigation panels
  • Fixed support for secondary monitor (application windows on dynamic display coordinates / dimensions)
  • Fixed command line and file explorer integration (opening of reader windows)
  • Tweaked HTTP timeout value (request/response cycles for OPDS publication downloads, W3C Web Publications / AudioBooks and Readium Web Pub Manifest retriever / packager, etc.)
  • Improved display of OPDS indirect acquisitions (now indicate file type in import button)
  • Fixed issue where session settings section was not refreshing when language was changed
  • Application runtime upgraded to Electron 9 (and corresponding NodeJS update too)

New in Thorium Reader 1.4.0 (Oct 1, 2020)

  • Microsoft Windows: fixed a pagination / scrolling random DPI bug, which was preventing turning pages, in the middle or at the end of documents
  • Support for EPUB3 FXL Fixed Layout two-page spreads
  • Support for EPUB3 Media Overlays and TTS readaloud (both with optional clean overlay view / caption mode), with same keyboard shortcuts as audiobooks
  • Localisation: new Japanese user interface translation, fixed Spanish labels (missing and existing), corrected English typos
  • In preparation for linking to annotations and search results, navigator now supports DOM Range scroll-into-view (paginated and scroll views), which allows sub-element referencing (for when HTML text spans across CSS columns or scrolling viewport boundaries)
  • Development: added fast compiler option, skip Typescript type checking (transpile only)
  • Production builds continue to use LevelDown database for the CouchDB adapter, but automated CI and developer builds now use SQLite3 instead of the obsolete JsonDown store which was slow and buggy (uncontrolled file size growth)
  • LCP/LSD "return" and "renew" errors now trigger a toast notification to inform the user, friendlier passphrase dialog error reporting, and fixed clipboard copy right
  • Audiobooks: no cover was causing an internal crash, support for float values in duration time syntax with iso8601 format
  • Improved fullscreen UI layout
  • LCP or OPDS download without Content Type attribute in Link, now fallback to HTTP response headers (content-type/disposition)