Patch release on top of 0.1.125.post1, backporting the Roche Cedex Bio HT fix for a customer on the 0.1.125 line.
Fixed
- Handle dilutions, replicate measurements, and mmol/l unit in Roche Cedex Bio HT (#1244)
Specifically:
- Dilutions treated as duplicates. The same analyte measured at multiple dilutions within one sample (e.g. IgG human undiluted vs
1/5) collided. The dilution factor is now read, included in the analyte grouping key, and preserved in the analyte custom information document. - Genuine replicate measurements raised an error. A re-measurement of the same analyte inside the 1-hour grouping window now splits into a new group keyed by its own time instead of raising
Duplicate measurement. - Lowercase
mmol/lunit is normalized tommol/L.
Verification
- Cherry-picked cleanly from
main(1b963ec7) with no conflicts. - All 22
roche_cedex_biohttests pass; full parser suite (729 tests) passes;hatch run lint(ruff, black, mypy) clean. - The customer's 2.4MB export parses to 5864 groups / 6180 measurements, identical to
main. - Verified by installing the built wheel into a clean virtualenv and converting the customer file end-to-end.
Note
v0.1.125.post1 was published to PyPI on 2026-07-02 but never tagged or released on GitHub. This release's branch (release-v0.1.125.post2) is built directly on the commit whose source is byte-identical to the published 0.1.125.post1 sdist, so the lineage is intact. Tagging post1 retroactively would be worth doing separately.