cli-v1.6.0
🏷️ New: metadata editing & ISBN enrichment
This release adds a meta subcommand to read, hand-edit, or auto-fill a book's metadata — including looking it up online by ISBN. The input is never modified; edits are written to <name>_meta.epub (or -o <path>).
# Print the current metadata (--json for machine output)
epublift meta show book.epub
# Edit by hand (repeat --author / --subject for multiple values)
epublift meta set book.epub --title "…" --author "…" --language tr --series "Dune:2"
# Auto-fill missing fields from Open Library by ISBN
epublift meta enrich book.epub --isbn 9780… --dry-runHighlights
- Language-aware enrichment.
meta enrichresolves the book's own language (dc:language, or--lang) and matches by ISBN-13, so the title/author/publisher come back in the book's language. Fields whose language differs — e.g. English work-level subjects/description on a Turkish book — are skipped by default (override with--allow-foreign-meta). No translation is ever performed. - Fill gaps, safely. Only missing fields are filled by default (
--overwriteto replace);--dry-runpreviews the changes;--include-descriptionopts the (often publisher-authored) description in. - 100% pure-Rust, no C. The Open Library lookup uses a hand-rolled HTTPS client on rustls + the RustCrypto provider + webpki-roots — no
ring/aws-lc, no C toolchain. It's behind the opt-inmetadatabuild feature;meta show/meta setneed no network and are always available. (These release binaries are built withmetadata, soenrichworks out of the box.) - ISBN that readers recognize. The ISBN is written as a
dc:identifier(urn:isbn:…), so Calibre and Apple Books surface it as the book's ISBN (adc:sourceis provenance, not an identifier). - The companion web service (
epublift-webv1.7.0) gains a matching Metadata mode — drop an.epub, optionally Fetch from Open Library, edit, and download — fully translated in all 13 UI languages.
Full design & field map: docs/metadata.md · usage: docs/usage.md
Downloads
Prebuilt binaries for Linux (x86_64 / arm64, static musl), Windows (x86_64), and macOS (Intel / Apple Silicon), plus .deb and .rpm packages — each with a .sha256. Unpack and put epublift on your PATH.
Full Changelog: cli-v1.5.2...cli-v1.6.0