Skip to content

Epubespiar v0.5.0 (lite)

Latest

Choose a tag to compare

@the1Riddle the1Riddle released this 31 Oct 16:55
· 1 commit to main since this release
83b8a45

Release Notes

Latest Update

This update improves how CSS stylesheets are handled during EPUB chapter processing for better compatibility, particularly in Firefox.

EPUB Processing

  • Stylesheets are now inlined with a <style> tag in parseAndProcessChapter instead of being linked via blob: URLs. This resolves issues where Firefox blocks blob-based stylesheets.

Other Improvements

  • Image bundling has been refined so redundant images are no longer generated.

The following are all the versions that lead towards this release.


Version 0.4.4

Released: October 12, 2026

This update includes dependency updates, security improvements, and enhancements to HTML parsing and code highlighting in the reader UI. It also introduces a modular, composable architecture for the EPUB reader that improves organisation, maintainability, and extensibility while creating a cleaner separation of concerns and laying the foundation for more robust EPUB handling and future UX improvements. A new build-time patch was added for the jszip library to avoid eval-like constructs.

EPUB Processing and Fetching

  • Added resilient network fetching with retry logic for more reliable loading of books from URLs.
  • Added support for secure EPUB downloads with filename sanitisation.

UI Rendering and Security

  • Replaced direct innerHTML assignment with parsing and insertion via DOMParser and replaceChildren, reducing XSS risk and improving rendering inside the shadow DOM.
  • Introduced a fragmentFromHtml utility and updated highlightCodeBlocks to use DOMParser and replaceChildren for safer, more accurate syntax highlighting of code blocks.

Build Tooling

  • Added a Vite plugin (patchJszipEval) in vite.config.js that patches jszip by replacing unsafe new Function usage with safe string coercion.
  • Updated deprecated dependencies to newer versions for improved stability and security.

Version 0.4.3

Released: September 28, 2026

  • Refactored book style handling so styles are isolated and displayed correctly in the book renderer.
  • Fixed duplicated heading titles.
  • Improved book storage so reading progress is preserved even when books are added via drag and drop.
  • Refactored the EPUB renderer for better manageability and maintainability.

Version 0.4.2

Released: July 4, 2026

  • Fixed broken progress tracking for EPUB books across reader tabs.

Version 0.4.1

Released: June 22, 2026

** Optimised Style and Body Extraction**

  • Styles and chapter bodies are now extracted once during archive loading (in App.vue) instead of being re-parsed on every render.
  • Processed styles and HTML are stored as chapter.styles and chapter.body.

Static Styles & Content Rendering

  • EpubRenderer.vue now renders chapter.styles inside a hidden div alongside chapter.body in each chapter container.

Syntax Highlighting

  • Integrated robust syntax highlighting that runs on all pre / code blocks on mount and whenever chapters load.

Theme Adaptation

  • Added code rendering rules and dark-mode overrides to style.css.
  • Light mode uses default styles so original EPUB inline/stylesheet colors take precedence.
  • Dark mode (both @media (prefers-color-scheme: dark) and html[data-theme="dark"]) forces transparent backgrounds and readable text, and switches syntax highlighting to a custom dark palette.