Skip to content

Commit 252a4a4

Browse files
committed
Add more detailed versioning policy (#197)
1 parent 3c630b9 commit 252a4a4

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed

CONTRIBUTING.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,14 @@ CPython's `main` branch.
2323
# Versioning scheme
2424

2525
Starting with version 4.0.0, `typing_extensions` uses
26-
[Semantic Versioning](https://semver.org/). The major version is incremented for all
27-
backwards-incompatible changes.
26+
[Semantic Versioning](https://semver.org/). See the documentation
27+
for more detail.
2828

2929
# Workflow for PyPI releases
3030

31+
- Make sure you follow the versioning policy in the documentation
32+
(e.g., release candidates before any feature release)
33+
3134
- Ensure that GitHub Actions reports no errors.
3235

3336
- Update the version number in `typing_extensions/pyproject.toml` and in

doc/index.rst

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,17 @@ In view of the wide usage of ``typing_extensions`` across the ecosystem,
3737
we are highly hesitant to break backwards compatibility, and we do not
3838
expect to increase the major version number in the foreseeable future.
3939

40+
Feature releases, with version numbers of the form 4.N.0, are made at
41+
irregular intervals when enough new features accumulate. Before a
42+
feature release, at least one release candidate (with a version number
43+
of the form 4.N.0rc1) should be released to give downstream users time
44+
to test. After at least a week of testing, the new feature version
45+
may then be released. If necessary, additional release candidates can
46+
be added.
47+
48+
Bugfix releases, with version numbers of the form 4.N.1 or higher,
49+
may be made if bugs are discovered after a feature release.
50+
4051
Before version 4.0.0, the versioning scheme loosely followed the Python
4152
version from which features were backported; for example,
4253
``typing_extensions`` 3.10.0.0 was meant to reflect ``typing`` as of

0 commit comments

Comments
 (0)