We currently publish two kinds of Dagster releases:
- Minor releases, e.g. 0.7.0, 0.8.0. We publish a new minor release every few months.
- Dot releases, e.g. 0.8.1, 0.8.2. We publish a new dot release at least once per week.
We are in the 0.y.z of SemVer. While technically this is "anything goes", we provide guidance to set expectations around deprecations and breaking changes:
- Upgrading to a new dot version within a minor release, e.g. 0.8.1 → 0.8.2, should never result in broken code. If a new dot version does break your code, please help us out by filing an issue on Github.
- An exception to the above is “experimental APIs”, which allow us to offer new APIs to users and rapidly iterate based on their feedback. Experimental APIs will emit a warning whenever used, and may be broken even in dot releases.
- As often as possible, deprecation warnings will precede removals. E.g. if we’re currently on version 0.8.5, and we wish to remove an API, we’ll start issuing a deprecation warning when the API is used, and then we’ll omit it from 0.9.0.
- Upgrading to a new minor version, e.g. 0.7.5 → 0.8.0 may result in breakages or new deprecation warnings.
- We'll aim to batch deprecations every four weeks (or so).
The best way to stay on top of what changes are included in each release is through the changelog. We call out breaking changes in the “Breaking Changes” section of the changelog and deprecations in the “Deprecations” section.
We also publish a migration guide with each minor release, which details the changes you need to make to upgrade from the last minor release.