Skip to content

Binary format versioning #5

@JukkaL

Description

@JukkaL

I want to keep the extension backward compatible once we've made the first public release. Add a version number parameter to the public API, so that we can continue to support old mypy versions. Ideally updating ast-serialize to a new version should not break mypy. If we adopt semver, this would mean that we don't plan to release a 2.0 version. We can drop support for old format versions after a suitably long deprecation period (multiple years).

The main expected format changes are from supporting for new Python features, and fixes to bugs. We can gate new AST features behind a version check. Bug fixes may also have to be gated, if we need to add new data fields in the serialized data, for example.

We'd probably want to test against older mypy versions in the CI so that we don't accidentally break backward compatibility.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions