Changelog

Table Of Contents

πŸ“¦ v1.3.2.20260826b2 β€” kms-v1.3.2b2/2026.08.26

βš™ Target Node Commit: de8d6fca

πŸ“ Release Type: Pre-release - Minor Patch

one last thing

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.2.20260826b1…v1.3.2.20260826b2


πŸ“¦ v1.3.2.20260826b1 β€” kms-v1.3.2b1/2026.08.26

βš™ Target Node Commit: 8d3a1573

πŸ“ Release Type: Pre-release - Minor Patch

I’m just gonna keep doing this until it works

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.2.20260826b0…v1.3.2.20260826b1


πŸ“¦ v1.3.2.20260826b0 β€” kms-v1.3.2b0/2026.08.26

βš™ Target Node Commit: ed82d269

πŸ“ Release Type: Pre-release - Major Patch

testing new release script now

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.1.20260812…v1.3.2.20260826b0


πŸ“¦ v1.3.1.20260812 β€” kms-v1.3.1/2026.08.12

βš™ Target Node Commit: 8f98cb36

πŸ“ Release Type: Major Patch

πŸ“ Release Notes

Table of Contents

πŸ’‘ Features

This release has a lot of quality-of-life and automation work, plus some solid module improvements:

πŸͺ² Bug Fixes

Big focus here was correctness + CI stability:

πŸ€– Dependency Updates

Dependency maintenance was heavy in this cycle:

Important

Dependabot still handles dependency updates on the following branches: docs. It also still handles global vulnerability warnings.

⏰ Other Important Changes

πŸͺ« Graceful Deprecation cycle 1.3.1

πŸ—’ Notes

Main vibe of this release: stability + cleanup + automation maturing.

This update, besides bug fixes, also focused on formalizing and standardizing the development environment for kms.

This release was intended for August 10th, 2026, but was delayed two days due to GitHub Actions being down for over 7 hours on August 8th and over 12 hours overall between August 3rd and 7th.

πŸ…By The Numbers

πŸ“’ Plans for next update

Regarding kms-semver1.3.2, sadly, because school is starting up, I was forced to rewrite the whole roadmap and push kms-semver1.3.2 for two extra weeks, giving us 8 weeks until the next major patch. (You can see the new release cycles here.) The next patch will mostly be refactors (unlike this one which was mostly bug fixes) to the modules, especially those Storage dunder methods…those ones are the real deal. The final release date of kms-semver1.3.2 is set to be on September 30th, 2026. Until then, there…ahem…

Caution

There will be dragons….. of artificial intelligence….

Sorry. Anyways….

Regarding kms-semver1.4.0, after the roadmap rewrite, the new kms-semver1.4.0 stable release date is 2027/01/03, and the first alpha will come out on **2026/10/12. Currently planned features are listed in the roadmap and the milestone. Not much more to say about this update, more info will come out as alpha0 lurks closer.

πŸ“‘ Full Changelog: v1.3.0.20260731 vs v1.3.1.20260812


πŸ“¦ v1.3.0.20260731 β€” kms-v1.3.0/2026.07.31

βš™ Target Node Commit: 09779f11

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

None :)

Module Updates

Notes

***The main point of this release is the patch of Storage.store storing empty data if encode was set to False

Plans for next update

Regarding kms-semver1.3.1, the next major patch, that will come out very soon to address bug issues #14 and #26. If possible, I will also add the feature suggested in feat issue #27. There is no set release date yet; however, the planned range of possible dates goes from August 5th, 2026 to August 11th, 2026.

Regarding kms-semver1.4.0, that is currently set to release around September 30th, 2026. HOWEVER, because school is very unpredictable, I may rewrite the whole roadmap to try and release a minor update to the 1.x.x series to release every 5~6 months instead of 3~4. Currently planned features are listed in the roadmap.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.0.20260730.1…v1.3.0.20260731


πŸ“¦ v1.3.0.20260730.1 β€” kms-v1.3.0/2026.07.30a

βš™ Target Node Commit: 364a8774

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Module Updates

Dependency Updates

Notes

The main purpose of this patch is to address the issue of kms’s custom exceptions and warnings not being exposed to the top level.

Plans for next updates

Regarding kms-semver1.3.1, the next major patch, that will come out very soon to address bug issues #14 and #26. If possible, I will also add the feature suggested in feat issue #27. There is no set release date yet; however, the planned range of possible dates goes from August 5th, 2026 to August 11th, 2026.

Regarding kms-semver1.4.0, that is currently set to release around September 30th, 2026. HOWEVER, because school is very unpredictable, I may rewrite the whole roadmap to try and release a minor update to the 1.x.x series to release every 5~6 months instead of 3~4. Currently planned features are listed in the roadmap.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.0.20260730…v1.3.0.20260730.1


πŸ“¦ v1.3.0.20260730 β€” kms-v1.3.0/2026.07.30

βš™ Target Node Commit: 352a1d4c

πŸ“ Release Type: Minor Patch

What’s Changed

Table of Contents

kms-semver1.3.x diff

Repo Updates
Module Updates
Dependency updates

kms-v1.2.3/2026.05.23a diff

Repo Updates

The update incorporates changes from previous versions and focuses on automating the release processes, such as auto-version commits and changelog generation. Key improvements include enhanced documentation, new issue templates, improved nightly build reliability, and refined dependency management.

Module Updates

This update brings significant structural refactoring and code quality improvements to the module. Key adjustments include changes like renaming top_level_key to top_lv_key in Delete.by_propkey(), shifting Storage.key’s value type to Any, and introducing deprecation warnings for upcoming structural changes and soft deprecating old syntax. Structurally, the core Load, Edit, and Delete classes have been isolated into independent files (modules load, edit, and delete, respectively), while custom exceptions, warnings, and metadata have been moved into a dedicated utils/ directory. Additionally, the update integrates new dependencies like rich and typing-extension, introduces precommit tools, reorganizes the test suite, and completes a full refactor of all docstrings alongside a brand new visual library tree generated by a custom help() method at the library level.

Deprecation Cycle 1.3

Important

None of these are true breaking changes - instead, all old features will still remain in the code carrying DeprecationWarnings until kms-semver2.0.

Old name New name
VERSION semver
DATE_VERSION calver
LAST_UPDATE last_update
import key_multivalue_storage as kms

warnings.filterwarning(category=kms.Storage.DeleteWarning) # Old, will raise DeprecationWarning
warnings.filterwarning(category=kms.DeleteWarning) # New, will work properly
Dependency updates

This release organizes and upgrades several project dependencies, optimizing constraints and bumping underlying tools:

Precise Version Changes
Dependency / Package Name Previous Version New Version Source Change (PR / Commit)
astral-sh/setup-uv 5 7 PR #8
oprypin/find-latest-tag 1.1.2 1.1.3 PR #7
actions/checkout 3 / 6 7 PR #10, PR #23
typing-extensions ~=4.15 ~=4.16 PR #13
actions/setup-python 4 / 6 7 PR #16, PR #22
reviewdog/action-actionlint 1.72.0 1.73.0 PR #19, PR #20
certifi v2026.6.17 v2026.7.22 Commit e95aedc
filelock v3.29.4 v3.32.0 Commit e95aedc
gitpython v3.1.53 v3.1.57 Commit e95aedc
griffe / griffecli / griffelib v2.0.2 v2.1.0 Commit e95aedc
platformdirs v4.10.0 v4.11.0 Commit e95aedc
pre-commit v4.6.0 v4.6.1 Commit e95aedc
pyproject v1!0.1.2 v1!0.2.1 Commit e95aedc
python-discovery v1.4.2 v1.5.0 Commit e95aedc
tomlkit v0.15.0 v0.15.1 Commit e95aedc
virtualenv v21.5.1 v21.7.0 Commit e95aedc

Notes

This release was pushed a day late.

Plans for next update

Wow.

Finally.

After three months of hard, hard work….

…kms-semver1.3.0 is finally out.

I cannot even being to believe that just three months ago, I decided to publish an extremely messy, albeit useful, module onto PyPI, and here I am now, with an actual library, containing four main modules and three utility modules.

Time flies, huh?

Alright, enough yapping. About kms-semver1.4.0, that is currently set to release around September 30th, 2026. HOWEVER, because school is very unpredictable, I may rewrite the whole roadmap to try and release a minor update to the 1.x.x series to release every 5~6 months instead of 3~4. Currently planned features are listed in the roadmap.

About kms-semver1.3.1, the next major patch, that will come out very soon to address bug issues #14 and #26. If possible, I will also add the feature suggested in feat issue #27. There is no set release date yet; however, the planned range of possible dates goes from August 5th, 2026 to August 11th, 2026.

Full Changelogs


πŸ“¦ v1.3.0.20260727rc1 β€” kms-v1.3.0rc1/2026.07.27

βš™ Target Node Commit: 345ed056

πŸ“ Release Type: Pre-release - Minor Patch

What’s Changed

Important

kms-v1.3.0/2026.07.29, the first stable version of kms-semver1.3.x, will release soon! Please note the changes stated in the roadmap and changelog, and prepare accordingly. Thanks!

Repo Updates

Tests & Automations

Module Updates

Dependency Updates

See commit e95aedc for details.

Notes

Four medium-risk security leaks were patched by updating gitpython to a version greater than v3.1.54, via commit e95aedc. These leaks may not have affected kms directly; however, it is important to be conscientious when dealing with security and stability.

See the alerts here.

Plans for next update

Important

This is the final release candidate!

The final release date will be on July 29th, two days after the original planned date, to give myself some time to rest and cleanup any messes left behind.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.0.20260724rc0…v1.3.0.20260727rc1


πŸ“¦ v1.3.0.20260724rc0 β€” kms-v1.3.0rc0/2026.07.24

βš™ Target Node Commit: 66ccf8d5

πŸ“ Release Type: Pre-release - Minor Patch

What’s Changed

Repo Updates

Important

This branch is no longer called β€˜beta’. As of this release, it will be called β€˜semver1.3.x’.

Module Updates

Dependency updates

Notes

This was originally released as v1.3.0.20260723b1. However, I decided to re-release it as a release candidate instead.

Plans for next update

Bro.

We are almost there.

The first release candidate is out, and a second one containing cleanups is coming out. This is it: after rc1, we will finally be stable.

What a journey this has been.

Please note: the final release date will be on July 29th, two days after the original planned date, to give myself some time to rest and cleanup any messes left behind.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.0.20260721b0…v1.3.0.20260724rc0


πŸ“¦ v1.3.0.20260721b0 β€” kms-v1.3.0b0/2026.07.21

βš™ Target Node Commit: a0871f01

πŸ“ Release Type: Pre-release - Minor Patch

What’s Changed

Repo Updates

Note

This dependency makes the precommit process more robust.

Notes

None.

Plans for next update

Looks like I’m going to be on a tight schedule here…

I’m going to be releasing one more beta on the 23rd, which should include docstring updates related to the storage module and delete module. After that, a little sparkle and cleanup is left before moving on to the release candidate stage, which is set to release as v1.3.0.20260724rc0 on July 24th. As a reminder, the final release is scheduled for July 27th, with a backup date of July 30th in case things don’t go as planned, giving me three emergency days.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.0.20260703a4…v1.3.0.20260721b0


πŸ“¦ v1.3.0.20260703a4 β€” kms-v1.3.0a4/2026.07.03

βš™ Target Node Commit: e658778d

πŸ“ Release Type: Pre-release - Minor Patch

What’s Changed

Repo Updates

Cherry-picked commits

0fff779, fa0924a, 546d497, 1c0d4d3, db4ac9c, 3be3602, 49645dc, 625cc38, 892c427, d9614ad, 4de3e08, cb36289, 0e1324f, df782e8, 67da837, d21b83d, 9eaabfb, 95af72e, 3456bf8, and possibly more…. See more info about these commits and thier purpose at v1.2.4.20260703

Other Changes

All other repo related updates were released as part of v1.2.4.20260703.

Module Updates

Warning

When tests are running on Windows, specifically the legacy cmd.exe shell, tests WILL fail due to a Unicode encoding error. See #14 for more details.

Dependency updates

Plans for next update

Finally.

The final alpha release is here.

The plan right now is two betas and a release candidate, with the official release coming on July 27th. Expect the first beta sometime next week; it’s most likely going to be a smaller release compared to the feature-and-fix-packed alphas we’ve had. Side note: Feature Freeze does not begin until kms-semver1.3.0rc0.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.0.20260610a3…v1.3.0.20260703a4


πŸ“¦ v1.3.0.20260610a3 β€” kms-v1.3.0-alpha3/2026.06.10

βš™ Target Node Commit: 8b48b591

πŸ“ Release Type: Pre-release - Minor Patch

What’s Changed

Repo Updates

Cherry-picked commits

34dd62c, 0abbb2a, 0ea7bac, d650ae6, e0d0145, 0c0f325, 40312c7, 799e1bc, b8bc5ff, 5d08a72, cace704, 19c9477, bd9a4c0, 2d969c2, 5b45ae6, 58fd625, 002c7c2, d1a1be5, bb799a4, 7aca59a, 40fe7a5, a7444cb, 249896d, 6125ed0, e62ea4a

Other Changes

I put version numbers next to changes from upstream versions; however, this doesn’t mean that kms-semver1.3 is sourced from these changes.

Is it just me, or is everything revolved around bugs from the Delete class…

Dependency updates

Notes

This was supposed to be release v1.3.0.20260608a3, however I found out (a bit too late) that the release built on main for some reason, so I’m rereleasing it with the CORRECT branch on target…

Plans for next update

It’s been two weeks since the last alpha, but this one is finally here. So much effort to fix something upstream just so I could finally release this… I believe that after this, we will see one more big alpha release. That release will mainly contain the separation of the Load, Edit, and Delete classes from Storage, along with separate metadata for each of these classes. After that comes the beta releases, which will have small fixes, tweaks, native Pylint support, and definitely NO breaking changes. Hopefully, we’ll only need one release candidate before the actual kms-semver1.3.0 update.

That’s it, folks!

Full Changelog: v1.3.0.20260524a2 vs v1.3.0.20260610a3

YANKED: v1.3.0.20260608a3


πŸ“¦ v1.3.0.20260524a2 β€” kms-v1.3.0a2/2026.05.24

βš™ Target Node Commit: f5cb3356

πŸ“ Release Type: Pre-release - Minor Patch

What’s Changed

Repo Updates

Plans for next update

The next alpha with major changes will be released in a week, with the last major alpha in two or three weeks. The next big change will be separating the classes into different modules. I will try my best to keep breaking changes to a minimum, but no promises can be made lol. Other things that need to be done is fixing type hint warnings and conflicts, and obviously, fixing the docstrings, which is the main point of the update, after all.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.0.20260524a1…v1.3.0.20260524a2


πŸ“¦ v1.3.0.20260524a1 β€” kms-v1.3.0-alpha1/2026.05.24

βš™ Target Node Commit: 51583499

πŸ“ Release Type: Pre-release - Minor Patch

What’s Changed

Repo Updates

Notes

If this doesn’t work you’ll most likely see another alpha release today…

Plans for next update

The next alpha with major changes will be released in a week, with the last major alpha in two or three weeks. The next big change will be separating the classes into different modules. I will try my best to keep breaking changes to a minimum, but no promises can be made lol. Other things that need to be done is fixing type hint warnings and conflicts, and obviously, fixing the docstrings, which is the main point of the update, after all.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.3.0.20260523a0…v1.3.0.20260524a1


πŸ“¦ v1.3.0.20260523a0 β€” kms-v1.3.0-alpha0/2026.05.23

βš™ Target Node Commit: 002c7c21

πŸ“ Release Type: Pre-release - Minor Update

omg its finally here!!! :>

What’s Changed

Repo Updates

Plans for next update

Damn, did this take long. I got it finished in the end, didn’t I?

Looks like the next alpha will be released in a week, with the last alpha in two or three weeks. The next big change will be separating the classes into different modules. I will try my best to keep breaking changes to a minimum, but no promises can be made lol. Other things that need to be done is fixing type hinting warnings and conflictions, and obviously, fixing the docstrings, which is the main point of the update, after all.

Note that kms-semver1.3 will now be officially designated as built from v1.2.3.20260523.1.

Full Changelog: v1.2.2.20260517.3 vs v1.3.0.20260522a0


πŸ“¦ v1.2.5.20260912 β€” kms-v1.2.5/2026.09.12

βš™ Target Node Commit: 62e63d93

πŸ“ Release Type: Minor Patch

Caution

The version you are looking at is currently in LTS for stability. If you are able, please update to the newest version.

The kms-semver1.2.x series will officially reach its End-Of-Life on January 3rd, 2027.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.5.20260724…v1.2.5.20260912


πŸ“¦ v1.2.5.20260724 β€” kms-v1.2.5/2026.07.24

βš™ Target Node Commit: 0edcd250

πŸ“ Release Type: Major Patch

What’s Changed

Important

As of this version, the main branch will be renamed to semver1.2.x. Please update your environments accordingly.

Important

kms-v1.3.0/2026.07.29, the first stable version of kms-semver1.3.x, will release soon! Please note the changes stated in the roadmap and changelog, and prepare accordingly. Thanks!

Important

As of this version, the main branch handling all things relating to the docs/ folder and the Github Pages site is docs

Warning

This will be the last feature release for kms-semver1.2.x. Beginning this release, kms-semver1.2.x will enter its Maintenance stage, meaning only high-priority security updates and important bug fixes will be committed to ensure long-term stability before EOS (End of Support).

Repository Updates

Module Updates

Dependency Updates

Notes

This is a delayed release. The original planned date for this release was 2026/07/23 on v1.2.5.20260723 instead.

Plans for next update

No plans for the next kms-semver1.2.x update.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.4.20260702…v1.2.5.20260724


πŸ“¦ v1.2.4.20260702 β€” kms-v1.2.4/2026.07.03

βš™ Target Node Commit: 5710f8a7

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.4.x updates should see more updates to the documentation website, and changes that will pave the way to 1.3.0 This patch version (1.2.4) may be the last one before the release of kms-semver1.3.0.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.3.20260605.4…v1.2.4.20260702


πŸ“¦ v1.2.4.20260610b0 β€” kms-v1.2.4-beta0/2026.06.10

βš™ Target Node Commit: de48c51d

πŸ“ Release Type: Pre-release - Major Patch

Testing release logic….

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.3.20260605.4…v1.2.4.20260610b0


πŸ“¦ v1.2.3.20260605.4 β€” kms-v1.2.3/2026.06.05d

βš™ Target Node Commit: b875965f

πŸ“ Release Type: Stable Promotion - Minor Patch

What’s Changed

Repo Updates

Huge credits to Google’s AI Mode for explaining SSH to me so that I could get this done lol πŸŽ‰πŸŽ‰

Plans for next update

Our next few 1.2.3.x updates should see more Repo updates, specifically working on the wiki page and other documentation. I am also hoping for some prettifying in the module itself on kms-semver1.2, whilst working on kms-semver1.3.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.3.20260605.1…v1.2.3.20260605.4

Yanked: v1.2.3.20260605.2, v1.2.3.20260605.3


πŸ“¦ v1.2.3.20260605.4b3 β€” kms-v1.2.3b3/2026.06.05d

βš™ Target Node Commit: b7ad7dbc

πŸ“ Release Type: Pre-release - Minor Patch

so many betas….im praying this’ll work…..please….

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.3.20260605.4b2…v1.2.3.20260605.4b3


πŸ“¦ v1.2.3.20260605.4b2 β€” kms-v1.2.3b2/2026.06.05d

βš™ Target Node Commit: fae9ca15

πŸ“ Release Type: Pre-release - Minor Patch

Hopefully this works…

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.3.20260605.4b1…v1.2.3.20260605.4b2


πŸ“¦ v1.2.3.20260605.4b1 β€” kms-v1.2.3b1/2026.06.05d

βš™ Target Node Commit: fae9ca15

πŸ“ Release Type: Pre-release - Minor Patch

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.3.20260605.4b0…v1.2.3.20260605.4b1


πŸ“¦ v1.2.3.20260605.4b0 β€” kms-v1.2.3b0/2026.06.05d

βš™ Target Node Commit: a0549a98

πŸ“ Release Type: Pre-release - Minor Patch

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.3.20260605.3…v1.2.3.20260605.4b0


πŸ“¦ v1.2.3.20260605.3 β€” [YANKED] kms-v1.2.3/2026.06.05c

βš™ Target Node Commit: 27cebddb

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.3.x updates should see more Repo updates, specifically working on the wiki page and other documentation. I am also hoping for some prettifying in the module itself on kms-semver1.2, whilst working on kms-semver1.3. If release fails again i swear….

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.3.20260605.2…v1.2.3.20260605.3


πŸ“¦ v1.2.3.20260605.2 β€” [YANKED] kms-v1.2.3/2026.06.05b

βš™ Target Node Commit: de7e3bb3

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.3.x updates should see more Repo updates, specifically working on the wiki page and other documentation. I am also hoping for some prettifying in the module itself on kms-semver1.2, whilst working on kms-semver1.3. If release fails again i swear….

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.3.20260605.1…v1.2.3.20260605.2


πŸ“¦ v1.2.3.20260605.1 β€” kms-v1.2.3/2026.06.05a

βš™ Target Node Commit: 77609c6c

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Cherry-picked from beta branch

Notes

Apparently I never uncommented the step for releasing to PyPI so here I am…with a bunch of other fixes. Hopefully, after this is fixed, i won’t have to touch the release workflow again until I decide about a possible CHANGELOG.md…

Plans for next update

Our next few 1.2.3.x updates should see more Repo updates, specifically working on the wiki page and other documentation. I am also hoping for some prettifying in the module itself on kms-semver1.2, whilst working on kms-semver1.3. If the release fails again i swear….

Full Changelog: v1.2.3.20260605 vs v1.2.3.20260605.1


πŸ“¦ v1.2.3.20260605 β€” kms-v1.2.3/2026.06.05

βš™ Target Node Commit: 791c8605

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.3.x updates should see more Repo updates, specifically working on the wiki page and other documentation. I am also hoping for some prettifying in the module itself on kms-semver1.2, whilst working on kms-semver1.3. If release fails again i swear….

Full Changelog: v1.2.3.20260523.1 vs v1.2.3.20260605

(Yanked: v1.2.3.20260604)


πŸ“¦ v1.2.3.20260523.1 β€” kms-v1.2.3/2026.05.23a

βš™ Target Node Commit: 190cb35e

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.3.x updates should see more Repo updates, specifically working on the wiki page and other documentation. I am also hoping for some prettifying in the module itself on kms-semver1.2, whilst working on kms-semver1.3.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.3.20260523…v1.2.3.20260523.1


πŸ“¦ v1.2.3.20260523 β€” kms-v1.2.3/2026.05.23

βš™ Target Node Commit: 9e3ab939

πŸ“ Release Type: Major Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.3.x updates should see more Repo updates, specifically working on the wiki page and other documentation. I am also hoping for some prettifying in the module itself on kms-semver1.2, whilst working on kms-semver1.3.

Full Changelog: v1.2.2.20260517.3 vs v1.2.3.20260522


πŸ“¦ v1.2.2.20260517.3 β€” kms-v1.2.2/2026.05.17c

βš™ Target Node Commit: b313bc41

πŸ“ Release Type: Stable Promotion - Minor Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.2.x update should see more Repo updates as I slowly get situated in PyPi and here, specifically working on the wiki page and other documentation. I am also hoping for some prettifying in the module itself on kms-semver1.2, while preparing for kms-semver1.3 alpha release 1.

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.2.20260517.2…v1.2.2.20260517.3


πŸ“¦ v1.2.2.20260517.3-b β€” kms-v1.2.2/2026.05.17c-beta

βš™ Target Node Commit: bb7d6746

πŸ“ Release Type: Pre-release - Minor Patch

What’s Changed

Repo Updates

Notes

This is marked as a beta release because I have no idea if the current code works. If you see another beta, then, well, we all know what that means…

Plans for next update

Our next few 1.2.2.x update should see more Repo updates as I slowly get situated in PyPi and here, specifically working on the wiki page and other documentation.

The 1.3 beta will come out soon!


πŸ“¦ v1.2.2.20260517.2 β€” kms-v1.2.2/2026.05.17b

βš™ Target Node Commit: 6cc925b0

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.2.x update should see more Repo updates as I slowly get situated in PyPi and here, specifically working on the wiki page and other documentation.

The 1.3 beta will come out soon!

Full Changelog: kms-calver2026.05.17 vs kms-calver2026.05.17b


πŸ“¦ v1.2.2.20260517.1 β€” kms-v1.2.2/2026.05.17a

βš™ Target Node Commit: 2308c0c7

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.2.x update should see more Repo updates as I slowly get situated in PyPi and here, specifically working on the wiki page and other documentation.

The 1.3 beta will come out soon!

Full Changelog: kms-calver2026.05.17 vs kms-calver2026.05.17a


πŸ“¦ v1.2.2.20260517 β€” kms-v1.2.2/2026.05.17

βš™ Target Node Commit: b6170c53

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.2.x update should see more Repo updates as I slowly get situated in PyPi and here, specifically working on the wiki page and other documentation.

The 1.3 beta will come out soon!

Full Changelog: kms-calver2026.05.15a vs kms-calver2026.05.17


πŸ“¦ v1.2.2.20260515.1 β€” kms-v1.2.2/2026.05.15a

βš™ Target Node Commit: cc051257

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Plans for next update

Our next few 1.2.2.x update should see more Repo updates as I slowly get situated in PyPi and here, specifically working on the wiki page (which is currently empty). The 1.3 beta may also come out around that time.


πŸ“¦ v1.2.2.20260515 β€” kms-v1.2.2/2026.05.15

βš™ Target Node Commit: 1968a9b4

πŸ“ Release Type: Minor Patch

What’s Changed

Repo Updates

Full Changelog: v1.2.2.20260506.2 vs. v1.2.2.20260515

Plans for next update

Our next 1.2.2.x update should see more Repo updates as I slowly get situated in PyPi and here, specifically working on the wiki page (which is currently empty). The 1.3 beta may also come out around that time.


πŸ“¦ v1.2.2.20260506.2 β€” kms-v1.2.2/2026.05.06b

βš™ Target Node Commit: 44758a3c

πŸ“ Release Type: Major Patch

First Package Release! (hopefully)

This module was originally a single file that I made just for fun, now i’ve decided to make it into a package! README will be finished in v1.3, alongside the β€˜Great Docstring Update’ ;)

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/commits/v1.2.2.20260506.2


πŸ“¦ v1.2.1.20260417.2 β€” kms-v1.2.1/2026.04.17b

βš™ Target Node Commit: 70424d7e

πŸ“ Release Type: Major Patch

Caution

This is an older release of this library brought back to life through archives in this commit history. Things may be broken and not work.

Note

This release involves three seperate releases: the main release, v1.2.1.20260417, and the two patches after that, v1.2.1.20260417a and v1.2.1.20260417b (This release).

What’s Changed

kms-v1.2.1/2026.04.17

Changelog: kms-v1.2.1/2026.04.17: https://github.com/Boss-1s/scratchattach/commit/515e0c715c723aa4821b90f9753d062cd7bc7675 kms-v1.2.1/2026.04.17a: https://github.com/Boss-1s/scratchattach/commit/db471126f57ee6b0fe371631b04d6bfcc7e00b78 kms-v1.2.1/2026.04.17b (This release): https://github.com/Boss-1s/scratchattach/commit/208a0874e3ebeaf124fb926bff271fffb2452b39


πŸ“¦ v1.2.0.20260128.1 β€” kms-v1.2/2026.01.28a

βš™ Target Node Commit: f0c2322b

πŸ“ Release Type: Minor Patch

Caution

This is an older release of this library brought back to life through archives in this commit history. Things may be broken and not work.

What’s Changed

Changelog: https://github.com/Boss-1s/scratchattach/commit/b64dd8bd9891e664d84980521e21877f11799a29


πŸ“¦ v1.2.0.20260104 β€” kms-v1.2/2026.01.04

βš™ Target Node Commit: 5aced039

πŸ“ Release Type: Minor Patch

Caution

This is an older release of this library brought back to life through archives in this commit history. Things may be broken and not work.

What’s Changed

Changelog: https://github.com/Boss-1s/scratchattach/commit/84a75fc3847bcc2de0e7f45b3b41230ef659fec3


πŸ“¦ v1.2.0.20260101.1a1 β€” kms-v1.2.0a1/2026.01.01a

βš™ Target Node Commit: 3956a80b

πŸ“ Release Type: Pre-release - Minor Patch

Caution

This is an older release of this library brought back to life through archives in this commit history. Things may be broken and not work.

Warning

These release notes are AI-generated.

Release Notes

Major Features Added
1. Bitwise AND Operator (&) - Intersection
combined = storage1 & storage2  # Returns Storage with shared keys
2. Bitwise OR Operator (|) - Union
merged = storage1 | storage2  # Returns Storage with all keys
3. Bitwise XOR Operator (^) - Symmetric Difference
unique = storage1 ^ storage2  # Returns Storage with unique keys only
4. Left Shift Operator (<<) - Prefix Slicing
rest = storage << 2  # Skip first 2 key-value pairs
5. Right Shift Operator (>>) - Suffix Slicing
partial = storage >> 3  # Remove last 3 key-value pairs
6. Arithmetic Operators
7. Comparisons

See this section of the docs for more information.


Enhanced Type System
Import Updates
Type Annotation Improvements

New Custom Warning Classes
1. AdditionFailureWarning
2. SubtractionFailureWarning

Enhanced store() Method
def store(self, file_path: str, instant_delete: bool=False, indent: int=4) -> None:
New Parameters
Updated Documentation

Logging Improvements
Configuration Changes

Module Exports
Updated __all__ Declarations

Top-level module exports:

__all__ = ["Storage", "Storage.Delete", "Storage.Load", "Storage.Edit", "Delete", "Load", "Edit"]

Storage class exports:

__all__ = ["store", "DeleteWarning", "Load", "Edit", "Delete", "__str__"]
Backward Compatibility

Code Quality & Edge Cases
Operator Behavior Details
Data Integrity

Breaking Changes

βœ… None - This release maintains full backward compatibility with existing code.


Migration Guide

For users upgrading from the previous baseline:

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.2.0.20251231a0…v1.2.0.20260101.1a1


πŸ“¦ v1.2.0.20251231a0 β€” kms-v1.2.0a0/2025.12.31

βš™ Target Node Commit: 4a91cfbf

πŸ“ Release Type: Pre-release - Minor Update

Caution

This is an older release of this library brought back to life through archives in this commit history. Things may be broken and not work.

feat: prevent non-json files by adding .json prefix if the file does not contain one

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.1.1.20251205…v1.2.0.20251231a0


πŸ“¦ v1.1.1.20251205 β€” kms-v1.1.1/2025.12.05

βš™ Target Node Commit: 8e5265cb

πŸ“ Release Type: Major Patch

Caution

This is an older release of this library brought back to life through archives in this commit history. Things may be broken and not work.

fix incorrect calling of _dprint in child classes

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.1.0.20251007.4…v1.1.1.20251205


πŸ“¦ v1.1.0.20251007.4 β€” kms-v1.1.0/2025.10.07d

βš™ Target Node Commit: 67cd7725

πŸ“ Release Type: Minor Update

Caution

This is an older release of this library brought back to life through archives in this commit history. Things may be broken and not work.

Warning

These release notes are AI generated.

Release Notes: key_multivalue_storage.py

πŸ“ What’s New

A big overhaul focusing on better output handling and adding some quality-of-life features. Mostly behind-the-scenes stuff, but it makes the code way more manageable.


✨ New Stuff
1. _dprint() Method - The New Output King
2. DeleteWarning Class
3. __is_warning_category_ignored() Method
4. Better Exports

πŸ”§ What Got Changed
Output Refactor (The Big One)

Pretty much everywhere that had print() now uses _dprint() instead. We’re talking:

All ~15+ locations now pipe through the new function. Cleaner, simpler, easier to debug.

Delete.all() Got Smarter
Code Style Cleanup

πŸ’‘ Why This Matters

πŸ€” Will This Break My Code?

Nope. Zero breaking changes. Everything works exactly like before, just with better guts under the hood. Your code doesn’t care how the sausage gets made.


πŸ“¦ Quick Stats

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.0.1.20251005…v1.1.0.20251007.4


πŸ“¦ v1.0.1.20251005 β€” kms-v1.0.0/2025.10.05

βš™ Target Node Commit: 85f5df66

πŸ“ Release Type: Major Patch

Caution

This is an older release of this library brought back to life through archives in this commit history. Things may be broken and not work.

Fixed potential problems:

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.0.0.20250910…v1.0.1.20251005


πŸ“¦ v1.0.0.20250910 β€” kms-v1.0.0/2025.09.10

βš™ Target Node Commit: 729a6ce4

πŸ“ Release Type: Minor Patch

Caution

This is an older release of this library brought back to life through archives in this commit history. Things may be broken and not work.

Small docstring change

Full Changelog: https://github.com/Boss-1s/key_multivalue_storage/compare/v1.0.0.20250817…v1.0.0.20250910


πŸ“¦ v1.0.0.20250817 β€” kms-v1.0.0/2025.08.17

βš™ Target Node Commit: f1571882

πŸ“ Release Type: Initial Release

Caution

This is an older release of this library brought back to life through archives in this commit history. Things may be broken and not work.

Initial Release!

Overview

  1. Create a Storage object with the arguments key and **kwargs
  2. Store the object’s data inside a JSON file with .store(file_path)
  3. Load the object back with Storage.Load.by_key(file_path, key)
  4. Edit JSON data remotely with Storage.Edit.<method>()
  5. Delete all data in the JSON file with Storage.Delete.all(file_path, warn=False)
from key_multivalue_storage import Storage
import uuid

db = Storage("my_top_level_key", mykey="myvalue")
db_uuid = Storage(uuid.uuid4(), mykey="myvalue") # Can also be uuid.UUID instance

db.store("example.json")

loaded_db = Storage.Load.by_key("example.json", "my_top_level_key")

assert str(loaded_db) == str(db) # True

Storage.Edit.key("example.json", "my_top_level_key", "this_is_a_new_key")

### So now, Storage("my_top_level_key", mykey="myvalue") is actually
### Storage("this_is_a_new_key", mykey="myvalue") IN THE FILE. The original instance is not affected.

Storage.Delete.all("example.json", warn=False) # By default, warn is True to prevent accidental deletion.

### This will raise an error since everything has been deleted
loaded_db = Storage.Load.by_key("example.json", "my_top_level_key")

« Back to Home