Skip to content

Commit 58ad5a0

Browse files
versioning
1 parent 2d8274d commit 58ad5a0

File tree

3 files changed

+21
-11
lines changed

3 files changed

+21
-11
lines changed

docs/index.rst

+1-1
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ Contents
2929
Real-world Example <sites/examples/real-world.ipynb>
3030
FAQ <sites/faq.rst>
3131
Development Guide <sites/development.rst>
32-
Breaking Changes <sites/breaking.rst>
32+
Versinoing <sites/versioning.rst>
3333

3434
API Documentation
3535
=================

docs/sites/breaking.rst

-10
This file was deleted.

docs/sites/versioning.rst

+20
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
Versioning policy and breaking changes
2+
======================================
3+
4+
Dataframely uses `semantic versioning<https://semver.org/>`.
5+
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.
6+
We generally recommend that users take measures to control dependency versions. For example, we like to use `pixi` as a package manager, which comes with builtin
7+
support for lockfiles. Many other package managers support similar functionality. When updating the lockfiles, we recommend to use automated testing
8+
to ensure that user code still works with newer versions of dependencies such as `dataframely`.
9+
10+
Most importantly, semantic versioning implies that breaking changes of user-facing functionality are only introduced in **major releases**.
11+
We therefore recommend that users are particularly vigilant when updating their environments to a newer major release of `dataframely`.
12+
As always, automated testing is useful here, but we also recommend checking the release notes `published on GitHub <https://github.com/Quantco/dataframely/releases>`_.
13+
14+
In order to give users a heads-up before breaking changes are released, we introduce `FutureWarnings <https://docs.python.org/3/library/exceptions.html#FutureWarning>`_ .
15+
Warnings are the most direct and effective tool at our disposal for reaching users directly.
16+
We therefore generally recommend that users do not silence such warnings explicitly, but instead migrate their code proactively, whenever possible.
17+
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.
18+
Users can disable ``FutureWarnings`` either through `python builtins <https://docs.python.org/3/library/warnings.html#warnings.filterwarnings>`_,
19+
builtins from tools `like pytest <https://docs.pytest.org/en/stable/how-to/capture-warnings.html#controlling-warnings>`_ ,
20+
or by setting the ``DATAFRAMELY_NO_FUTURE_WARNINGS`` environment variable to ``true`` or ``1``.

0 commit comments

Comments
 (0)