Skip to content

Roadmap

Boss_1s edited this page Jun 8, 2026 · 8 revisions

Roadmap

This is the roadmap for kms. As time goes on, more and more items may be added to this roadmap.

Learn more about the versioning system

Learn about supported versions

Project Branches & Release Logic

This repo has two branches: a main branch, and a beta branch. A dev branch may also be added. dev will be sourced from beta, and beta is sourced from main.

  • The main branch will always contain updates for the current minor version. As of May 16th, this would be kms-semver1.2.x.x.x. A nightly build for this will always be released every push, regardless of official patch releases in between. There will not be scheduled beta releases for this branch.

  • The beta branch will always contain features for the next minor version. As of May 16th, this would be kms-semver1.3.x.x.x. A nightly build for this will always be released every push, and a beta release for this branch will be released every month until the official release of the version.

  • The dev branch currently does not exist. I am currently deciding how this branch will function when it comes to releases. kms-semver2.0 will most likely be either on its own branch, or be the dev branch itself, sourced from beta.

Nightly builds will ALWAYS be available for each branch.

The "No" List

kms will NEVER have the following features:

  • The ability to interact with the following file extensions: *.txt, *.rtf, *.dbf, *.html, *.mdb, *.accdb
  • The reliance on other libraries that function similar to kms

Known Bugs

Some of these bugs may be fixed in the release of kms-semver1.3 instead of kms-semver1.2.x. These bugs are notated with a ".

  • None right now

Possible Future Features

kms-semver1.3:

  • Separate modules for each class (Load, Edit, and Delete classes) instead of nesting them under Storage
  • Complete metadata
  • Complete docstring refactorization
  • Complete module separation

kms-semver1.4:

  • Make certain functions accept a Storage object so that advanced operators can be avoided
  • Make certain functions return Storage objects instead of None
  • Partial logging.Logger support
  • Native scratchattach support
  • more...?

kms-semver1.5:

  • Complete logging.Logger support
  • Partial YAML parsing support for automation... (will talk more about this when it comes up)
  • more...?

kms-semver1.6:

  • Custom UUIDv7 library so that no fallback to UUIDv4 is necessary
  • Complete YAML parsing support for automation...
  • more...?

Breaking Changes in kms-semver1.3 (so far)

  • All metadata variables from kms-semver1.2.2 was renamed. Consider updating to kms-v1.2.3/2026.06.05 (using pip install key-multivalue-storage===1.2.3.20260605) or later and changing the old names to the new ones in your code.
Old name New name
VERSION semver
DATE_VERSION calver
LAST_UPDATE last_update
  • In Delete.by_propkey: the required argument top_level_key will be renamed to top_lv_key, to match with the other modules. This should not affect normal performance, unless you assign the arguments like this:
Storage.Delete.by_propkey(_,top_lv_key='key')

[See more info about kms-semver2.0 here.]