:orphan: ========================= Advanced Alchemy Releases ========================= Version Numbering ----------------- This library follows the `Semantic Versioning standard `_, using the ``..`` schema: **Major** Backwards incompatible changes have been made **Minor** Functionality was added in a backwards compatible manner **Patch** Bugfixes were applied in a backwards compatible manner Pre-release Versions ++++++++++++++++++++ Before a new major release, we will make ``alpha``, ``beta``, and release candidate (``rc``) releases, numbered as ``..``. For example, ``2.0.0alpha1``, ``2.0.0beta1``, ``2.0.0rc1``. - ``alpha`` Early developer preview. Features may not be complete and breaking changes can occur. - ``beta`` More stable preview release. Feature complete, no major breaking changes expected. - ``rc`` Release candidate. Feature freeze, only bugfixes until final release. Suitable for testing migration to the upcoming major release. Long-term Support Releases (LTS) -------------------------------- Major releases are designated as LTS releases for the life of that major release series. These releases will receive bugfixes for a guaranteed period of time as defined in `Supported Versions <#supported-versions>`_. Deprecation Policy ------------------ When a feature is going to be removed, a deprecation warning will be added in a **minor** release. The feature will continue to work for all releases in that major series, and will be removed in the next major release. For example, if a deprecation warning is added in ``1.1``, the feature will work throughout all ``1.x`` releases, and be removed in ``2.0``. Supported Versions ------------------ At any time, the Litestar organization will actively support: - The current major release series - The previous major release series - Any other designated LTS releases (Special cases) For example, if the current release is ``2.0``, we will actively support ``2.x`` and ``1.x``. When ``3.0`` is released, we will drop support for ``1.x``. Bugfixes will be applied to the current major release, and selectively backported to older supported versions based on severity and feasibility. Release Process --------------- Each major release cycle consists of a few phases: #. **Planning**: Define roadmap, spec out major features. Work should begin on implementation. #. **Development**: Active development on planned features. Ends with an alpha release and branch of ``A.B.x`` branch from `main`. #. **Bugfixes**: Only bugfixes, no new features. Progressively release beta, release candidates. Feature freeze at RC. Become more selective with backports to avoid regressions.