mirror of
https://github.com/PyCQA/flake8.git
synced 2026-04-11 15:24:18 +00:00
Add more detail about types of releases
This commit is contained in:
parent
60b67f4ef3
commit
9526e061a7
1 changed files with 60 additions and 4 deletions
|
|
@ -4,15 +4,71 @@
|
||||||
|
|
||||||
There is not much that is hard to find about how |Flake8| is released.
|
There is not much that is hard to find about how |Flake8| is released.
|
||||||
|
|
||||||
- We use **major** releases (e.g., 2.0.0, 3.0.0, etc.) for big releases (e.g.,
|
- We use **major** releases (e.g., 2.0.0, 3.0.0, etc.) for big, potentially
|
||||||
large scale refactors). This can also contain dependency version changes.
|
backwards incompatible, releases.
|
||||||
|
|
||||||
- We use **minor** releases (e.g., 2.1.0, 2.2.0, 3.1.0, 3.2.0, etc.) for
|
- We use **minor** releases (e.g., 2.1.0, 2.2.0, 3.1.0, 3.2.0, etc.) for
|
||||||
releases that contain features and dependency version changes.
|
releases that contain features and dependency version changes.
|
||||||
|
|
||||||
- We use **patch** releases (e.g., 2.1.1, 2.1.2, 3.0.1, 3.0.10, etc.) for
|
- We use **patch** releases (e.g., 2.1.1, 2.1.2, 3.0.1, 3.0.10, etc.) for
|
||||||
releases that contain *only* bug fixes. These *never* contain changes to
|
releases that contain *only* bug fixes.
|
||||||
dependency version constraints.
|
|
||||||
|
In this sense we follow semantic versioning. But we follow it as more of a set
|
||||||
|
of guidelines. We're also not perfect, so we may make mistakes, and that's
|
||||||
|
fine.
|
||||||
|
|
||||||
|
|
||||||
|
Major Releases
|
||||||
|
==============
|
||||||
|
|
||||||
|
Major releases are often associated with backwards incompatibility. |Flake8|
|
||||||
|
hopes to avoid those, but will occasionally need them.
|
||||||
|
|
||||||
|
Historically, |Flake8| has generated major releases for:
|
||||||
|
|
||||||
|
- Unvendoring dependencies (2.0)
|
||||||
|
|
||||||
|
- Large scale refactoring (2.0, 3.0)
|
||||||
|
|
||||||
|
- Subtly breaking CLI changes (3.0)
|
||||||
|
|
||||||
|
- Breaking changes to its plugin interface (3.0)
|
||||||
|
|
||||||
|
Major releases can also contain:
|
||||||
|
|
||||||
|
- Bug fixes (which may have backwards incompatible solutions)
|
||||||
|
|
||||||
|
- New features
|
||||||
|
|
||||||
|
- Dependency changes
|
||||||
|
|
||||||
|
|
||||||
|
Minor Releases
|
||||||
|
==============
|
||||||
|
|
||||||
|
Minor releases often have new features in them, which we define roughly as:
|
||||||
|
|
||||||
|
- New command-line flags
|
||||||
|
|
||||||
|
- New behaviour that does not break backwards compatibility
|
||||||
|
|
||||||
|
- New errors detected by dependencies, e.g., by raising the upper limit on
|
||||||
|
PyFlakes we introduce F405
|
||||||
|
|
||||||
|
- Bug fixes
|
||||||
|
|
||||||
|
|
||||||
|
Patch Releases
|
||||||
|
==============
|
||||||
|
|
||||||
|
Patch releases should only ever have bug fixes in them.
|
||||||
|
|
||||||
|
We do not update dependency constraints in patch releases. If you do not
|
||||||
|
install |Flake8| from PyPI, there is a chance that your packager is using
|
||||||
|
different requirements. Some downstream redistributors have been known to
|
||||||
|
force a new version of PyFlakes, pep8/PyCodestyle, or McCabe into place.
|
||||||
|
Occasionally this will cause breakage when using |Flake8|. There is little
|
||||||
|
we can do to help you in those cases.
|
||||||
|
|
||||||
|
|
||||||
Process
|
Process
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue