Versioning policy and breaking changes#
Dataframely uses semantic versioning.
This versioning scheme is designed to make it easy for users to anticipate what types of change they can expect from a
given version update in their dependencies.
We generally recommend that users take measures to control dependency versions. Personally, we like to use pixi as a
package manager, which comes with builtin
support for lockfiles. Many other package managers support similar functionality. When updating the lockfiles, we
recommend to use automated testing
to ensure that user code still works with newer versions of dependencies such as dataframely.
Most importantly, semantic versioning implies that breaking changes of user-facing functionality are only introduced in
major releases.
We therefore recommend that users are particularly vigilant when updating their environments to a newer major release of
dataframely.
As always, automated testing is useful here, but we also recommend checking the release notes
published on GitHub.
In order to give users a heads-up before breaking changes are released, we introduce
FutureWarnings.
Warnings are the most direct and effective tool at our disposal for reaching users directly.
We therefore generally recommend that users do not silence such warnings explicitly, but instead migrate their code
proactively, whenever possible.
However, we also understand that the need for migration may catch users at an inconvenient time, and a temporary band
aid solution might be required.
Users can disable FutureWarnings either through
python builtins,
builtins from tools
like pytest,
or by setting the DATAFRAMELY_NO_FUTURE_WARNINGS environment variable to true or 1.