Fixed
- A
<font face>is written into the upgrade's stylesheet only when it is
a plain list of family names, re-quoted by styloria, and every rule is
checked with epubveri first. Before, the face went in as written: a face
such as"Book Antiqua(unterminated quote) ora /* bmade the
stylesheet invalid and swallowed the next rule, anda } body { display: noneadded a rule of its own. Such a<font>is now left as written. On
the 562-book test shelf the 5 books with afaceupgrade byte-identically. - An
-othat names the input is refused (exit 2) on the default
command,meta set,meta enrichandimport, asrepairalready did.
Before,epublift -i book.epub -o book.epubreplaced the original book. -h/--helpnow wins over a malformed line (veripublica conventions
CLI.md §5):epublift meta enrich --typo --helpprints themeta enrich
help and exits 0 instead of failing on the unknown option. After--it is
still an operand.
Added
-i, --inputon every command (checktakes it more than once), the
form epublift's sibling tools use. A path without-istill works, with a
warning, until 5.0.0.-f, --forceon every command that writes files. Until 5.0.0 an
existing output is still replaced without it, with a warning; from 5.0.0
it is refused.--format humanon the commands that had no--format(the default
command,archive,restore,import,meta set,meta enrich).- An Exit codes section and examples in every command's help.
Changed
-hprints the same full help as--help.- A flag given twice (
--webp --webp) means the same as once instead of
failing; an option with a value given twice still fails. - Errors start with
error:and warnings withwarning:(was
[!] Fatal Error:).
Deprecated
-q/-rfor--quality/--report(default command;-qon
restore):-qis the family's--quiet. They warn and go in 5.0.0.- Paths without
-i, and several paths toarchive/restore(one-i
per run, a file or a folder, from 5.0.0).
Build
- Release binaries are built with thin LTO instead of fat: a cold release
build takes 83 s instead of 193 s (measured locally), with no measurable
change in speed and identical output; the binary grows from 20.6 to
24.0 MB (macOS arm64).
See docs/usage.md, "Moving to 5.0.0".
Full Changelog: cli-v4.4.1...cli-v4.5.0