.. _compatibility: Version compatibility ===================== Ensaio version compatibility ---------------------------- Ensaio uses `semantic versioning `__ (i.e., ``MAJOR.MINOR.BUGFIX`` format): * Major releases mean that backwards incompatible changes were made. Upgrading will require users to change their code. * Minor releases add new features/data without changing existing functionality. Users can upgrade minor versions without changing their code. * Bug fix releases fix errors in a previous release without adding new functionality. Users can upgrade minor versions without changing their code. **We aim for Ensaio to be backwards compatible whenever possible and will make major releases sparingly and with ample warning.** Source data releases -------------------- New releases of Ensaio will tend to accompany releases of the source data collection in the `fatiando/data `__ repository. However, the **version numbers will not necessarily match**. A major release of the data collection will result in a **new module being added to Ensaio** (for example, the data release ``2.0.0`` will prompt an Ensaio release with the ``ensaio.v2`` module added). The ``1.*.*`` data will still be accessible through the ``ensaio.v1`` module. The modules for previous releases will not be removed unless absolutely necessary. This means that upgrading Ensaio should almost always be safe and documentation using ``1.*.*`` data should still work after ``2.*.*`` data is released. .. _python-versions: Python version compatibility ---------------------------- If you require support for older Python versions, please pin Ensaio to the following releases to ensure compatibility: .. list-table:: :widths: 40 60 * - **Python version** - **Last compatible release** * - 3.6 - 1.0.0 * - 3.7 - 1.X.0 (planned for late 2022)