github ePubLift/epublift cli-v2.1.0

latest releases: web-v1.18.0, cli-v2.2.0
5 hours ago

Added

  • --format on check and meta show, as the veripublica conventions
    ask of every command. check --format <human|json>: json is the shared
    machine envelope. meta show --format <human|metadata>: metadata is the
    book's metadata as a JSON object — not json, which the conventions reserve
    for the envelope. --json keeps working on both as the older spelling
    (--format json and --format metadata respectively) and prints the same
    bytes. An unsupported value, --format given twice, or --json together
    with --format exits 2 with a message naming the supported values.

Changed

  • Building from source now needs Rust 1.96 or newer (was 1.94). The minimum
    follows a stated policy — latest stable minus two, reviewed at every release —
    and a new CI job builds every shipped feature with exactly that version, so a
    dependency that raises its own minimum is caught the day it lands. Release
    binaries, packages and the Docker image are unaffected: they are built with
    the latest stable Rust.
  • Archiving is about a quarter faster. The pure-Rust Zstandard codec behind
    .eparc (structured-zstd) moves from 0.0.40 to 0.0.55, which also brings
    its decoder fixes. Measured on the 474-book test shelf: total archive time
    304 s → 234 s, archive size unchanged (+0.01%), and every combination of old
    and new versions restores every book's content exactly — archives made
    before this release open with it, and archives made with it open in older
    releases.
  • PDF OCR is about a quarter faster. The pure-Rust OCR engine moves to
    ocrs 0.13 on rten 0.26. On the scanned PDFs at hand the recognised text
    is word-for-word the same as before, in 24% less time. The OCR models are
    unchanged (still downloaded once, on first use).
  • quick-xml 0.41 → 0.42, the parser that reads and rewrites each book's
    package document, metadata and content for convert, kepub, meta and
    repair. 0.42 works in text rather than bytes and adds a fix for a panic on
    malformed attribute input. Its stricter UTF-8 handling never reaches us:
    epublift already hands it UTF-8 text, and none of the 22,847 XML documents
    on the 474-book test shelf is in another encoding. Convert, kepub,
    meta show, meta set (every field) and repair produce identical output on
    all 474 books.

What's Changed

  • build(deps): bump actions/checkout from 5 to 7 by @dependabot[bot] in #47
  • build(deps): bump docker/metadata-action from 5 to 6 by @dependabot[bot] in #41
  • build(deps): bump docker/setup-buildx-action from 3 to 4 by @dependabot[bot] in #43
  • build(deps): bump docker/build-push-action from 6 to 7 by @dependabot[bot] in #45
  • build(deps): bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #49
  • build(deps): bump brotli from 8.0.4 to 9.0.0 by @dependabot[bot] in #42
  • build(deps): bump zstd from 0.13.3 to 0.14.0 by @dependabot[bot] in #48
  • build(deps): bump sha2 from 0.10.9 to 0.11.0 by @dependabot[bot] in #44
  • build(deps): bump base64 from 0.22.1 to 0.23.1 by @dependabot[bot] in #52
  • build(deps): bump pulldown-cmark from 0.12.2 to 0.13.4 by @dependabot[bot] in #46

New Contributors

Full Changelog: cli-v2.0.0...cli-v2.1.0

Don't miss a new epublift release

NewReleases is sending notifications on new releases.