Changelog
All notable changes to this project are documented here. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
The package version lives in src/codex_pdf/version.py (VERSION) and
pyproject.toml; the per-release narrative for earlier versions is recorded in
the version.py module docstring.
[1.38.0] — 2026-06-27
Section titled “[1.38.0] — 2026-06-27”Removed
Section titled “Removed”- Plate↔1-up COMPARE surface — codex reverts to extraction-only. The
plate↔1-up comparison moved out of codex into the dedicated
collateengine, so the now-redundant compare surface is removed here:POST /v1/plates/compare(and theplates_compareroute handler).- The
codex_pdf.plates.compareandcodex_pdf.plates.imposition_comparemodules. - The compare-only models
CodexPlateMatch,CodexPlateCompareResult,CodexPlateInstance, andCodexPlateDiffImage. - The
plates_compare(Python) /platesCompare(TS) client methods and theirclients/client-parity.jsonentry, plus the compare-only TS interfaces (PlateMatch,PlateRepeat,PlateInstance,PlateDiffImage,PlateRegion,PlateCompareResult). - The
schemas/v1/codex-plate-compare.schema.jsonpublished schema.
Unchanged
Section titled “Unchanged”- The plate EXTRACTION surface (
POST /v1/plates/extract→CodexPlateSet) and the unified-input plate path through/v1/extract+/v1/probeare untouched.PLATES_SCHEMA_VERSIONstays1.0.0. - The reusable raster / render / Pantone / repeat-detection primitives that the
collateengine consumes as a library are unchanged:detect_repeat/StepDetection(plates/repeat.py),_coverage_facts(plates/analyze.py),read_plate/read_plate_pages/PlateRaster(plates/reader.py),PlateSet(plates/set.py), the CIP3 / JDF / DCS parsers, the tiffsep separations renderer (render/separations.py), the Pantone authority (color/), and the AI lanes (ai/plate_diff.py,ai/plate_layout.py). TheCodexPlateRepeatmodel stays (still consumed byai/plate_layout).