Added
--formatoncheckandmeta show, as the veripublica conventions
ask of every command.check --format <human|json>:jsonis the shared
machine envelope.meta show --format <human|metadata>:metadatais the
book's metadata as a JSON object — notjson, which the conventions reserve
for the envelope.--jsonkeeps working on both as the older spelling
(--format jsonand--format metadatarespectively) and prints the same
bytes. An unsupported value,--formatgiven twice, or--jsontogether
with--formatexits2with 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
ocrs0.13 onrten0.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-xml0.41 → 0.42, the parser that reads and rewrites each book's
package document, metadata and content for convert, kepub,metaand
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
- @dependabot[bot] made their first contribution in #47
Full Changelog: cli-v2.0.0...cli-v2.1.0