Skip to content

typing-extensions versioning #32

Closed
python/typing
#907

Description

@srittau

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.

Activity

  1. srittau commented on Oct 8, 2021

    @srittau
    CollaboratorAuthor

    Also, going forward, we should add a changelog file that clearly documents all changes we do to typing_extensions.

  2. JelleZijlstra commented on Oct 8, 2021

    @JelleZijlstra
    Member

    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.

  3. srittau commented on Oct 8, 2021

    @srittau
    CollaboratorAuthor

    The current versioning scheme is documented here: https://github.com/python/typing/blob/master/CONTRIBUTING.md#versioning-scheme.

    I should have read that. 😳

    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.

    Do you think my suggestion makes sense or do you have another suggestion?

  4. JelleZijlstra commented on Oct 8, 2021

    @JelleZijlstra
    Member

    I'm on board with semantic versioning here.

  5. transferred this issue frompython/typingon May 19, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions