Versioning & Backwards Compatibility Policy
Last Major Update: May 25, 2023
As our ecosystem matures, we are aware that many of you are relying on the SDV synthesizers for your projects. To support your endeavors, we aim to maintain a high standard for SDV software releases.
Many Python libraries follow different approaches to managing software releases. We feel that it is important to communicate our standards with you upfront, so that you can make the best decisions for your project. While we may tweak or amend these in the future, we will do so with the goal of creating a more reliable and stable software for you.
- MAJOR releases include significant changes to the API, functionality or other parts of the workflow. These releases may not be backwards compatible so you may need to update your scripts when upgrading. We do not expect to make major releases often. (We have only made 1 so far.)
- MINOR releases include new features and potentially some deprecations. Minor releases will be backwards compatible for supported SDV features (see next section). We expect to make frequent minor releases to provide you with improved usage.
- PATCH releases are small updates that do not impact the API. They typically include internal code changes, logical updates and bug fixes. We expect to make patch releases ad-hoc for small but important updates.
- Backwards Compatibility: The feature will not crash on the next SDV release
- Documentation: The functionality and detailed API will be available in this documentation site
Python Parameter Names. When using the SDV library, we encourage you to provide named keywords when providing your parameters, just as shown in the docs.
from sdv.datasets.demo import download_demo
data, metadata = download_demo(
Keywords can be inputted in any order. If you do not provide the keywords, we cannot guarantee the functions will work.
Please note that the SDV source code may contain additional public features that are not described in our documentation. These features are unsupported. While you are welcome to experiment with such features, we will not be able to provide you with the same software standard.
Backwards compatibility means that if your SDV script runs on today's SDV version, it will continue to run without crashing on the next release. The duration of backwards compatibility depends on the type of feature, as shown below.
Note: While we aim to provide this standard for all features, know that exceptional situations may arise. For example, a typo may force us to make an update without enforcing compatibility for the misspelled version.
When we deprecate a feature, you will receive FutureWarning with more details about the changes and a recommendation for updating your script. The software will continue to produce the warning (without crashing) according to the compatibility standard.
When we deprecate a supported feature, we'll cover it in the corresponding release notes.