Version numbers and deprecation policy#
Scipp uses Calendar Versioning. The version number scheme is YY.0M.MICRO such as 22.11.0 or 23.02.0. The final number is not the day but the micro (or patch) version and indicates “bugfix” releases without breaking or feature changes.
In contrast to semantic versioning, which may give a vague indirect hint about when breaking changes may occur, Scipp adopts the following explicit deprecation policy:
Wherever possible, deprecation warnings will be added in releases before the actual change or removal of a feature. This starts the deprecation period.
The length of the deprecation period will depend on the importance of the feature and on the user impact.
For major features this period might be 6 to 12 months, and we strive to include this in the deprecation announcement and in the deprecation warnings.
For minor features the period may be shorter and will generally not be announced explicitly.
In some cases bugfixes can imply breaking changes. Scipp will generally not follow a deprecation process in these cases. That is, we prioritize correctness over convenience. In rare cases bugfix releases may thus break user code, or regular releases may break user code without prior deprecation warnings.
References and citations#
An article about Scipp has been published in the conference proceedings of ICANS, see Scipp: Scientific data handling with labeled multi-dimensional arrays for C++ and Python or the paywall-free copy on the Arxiv.
A significant amount of changes such as multi-threading and support for binned (event) data has gone into Scipp since the publication so we recommend to also cite the Scipp documentation pages.
Scipp is available as open source under the BSD-3 license.
Source code and development#
Scipp is hosted and developed on GitHub.