Summary
Version 3.2.1
was released on 11 August 2025
NOTE: version 3.2.0
was published as a pre-release with only Linux and Windows installers (MacOS was missing at that point). This pre-release was removed when a fixed-layout zoom bug was discovered. This bug is now fixed and will be published in patched version 3.2.1
. Apologies for the inconvenience, especially to the few Linux or Windows users who downloaded Thorium version 3.2.0
. You will get the notification when 3.2.1
is available.
This release includes the following (notable) new features, improvements and bug fixes:
- Thorium is now based on Electron v37 (and its updated Chromium version). Version 37 introduced a regression bug with audio/video streaming (time seeking) but this was fixed in time for this Thorium release.
- Localisation: added and updated translations, fixed Chinese handling (was incorrectly triggering RTL)
- PDF: new print feature, updated PDF.js rendering library
- Annotations/bookmarks: exports raw data (JSON format, W3C standard) as well as HTML template. Export is possible outside of a reader window (from the library / local bookshelf)
- Annotation highlights: support for EPUB CFI in data import/export (Colibrio open-source lib)
- Annotations/bookmarks: added a warning message when a publication that contains bookmarks/annotations is about to be removed (suggestion to export the notes)
- Annotations/bookmarks: harmonized models, editor GUI for textual notes, tag, etc.,
- Annotations/bookmarks: support for emojis via GitHub-flavoured Markdown
- Annotations/bookmarks: rendering engine displays floating popup with text excerpt on mouse hover
- Annotation highlights: now with named colours as opposed to just arbitrary RGB triplets
- Bookmarks: new visual indicator in document margins
- Bookmarks: fine-grain "current reading location" detection (mouse click) for precise character-level bookmarking (still default to implicit leading text position in visible text)
- Annotations: when highlights are hidden (not even in margin), and the user selects text + creates annotation, nothing was displayed which was causing confusion and multiple user attempts to create (duplicates). This forces the display of annotations when the user creates.
- GUI: improved the horizontal publication strips in the library window, now scrolls natively and snaps to publication covers boundaries (panning works with mouse wheel, touch swipe, arrow keys etc.)
- TTS: new highlight styles configuration GUI
- TTS readaloud fixes: on last spine item natural play ending (publication finish), turn off TTS "play on click" behaviour, also: hide annotations while playing, restore after stop. Also fixed race condition during play, click, auto forward progression, switch document backwards/forwards, and natural document/publication end (handles annotations hide/restore, continues to ignore hyperlink clicks during active readaloud, until stopped by user or automatically by TTS engine)
- TTS: fixed potential crash in Linux when selecting synthetic speech voices
- TTS: horizontally-centered TTS utterance with minimal jittering in scrolling mode
- TTS: improved readaloud mouse tracking with paragraph spanning across page boundary
- TTS: fixed pause/stop event which was causing GUI flicker
- TTS: voice selection supports multiple per-language user preferences
- Keyboard shortcuts: list / editor now with search filtering by keyword, duplicate detection, and localized labels.
- Keyboard shortcuts: user overrides now persist correctly in json partial data structure on filesystem (was incorrecty serialising all shortcuts including defaults).
- Keyboard shortcuts: display correct characters for non-QWERTY keyboard
- Navigation: fixed hyperlinking into search results which wasn't inserting history events for go back/forward
- Navigation: fixed popup footnotes back/forward hyperlinking history
- OPDS: fixed the OAuth flow which needed to be restarted when a refresh token was revoked or invalid
- Accessibility: updated support for the display guide specification
- LCP: improved LSD network timeout, added async loading spinner (GUI)
- DAISY import: fixed virtual zip archive handling of subfolders (DAISY2.02 NCC.html non-zipped publication folder, for example)
- EPUB3 Media Overlays: fixed playback of precorded audio clips with implicit natural stream ending, also fixed edge case of HTML documents that start with markup that doesn't participate in SMIL synchronization (seek ahead algorithm)
- EPUB3 Media Overlays: added GUI control checkbox for "ignore MO and read with TTS instead"
- EPUB3 Media Overlays (and DAISY2.02 DAISY3.0): improved synchronised text-audio talking books, which now fallback on TTS when pre-recorded audio clips are not present in SMIL par pairs (only text reference). Can be full SMIL-TTS book, or partial interspersed / mixed TTS / audio-clips.
- GUI: fixed the bottom progression bar which was not capable of handling great numbers of spine items, now minimum mouse cursor hit size (width) required
- Accessibility: fixed keyboard focus handling inside HTML documents, screen reader detection to avoid interfering during scroll repositioning, also avoiding element focus during selection change.
- Screen reader fix: left/right arrow hot key binding to "page turn" interferes potentially with current reading location during screen reader usage
- Accessibility fix: "skip link" in reader window is equivalent to FocusMainDeep CTRL F10 with SHIFT
- Fixed TTS Japanese Ruby handling, baseline text DOMRange-rendered but not spoken, unless Ruby is hidden/disabled. Also increased underline gap hoping to eliminate rendering artefacts in Windows
- Fix: DAISY3 DTBOOK parser was choking on 60,000 lines / 8MB frontmatter
- LCP fix: PDF import workaround for servers that respond with HTTP header content-disposition for PDF filename instead of LCPDF
- Fixed Windows publication export filename which cannot contain ":" colon
- Added support for PNLD EPUB extension (in addition to .epub and .epub3)
- Accessibility fix: automatically disable pagination (CSS columns in reflowable documents) when screen reader is detected
- Fixed AccessibleDfA typeface (dyslexic)
- Adopted ReadiumCSS font-size / zoom fix
- Image zoom/pan GUI now implemented in Thorium via localizable React GUI
- Fixed Arabic and other Right To Left metadata accessibility summary and author/publisher/contributor in publication info dialog
- Fixed zoom in pre-paginated / fixed-layout EPUB, and keyboard shortcuts for zoom in/out/reset which were not working in "zen mode"
- Fixed HTTP header content-disposition filename handling (sanitization for cross-platform Windows, Linux, Mac filesystems)