[[mitk/changelog/2021.06 | ๐กจ Previous changelog]] โข [[mitk/changelog/release-v2021.02 | Next changelog ๐กช]]
NOTE: This is a release changelog. It is composed of a selected short list of highlights since the last release v2018.04.2 - split into dedicated user and developer sections. See the past ten [[mitk/changelog | changelogs]] starting from [[mitk/changelog/2020.25]] for a comprehensive, developer-centric overview of changes.
= News for MITK Workbench users =
== Visualization improvements ==
We improved the visualization of translucent objects. Also a correct depth perception is now retained in combination with volume rendering (see video below). The visualization in general has a smoother appearance since we use so-called anti-aliasing techniques to reduce jagged pixel edges of objects.
{F1646878, loop, autoplay, alt="Improved visualization"}
= News for developers =
- ๐งญ We added navigation links to the top and bottom of the [[https://phabricator.mitk.org/w/mitk/changelog/release-v2021.02/ | Phabricator-versions of our changelogs]]. Please use them to flip through the past changelogs for a comprehensive overview of changes.
- ๐ก After a short list of a few mentions to raise awareness of new features and concepts, we focus on merging the tables of dependency changes over time and on referencing all relevant API-breaking changes.
== โจ New features ==
=== New selection concept and UI ===
A [[mitk/changelog/2020.25 | new selection concept]] was introduced, following our mission to decouple plugin views from selections in the Data Manager view. We recommend that you adapt your plugins to the new concept in an effort to unify user experience.
{F1646868, size=full, layout=center, alt="New selection dialog"}
=== Auto-cleaning of external projects on updates ===
Updates of external projects like CTK, ITK, or VTK were difficult to get right in existing MITK builds as sometimes old build artifacts, header files, or configuration files had to be removed manually to successfully build MITK again. This is no longer the case since we implemented a mechanism to automatically clean an external project, if its definition file changed. This feature can be disabled through the `MITK_AUTOCLEAN_EXTERNAL_PROJECTS` CMake cache variable.
=== Project organization in Visual Studio ===
Projects in the MITK Visual Studio solution are now automatically organized into folders for applications, modules, plugins, and so on. MITK extensions have separate root folders to easily navigate through MITK's and your code.
{F2103749, size=full, layout=center, alt="Visual Studio folders"}
== ๐ Third-party dependency changes ==
NOTE: [[https://docs.mitk.org/2021.02/SupportedPlatformsPage.html | Here]] is the [[https://docs.mitk.org/2021.02/SupportedPlatformsPage.html | list of supported platforms]] for MITK v2021.02.
The following table shows a complete list of changed third-party dependencies. Considerable changes include:
- Minimum required versions of our prerequisites
- CMake 3.18
- Qt 5.12 (5.12.9 on Windows)
- NSIS 3 for building Windows .exe installers
- Major core dependency updates
- VTK 8.1 ๐กช VTK 9 ([[mitk/changelog/2020.47 | migration guide]])
- Replacements
- TinyXML ๐กช TinyXML-2 ([[mitk/changelog/2020.52 | migration guide]])
- ACVD ๐กช OpenMesh ([[mitk/changelog/2020.47 | rationale]])
Some outdated and experimental components of MITK were removed which resulted in the removal of a few dependencies without replacement.
| Dependency | Old version | New version |
| --- | --- | --- |
| ~~ACVD~~ | `3d5ae388` (Dec 19, 2014) | |
| Boost | 1.68 | 1.74 |
| cpprestsdk | | 2.10.16 |
| CMake | 3.10 | 3.18 |
| CppUnit | 1.12.1 | 1.15.1 |
| CTK | `fc06bedc` (Aug 10, 2018) | `7210c5bc` (Nov 08, 2020) |
| DCMQI | `d067f81c` (Jun 26, 2018) | `83f498e9` (Feb 8, 2021) |
| DCMTK | `29f9de10` (Jun 15, 2018) | 3.6.5 |
| GDCM | 2.6.3 | 3.0.8 |
| ~~freeglut~~ | 2.8.1 | |
| ITK | 4.13.1 | 4.13.3 |
| MatchPoint | `24ef6072` (Apr 13, 2018) | `f2a64255` (May 02, 2019) |
| NSIS | 2 | 3 |
| OpenCV | 3.4.1 | 3.4.8 |
| OpenIGTLink | `54df50de` (Aug 21, 2014) | 3.0 |
| OpenMesh | | 8.1 |
| Qt | 5.11.1 | 5.12 (5.12.9 on Windows) |
| Qwt | 6.1.0 | 6.1.5 |
| ~~Raptor~~ | 2.0.15 | |
| ~~Rasqal~~ | 0.9.32 | |
| ~~Redland~~ | 1.0.17 | |
| ~~SimpleITK~~ | `9d510bef` (Mar 1, 2018) | |
| ~~TinyXML~~ | 2.6.2 | |
| TinyXML-2 | | 8.0.0 |
| VTK | 8.1 | 9.0.1 (patched) |
| zlib | `66a75305` | 1.2.11 |
== ๐ฅ API-breaking changes ==
=== Dangerous changes ===
- โ ๏ธ [[mitk/changelog/2020.52 | Migration from TinyXML to TinyXML]] has a few implicit but major pitfalls. Please follow the migration guide thoroughly.
- โ ๏ธ [[mitk/changelog/2020.52 | Render window names]] were changed from `stdmulti.widget[1-4]` to `stdmulti.widget[0-3]`. Since it is only a change of literal strings it has a high potential to fail unnoticed.
=== Behavioral changes ===
- The default mechanisms of [[mitk/changelog/2020.25 | assembling DICOM images]] from a collection of files or a folder changed
=== Documentation changes ===
- Implementation files like .cpp files are now excluded from the doxygen parser
=== Build system changes ===
- [[mitk/changelog/2020.52 | ITK dependencies]] of modules and plugins were completely redone
- The [[mitk/changelog/2020.52 | PACKAGE_DEPENDS]] mechanism (third-party dependencies of modules and plugins) was overhauled for many dependencies like Boost, OpenMesh, OpenMP, OpenSSL, or Python3
- [[mitk/changelog/2020.25 | Auto-load modules]] are not allowed as link-time dependencies anymore
- The [[mitk/changelog/2020.39 |SUBPROJECTS]] parameter of `mitk_create_module()` is not parsed anymore
=== Other API-breaking changes ===
- ๐ Modules
- ๐ Core
- [[mitk/changelog/2020.25 | DataNode]]
- [[mitk/changelog/2020.25 | LevelWindowManager]]
- [[mitk/changelog/2020.25 | RenderingManager]]
- [[mitk/changelog/2020.27 | SliceNavigationController]]
- [[mitk/changelog/2020.25 | UIDGenerator]]
- ๐ CommandLine
- [[mitk/changelog/2020.25 | CommandLineParser]]
- ๐ ContourModel
- [[mitk/changelog/2021.04 | ContourModel]]
- ๐ DataTypesExt
- [[mitk/changelog/2021.04 | CompressedImageContainer]]
- ๐ DICOMReader ๐กช ๐ DICOM
- ๐ DICOMReaderServices ๐กช ๐ DICOM/autoload/DICOMImageIO
- ๐ DicomRT ๐กช ๐ RT
- ๐ DicomRTIO ๐กช ๐ RT/autoload/DICOMRTIO
- ๐ DicomUI ๐กช ๐ DICOMUI
- ๐ ImageStatistics
- [[mitk/changelog/2020.47 | ExtendedLabelStatisticsImageFilter]]
- ๐ QtWidgets
- [[mitk/changelog/2020.47 | QmitkRenderWindow]] (also [[mitk/changelog/2020.52 | here]] and [[mitk/changelog/2021.06 | here]])
- [[mitk/changelog/2021.06 | QmitkRenderWindowMenu]]
- [[mitk/changelog/2020.25 | StdMultiWidget]]
- ๐ [[mitk/changelog/2020.47 | Remeshing]]
- ๐ Segmentation
- [[mitk/changelog/2020.36 | AutoSegmentationTool]]
- [[mitk/changelog/2021.04 | DiffSliceOperation]]
- [[mitk/changelog/2021.04 | SegTool2D]]
- [[mitk/changelog/2020.36 | Tool]]
- ๐ Plugins
- ๐ org.mitk.gui.qt.common
- [[mitk/changelog/2020.25 | IRenderWindowPartStrategy]]
- ๐ org.mitk.gui.qt.ext.stdmultiwidgeteditor
- [[mitk/changelog/2020.25 | QmitkStdMultiWidgetEditor]]
- ๐ org.mitk.gui.qt.segmentation
- QmitkDeformableClippingPlaneView ๐กช ๐ org.mitk.gui.qt.deformableclippingplane
=== Removed modules, plugins, and classes ===
NOTE: [[https://github.com/MIC-DKFZ/MITK-Diffusion | MITK Diffusion]] moved into a separate MITK extension.
- ๐ Modules
- ๐ Biophotonics
- ๐ BiophotonicsHardware
- ๐ DataTypesExt
- ๐ Mesh
- ๐ MeshUtil
- ๐ GPGPU
- ๐ MapperExt
- ๐ MeshMapper2D
- ๐ MeshVtkMapper3D
- ๐ PhotoacousticsAlgorithms
- ๐ PhotoacousticsHardware
- ๐ PhotoacousticsLib
- ๐ PlanarFigureSegmentation
- ๐ RDF
- ๐ SpectroCam
- ๐ US
- ๐ USDiPhASDeviceCustomControls
- ๐ USHardwareDiPhAS
- ๐ USUI
- ๐ QmitkUSControlsCustomDiPhASDeviceWidget
- ๐ Plugins
- ๐ org.mitk.gui.qt.lasercontrol
- ๐ org.mitk.gui.qt.photoacoustics.imageprocessing
- ๐ org.mitk.gui.qt.photoacoustics.pausmotioncompensation
- ๐ org.mitk.gui.qt.photoacoustics.pausviewer
- ๐ org.mitk.gui.qt.photoacoustics.simulation
- ๐ org.mitk.gui.qt.photoacoustics.spectralunmixing
- ๐ org.mitk.gui.qt.spectrocamrecorder
[[mitk/changelog/2021.06 | ๐กจ Previous changelog]] โข [[mitk/changelog/release-v2021.02 | Next changelog ๐กช]]