Skip to content

Version update breaks most nnunet-based packages #4

@lassoan

Description

@lassoan

We have been benefitting from using nnunet, especially via TotalSegmentator, but there are many other projects where it is applied successfully. We are very grateful for all your efforts!

The success of nnunet also means that if anything goes wrong then that unfortunately impacts many people. Recent backward-incompatible update and releasing as a new minor version broke all existing nnunet versions, which is therefore a major problem.

Just one example: in the 3D Slicer project 3 developers spent 4 hours on figuring out what just happened and how to address it (https://discourse.slicer.org/t/totalsegmentator-failing-with-error-120/34434/9). We implemented a quick workaround and will need to remove it in the future, then test everything, so it will take a bit more time before everything is smoothed out.

Probably hundreds of other projects are/will be impacted similarly. To minimize the damage that this incompatibility may cause, you might consider doing the followings:

  • Yank the 0.3.0 and 0.4.0 releases
  • Make the changes backward compatible (to not break nnunet versions released in the past few years)

To prevent similar situations in the future when making backward-incompatible changes in this package, you could:

  • Declare a versioning scheme (if not using semantic versioning)
  • Update nnunet's version requirements to prevent nnunet picking up incompatible versions in the future. For example, specify maximum supported version to be the current major version (see for example as it is done here).
  • Keep all changes in this package backward compatible for at least 1-2 years (until the existing nnunet versions - that do not cap the maximum version of dynamic-network-architectures - get old enough that people don't expect them to work anymore)

Thank you again for all your efforts!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions