Skip to content

typing-extensions versioning #32

@srittau

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.

Metadata

Metadata

Assignees

No one assigned
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions