Versioning, Release, and Security

Versioning

I use two versioning systems, my offical versioning and the PyPI versioning.

Official Versioning

Official versioning all starts with ‘kms-‘. Depending on the type of official versioning, you may see the following:

You will most likely see kms-semver a lot more than the other two.

PyPI Versioning

To conform with PEP 440, I use a secondary versioning system. This one has no prefixes and follows all PEP 440 guidelines.

Basically, this:

kms-v1.2/2026.01.04

becomes this as a tag:

v1.2.0.20260104

which is automatically converted by setuptools and becomes this in PyPI:

1.2.0.20260104

Letter suffixes become numbers according to its position in the alphabet (i.e. a is 1, b is 2)

Releases

When a release is published, a build of the library will be created and published to PyPI with the PyPI Versioning. The official name of the release as seen from Github will be the Official Version string.

The version string would look like either one of the following:

kms-v(major).(minor).(patch)/(year YYYY).(month MM).(day DD)(letter suffix)

i.e. kms-v1.2/2026.01.04

or

(major).(minor).(patch).(year YYYY)(month MM)(day DD).(number suffix)

i.e. 1.2.2.20260515.1

See more about sematic versioning (SemVer) here

See more about calendar versioning (CalVer) here

Supported Versions

Currently, the only released package versions (not necessarially supported) are kms-v1.2/2026.01.04 and later. However, I may port all kms-semver1.x.x to PyPI if I have the time.

See more about the upcoming kms-semver2.0 update.

Version Production Stage Current Status Expected EOL Latest
1.0.x Inactive(7) Unsupported Already reached EOL Unknown
1.1.x Inactive(7) Unsupported Already reached EOL Unknown
1.2.x Production/Stable (5) LTS 1.5 1.2.5.20260724
1.3.x Production/Stable (5) Stable - Latest 1.6 1.3.1.20260812
1.4.x Pre-Alpha(2) Development - Main 2.0 Unreleased
1.5.x Planning(1) Unreleased 2.1 None
1.6.x Planning(1None(0) Unreleased 2.2 None
2.0.x Planning(1) Unreleased 2.3 None

Reporting a Vulnerability

Click here to draft a security vulnerability. It is also recommended that an issue linking to that security advisory is created one the security advisory is published and becomes public. For anyone out there who has a fix, just fork the repo, make the edit, and create a PR linking back to the issue.

« Back to home