This is the first merge back from the //develop// branch into the //master// branch since we introduced git-flow. These merge commits will be accompanied by curated changelogs. As it is the first changelog, it reflects everything noteworthy that happened since April 2018 that was not already part of the last MITK release v2018.04.2. Over 400 tickets were resolved in that time, hence we focus on the highlights and breaking changes including migration hints.
= Third-party dependency changes =
Several dependencies were upgraded to newer versions, removed, or introduced:
| Dependency | Old version | New version |
| --- | --- | --- |
| Boost | 1.68 | 1.70 |
| cpprestsdk | | 2.10.10 |
| CMake | 3.10 | 3.14.5 |
| CTK | `fc06bedc` (Aug 10, 2018) | `78341aba` (Dec 07, 2019) |
| DCMQI | `d067f81c` (Jun 26, 2018) | `ea4f0809` (Jan 23, 2020) |
| DCMTK | `29f9de10` (Jun 15, 2018) | 3.6.5 |
| GDCM | 2.6.3 | 3.0.4 |
| ~~freeglut~~ | 2.8.1 | |
| ITK | 4.13.1 | `e53d1d94` (May 22, 2020) |
| MatchPoint | `24ef6072` (Apr 13, 2018) | `f2a64255` (May 02, 2019) |
| OpenCV | 3.4.1 | 3.4.8 |
| OpenIGTLink | `54df50de` (Aug 21, 2014) | 3.0 |
| Qt | 5.11.1 | 5.12 |
| ~~Raptor~~ | 2.0.15 | |
| ~~Rasqal~~ | 0.9.32 | |
| ~~Redland~~ | 1.0.17 | |
| ~~SimpleITK~~ | `9d510bef` (Mar 1, 2018) | |
| zlib | `66a75305` | 1.2.11 |
= API-breaking changes =
== Render window names :boom: ==
- The render window names `stdmulti.widget[1-4]` were changed to `stdmulti.widget[0-3]`. For example, the standard 3d render window now is `stdmulti.widget3` instead of `stdmulti.widget4`.
== Python ==
- `MITK_USE_Python` CMake variable was renamed to `MITK_USE_Python3`
- On macOS, `CMAKE_FRAMEWORK_PATH` can be used to find a specific version of Python
== RenderingManager and rendering mode ==
- Access to the rendering manager was unified to the static method `RenderingManager::GetInstance()` (remove any parameters of type `RenderingManager` from function calls that generate corresponding compiler errors)
- The rendering mode was removed as it represented different independent concepts (remove any parameters of type `BaseRenderer::RenderingMode::Type` from function calls that generate corresponding compiler errors)
== Level window ==
- `LevelWindowManager::RecaluclateLevelWindowForSelectedComponent()` was renamed to `RecalculateLevelWindowForSelectedComponent()`
== Refactoring of QmitkStdMultiWidget and QmitkStdMultiWidgetEditor
- The level window slider is now controlled by `StdMultiWidgetEditor`
- `QmitkMultiWidgetLayoutManager` was introduced to change the layout of multi widgets. It supports more general layouts and reacts dynamically, depending on the selected/active render window widget. For example, to enlarge a specific render window widget or to move a specific render window to the left.
- The enum `IRenderWindowPartStrategy` moved into `WorkbenchUtil`
- These methods of `QmitkStdMultiWidget` were removed:
- `SetWidgetPlaneModeToSlicing()`
- `SetWidgetPlaneModeToRotation()`
- `SetWidgetPlaneModeToSwivel()`
- `SetWidgetPlanesLocked()`
- `SetWidgetPlanesRotationLocked()`
- `SetWidgetPlanesRotationLinked()`
- `EnableStandardLevelWindow()`
- `DisableStandardLevelWindow()`
== Qt-related variables removed from dashboard scripts ===
- `QT5_INSTALL_PREFIX` and `QT_BINARY_DIR` were removed. Add the Qt path to the PATH environment variable instead. For example, right in the dashboard script like `set(ENV{PATH} "$ENV{PATH}...")`.
== Removed modules and plugins ==
The following legacy modules and plugins were removed without successors:
- GPGPU
- PlanarFigureSegmentation
- RDF
NOTE: [[https://github.com/MIC-DKFZ/MITK-Diffusion | MITK Diffusion]] moved into a separate MITK extension.