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:

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 automatically 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

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

i.e. 1.2.2.20260515.1

You may see a discrepancy between the version string within the main module file and the released version string. This is because updates may not have involved the module. Always trust the higher version number.

See more about sematic versioning (SemVer) here

See more about calendar versioning (CalVer) here

Supported Versions

Currently, the only released package versions are kms-v1.2.2/2026.05.06b and later. However, I may port all kms-semver1.x.x to pypi.

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

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

Reporting a Vulnerability

Please report vulnerabilities as a GitHub issue. I will get back to you ASAP.