Skip to content

Release 1.6 Doc Updates [skip ci]#8882

Draft
ericspod wants to merge 3 commits into
Project-MONAI:devfrom
ericspod:updates_for_1_6_release
Draft

Release 1.6 Doc Updates [skip ci]#8882
ericspod wants to merge 3 commits into
Project-MONAI:devfrom
ericspod:updates_for_1_6_release

Conversation

@ericspod
Copy link
Copy Markdown
Member

Part of #8874

Description

This updates documentation and other components for the 1.6.0 release.

Types of changes

  • Non-breaking change (fix or new feature that would not break existing functionality).
  • Breaking change (fix or new feature that would cause existing functionality to change).
  • New tests added to cover the changes.
  • Integration tests passed locally by running ./runtests.sh -f -u --net --coverage.
  • Quick tests passed locally by running ./runtests.sh --quick --unittests --disttests.
  • In-line docstrings updated.
  • Documentation updated, tested make html command in the docs/ folder.

Signed-off-by: Eric Kerfoot <17726042+ericspod@users.noreply.github.com>
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented May 28, 2026

Important

Review skipped

Draft detected.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: fc4aacd1-0586-4c7f-a3a9-aa5aff4fa498

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@@ -0,0 +1,2 @@

# What's new in 1.6.0 🎉🎉
Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@coderabbitai propose highlight content to put here in the same style as that in docs/source/whatsnew_1_5_0.md. This should highlight major new features and additions, with a very brief summary of the minor changes done in a bullet-point list.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Get style reference
cat docs/source/whatsnew_1_5_0.md

echo "=== CHANGELOG ==="
cat CHANGELOG.md 2>/dev/null | head -200 || echo "No CHANGELOG.md"

echo "=== Current PR description ==="
gh pr view 8882 --json title,body | jq -r '.title, .body'

echo "=== Recent merged PRs into main targeting 1.6 ==="
gh pr list --state merged --limit 80 --json number,title,labels,mergedAt | jq -r '.[] | "#\(.number) \(.title)"'

Length of output: 16950


🏁 Script executed:

#!/bin/bash
fd -e md whatsnew docs/
echo "---"
# Try to find any whatsnew file
fd whatsnew . --type f

Length of output: 997


🏁 Script executed:

#!/bin/bash
cat docs/source/whatsnew_1_5.md
echo "=== 1.5.2 ==="
cat docs/source/whatsnew_1_5_2.md

Length of output: 5323



@ericspod, here's proposed content matching the whatsnew_1_5.md style:

# What's new in 1.6.0 🎉🎉

- New metrics: `EmbeddingCollapseMetric` and `CalibrationErrorMetric`
- New losses: `MCCLoss` (Matthews Correlation Coefficient) and `AUCMarginLoss`
- `GradientAccumulation` utility for `SupervisedTrainer`
- Nested dot-notation access in `ConfigParser`
- Global coordinates support in spatial crop transforms
- `TestTimeAugmentation` generalized to non-spatial predictions
- MIG UUID and `CUDA_VISIBLE_DEVICES` support in `nnUNetV2Runner`
- Auto3DSeg: replaced `pickle` with JSON for improved security in algo serialization

## New Metrics

### EmbeddingCollapseMetric
A new metric [`EmbeddingCollapseMetric`](https://github.com/Project-MONAI/MONAI/pull/8815) detects representational collapse in medical imaging model embeddings, useful for self-supervised and contrastive learning workflows.

### CalibrationErrorMetric
[`CalibrationErrorMetric`](https://github.com/Project-MONAI/MONAI/pull/8707) and a corresponding `CalibrationError` handler measure how well predicted probabilities align with observed outcomes — important for clinical deployment of models.

## New Losses

### MCCLoss
[`MCCLoss`](https://github.com/Project-MONAI/MONAI/pull/8785) implements the Matthews Correlation Coefficient as a differentiable loss function, providing a balanced measure even under class imbalance.

### AUCMarginLoss
[`AUCMarginLoss`](https://github.com/Project-MONAI/MONAI/pull/8719) enables direct optimization of the AUROC metric via a margin-based surrogate loss.

## GradientAccumulation for SupervisedTrainer
A new [`GradientAccumulation`](https://github.com/Project-MONAI/MONAI/pull/8763) utility for `SupervisedTrainer` enables effective larger batch sizes on memory-constrained hardware by accumulating gradients over multiple steps.

## Nested Dot-Notation Access in ConfigParser
[`ConfigParser`](https://github.com/Project-MONAI/MONAI/pull/8858) now supports nested dot-notation access, making it easier to address deeply nested configuration keys in bundle configs (e.g., `network_def.layers.0.out_channels`).

## Global Coordinates in Spatial Crop Transforms
Spatial crop transforms [now support global coordinates](https://github.com/Project-MONAI/MONAI/pull/8794), allowing crops to be specified in world space rather than voxel indices.

## Minor Changes
- Generalized `TestTimeAugmentation` to support non-spatial predictions (`#8715`)
- Added MIG UUID and `CUDA_VISIBLE_DEVICES` support to `nnUNetV2Runner` (`#8716`)
- Replaced `pickle` with JSON in Auto3DSeg algo serialization (`#8695`)
- Fixed align_corners mismatch in `AffineTransform` (`#8690`)
- Fixed batch size broadcasting bug in `GeneralizedWassersteinDiceLoss` (`#8744`)
- Fixed swapped `input_amplitude`/`target_amplitude` in `JukeboxLoss` (`#8821`)
- Fixed `register_buffer` usage for kernel in `LocalNormalizedCrossCorrelationLoss` (`#8818`)
- Fixed `load_old_state_dict` key mapping in `AutoencoderKL` (`#8786`)
- Fixed nested `Compose` `map_items` in forward and inverse paths (`#8787`)
- Fixed multi-axis shear transform matrix composition (`#8778`)
- Fixed `AutoencoderKlMaisi` forcing CUDA transfer on CPU inputs (`#8736`)
- Fixed `TrainableBilateralFilter` 3D input validation (`#8729`)
- Fixed memory leak in `optional_import` traceback handling (`#8782`)
- Fixed `make_gaussian_kernel` truncated parameter unit mismatch (`#8781`, `#8783`)
- Fixed `SoftclDiceLoss` API compatibility with `DiceLoss` (`#8703`)
- Fixed `EnsureChannelFirst` `meta_data` handling when `track_meta=False` (`#8835`)
- Replaced `BaseException` with `Exception` across codebase (`#8859`)
- Avoided eager C-order copy in `NibabelReader` (`#8825`)
- Replaced direct `np.random.*` calls with `np.random.RandomState` instances (`#8798`)
- FFT module cleanup and updates (`#8762`, `#8766`)
- Various documentation and docstring improvements (`#8730`, `#8797`, `#8817`, `#8849`, `#8850`)
- Performance micro-optimizations in core utilities (`#8748`, `#8749`, `#8751`)
- Updated base Docker image to 25.12 (`#8738`)

Feel free to adjust the major-feature sections — particularly if any features need images or more detail added later (similar to the MAISI section in 1.5).

@ericspod ericspod mentioned this pull request May 28, 2026
41 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant