You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, typing-extensions is roughly versioned after the latest Python release. I believe that's the case, since originally typing_extensions incorporated changed from said release and this was used to signal that. I think it's time to change to a semver-like versioning scheme:
The features in typing-extensions don't always align with the features of the corresponding Python version. New features often get added in "older" typing-extension versions. These changes are not really represented in the version number.
We have no clear way to mark incompatible changes, like dropping support for older versions.
I think there is a consensus to add selected definitions from _typeshed to typing_extensions. Separating typing_extension's versioning scheme and release schedule from Python's would allow us to be more flexible and also communicate changes better to our users.
Looking at the release history, it's not easily clear to me how the third and (if existing) fourth component of the version number is interpreted.
My suggestion: Bump the version to 4.0.0 and use a semver-like versioning scheme from now on: Incompatible changes require a major version bump, API additions a minor version change, and bug fixes an micro version change.
I agree the current versioning scheme isn't great; it's not even followed well in practice since we skipped 3.8 and 3.9. I also agree that we should have an explicit changelog.
Activity
srittau commentedon Oct 8, 2021
Also, going forward, we should add a changelog file that clearly documents all changes we do to typing_extensions.
JelleZijlstra commentedon Oct 8, 2021
The current versioning scheme is documented here: https://github.com/python/typing/blob/master/CONTRIBUTING.md#versioning-scheme. It was my attempt to distill what had been done in the past.
I agree the current versioning scheme isn't great; it's not even followed well in practice since we skipped 3.8 and 3.9. I also agree that we should have an explicit changelog.
srittau commentedon Oct 8, 2021
I should have read that. 😳
Do you think my suggestion makes sense or do you have another suggestion?
JelleZijlstra commentedon Oct 8, 2021
I'm on board with semantic versioning here.