owned this note
owned this note
Published
Linked with GitHub
<!-- Slicer 5.8: Summary, Highlights, and Changelog -->
> [!IMPORTANT]
> The content has been migrated to Discourse as a _Shared Draft_. Changed made here will **NOT** be synced.
# Summary
The community of 3D Slicer developers is proud to announce that version 5.8 is [now available for download](http://download.slicer.org/). This release includes new [interactive transformations](https://discourse.slicer.org/t/new-feature-interactive-transformation-adjustable-center-of-rotation/36974), generalized clipping, adjustable ambient shadows, a [visual DICOM browser](https://discourse.slicer.org/t/new-feature-visual-dicom-browser/33874), a [revamped training portal](https://training.slicer.org/), and over 15 new extensions that further expand Slicer’s capabilities. It also includes enhancements across core modules, as well as numerous performance and usability improvements.
3D Slicer 5.8 builds on the success of earlier versions that have had over 1.8 million downloads of the core application and 7.9 million downloads of extensions during the last decade.
The development of 3D Slicer—including its numerous modules, extensions, datasets, pull requests, patches, issues reports, suggestions—is made possible by users, developers, contributors and commercial partners around the world. 3D Slicer is based on a stack of open-source software and we are working constantly on updating the underlying packages. This development is funded by various grants and agencies. For more details, please see the 3D Slicer [Acknowledgments](https://slicer.readthedocs.io/en/latest/user_guide/about.html#acknowledgments) page.
Feel free to share your insights on [Discourse](https://discourse.slicer.org/) and explore how to contribute to the project (please, read our [contributing guidelines](https://slicer.readthedocs.io/en/latest/developer_guide/contributing.html)). If you need help using Slicer, want to report a problem, request a feature, or share how Slicer has contributed to your work, visit our [Get Help](https://slicer.readthedocs.io/en/latest/user_guide/get_help.html) section.
[slicer.org](https://www.slicer.org/) serves as the central hub for the application, training materials, and the development community, offering a series of tutorials and data sets through the [Slicer Tutorials](https://slicer.readthedocs.io/en/5.8/user_guide/getting_started.html#tutorials) page.
_Please note that Slicer continues to be a research package and is not intended for clinical use (clinical users must obtain the necessary ethics or regulatory approvals)._
_The `5.8.0` version was released on January 23rd, 2025, under the tag [v5.8.0](https://github.com/Slicer/Slicer/tree/v5.8.0). Subsequently, the `5.8.1` followed on March 2nd, 2025, tagged at [v5.8.1](https://github.com/Slicer/Slicer/tree/v5.8.1). For information on prior releases, please see the [Release Details](https://github.com/Slicer/Slicer/wiki/Release-Details) page._
# Highlights
* Introduce [**Interactive transformations with adjustable center of rotation:**](https://discourse.slicer.org/t/new-feature-interactive-transformation-adjustable-center-of-rotation/36974) Add the ability for any node to be translated, rotated, or scaled using interactive handles in both slice and 3D views. Editing operations can be constrained to specific axes, and the center of rotation can be freely chosen. Visualization options for interaction handle widgets can be customized to display only relevant handles/axes in each view. This updated interaction handle pipeline is also integrated with Markups, providing the same improved visualization for both Transforms and Markups.
| | Before | After |
|:--:|:--:|:--:|
| **Transforms** |  | |
| **Markups** |  |  |
* **Allow adjusting ambient shadow intensity:** Add shift and scale sliders in the 3D view controller to linearly modify ambient shadows. This makes it possible to darken ambient shadows (by increasing scale) without dimming the entire 3D scene (by increasing shift).
|  |
|:--:|
| Shadow of the rib cast on the kidney behind it.<br>**Left** - no shadows. \| **Center** - default shadows (100%/0%). \| **Right** - strong shadows (200%/20%)<br> |
* **Add Visual DICOM browser**: Provide a [new user interface](https://discourse.slicer.org/t/new-feature-visual-dicom-browser/33874) for quick viewing and retrieval of patient images stored on remote DICOM servers. The new browser focuses on clinical workflows that involve all images of a single patient rather than multi-patient management.
|  |
|:--:|
| Visual DICOM Browser |
* **Add clipping options to models, segmentation, and volume rendering:** Introduce a new `vtkMRMLClipNode` class that specifies the combination of implicit functions used for clipping. Nodes such as `vtkMRMLMarkupsPlaneNode`, `vtkMRMLMarkupsROINode`, `vtkMRMLSliceNode`, `vtkMRMLModelNode`, or additional `vtkMRMLClipNode`s may be referenced from the `vtkMRMLClipNode`. Each provides a `GetImplicitFunctionWorld()` method that returns a `vtkImplicitFunction` to apply clipping operations to other nodes.
|  |  |
|:--:|:--:|
| Node clipping of model, segmentation and volume rendering | Clipping node widget |
* **New Training Portal**: Launch a training portal at [training.slicer.org](https://training.slicer.org), which replaces the historical MediaWiki-based approach with a modern static site generator (Jekyll) and modular tutorials. Each tutorial can live in its own GitHub repository for easier creation, revision control, and release-asset management. Future work will automate tasks such as translation and test execution.
| |
|:--:|
| [3D Slicer Training Compendium](https://training.slicer.org) |
* Introduce over **15 new extensions** that integrate advanced AI-based segmentation, collaborative segmentation workflows, 3D simulation frameworks, comprehensive morphological analysis, specialized diffusion pipelines, streamlined tutorial creation, and more.
# Changelog: 5.8.0
## Core
### Rendering & display
- Add clipping options to models, segmentation, and volume rendering ([PR-7996](https://github.com/Slicer/Slicer/pull/7996), [PR-8087](https://github.com/Slicer/Slicer/pull/8087))
- Allow disabling layer blend clipping to background in slice views ([PR-7886](https://github.com/Slicer/Slicer/pull/7886))
- Add option to display shadows in 3D views ([PR-7515](https://github.com/Slicer/Slicer/pull/7515))
- Allow setting ambient shadows intensity ([PR-7822](https://github.com/Slicer/Slicer/pull/7822))
- Disable shadows in 3D views by default ([PR-7583](https://github.com/Slicer/Slicer/pull/7583))
- Add option to display slice edges in 3D view ([PR-8008](https://github.com/Slicer/Slicer/pull/8008))
- Re-enable display of interaction handles in VR ([PR-7630](https://github.com/Slicer/Slicer/pull/7630))
- Allow reslicing of 32-bit integer images ([PR-7292](https://github.com/Slicer/Slicer/pull/7292))
- Fix backface color on Slice nodes in 3D views ([PR-8056](https://github.com/Slicer/Slicer/pull/8056))
- Standardize fit slice to volume behavior ([PR-8063](https://github.com/Slicer/Slicer/pull/8063), [PR-8076](https://github.com/Slicer/Slicer/pull/8076))
- Fix fit slice view if no background volume is selected ([PR-7986](https://github.com/Slicer/Slicer/pull/7986))
- Fix interaction handle enable/disable not working in views ([PR-8068](https://github.com/Slicer/Slicer/pull/8068))
- Fix slice view “More Options” opening by default ([PR-8096](https://github.com/Slicer/Slicer/pull/8096))
- Ensure background SeriesTime corner annotation is displayed ([PR-8122](https://github.com/Slicer/Slicer/pull/8122))
### IO
- Show more details about scene changes on close or exit ([PR-8000](https://github.com/Slicer/Slicer/pull/8000))
- Improve `vtkMRMLVolumeArchetypeStorageNode` for left-handed volumes ([PR-7627](https://github.com/Slicer/Slicer/pull/7627))
- Improve ultrasound reading ([PR-7649](https://github.com/Slicer/Slicer/pull/7649))
- Improve automatic detection of NIFTI displacement field transform files ([PR-7967](https://github.com/Slicer/Slicer/pull/7967))
- Show warning if data loss occurs when saving to TIFF ([PR-7655](https://github.com/Slicer/Slicer/pull/7655))
- Allow aliases for NRRD "type" header in postNRRD ([PR-7664](https://github.com/Slicer/Slicer/pull/7664))
- Log more information when NRRD reading fails ([PR-7700](https://github.com/Slicer/Slicer/pull/7700))
- Improve automatic detection of segmentation files ([PR-7967](https://github.com/Slicer/Slicer/pull/7967))
- Reduce bundle temp directory length when saving scene MRB ([PR-7899](https://github.com/Slicer/Slicer/pull/7899))
- Make minor fixes from 5D NRRD IO development ([PR-7880](https://github.com/Slicer/Slicer/pull/7880))
- Fix reading of images that have a left-handed IJK coordinate system ([PR-7746](https://github.com/Slicer/Slicer/pull/7746))
- Fix saving of NRRD files with certain filenames ([PR-7616](https://github.com/Slicer/Slicer/pull/7616))
- Make automatic detection of segmentation files more robust ([PR-7738](https://github.com/Slicer/Slicer/pull/7738))
- Make segmentation .seg.nrrd file reading more robust ([PR-7738](https://github.com/Slicer/Slicer/pull/7738))
- Fix export of VTK unstructured grid ([PR-7760](https://github.com/Slicer/Slicer/pull/7760))
- Fix reading of volume property (`.vp`) file ([PR-7772](https://github.com/Slicer/Slicer/pull/7772))
- Fix tensor image reading ([PR-7773](https://github.com/Slicer/Slicer/pull/7773))
- Fix saving with long node names ([PR-8028](https://github.com/Slicer/Slicer/pull/8028))
- Fix loading and saving `.mrb` files with trailing space in filename ([PR-8134](https://github.com/Slicer/Slicer/pull/8134))
### Performances
- Update ITK to suppress irrelevant TIFF warnings ([PR-8016](https://github.com/Slicer/Slicer/pull/8016))
### Fixes
- **Do not show** warning popup on exit if camera node is changed ([PR-8000](https://github.com/Slicer/Slicer/pull/8000))
- Re-introduce logging of unparsed arguments (to log file only) ([PR-7943](https://github.com/Slicer/Slicer/pull/7943))
- Fix crash when module category name matches a module name ([PR-7524](https://github.com/Slicer/Slicer/pull/7524))
- Fix Model DM crash when adding display node ([PR-8131](https://github.com/Slicer/Slicer/pull/8131))
- Fix crash when hovering over interaction handles after scene load ([PR-8067](https://github.com/Slicer/Slicer/pull/8067))
- Suppress "Populating font family aliases" warning on macOS ([PR-8159](https://github.com/Slicer/Slicer/pull/8159))
- Remove unneeded display of ignored command line arguments ([PR-7941](https://github.com/Slicer/Slicer/pull/7941))
- Remove "Active" prefix from some node selection comboboxes ([PR-7985](https://github.com/Slicer/Slicer/pull/7985))
### Application
- Display instantiated module name in splash screen ([PR-7454](https://github.com/Slicer/Slicer/pull/7454))
- Allow dragging of splash window ([PR-7527](https://github.com/Slicer/Slicer/pull/7527))
- Support dragging of the splash window just after clicking on it ([PR-7532](https://github.com/Slicer/Slicer/pull/7532))
- Update `Slicer.crt` CA bundle ([PR-7575](https://github.com/Slicer/Slicer/pull/7575), [PR-7781](https://github.com/Slicer/Slicer/pull/7781), [PR-7916](https://github.com/Slicer/Slicer/pull/7916), [PR-8054](https://github.com/Slicer/Slicer/pull/8054))
### Extension
- Support specifying contributor extension metadata with newlines ([PR-7720](https://github.com/Slicer/Slicer/pull/7720))
- Switch extension index entry format from `.s4ext` to `.json` ([PR-7709](https://github.com/Slicer/Slicer/pull/7709))
- Simplify Slicer version check in extensions ([PR-7954](https://github.com/Slicer/Slicer/pull/7954))
- Add "tier" property to extensions catalog schema ([PR-8066](https://github.com/Slicer/Slicer/pull/8066))
- Simplify extension manager build system ([PR-7644](https://github.com/Slicer/Slicer/pull/7644))
- Fix loading of modules that depend on another extension ([PR-7580](https://github.com/Slicer/Slicer/pull/7580))
- Fix extension schema ID ([PR-7710](https://github.com/Slicer/Slicer/pull/7710))
### CLI
- Disable compression for CLI output files ([PR-7885](https://github.com/Slicer/Slicer/pull/7885))
- Report missing `longflag` in module description XML ([PR-7779](https://github.com/Slicer/Slicer/pull/7779))
- Restore support for writing CLI output as `.fcsv` files ([PR-7971](https://github.com/Slicer/Slicer/pull/7971))
### Scripting
- Add parameter node GUI wrappings for certain CTK and other classes ([PR-7918](https://github.com/Slicer/Slicer/pull/7918))
- Add methods for `runTest` upgrade ([PR-7444](https://github.com/Slicer/Slicer/pull/7444))
- Fix support for registering `parameterNodeWrapper` plugins ([PR-7480](https://github.com/Slicer/Slicer/pull/7480))
- Fix meta-object system registration of `qSlicerIO::fileType` return type ([PR-7552](https://github.com/Slicer/Slicer/pull/7552))
- Support checking if IO registration from Python occurs with no registered IOs ([PR-7553](https://github.com/Slicer/Slicer/pull/7553))
- Fix module reload of modules without `reloadTestMenuButton` ([PR-8116](https://github.com/Slicer/Slicer/pull/8116))
- Fix `QComboBoxToEnumConnector` to avoid resetting default ([PR-8116](https://github.com/Slicer/Slicer/pull/8116))
### Internationalization/Localization
- Make translations in Python scripts more robust ([PR-7611](https://github.com/Slicer/Slicer/pull/7611))
- Add translation for `VolumeDisplayPresets.json` ([PR-7651](https://github.com/Slicer/Slicer/pull/7651))
- **Only translate** Python strings when necessary ([PR-7813](https://github.com/Slicer/Slicer/pull/7813))
- Make more strings translatable ([PR-7309](https://github.com/Slicer/Slicer/pull/7309))
- Fix translation in `qMRMLThreeDViewControllerWidget` ([PR-7526](https://github.com/Slicer/Slicer/pull/7526))
- Mark translatable strings in Markups module ([PR-7620](https://github.com/Slicer/Slicer/pull/7620))
- Mark translatable strings in ExtensionWizard module ([PR-7698](https://github.com/Slicer/Slicer/pull/7698))
- Fix translation handle flickering when holding ALT; **update** Transforms module documentation to include interaction info ([PR-7663](https://github.com/Slicer/Slicer/pull/7663))
- Fix translation of Python modules ([PR-7909](https://github.com/Slicer/Slicer/pull/7909))
- Mark translatable strings in Reformat, Texts, and Transforms modules ([PR-7817](https://github.com/Slicer/Slicer/pull/7817))
### Installation
- Remove `DMRIInstall` module ([PR-7662](https://github.com/Slicer/Slicer/pull/7662))
### MRML
- Improve handling of invalid input in `MRMLViewInteractorStyle` classes ([PR-7497](https://github.com/Slicer/Slicer/pull/7497))
- Register nodes in `MRMLScene` constructor deterministically ([PR-8156](https://github.com/Slicer/Slicer/pull/8156))
- Check if a node is present in the scene before adding it ([PR-8029](https://github.com/Slicer/Slicer/pull/8029))
- Fix incorrect `vtkMRMLSliceDisplayNode` XML attribute name ([PR-8081](https://github.com/Slicer/Slicer/pull/8081))
- Fix folder display override for model nodes ([PR-8083](https://github.com/Slicer/Slicer/pull/8083))
- Ensure MRB loading correctly reports loaded nodes ([PR-8135](https://github.com/Slicer/Slicer/pull/8135))
- Fix issue with adding a new node after rename cancellation ([PR-7598](https://github.com/Slicer/Slicer/pull/7598))
- Fix `GetStorableNodesModifiedSinceRead` for short text nodes ([PR-8000](https://github.com/Slicer/Slicer/pull/8000))
- Fix `vtkMRMLTextStorageNode::WriteDataInternal` not throwing error ([PR-8025](https://github.com/Slicer/Slicer/pull/8025))
- Fix creation of extra volume property storage nodes ([PR-8029](https://github.com/Slicer/Slicer/pull/8029))
- Prevent making volume storage nodes modified after file save ([PR-8029](https://github.com/Slicer/Slicer/pull/8029))
### API Updates
- Add API to access SSAO rendering pass in 3D views ([PR-7616](https://github.com/Slicer/Slicer/pull/7616))
- Improve `vtkMRMLLayoutNode` API ([PR-7616](https://github.com/Slicer/Slicer/pull/7616))
- Migrate `vtkSingleton` to `vtkAddon` ([PR-7849](https://github.com/Slicer/Slicer/pull/7849))
### Telemetry Support
- Add API to log software usage events ([PR-7855](https://github.com/Slicer/Slicer/pull/7855))
### Documentation
- Switch highlighted social network to LinkedIn ([PR-8023](https://github.com/Slicer/Slicer/pull/8023))
- Improve docstring of `vtkMRMLViewInteractorStyle` processing functions ([PR-7498](https://github.com/Slicer/Slicer/pull/7498))
- Update installation and building instructions for ArchLinux ([PR-7521](https://github.com/Slicer/Slicer/pull/7521))
- Update list of supported formats for Quantitative Reporting extension ([PR-7557](https://github.com/Slicer/Slicer/pull/7557))
- Fix comment format, update variable names, and add missing closing bracket in script repository ([PR-7615](https://github.com/Slicer/Slicer/pull/7615))
- Update `FastModelAlign` `registration.md` ([PR-7669](https://github.com/Slicer/Slicer/pull/7669))
- Add Ubuntu 22.04 build instructions ([PR-7689](https://github.com/Slicer/Slicer/pull/7689))
- Reorganize Ubuntu console example of required dev tools ([PR-7692](https://github.com/Slicer/Slicer/pull/7692))
- Encourage trying preview release before reporting bugs ([PR-7686](https://github.com/Slicer/Slicer/pull/7686))
- Update `gui.md` with an example of displaying a node in only some views ([PR-7708](https://github.com/Slicer/Slicer/pull/7708))
- Improve segmentation DICOM export documentation ([PR-7761](https://github.com/Slicer/Slicer/pull/7761))
- Match updated interface in `SlicerSurfaceToolbox Dynamic Modeler` ([PR-7766](https://github.com/Slicer/Slicer/pull/7766))
- Clarify meaning of negative and positive sides of plane ([PR-7769](https://github.com/Slicer/Slicer/pull/7769))
- Add documentation for 3D view `CTRL + Left-click + drag` ([PR-7774](https://github.com/Slicer/Slicer/pull/7774))
- Update example of DICOM query/retrieve ([PR-7802](https://github.com/Slicer/Slicer/pull/7802))
- Add plane creation example to `markups.md` ([PR-7804](https://github.com/Slicer/Slicer/pull/7804))
- Add Python example for extracting a slice from a volume ([PR-7808](https://github.com/Slicer/Slicer/pull/7808))
- Update Linux documentation ([PR-7798](https://github.com/Slicer/Slicer/pull/7798))
- Add notes to `SECURITY.md` ([PR-7818](https://github.com/Slicer/Slicer/pull/7818))
- Add notes on segment cross-sectional area measurement ([PR-7863](https://github.com/Slicer/Slicer/pull/7863))
- Add script to query/retrieve DICOM with `ctkDICOMScheduler` ([PR-7912](https://github.com/Slicer/Slicer/pull/7912))
- Add `scriptedregistration.md` with an example rigid registration ([PR-7926](https://github.com/Slicer/Slicer/pull/7926))
- Remove outdated example and link to slicerio documentation ([PR-7920](https://github.com/Slicer/Slicer/pull/7920))
- Improve `slicer.util.pip_install` documentation ([PR-7959](https://github.com/Slicer/Slicer/pull/7959))
- Add example to compute distance of points from a plane ([PR-7973](https://github.com/Slicer/Slicer/pull/7973))
- Update recommended screen resolution in documentation ([PR-8010](https://github.com/Slicer/Slicer/pull/8010))
- Clarify doc of `vtkMRMLMarkupsROINode::GetObjectToWorldMatrix` ([PR-8034](https://github.com/Slicer/Slicer/pull/8034))
- Clarify Qt 5.15.2 Windows binary install instructions ([PR-8082](https://github.com/Slicer/Slicer/pull/8082))
- Update `dicom.md` ([PR-8088](https://github.com/Slicer/Slicer/pull/8088))
- Fix “Edit on GitHub” link not appearing on ReadTheDocs ([PR-8107](https://github.com/Slicer/Slicer/pull/8107))
- Set GitHub repository information for documentation generation ([PR-8116](https://github.com/Slicer/Slicer/pull/8116), [PR-8108](https://github.com/Slicer/Slicer/pull/8108))
- Improve `slicer.util.getNode` documentation ([PR-8116](https://github.com/Slicer/Slicer/pull/8116))
- Update links to tutorials ([PR-7910](https://github.com/Slicer/Slicer/pull/7910))
## Improved Modules
### Data
- Improve appearance of node information section in Data module ([PR-7578](https://github.com/Slicer/Slicer/pull/7578))
### DICOM
- Add [visual DICOM browser](https://discourse.slicer.org/t/new-feature-visual-dicom-browser/33874) ([PR-7525](https://github.com/Slicer/Slicer/pull/7525), [PR-7912](https://github.com/Slicer/Slicer/pull/7912), [PR-7676](https://github.com/Slicer/Slicer/pull/7676), [PR-7650](https://github.com/Slicer/Slicer/pull/7650), [PR-7811](https://github.com/Slicer/Slicer/pull/7811), [PR-7751](https://github.com/Slicer/Slicer/pull/7751))
- Add DICOM support for Multi-frame Grayscale Byte Secondary Capture Image ([PR-7566](https://github.com/Slicer/Slicer/pull/7566))
- Add DICOM patcher rule to fix compressed ultrasound discolorization ([PR-7656](https://github.com/Slicer/Slicer/pull/7656))
- Make characterset modifier DICOM patcher rule stronger ([PR-7683](https://github.com/Slicer/Slicer/pull/7683))
- Add `loadSuccess` flag to loadable Qt and VTK DICOM classes ([PR-8139](https://github.com/Slicer/Slicer/pull/8139))
- Fix context change at runtime in DICOM module ([PR-7358](https://github.com/Slicer/Slicer/pull/7358))
- Fix error string format in `DICOMScalarVolumePlugin` and `ImportItkSnapLabel` ([PR-7484](https://github.com/Slicer/Slicer/pull/7484))
- Prevent DICOM Browser popups on initial module entry ([PR-7811](https://github.com/Slicer/Slicer/pull/7811))
- Force loading images from DICOM using right-handed coordinate system ([PR-7858](https://github.com/Slicer/Slicer/pull/7858))
- Fix reading of multiple window/level presets in `DICOMScalarVolumePlugin` ([PR-7922](https://github.com/Slicer/Slicer/pull/7922))
- Skip disabled plugins when loading DICOM by scripting ([PR-7935](https://github.com/Slicer/Slicer/pull/7935))
- Fix regression for scans with negative spacing in DICOM ([PR-7987](https://github.com/Slicer/Slicer/pull/7987))
- Fix hanging progress popup in DICOM browser ([PR-8062](https://github.com/Slicer/Slicer/pull/8062))
- Add loadable warning in case of loading failure ([PR-7163](https://github.com/Slicer/Slicer/pull/7163))
### Endoscopy
- Use "Use this curve" instead of "Create flythrough path" for the button text ([PR-7435](https://github.com/Slicer/Slicer/pull/7435))
- Simplify Endoscopy API related to quaternion ([PR-7431](https://github.com/Slicer/Slicer/pull/7431))
- Improve Endoscopy module UI self-discovery ([PR-7436](https://github.com/Slicer/Slicer/pull/7436))
- Fix rebuild of Endoscopy flythrough when modifying the input curve ([PR-7433](https://github.com/Slicer/Slicer/pull/7433))
- Recompute `EndoscopyLogic` fields immediately instead of lazily ([PR-7437](https://github.com/Slicer/Slicer/pull/7437))
### Markups
- Fix crash in `vtkPointLocator` when markups curve polydata is empty ([PR-7732](https://github.com/Slicer/Slicer/pull/7732))
- Fix issue preventing interaction with Markups curves ([PR-8021](https://github.com/Slicer/Slicer/pull/8021))
- Fix incorrect plane interaction scale handles initialization ([PR-8031](https://github.com/Slicer/Slicer/pull/8031))
- Hide angle markups when the line does not intersect with the slice ([PR-7832](https://github.com/Slicer/Slicer/pull/7832))
- Add API to change screen scale factor ([PR-7740](https://github.com/Slicer/Slicer/pull/7740))
- Skip creation of markups interaction widget in VR windows ([PR-7612](https://github.com/Slicer/Slicer/pull/7612))
- Add `Point(Start/End)InteractionEvent` for Markups interaction handles ([PR-8117](https://github.com/Slicer/Slicer/pull/8117))
- Fix crash in Markups widget when closing a scene ([PR-7628](https://github.com/Slicer/Slicer/pull/7628))
- Fix markups handle scale not updating ([PR-7675](https://github.com/Slicer/Slicer/pull/7675))
- Fix crash when deleting multiple markups in subject hierarchy ([PR-7736](https://github.com/Slicer/Slicer/pull/7736))
- Fix warning messages when creating markups with no display nodes ([PR-7747](https://github.com/Slicer/Slicer/pull/7747))
- Fix unnecessary confirmation popup after hovering over markups ([PR-8000](https://github.com/Slicer/Slicer/pull/8000))
- Fix markups interaction handles not respecting visibility options ([PR-7868](https://github.com/Slicer/Slicer/pull/7868))
- Fix reading of markup point position from integer values ([PR-7928](https://github.com/Slicer/Slicer/pull/7928))
- Fix copying of markup measurements ([PR-8012](https://github.com/Slicer/Slicer/pull/8012))
- Fix missing Markups ROI fill in some views ([PR-8019](https://github.com/Slicer/Slicer/pull/8019))
- Remove explicit dependency of `MarkupsROINode` on JSON storage node ([PR-8152](https://github.com/Slicer/Slicer/pull/8152))
### Models
- Fix warnings when `vtkMRMLModelNode` has no mesh data ([PR-7750](https://github.com/Slicer/Slicer/pull/7750))
### Reformat
- Fix incorrect tooltip for “Rotate to Volume Reformat” button ([PR-7787](https://github.com/Slicer/Slicer/pull/7787))
- Fix failing `vtkMRMLCameraDisplayableManagerTest` ([PR-7853](https://github.com/Slicer/Slicer/pull/7853))
### SampleData
- Add option to download sample data from a custom URL ([PR-8133](https://github.com/Slicer/Slicer/pull/8133))
- Use specified filename as node name in `SampleDataLogic.downloadFromSource` ([PR-8163](https://github.com/Slicer/Slicer/pull/8163))
- **Do not require** file type in sample data specification ([PR-7479](https://github.com/Slicer/Slicer/pull/7479))
- Fix error handling in `slicer.util.downloadFile` ([PR-7473](https://github.com/Slicer/Slicer/pull/7473))
### Segmentations
- Add `RemoveUnusedDisplayProperties` to `vtkMRMLSegmentationDisplayNode` ([PR-7784](https://github.com/Slicer/Slicer/pull/7784))
- Generate unique segment IDs using a random identifier ([PR-7836](https://github.com/Slicer/Slicer/pull/7836))
- Introduce setting for using standard terminology in segments table ([PR-8011](https://github.com/Slicer/Slicer/pull/8011))
- Allow hiding parts of the Segment Editor widget ([PR-8116](https://github.com/Slicer/Slicer/pull/8116))
- Allow disabling histogram (2D views) interactions of `ThresholdEffect` ([PR-7695](https://github.com/Slicer/Slicer/pull/7695))
- Simplify paint/erase diameter options for a more concise UI ([PR-7278](https://github.com/Slicer/Slicer/pull/7278))
- Add `SegmentationGeometryLogic` API to set reference image geometry ([PR-7607](https://github.com/Slicer/Slicer/pull/7607))
- Make `SegmentsTableView` functions available from Python ([PR-7829](https://github.com/Slicer/Slicer/pull/7829))
- Change log level in Islands effect ([PR-7848](https://github.com/Slicer/Slicer/pull/7848))
- Allow one draw effect point without preventing use in other slice offsets ([PR-6997](https://github.com/Slicer/Slicer/pull/6997))
- Fix smoothing effect for all visible segments ([PR-7483](https://github.com/Slicer/Slicer/pull/7483))
- Fix Mask volume effect node selector ([PR-7478](https://github.com/Slicer/Slicer/pull/7478))
- Fix segment disappearing when sharing Segment Editor node between widgets ([PR-7577](https://github.com/Slicer/Slicer/pull/7577))
- Fix loading of an empty segmentation ([PR-7609](https://github.com/Slicer/Slicer/pull/7609))
- Fix issues caused by invalid Segmentation binary labelmap scalar types ([PR-7605](https://github.com/Slicer/Slicer/pull/7605))
- Fix “Show 3D” button staying disabled ([PR-7962](https://github.com/Slicer/Slicer/pull/7962))
- Fix visibility column in segment list ([PR-8048](https://github.com/Slicer/Slicer/pull/8048))
- Fix segments not visible after thresholding ([PR-8060](https://github.com/Slicer/Slicer/pull/8060))
- Fix name editing in Segment Editor ([PR-8071](https://github.com/Slicer/Slicer/pull/8071))
- Fix output volume node selector in Mask Volume effect ([PR-7939](https://github.com/Slicer/Slicer/pull/7939))
### Segment Statistics
- Add percentiles computation to Segment Statistics scalar volume plugin ([PR-8037](https://github.com/Slicer/Slicer/pull/8037))
### Sequences
- Recognize sequences generated by dcm2niix ([PR-7871](https://github.com/Slicer/Slicer/pull/7871))
- Fix empty candidate node list in Sequences module ([PR-7506](https://github.com/Slicer/Slicer/pull/7506))
- Increase minimum size of Sequences intensity plot ([PR-7871](https://github.com/Slicer/Slicer/pull/7871))
- Fix saving of labelmap volume sequences ([PR-7946](https://github.com/Slicer/Slicer/pull/7946))
- Make `qMRMLSequenceBrowserPlayWidget` shortcuts accessible from Python ([PR-7715](https://github.com/Slicer/Slicer/pull/7715))
- Ensure selected item number in Sequence browser remains valid ([PR-7458](https://github.com/Slicer/Slicer/pull/7458))
- Fix deletion of the last time point in a sequence ([PR-7559](https://github.com/Slicer/Slicer/pull/7559))
- Fix warning when browsing a transform node sequence ([PR-8116](https://github.com/Slicer/Slicer/pull/8116))
### Subject Hierarchy
- Improve SubjectHierarchy API for UIDs ([PR-7616](https://github.com/Slicer/Slicer/pull/7616))
- Fix loading of `SubjectHierarchyPlugin`s at startup ([PR-7477](https://github.com/Slicer/Slicer/pull/7477))
- Add SH options to control transform interaction handle type visibility ([PR-7673](https://github.com/Slicer/Slicer/pull/7673))
- Fix subject hierarchy consolidation after loading a scene ([PR-7616](https://github.com/Slicer/Slicer/pull/7616))
- **Do not deselect** items in `SHTree::setCurrentItems` before reselecting them ([PR-7452](https://github.com/Slicer/Slicer/pull/7452))
- Fix subject hierarchy help button tooltip appearance in dark mode ([PR-7906](https://github.com/Slicer/Slicer/pull/7906))
### Texts
- Allow `vtkMRMLTextStorageNode` to store any text files ([PR-7961](https://github.com/Slicer/Slicer/pull/7961))
### Terminologies
- Improve terminology selector ([PR-7691](https://github.com/Slicer/Slicer/pull/7691))
- Improve terminology selector speed ([PR-7714](https://github.com/Slicer/Slicer/pull/7714))
- Make terminology code finding more robust ([PR-8003](https://github.com/Slicer/Slicer/pull/8003))
- Add API for finding terminology from codes ([PR-7735](https://github.com/Slicer/Slicer/pull/7735))
- Add methods for comparing terminologies ([PR-7809](https://github.com/Slicer/Slicer/pull/7809))
- Improve terminology category selection ([PR-7976](https://github.com/Slicer/Slicer/pull/7976))
- Add Python-wrappable methods for accessing anatomical regions ([PR-7687](https://github.com/Slicer/Slicer/pull/7687))
- Fix condition for customization in `qSlicerTerminologyItemDelegate` ([PR-8059](https://github.com/Slicer/Slicer/pull/8059))
### Transforms
- Add interaction handle visualization for linear transform nodes ([PR-7562](https://github.com/Slicer/Slicer/pull/7562), [PR-7590](https://github.com/Slicer/Slicer/pull/7590))
- Improve interaction options in Transforms SH plugin and module widget ([PR-7599](https://github.com/Slicer/Slicer/pull/7599))
- Add finer control of 2D interaction handle axis display ([PR-7586](https://github.com/Slicer/Slicer/pull/7586))
- Add “jump to handle” action for interaction handles ([PR-7595](https://github.com/Slicer/Slicer/pull/7595))
- Add “cancel” action for interaction handles ([PR-7600](https://github.com/Slicer/Slicer/pull/7600))
- Add transform plugin in subject hierarchy tree view ([PR-7997](https://github.com/Slicer/Slicer/pull/7997))
- Fix issue saving transform with a non-origin center of transformation ([PR-7878](https://github.com/Slicer/Slicer/pull/7878))
- Fix editing of transform component values in spinbox ([PR-7942](https://github.com/Slicer/Slicer/pull/7942))
- Resolve interaction handles rendering issues ([PR-7903](https://github.com/Slicer/Slicer/pull/7903))
### Volume Rendering
- Make volume rendering preset registration more robust ([PR-7610](https://github.com/Slicer/Slicer/pull/7610))
- Fix volume rendering property always marked as modified ([PR-8029](https://github.com/Slicer/Slicer/pull/8029))
### WebServer
- Control the amount of console output from the Python web proxy ([PR-7950](https://github.com/Slicer/Slicer/pull/7950))
- Add WebServer example scripts ([PR-7841](https://github.com/Slicer/Slicer/pull/7841))
- Fix WebServer script repository formatting ([PR-7843](https://github.com/Slicer/Slicer/pull/7843))
- Update HTTPS support and add WebXR demo as transform controller ([PR-7568](https://github.com/Slicer/Slicer/pull/7568))
- Support returning results when executing Python from `qSlicerWebWidget` ([PR-7624](https://github.com/Slicer/Slicer/pull/7624))
- Add missing OPTIONS request handler when CORS is enabled ([PR-7998](https://github.com/Slicer/Slicer/pull/7998))
## Infrastructure
### Packaging
- Ensure packaging of the latest `d3dcompiler_47.dll` for `SlicerVirtualReality` ([PR-7571](https://github.com/Slicer/Slicer/pull/7571))
- Ensure launcher scripts installed from wheels remain accessible ([PR-7587](https://github.com/Slicer/Slicer/pull/7587))
- Include runtime libraries to ensure compatibility in `SlicerExecutionModel` ([PR-8149](https://github.com/Slicer/Slicer/pull/8149))
### Testing
- Fix `vtkMRMLCameraDisplayableManagerTest1.mrml` ([PR-7517](https://github.com/Slicer/Slicer/pull/7517))
- Fix `vtkMRMLTransformStorageNodeTest1` in debug mode ([PR-8029](https://github.com/Slicer/Slicer/pull/8029))
- Fix `py_SlicerRestoreSceneViewCrashIssue3445` test in debug mode ([PR-8029](https://github.com/Slicer/Slicer/pull/8029))
- Fix `qSlicerExtensionsManagerModelTest` ([PR-7584](https://github.com/Slicer/Slicer/pull/7584))
- Fix `vtkMRMLVolumeArchetypeStorageNodeTest1.cxx` ([PR-7734](https://github.com/Slicer/Slicer/pull/7734))
- Fix `MRMLDisplayableManagerCxxTests` ([PR-7734](https://github.com/Slicer/Slicer/pull/7734))
- Fix SampleData tests to align with revised file loading behavior ([PR-8162](https://github.com/Slicer/Slicer/pull/8162))
- Fix self-tests by explicitly setting file loading parameters ([PR-8164](https://github.com/Slicer/Slicer/pull/8164))
### Continuous integration (CI)
- Add GitHub workflow for keeping pre-commit configuration up to date ([PR-7636](https://github.com/Slicer/Slicer/pull/7636))
- Add GitHub workflow to update the `nightly-main` branch daily ([PR-7953](https://github.com/Slicer/Slicer/pull/7953))
- Skip “CI (Build)” workflow if only SuperBuild changes on `nightly-main` ([PR-7945](https://github.com/Slicer/Slicer/pull/7945))
- **Speed up** doxygen generation by enabling parallel build ([PR-8138](https://github.com/Slicer/Slicer/pull/8138))
- Add GitHub workflow to trigger Doxygen build and publish ([PR-8144](https://github.com/Slicer/Slicer/pull/8144))
- Fix GitHub workflow for daily updates to `nightly-main` branch ([PR-7955](https://github.com/Slicer/Slicer/pull/7955))
- Fix GitHub workflow authentication for “Update Preview Branch” ([PR-7965](https://github.com/Slicer/Slicer/pull/7965))
- Update `.gitignore` to ensure changes to `.github` files are reported ([PR-7635](https://github.com/Slicer/Slicer/pull/7635))
- Add support for codespell 2.3.0 and fix identified typos ([PR-7762](https://github.com/Slicer/Slicer/pull/7762))
- Add support for codespell 2.4.0 and fix identified typos ([PR-8158](https://github.com/Slicer/Slicer/pull/8158))
- Fix source files and **update** pre-commit setting to run additional hooks ([PR-7647](https://github.com/Slicer/Slicer/pull/7647))
- Update “commit-message” workflow to use dedicated GitHub action ([PR-7925](https://github.com/Slicer/Slicer/pull/7925))
- Fix manual trigger of Doxygen build/publish through GitHub UI ([PR-8146](https://github.com/Slicer/Slicer/pull/8146))
- Fix pull request description generated by pre-commit-autoupdate workflow ([PR-7688](https://github.com/Slicer/Slicer/pull/7688))
- Fix workflow file link in pre-commit-autoupdate workflow ([PR-7690](https://github.com/Slicer/Slicer/pull/7690))
- Fix version extraction in pre-commit-autoupdate workflow ([PR-7755](https://github.com/Slicer/Slicer/pull/7755))
### Build system
- Update acceptable VS2022 MSVC version for TBB install ([PR-7833](https://github.com/Slicer/Slicer/pull/7833))
- Remove obsolete WebKit-specific integration code from `qSlicerWebWidget` ([PR-7625](https://github.com/Slicer/Slicer/pull/7625))
- Drop support for MSVC toolset v141 (Visual Studio 2017) ([PR-7989](https://github.com/Slicer/Slicer/pull/7989))
- Enable OpenSSL support in DCMTK build ([PR-8106](https://github.com/Slicer/Slicer/pull/8106))
- Fix generation of additional launcher settings for list-based settings ([PR-7485](https://github.com/Slicer/Slicer/pull/7485))
- Re-generate additional launcher settings if they are updated ([PR-7486](https://github.com/Slicer/Slicer/pull/7486))
- Ensure full path ID for macOS libraries installed for fixup ([PR-7537](https://github.com/Slicer/Slicer/pull/7537))
- Prefer clearing `CMAKE_INSTALL_NAME_TOOL` on a per-project basis ([PR-7540](https://github.com/Slicer/Slicer/pull/7540))
- Fix ITK's threading-related method name deprecation warnings ([PR-7400](https://github.com/Slicer/Slicer/pull/7400))
- Fix extension build to ensure build dependency directories are passed ([PR-7712](https://github.com/Slicer/Slicer/pull/7712))
- Remove redundant call in `vtkITKMorphologicalContourInterpolator` ([PR-7723](https://github.com/Slicer/Slicer/pull/7723))
- Resolve deprecated warning in MRML testing macro for `std::string` ([PR-8041](https://github.com/Slicer/Slicer/pull/8041))
- Replace `vtkStdString` with `std::string` ([PR-8042](https://github.com/Slicer/Slicer/pull/8042))
### Platform support
- Add support for configuring `_manylinux` module ([PR-8168](https://github.com/Slicer/Slicer/pull/8168))
- Update minimum required `CMAKE_OSX_DEPLOYMENT_TARGET` to 13.0 ([PR-7990](https://github.com/Slicer/Slicer/pull/7990))
- Fix fatal error not reported for MSVC + TBB compatibility ([PR-7834](https://github.com/Slicer/Slicer/pull/7834))
### Dependencies
**CTK:**
- Update CTK DICOM Database version from `0.7.0` to `0.8.0` ([PR-7472](https://github.com/Slicer/Slicer/pull/7472))
- Update CTK ([PR-7544](https://github.com/Slicer/Slicer/pull/7544), [PR-7558](https://github.com/Slicer/Slicer/pull/7558), [PR-7964](https://github.com/Slicer/Slicer/pull/7964))
- Add `removePatient/Series/Study` signals to DICOM database ([PR-7549](https://github.com/Slicer/Slicer/pull/7549))
- Backport PythonQt fixes & restore script compilation to `.pyc` ([PR-7561](https://github.com/Slicer/Slicer/pull/7561))
- Fix Qt designer crash at startup ([PR-7585](https://github.com/Slicer/Slicer/pull/7585))
**DCMTK:**
- Update DCMTK from `3.6.6` to `3.6.8` ([PR-8018](https://github.com/Slicer/Slicer/pull/8018))
- Backport fixes for CVE-2022-2119 and CVE-2022-2120 ([PR-8017](https://github.com/Slicer/Slicer/pull/8017))
**ITK:**
- Update ITK to `5.4.0` ([PR-7771](https://github.com/Slicer/Slicer/pull/7771))
- Fix HDF5 symbol clash when importing ITK wheel ([PR-7838](https://github.com/Slicer/Slicer/pull/7838))
**libarchive:**
- Fix libarchive build error with Clang 16 ([PR-8097](https://github.com/Slicer/Slicer/pull/8097))
**VTK:**
- Backport selected Rendering, OpenVR, and OpenXR patches ([PR-7487](https://github.com/Slicer/Slicer/pull/7487))
- Backport VR, OpenVR, and OpenXR improvements ([PR-7514](https://github.com/Slicer/Slicer/pull/7514), [PR-7516](https://github.com/Slicer/Slicer/pull/7516))
- Backport OpenXR-SDK improvements for streamlined integration ([PR-7529](https://github.com/Slicer/Slicer/pull/7529))
- Backport support for `Holographic.Remoting.OpenXr >= 2.9.3` ([PR-7534](https://github.com/Slicer/Slicer/pull/7534))
- Backport fix for OpenVR gesture recognition ([PR-7503](https://github.com/Slicer/Slicer/pull/7503))
- Backport `vtkSSAOPass` fixes ([PR-7554](https://github.com/Slicer/Slicer/pull/7554))
- Backport `vtkSSAOPass` intensity adjustment feature ([PR-7820](https://github.com/Slicer/Slicer/pull/7820))
- Fix preprocessor expression in `vtkOpenGLRenderWindow` ([PR-7505](https://github.com/Slicer/Slicer/pull/7505))
- Backport deprecation macro update ([PR-7508](https://github.com/Slicer/Slicer/pull/7508))
**Other Dependencies:**
- Update `FindVcvars` for future MSVC versions ([PR-7815](https://github.com/Slicer/Slicer/pull/7815))
- Update `LandmarkRegistration` in `SuperBuild.cmake` ([PR-7977](https://github.com/Slicer/Slicer/pull/7977))
- Update Python packages to latest ([PR-7597](https://github.com/Slicer/Slicer/pull/7597), [PR-7776](https://github.com/Slicer/Slicer/pull/7776))
- Update `SimpleITK` to fix missing use of custom namespace ([PR-7812](https://github.com/Slicer/Slicer/pull/7812))
- Update `SlicerSurfaceToolbox` to include dynamic modeler extrude tool ([PR-8145](https://github.com/Slicer/Slicer/pull/8145))
### Custom Slicer application support
#### Slicer Application
- Improve and **customize** URI argument handling for custom applications ([PR-7938](https://github.com/Slicer/Slicer/pull/7938))
- Support customizing interaction widget event translation ([PR-8101](https://github.com/Slicer/Slicer/pull/8101))
- Fix `sitkUtils` without `MRMLIDImageIO` ([PR-7940](https://github.com/Slicer/Slicer/pull/7940))
#### Build-System
- Support reuse of “commit-message” GitHub workflow ([PR-7898](https://github.com/Slicer/Slicer/pull/7898))
- Update “pre-commit” workflow to support reuse from private projects ([PR-7900](https://github.com/Slicer/Slicer/pull/7900))
- Fix collision of main project source dir with extension of same name ([PR-7724](https://github.com/Slicer/Slicer/pull/7724))
## Extensions
*Listed below are extensions added, removed or updated since the 5.6 release.*
The Slicer [extensions manager](https://slicer.readthedocs.io/en/latest/user_guide/extensions_manager.html) enables Slicer users to install more than 190 extensions written and contributed by their peers from around the world.
### New
* [SlicerMOOSE](https://github.com/mprires/SlicerMOOSE): MOOSE (Multi-organ objective segmentation) is a data-centric AI solution that generates multilabel organ segmentations to facilitate systemic TB whole-person research.
| |
|--|
| |
* [SlicerUniGradICON](https://github.com/uncbiag/SlicerUniGradICON): A Foundation Model for Medical Image Registration. The extension provides a Slicer interface for the model, allowing users to perform image registration tasks using the models.
| | |
|--|--|
|  |  |
* [SlicerMorphoDepot](https://github.com/pieper/SlicerMorphoDepot): use GitHub infrastructure to manage multi-person segmentation projects.
* [SlicerSOFA](https://github.com/Slicer/SlicerSOFA): Integrate mechanical simulations with 3D Slicer. This extension integrates the [SOFA Framework](https://sofa-framework.org) in 3D Slicer to facilitate the development and execution of mechanical simulations involving 3D meshes, medical-image volumes and interaction with [3D Slicer markups](https://slicer.readthedocs.io/en/latest/user_guide/modules/markups.html). Currently, the extension enables the use of the SOFA API in python and provides its own SlicerSOFA API (optional) to set up a simulation and transfer data between 3D Slicer objects and SOFA objects
|  |  |
|--|--|
| | |
* [SlicerFractionalMyocardialMass](https://github.com/dmolony3/SlicerFractionalMyocardialMass): Computation of fractional myocardial mass (FMM) and myocardial mass at risk (MMAR).
|  |
|--|
| |
* [Slicer-MusculoskeletalAnalysis](https://github.com/WashUMusculoskeletalCore/Slicer-MusculoskeletalAnalysis): Analyzes 3D musculoskeletal images and generates reports.
* [SlicerTutorialMaker](https://github.com/SlicerLatinAmerica/SlicerTutorialMaker): Streamline the creation of 3D Slicer tutorials in multiple languages.
* [SlicerSegmentHumanBody](https://github.com/mazurowski-lab/SlicerSegmentHumanBody): Integrate the SegmentAnyBone developed by Mazurowski Lab.
* [SlicerNeuropacs](https://github.com/neuropacs/SlicerNeuropacs): Receive and analyze diffusion MRI data from patients aged 40 years and older presenting with Parkinson’s disease (PD) symptoms.
* [Slicer-DTI-ALPS](https://github.com/LOAMRI/Slicer-DTI-ALPS): Calculate the diffusion tensor image analysis along the perivascular space
* [SlicerDiffusionComplexityMap](https://github.com/CSIM-Toolkits/SlicerDiffusionComplexityMap): Image processing technique using the principle of diffusion distribution evaluation regarding the LMC complexity measure
* [LesionSpotlightExtension](https://github.com/CSIM-Toolkits/LesionSpotlightExtension): Image segmentation and enhancement approaches, allowing for the highlight of abnormal white matter voxels in magnetic resonance images.
* [SlicerScriptEditor](https://github.com/SlicerMorph/SlicerEditor): A script editor. It allows auto complete, text highlighting and saving of the python scripts as text nodes into the scene. To execute a code, highlight in the editor, hit copy and then manually paste it into the python console.
|  |  |
|--|--|
| | |
* [SlicerCineTrack](https://github.com/laboratory-for-translational-medicine/SlicerCineTrack): Visual verification of target tracking results. The extension enables target tracking visualization by replaying cine 2D images and overlays the outline of the Region of interest (ROI) using a displacement data file.
|  |
|:--:|
| |
### Updated
All the existing extensions have been maintained and updated to account for API and build environment changes.
### Removed
Between Slicer 5.6 and Slicer 5.8, the extensions `iGyne` and `SlicerOpenCV` were removed.
List of archived extensions is documented at [Slicer/ExtensionsIndex/ARCHIVE/README.md](https://github.com/Slicer/ExtensionsIndex/blob/main/ARCHIVE/README.md).
---
# Changelog: 5.8.1
## Core
### Improvements
- Make maximum file length configurable ([PR-8283](https://github.com/Slicer/Slicer/pull/8283))
- Update Slicer.crt CA bundle ([PR-8269](https://github.com/Slicer/Slicer/pull/8269))
### Fixes
- Prevent loading DWMRI volumes as sequences ([PR-8274](https://github.com/Slicer/Slicer/pull/8274))
- Fix crash in SystemTools::RemoveADirectory ([PR-8275](https://github.com/Slicer/Slicer/pull/8275))
- Fix scene loading warning message ([PR-8272](https://github.com/Slicer/Slicer/pull/8272))
- Prevent additional error message in DICOMReaders.py ([PR-8271](https://github.com/Slicer/Slicer/pull/8271))
- Fix saving to .mrb files with long node names ([PR-8270](https://github.com/Slicer/Slicer/pull/8270))
- Fix typo in “Grow From Seeds” help text ([PR-8261](https://github.com/Slicer/Slicer/pull/8261))
### Documentation
- Dynamically generate links to Slicer Doxygen based on ReadTheDocs version ([PR-8263](https://github.com/Slicer/Slicer/pull/8263))
- Fix links to Slicer Doxygen in the developer guide ([PR-8262](https://github.com/Slicer/Slicer/pull/8262))
- Fix various broken documentation links in the developer guide ([PR-8264](https://github.com/Slicer/Slicer/pull/8264))
- Update Transforms module API documentation to add missing Doxygen links ([PR-8266](https://github.com/Slicer/Slicer/pull/8266))
- Add documentation for the Help menu ([PR-8276](https://github.com/Slicer/Slicer/pull/8276))
## Infrastructure
### Packaging
- Improve NSIS Windows installer with application branding ([PR-8268](https://github.com/Slicer/Slicer/pull/8268))
### Continuous Integration (CI)
- Update GitHub CI workflow to be release specific ([PR-8259](https://github.com/Slicer/Slicer/pull/8259))
### Dependencies
- Update VTK backporting fix to support building on Linux with clang ([PR-8265](https://github.com/Slicer/Slicer/pull/8265))
- Update vtkAddon ([PR-8273](https://github.com/Slicer/Slicer/pull/8273))
- Update BRAINSTools from 2024-05-31 to 2024-11-09 and include macOS build fix ([PR-8267](https://github.com/Slicer/Slicer/pull/8267))
- Update python-cmake-buildsystem anticipating a Python version update ([PR-8260](https://github.com/Slicer/Slicer/pull/8260))
<!--
## New Contributors
* @Papa96108 made their first contribution ([PR-7283](https://github.com/Slicer/Slicer/pull/7283))
* @robertf made their first contribution ([PR-7548](https://github.com/Slicer/Slicer/pull/7548))
* @aramSofthenge made their first contribution ([PR-7598](https://github.com/Slicer/Slicer/pull/7598))
* @MujassimJamal made their first contribution ([PR-7615](https://github.com/Slicer/Slicer/pull/7615))
* @gabuzi made their first contribution ([PR-7664](https://github.com/Slicer/Slicer/pull/7664))
* @parikhmn made their first contribution ([PR-7774](https://github.com/Slicer/Slicer/pull/7774))
* @MohamedAllali made their first contribution ([PR-7698](https://github.com/Slicer/Slicer/pull/7698))
* @laurentletg made their first contribution ([PR-7920](https://github.com/Slicer/Slicer/pull/7920))
* @Gabsha made their first contribution ([PR-7998](https://github.com/Slicer/Slicer/pull/7998))
* @shai-ikko made their first contribution ([PR-8034](https://github.com/Slicer/Slicer/pull/8034))
* @huwqchn made their first contribution ([PR-8044](https://github.com/Slicer/Slicer/pull/8044))
* @jeffmax made their first contribution ([PR-8062](https://github.com/Slicer/Slicer/pull/8062))
* @arhowe00 made their first contribution ([PR-8082](https://github.com/Slicer/Slicer/pull/8082))
* @cutun made their first contribution ([PR-8147](https://github.com/Slicer/Slicer/pull/8147))
-->