Repository navigation
Release v0.5.2 - #290
Merged
Merged
Release v0.5.2#290
Conversation
…or the redesigned notebook - pyproject, the notebook's current_version/RELEASE_TAG, the version index and the README pins: 0.5.2. Normalization stays pinned at its tag v0.5.0 (1291b09, plane_histograms v5). - CHANGELOG "Unreleased" becomes "v0.5.2 (12 November 2026)" with Breaking / Added / Changed / Fixed / Migration sections (manifest v5, plane_histograms v5, resolver contract v2, the 8-connected mask scan and report v4, channels by ID), a table for bricks, and the merged sections of #278, #280, #282, #284-#289 under their own headings. - docs/colab-release-check.md walks the seven redesigned steps: the viewer, the axes from the quick scan, X/Y pixel size, the extra-stain folder, grouped labels, the Z-stack projection, the time-lapse and the OME-Zarr copy. - docs/conformance.md: the v0.5.2 release record (check.py 5460 passed, 4 environment skips; Spec modules 1799 passed, 0 skipped, 25 modules), measured on this tree before the record. - Stale docs after #288: contract §9 and the user guide named manifest version 4. - AGENTS.md status: v0.5.2, normalization v0.5.0. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
RELEASE_REF = 1244527 (RELEASE_TAG v0.5.2, set with current_version in that commit), with its PreprocessingNotebook() call recorded in RELEASE_CALLS and the test that asserts the ref, the same two-commit pattern as v0.5.0 (3b616a0, c74d717) and v0.5.1 (d023ff9, a4154ad). A commit cannot hold its own SHA, so the notebook installs the preparation commit, whose package code is the release's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Contributor
Author
Measured on B
|
| Result | |
|---|---|
python tools/check.py |
Ruff clean, 457 files formatted, pytest 5460 passed, 4 skipped, 0 failed, code rules passed, exit 0. Same counts as on A's tree |
Spec modules pytest -rsxX tests/test_spec_*.py |
1799 passed, 0 skipped |
| Install from GitHub at B | In a fresh venv, pip install "morphobricks-preprocessing[notebook] @ git+…@c4173dcd4e713135f06b8a838f796624ea635af9" gives 0.5.2, with normalization 0.5.0 and ipywidgets 8.1.9. The installed package equals src (diff -r). PreprocessingNotebook() builds welcome(), steps() and results_step() (three VBoxes). RESOLVER_VERSION is 2 and MANIFEST_VERSION is "5" |
Shipped notebook, unmodified, real kernel (nbclient), fresh venv with only ipykernel/nbclient |
1. Cell 3 run first prints one line, CellStop "… run cell 1 (Install MorphoBricks preprocessing) first …", with traceback == [evalue].2. Cell 1 pip-installs RELEASE_REF A from GitHub (direct_url.json commit 1244527…) and prints Ready: preprocessing 0.5.2; normalization 0.5.0; ipywidgets 8.1.9. and "pinned v0.5.2 candidate (1244527)". The installed files equal src.3. Cell 2 prints its one-line note. 4. Cell 3 displays the app (a widget view) |
Skips (not run):
test_cli_log.py:166,test_folder_rules.py:199andtest_folder_rules.py:230: the file system is case-sensitive.test_discovery.py:665: the tests run as root.
Generated by Claude Code
…e branch The one conflict is CHANGELOG.md: #291's Unreleased block becomes the subsection "Conversion record version 4 (#291)" of v0.5.2, before the notebook redesign; the next commit moves it into the release notes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
Commit A' of the release PR, after main (ac2dc27, #291) was merged in. - CHANGELOG v0.5.2: Breaking gains conversion record version 4 (version 3, every v0.5.1 folder of copies, refused with the fix: convert the originals again into a new folder); the summary, the OME-Zarr copy's line (no longer "record version 3 kept"), Migration (users and the bricks' table) follow; #291's notes stay as their own subsection. - README upgrading paragraph and AGENTS.md status: the conversion record. - docs/colab-release-check.md: projected copies written by v0.5.1 are not offered and one line says why (item 17); a v0.5.1 folder of copies is refused naming the fix (item 21). - docs/conformance.md: the v0.5.2 record measured on this tree (check.py 5476 passed, 4 environment skips; Spec modules 1799 passed, 0 skipped, 25 modules); the record version question is the owner's decision now. - RELEASE_REF back to v0.5.1's d023ff9 (and its test), as in the first commit A; the next commit points it at this one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
RELEASE_REF = 6a151b8 (RELEASE_TAG v0.5.2), with its PreprocessingNotebook() call recorded in RELEASE_CALLS and the test that asserts the ref: the same two-commit pattern as v0.5.0 (3b616a0, c74d717), v0.5.1 (d023ff9, a4154ad) and the first v0.5.2 pair (1244527, c4173dc), which #291 replaced. A commit cannot hold its own SHA, so the notebook installs the preparation commit, whose package code is the release's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
…s) into the v0.5.2 release branch Two conflicts. CHANGELOG.md: #292's Unreleased block becomes the subsection "Axes confirmation and the image type on Channels (#292)" of v0.5.2, before #291's; the next commit moves it into the release notes. docs/colab-release-check.md: the release branch's walk-through is kept as it was; the next commit adds #292's items to it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
…n Channels (#292) Commit A'' of the release PR, after main (25c561f, #292) was merged in. - CHANGELOG v0.5.2: the summary and Changed gain #292 (Working… and the progress bar of the axes confirmation, a failure said in red, no picture read for the folded per-folder image-type rows, the image type proposed at the quick scan and confirmed on Channels); #292's notes stay as their own subsection. - docs/colab-release-check.md: Images shows the image type, display only; Axes shows Working… and the bar, and no image type; Channels starts with the image type. - docs/user_guide.md: the image type moves from step 2 to step 3 (and the quick scan's display-only line, the Working… state). - docs/conformance.md: the v0.5.2 record measured on this tree (check.py 5487 passed, 4 environment skips; Spec modules 1799 passed, 0 skipped, 25 modules). - RELEASE_REF back to v0.5.1's d023ff9 (and its test), as in commits A and A'; the next commit points it at this one. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
RELEASE_REF = cadbed4 (RELEASE_TAG v0.5.2), with its PreprocessingNotebook() call recorded in RELEASE_CALLS and the test that asserts the ref: the same two-commit pattern as v0.5.0 (3b616a0, c74d717), v0.5.1 (d023ff9, a4154ad), the first v0.5.2 pair (1244527, c4173dc) and A', B' (6a151b8, 90f86cc), which #292 replaced. A commit cannot hold its own SHA, so the notebook installs the preparation commit, whose package code is the release's. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Rebuilt again on 12 November 2026, after #292 merged as
25c561f. #292 covers the owner's v0.5.2 Colab test: the axes confirmation is shown at once and is faster, and the image type moved to Channels. The PR branch was not force-pushed. In order, it holds:1244527(A) andc4173dc(B);e5acf8c, which mergedmainatac2dc27(Conversion record version 4: refuse version 3, require source_relative_path where written #291);6a151b8and B'90f86cc;6723955, which mergesmainat25c561f(Axes: show the confirmation at once and make it faster; image type moves to Channels (v0.5.2 owner feedback) #292);Since v0.5.1 (
8726cb4), main has merged #278, #280, #282, #288, #289, #284-#287, #291 and #292.cadbed4bb049995b2385e3b8499c8d247d3754bdPrepare v0.5.2 again (commit A'').## v0.5.2.docs/colab-release-check.md:R_HETEROGENEOUS_LAYOUT_NOT_ENABLED.docs/user_guide.md: the image type moves from step 2 to step 3, with the scan's display-only line and the Working… state. Axes: show the confirmation at once and make it faster; image type moves to Channels (v0.5.2 owner feedback) #292 had left the guide describing it on Axes.docs/conformance.md: the v0.5.2 record, re-measured on A''s tree (below).RELEASE_REFgoes back to v0.5.1'sd023ff9, with its test and no v0.5.2 entry inRELEASE_CALLS, as in A and A'.4db97e9016d773bd97e8d29ab62911455082327ePoints the notebook at A'' (commit B'').RELEASE_REF = "cadbed4bb049995b2385e3b8499c8d247d3754bd", with the paircadbed4…→PreprocessingNotebook()inRELEASE_CALLSand the one test that asserts the ref.RELEASE_TAGstays"v0.5.2".git diff A'' B''touches only the notebook'sRELEASE_REFline,tests/test_notebook_file.pyandtests/test_notebook_setup.py.git diff A'' B'' -- src pyproject.tomlis empty, andgit diff main B'' -- srcis empty.claude/release-test-0.5.2is now at B'' (4db97e9).Breaking (summary; details in the CHANGELOG)
read_manifestandRunInputs.openwithManifestFormatError.conversion_record_unreadable, naming the fix: convert the originals again into a new folder.source_relative_path, and no other entry may.plane_histograms.csvschema version 5 (normalization v0.5.0). Columns are named by channel ID, an absent channel is blank (never zero), and a version 4 table is refused.Capabilities.parent_labels_support;parent_labels_as_area;A_MASK_NOT_INSTANCES.mask_relationships.jsonis report version 4.69a58b3.#292 changes no published file: for the same answers,
morphobricks.toml,experiment_design.csvandplane_histograms.csvare byte-identical to the files before it. This was checked on one RGB experiment and one fluorescence experiment, both with masks.Gate
python tools/check.pyon A''s tree (before the record)python tools/check.pyon B''4db97e9pytest -rsxX --junitxml tests/test_spec_*.pyEXPECTED_MODULES. The JUnit file has no skipped, failure or error casepip install --no-cache-dir "morphobricks-preprocessing[notebook] @ git+…@4db97e9016d773bd97e8d29ab62911455082327e"installs 0.5.2 (direct_url.jsoncommit_id4db97e9…), andPreprocessingNotebook()with.steps()builds. Not run: the shipped notebook's cell 1 in a real kernelNot run (environment skips, outside the Spec modules):
test_cli_log.py:166,test_folder_rules.py:199,test_folder_rules.py:230: the file system is case-sensitive;test_discovery.py:665: the tests run as root.Spec gates: unchanged. This is a G1-style record. G3 is not declared, because these are not shown: the
v05per-repeat coverage, HV3's per-channel failure, and the bricks' readers. The decision on a gate stays the owner's.For the owner
docs/colab-release-check.md. The Colab link is pinned to B'', which installsRELEASE_REFA'':https://colab.research.google.com/github/CellMigrationLab/morphobricks-preprocessing/blob/4db97e9016d773bd97e8d29ab62911455082327e/notebooks/MorphoBricks_Preprocessing.ipynbhttps://raw.githubusercontent.com/CellMigrationLab/morphobricks-preprocessing/4db97e9016d773bd97e8d29ab62911455082327e/notebooks/MorphoBricks_Preprocessing.ipynbclaude/release-test-0.5.2.main.https://github.com/CellMigrationLab/morphobricks-preprocessing/releases/new?tag=v0.5.2&target=<merge sha>&title=v0.5.2Open questions
[channels.*]inmorphobricks.toml(W_UNUSED_CHANNEL). Switching back to separate channels clears every tag, and no stale R/G/B remain. This behaviour is unchanged since Notebook: an all-RGB experiment should not need a channel label on "Your channels" #240. Recommendation: keep it for v0.5.2. If you would rather drop unused stains when every folder becomes colour, that is a small follow-up, but it changes the published file on that path.v05coverage test before G3 is declared.docs/pins.mdstill lists preprocessing at1bed024. Recommendation: update it in the Spec after the tag.🤖 Generated with Claude Code
https://claude.ai/code/session_01G3qp9AxjpGPw9xfWAUJNqc