File: releases.rst

package info (click to toggle)
python-polyfactory 2.22.2-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 1,892 kB
  • sloc: python: 11,338; makefile: 103; sh: 37
file content (80 lines) | stat: -rw-r--r-- 2,884 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
:orphan:

====================
Polyfactory Releases
====================

This document outlines the release structure, versioning, and stability guarantees for the Polyfactory library.

Version Numbering
-----------------

This library follows the `Semantic Versioning standard <https://semver.org/>`_, using the ``<major>.<minor>.<patch>``
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
``<major>.<minor>.<patch><release_type><number>``. 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.