Skip to content

v2.0.0

Choose a tag to compare

@github-actions github-actions released this 29 Aug 13:49
· 37 commits to main since this release
3e511f4

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