github pgaskin/kepubify v5.0.0

one hour ago

Highlights

  • Conversion is faster than v4 and uses less memory.
  • Output may differ (including koboSpan numbering) from v4.
  • More kepub renderer workarounds:
    • Paths in the manifest/ncx/nav/links are now normalized to prevent them from causing duplicate page counts and broken navigation.
    • Improved polyglot HTML generation.
  • Many bugfixes:
    • Self-closing <i> tags no longer make the rest of the book italic.
    • Spans are no longer added inside special elements.
    • Much better whitespace handling.
    • Headings are no longer hyphenated when hypenation is enabled.
    • Content documents with special characters in the path are now processed correctly.
  • More workarounds for malformed books:
    • XML 1.1 declarations are no longer rejected.
    • Significantly improved handling of malformed OPFs and content documents.
    • Significantly improved charset support and detection.
    • Malformed zip fields are now dropped.
  • CLI improvements:
    • File modification time and permissions can now be preserved for the output file.
    • KEPUBs are now rejected by default, but can also be copied or reprocessed.
    • Improved handling of output path edge cases.
  • Dummy titlepage now includes the cover image if known (or automatically detected, if enabled).
  • Kepubify no longer includes covergen and seriesmeta (use NickelSeries instead).

For developers/packagers

  • Building kepubify now requires Go 1.26+.
  • Significantly fewer dependencies.
  • JavaScript bindings are now available on NPM.
  • Can now be built with TinyGo, with the scheduler disabled.
  • Improved test suite.
  • The kepubify CLI interface is compatible with v4 (but the output may differ).
  • If embedding kepubify, I recommend caching the converted output, or letting users choose between v4/v5, as span numbering has changed slightly in some cases, especially for badly formatted books.

Don't miss a new kepubify release

NewReleases is sending notifications on new releases.