Skip to content

chore(main): release nyxus 0.12.0 - #380

Open
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--nyxus
Open

chore(main): release nyxus 0.12.0#380
github-actions[bot] wants to merge 1 commit into
mainfrom
release-please--branches--main--components--nyxus

Conversation

@github-actions

@github-actions github-actions Bot commented Jul 17, 2026

Copy link
Copy Markdown

🤖 I have created a release beep boop

0.12.0 (2026-07-22)

⚠ BREAKING CHANGES

  • omezarr: OME-Zarr support now requires z5 3.0.1 and C++20; xtensor/xsimd are no longer used.

Features

  • add 2D test coverage for touch and morphology feature families (3f576d9)
  • add IBSI Intensity Histogram features, per-bin HISTOGRAM output, and --mergerois (5b517f4)
  • add unittest coverage to all 214 3D features, labeling tests with clear ground truth (b89a9ac)
  • Benchmark area fix (#345) (b532f21)
  • helpers: add ceil_pow2 (tight next power of two) (d0992dc)
  • hounsfield: --preserve-hu CT/Hounsfield intensity preservation (1b5667f)
  • hounsfield: keep HU offset base at scanned slide min under fp-options; enable bare CLI --preserve-hu (43f8063)
  • hounsfield: wire --preserve-hu through the 3D NIfTI loader (65c9ad9)
  • omezarr: migrate to z5 3.0.1 ArrayView API, drop xtensor (225b9b9)
  • re-organize and create complete implementation unit test coverage for 492 2D features (#346) (011df60)
  • vetting: check_coverage CLI (--check/--write) + drift guard (0ad65ee)
  • vetting: check_coverage registry load + schema/token validation (44d2bfa)
  • vetting: coverage stats + markdown report generation (0f85581)

Bug Fixes

  • 3d-shape: correct mislabeled axis lengths + vet 7 morphology features (0af100b)
  • 3d: compute 3ROBUST_MEAN (was hardcoded 0) + vet 18 3D first-order features (79d0974)
  • audit and fix 2D feature tests 1/n (c5cf260)
  • caliper: correct Martin/Nassenstein diameters + vet 12 features vs imea (bc3e92a)
  • caliper: float-precision hull rotation + address PR #381 review (3377183)
  • categorize and name feature unit tests and expected values (d854679)
  • chords: correct max-chord angle index and all-chords histogram source (bd9a930)
  • cleare state and start fresh to avoid random test failure. (495f05c)
  • convex-hull: Pick's-theorem hull area so SOLIDITY <= 1 (0319932)
  • emit per-bin HISTOGRAM values in arrow/parquet output (01ac9c2)
  • fractal-dim: adaptive box counting and a clean divider perimeter (c981743)
  • fractal-dim: address PR review comments (98a4f2d)
  • fractal-dim: align the ROI to the box-counting grid (98e53ec)
  • fractal-dim: mean log-log slope for box-count, Richardson D for perimeter (af37142)
  • glcm: default co-occurrence offset to 1 and exclude background (02c5a75)
  • glcm: normalize HOM2/ENTROPY by sum_p (2D+3D) + fully oracle-vet GLCM (60a1ebb)
  • gldm: exclude background from the dependence matrix (f1f8eb4)
  • handle multi-valued HISTOGRAM in buffer output (Python pandas/arrow) (246f4dd)
  • hexagonality,lstsq: use std::abs so gcc/Linux doesn't truncate doubles to int (88a6f53)
  • issue 327 single roi polus (#330) (03eeb0c)
  • loader: clamp negative signed-int pixels so int16 CT doesn't wrap to a huge unsigned value (fac1bac)
  • make imagecodecs PIP_ONLY_BINARY (b5fa20a)
  • migrate build_and_test from macos-15-intel to macos-14 (ac70de1)
  • mitigate exposed bug due to incorrect reading of bx in 3d_surface (24d18ee)
  • moments: correct Hu invariant h5/h6 formulas (9x bracket, stray +eta03) (73f6ca8)
  • moments: use fractional centroid in 2D central moments (drop (int) truncation) (5cbf94a)
  • neighbors: exact min distance for the touch/radius test (PERCENT_TOUCHING) (92de774)
  • neighbors: implement closest-neighbor dist/ang and cap PERCENT_TOUCHING (4322c88)
  • remove redundant calculations and avoid flushing valid old values (cdf48cf)
  • review comments on PR 352 (ec42edc)
  • stop featurize() mutating its shared default name lists (372172e)
  • upgrade Docker build to CUDA 12.6 and Python 3.11 (80b548d)
  • use raw docstrings to silence invalid escape sequence SyntaxWarning (e3bf05c)

Performance Improvements

  • omezarr: open the z5 dataset once, not per tile (9b36f84)

Documentation

  • add CLAUDE.md codebase and workflow guide (e301fe6)
  • caliper: correct inaccurate/stale comments (no code change) (cc5b4de)
  • CLAUDE: add git workflow and tests/vetting conformance rules (a548b57)
  • CLAUDE: address PR #388 review — C++20; agentic git workflow (466c038)
  • CLAUDE: address PR #388 review — generalize paths, drop z5py pin, add no-local-paths rule (4235e0c)
  • test: correct IQR/QCoD _IDX framing — discrete percentile is IBSI-conformant, not a bug (29214ba)
  • tests: add vetting audit baseline, fraclac oracle, and README (e5232c0)
  • tests: box-count golden is FracLac-vetted, not a self-consistency pin (8ccc76b)
  • tests: neighbor features are partly tool-vetted (CellProfiler), not analytic-only (7910549)
  • tests: oracle tool local-setup research (TOOLS.md) (65e0b79)
  • tests: spec for the oracle-vetting test framework (f44ff25)
  • vetting: add skimage to the SPEC 4 oracle-token set (3ee1dfd)
  • vetting: correct split to 16 ibsi + 4 analytic; file IQR_IDX flooring bug (726b082)
  • vetting: design for IBSI-vetted IH dispersion/index tests (07b1b75)
  • vetting: fix stale token count in plan example (16 ibsi + 4 analytic) (3255fef)
  • vetting: implementation plan for IBSI-vetted IH dispersion/index tests (4dfb1ff)
  • vetting: migration map + seeded oracle_coverage.csv (Phase 1, no code changes) (77f3d07)
  • vetting: record reconciled IBSI IH phantom config + index base (99df244)
  • vetting: record the config scope of the gldm promotions (7 are mode-invariant) (0780912)
  • vetting: record the config scope of the glrlm promotions (285bc39)
  • vetting: record the config scope of the glszm promotions (c4bb8b1)
  • vetting: resolve missing oracles via deep-dive research (Phase 2) (2fa0515)
  • vetting: resolve the Phase-2 reconciliation decisions (SPEC 6) (8b45ddd)
  • vetting: retract unproven 3D NGLDM "ibsi" promotions; document MIRP disagreement (b924f8e)
  • vetting: scaffold matrix/ and oracles/gen_ conventions (GLCM example) (61fdc66)
  • vetting: seed config_recipes.md (b64c82b)

Code Refactoring

  • address PR #351 review nits (c623405)
  • tests: route fractal fixture through the shared masked-loader helper (050e672)

Build System

  • arrow: require Boost for Arrow instead of Z5 (43a584f)

Continuous Integration

  • release-please: use manifest config so 0.x breaking = minor, and pin 0.12.0 (a500bd9)

This PR was generated with Release Please. See documentation.

@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--nyxus branch 7 times, most recently from 9881830 to c247198 Compare July 21, 2026 18:01
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--nyxus branch from c247198 to a53d4d8 Compare July 22, 2026 04:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants