Repository navigation
v2.0.0
Breaking Changes
- removed "rollup" --size argument, moved to rollup.finalization.size.target_mib.
- Archive manifests generated by this release use metabib.archive_manifest/2 with explicit scope; legacy metabib.archive_manifest/1 remains accepted as FB2-only.
- Dataset/database metadata now records scoped INPX author ambiguity; regenerate database manifests to get accurate FB2/USR/all disambiguation.
New Features
- Added USR/non-FB2 support across fetch, rollup, cache, merge, inspect, and INPX generation.
- Added default fetch profiles:
- flibusta, flibusta-usr, flibusta-all
- librusec, librusec-usr, librusec-all
- Implemented independent FB2/USR fetch and rollup lineages with separate high-water tracking.
- Added rollup finalization policies with rollup-state.json for period finalization state:
- size: existing size-budget behavior
- rolling: finalize after whole-day/week runtime duration
- calendar: finalize by UTC iso-week, iso-biweek, or month bucket
- Added --content fb2|usr|all to INPX generators.
- Added merge --allow-missing.
- Added inspect visibility for archive scope and scoped author ambiguity.
- Added FLibrary additional annotation output for accepted USR/FBD records.
Fixes
- INPX filename escaping now preserves physical names better and escapes only row-breaking bytes.
- Archive content selection now prefers logical artifact type over database file_type, so nested/opaque non-FB2 entries are not misclassified as FB2.
- Database filename matching preserves physical archive locators when numeric stems conflict with exact filename aliases.
Specifically
Rollup
- rollup now handles fb2-* and usr-* archives in one run.
- Daily update patterns classify source ZIPs into fb2 or usr.
Cache And Manifests
- Archive scope autodetection added:
- FB2 archives parse FB2 entries and ignore non-FB2 entries.
- USR archives keep non-FB2 records, sidecar .fbd metadata, and optional nested archive inspection.
- USR nested archive handling includes FB2 detection/ignore rules and multi-volume archive reporting.
- Archive manifests include scope-specific processing settings so stale manifests are detected correctly.
INPX
- mhl-inpx and flib-inpx can generate FB2-only, USR-only, or combined output.
- flib-inpx --additional can emit annotations for USR records from .fbd sidecars.
- Generic inpx supports filtered/split archive-backed output with FOLDER and INSNO.
Full Changelog: v1.7.0...v2.0.0