diff --git a/AGENTS.md b/AGENTS.md index 64bec578..6fd6f9a8 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -767,7 +767,15 @@ jupyter lab notebooks/MorphoBricks_Preprocessing.ipynb - **v0.3.1** (to be tagged, question 36): `discovery.position_id`, the one function every MorphoBricks brick names positions with (D85), also removes `.png`, `.jpg`, `.jpeg`, `.bmp`, `.gif` and `.npy` (naming only) and refuses a name that is only an extension - (PR #33). Outputs unchanged. + (PR #33). Outputs unchanged. Released 29 October 2026. +- **v0.3.2** (to be tagged, question 37): the fixes from the data-flow audit of + 29 October 2026 (#35–#39): negative mask labels refused (PR #40); a malformed OME-Zarr + labels group is `unreadable_mask` (PR #41); differing channel names are an error, + compared exactly after trimming leading and trailing whitespace, recorded as + `channel_names_trimmed` (PRs #42, #45); masks get Z/T plane identity and a 2D mask for a + multi-plane image is refused (PR #43); strict manifest flags, per-file roles and uint64 + labels (PR #44); a folder holding images and subfolders is an error (PR #46); the + normalization brick pinned to v0.3.2 (PR #47). - **Next (not started):** the notebook step for the masks (name each mask, confirm or correct the relationships) and a file saving those answers for the other bricks (question 32); 3D and time-lapse masks later. diff --git a/docs/plan.md b/docs/plan.md index c726fd9a..33dab2b1 100644 --- a/docs/plan.md +++ b/docs/plan.md @@ -896,3 +896,13 @@ Raised during review; to be decided before the milestones that need them: that is only an extension. Outputs and their schema versions are those of v0.3.0, with the normalization brick's v0.3.1. The version in `pyproject.toml` is 0.3.1 before tagging. Every brick pins this tag (D79), CellPatcher's core dependency included.* +37. What does v0.3.2 hold? + *Decided (30 October 2026): v0.3.1 and the fixes of the data-flow audit of 29 October + 2026 (issues #35–#39), PRs #40–#47: negative mask labels refused; malformed OME-Zarr + labels reported as `unreadable_mask`; differing channel names an error (exact after + trimming leading and trailing whitespace, recorded per file); mask Z/T plane identity, + with a 2D mask for a multi-plane image refused; strict manifest flags; a folder holding + images and subfolders an error; the normalization brick's v0.3.2, whose reader checks + each row's `plane_id`, `image_file` and `bit_depth`. Inputs that passed before may now be + refused. The version in `pyproject.toml` is 0.3.2 before + tagging. Every brick pins this tag (D79).* diff --git a/pyproject.toml b/pyproject.toml index ed7e5928..6a13aa7f 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "hatchling.build" [project] name = "morphobricks-preprocessing" -version = "0.3.1" +version = "0.3.2" description = "MorphoBricks preprocessing brick: per-plane intensity histograms and normalization methods for microscopy TIFFs." readme = "README.md" license = "MIT"