Skip to content

Commit 83400e9

Browse files
srittauAlexWaygood
andauthored
Clarify version policy (#777)
* Clarify version policy We will increase the patch version after a release. The minor version is increased when features are added. Also, use `dev0` instead of `dev`, since the former is the normalized version of the latter. * Remove the 'Development version' section * More examples and guidance * Use consistent markup * Apply suggestions and link to the existing policy * Also link to the versioning policy in the first section * Update CONTRIBUTING.md Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com> --------- Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
1 parent 890ca78 commit 83400e9

1 file changed

Lines changed: 10 additions & 10 deletions

File tree

CONTRIBUTING.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,9 @@ CPython's `main` branch.
2121
# Versioning scheme
2222

2323
Starting with version 4.0.0, `typing_extensions` uses
24-
[Semantic Versioning](https://semver.org/). See the documentation
24+
[Semantic Versioning](https://semver.org/). [See the documentation](https://typing-extensions.readthedocs.io/en/latest/#versioning-and-backwards-compatibility)
2525
for more detail.
2626

27-
## Development version
28-
After a release the version is increased once in [pyproject.toml](/pyproject.toml) and
29-
appended with a `.dev` suffix, e.g. `4.0.1.dev`.
30-
Further subsequent updates are not planned between releases.
31-
3227
# Type stubs
3328

3429
A stub file for `typing_extensions` is maintained
@@ -93,15 +88,18 @@ pipx run pre-commit run -a
9388

9489
# Workflow for PyPI releases
9590

96-
- Make sure you follow the versioning policy in the documentation
97-
(e.g., release candidates before any feature release, do not release development versions)
91+
- Make sure that the version in `pyproject.toml` and `CHANGELOG.md` follows the versioning policy outlined in
92+
[the documentation](https://typing-extensions.readthedocs.io/en/latest/#versioning-and-backwards-compatibility).
9893

9994
- Ensure that GitHub Actions reports no errors.
10095

10196
- Check that `CHANGELOG.md` accurately reflects all important changes committed to `main` since the previous release.
10297

10398
- Update the version number in `typing_extensions/pyproject.toml` and in
104-
`typing_extensions/CHANGELOG.md`.
99+
`typing_extensions/CHANGELOG.md` by removing `.dev0` and potentially adding the `rcX` suffix:
100+
- `4.1.0.dev0``4.1.0rc1` for the initial release candidate
101+
- `4.1.0rc2.dev0``4.1.0rc2` or `4.1.0`, depending on whether the release is a second release candidate or a full release
102+
- `4.1.1.dev0``4.1.1` when making a hotfix release
105103

106104
- Create a new GitHub release at https://github.com/python/typing_extensions/releases/new.
107105
Details:
@@ -111,4 +109,6 @@ pipx run pre-commit run -a
111109
- Release automation will finish the release. You'll have to manually
112110
approve the last step before upload.
113111

114-
- After the release has been published on PyPI upgrade the version in number in [pyproject.toml](/pyproject.toml) to a `dev` version of the next planned release. For example, change 4.1.1 to 4.X.X.dev, see also [Development versions](#development-version). # TODO decide on major vs. minor increase.
112+
- After the release has been published on PyPI upgrade the patch or rc version number in [pyproject.toml](/pyproject.toml) and append `.dev0`. For example:
113+
- `4.1.1``4.1.2.dev0`
114+
- `4.1.0rc1``4.1.0rc2.dev0`

0 commit comments

Comments
 (0)