Repository navigation
Releases
kms-v1.4.0a0/2026.10.12
📝 Release Notes
Warning
These release notes are built off of an AI-generated version.
Table of Contents
- 💡 Features
- 🪲 Bug Fixes
- 🤖 Dependency Updates
- ⏰ Other Important Changes
- 🪫 Graceful Deprecation cycle 1.4.0
- 🗒 Notes
- 📢 Plans for next update
Important
kms-semver1.4.x is officially built off of kms-v1.3.1/2026.08.12, and partially off of kms-v1.3.2/2026.09.30.
Tip
Items listed below that start with (dev) are updates that do not contribute to end users; rather, they are more important if you are a contributor or developer of kms.
💡 Features
This is the first proper kms-semver1.4.0a0 release. The main features here focus on explicit declaration of kms's public API, and improving Storage.
- Added
Storage.update()for updating stored values more easily. (commit8a2cc06) - Added support for deleting slices of values with
del storage[start:stop]. - Added
atpublicto mark public and private functions, classes, and methods throughout the package. (PR #194) - Added matching public/private annotations to the type stubs.
- Added
utils/__init__.pywith public exports for warnings, exceptions, and utility objects. - (dev) Merged the old standalone issue tests into the main test suite. Tests for issues #14, #26/#27, #67, #76, #80, and #84 were either merged into existing coverage or removed because they were already covered elsewhere. (commit
d6fb903) - (dev) Nightly releases now use the version created during post-release updates instead of making up a random version string. (commit
89a9cf5)
🪲 Bug Fixes
- Fixed slice deletion in
Storage.__delitem__. Integer deletion and slice deletion now use separate logic, instead of trying to make one branch handle both. (commit6d02885, commit2d482b2) - Fixed the test workflow so it runs on the supported
semver1.x.xbranches and on pull requests. - (dev) Fixed SonarQube branch detection so pull requests use their actual head branch instead of always pretending to be
semver1.4.x. - (dev) Fixed deployment jobs so they validate the branch before deploying.
- (dev) Fixed pull request deployments so they check out the actual pull request head repository and branch.
🤖 Dependency Updates
Automated Updates
pylint-per-file-ignores→ v4.0.0 by @renovate[bot] in PR #244github/codeql-action→ v4.38.2 by @renovate[bot] in PR #263griffe→ v2.3.0 by @renovate[bot] in PR #265actions/setup-node→ v7 by @renovate[bot] in PR #267pylint→ v4.1.1 by @renovate[bot] in PR #266gitpython→ v3.2.0 by @renovate[bot] in PR #262astral-sh/setup-uv→ v10.2.0 by @renovate[bot] in PR #261ghcr.io/devcontainers/features/github-cli→ v1.1.3 by @renovate[bot] in PR #260coverage→ v7.16.2 by @renovate[bot] in PR #258md-toc→ v9.0.1 by @renovate[bot] in PR #259md-toc→ v9.1.0 by @renovate[bot] in PR #270pylint→ v4.1.2 by @renovate[bot] in PR #323griffe→ v2.3.2 by @renovate[bot] in PR #332- Python test container →
3.15.0rc3by @renovate[bot] in PR #329 actions/setup-node→ v7.1.0 by @renovate[bot] in PR #336github/codeql-action→ v4.38.3 by @renovate[bot] in PR #338astral/setup-uv→ v10.3.0 by @renovate[bot] in PR #340pylint→ v4.1.3 by @renovate[bot] in PR #345
- The main package now depends on
atpublic~=8.0, which is used for the public/private API markers. - (dev) The test lockfiles also received a larger round of updates:
coverage→7.16.2filelock→4.0.9gitpython→3.2.0identify→2.6.20md-toc→9.1.0nodeenv→1.11.0platformdirs→4.12.2python-discovery→1.6.1virtualenv→21.14.3
- (dev) The development tooling was also bumped to
pylint==4.1.3andgriffe==2.3.2.
⏰ Other Important Changes
Forward-ports
- Forward-port: PR #202 brought the release pipeline refactor from
semver1.3.x's PR #153 intosemver1.4.x. Seekms-semver1.3.2.
- The security policy was updated with current lifecycle information for the
1.0.x,1.1.x,1.2.x,1.3.x, and1.4.xseries. - (dev) The test suite was cleaned up so old one-off issue tests do not stick around after the relevant fixes are already covered elsewhere.
- Python was updated from
3.15.0rc2to3.15.0(finally).
🪫 Graceful Deprecation cycle 1.4.0
Warning
This list is incomplete.
No deprecations currently.
🗒 Notes
This update delivers updates to gitpython and urllib3, both of which had high-severity vulnerabilities before the version bump.
Other than that, we're all good.
📢 Plans for next update
Regarding kms-semver1.3.3, the projected release date is not until November 7th, 2026, giving us 6 weeks until the next release. (You can see the new release cycles here.) Like this patch, the next patch will mostly be refactors and backports from patches upstream on semver1.4.x. kms-semver1.3.3 coincides with kms-semver1.4.0a2.
Regarding kms-semver1.4.0, the next alpha (a1) will come out on 2026/10/24, with the kms-semver1.4.0 stable release date still planned to be around 2027/01/03. Currently planned features are listed in the roadmap and the milestone. The to-do is located at #197. Alpha 1 will definitely be the first big feature-filled update, with planned features including #99 (more ways to encode), #148 (make Rich optional), and so much more. Important: NextGen Preview features will start being implemented in a1 as well.
📑 Full Changelog: v1.4.0.20261001a0.dev1 vs v1.4.0.20261012a0
📑 Working Changelog: v1.3.1.20260812 vs semver1.4.x
kms-v1.3.2/2026.10.12
HOTFIX! Mitigated hidden breaking change introduced in kms-semver1.3.0a0. PLEASE UPDATE NOW IF YOUR CODE WAS BROKEN DUE TO THIS!
Tip
Most changes in this update were backports. Check the kms-semver1.4.0a0 release notes for more info about these changes.
What's Changed
- fix(deps): update dependency pylint-per-file-ignores to v4 (semver1.3.x) by @renovate[bot] in #257
- chore(deps): update actions/setup-node action to v7 (semver1.3.x) by @renovate[bot] in #256
- backport(
semver1.3.x): commit9b8c03bfrom branchsemver1.4.xby @Boss-1s in #218 - backport(
semver1.3.x): commit445c973from branchsemver1.4.xby @Boss-1s in #222 - chore(deps): update dill digest to e862cad (semver1.3.x) by @renovate[bot] in #247
- backport(
semver1.3.x): commit56b2b44from branchsemver1.4.xby @Boss-1s in #223 - backport(
semver1.3.x): commitdf147d9from branchsemver1.4.xby @Boss-1s in #246 - backport(
semver1.3.x): commit65810eafrom branchsemver1.4.xby @Boss-1s in #264 - chore(deps): update dependency coverage to v7.16.2 (semver1.3.x) by @renovate[bot] in #248
- chore(deps): update dependency md-toc to v9.0.1 (semver1.3.x) by @renovate[bot] in #249
- chore(deps): update ghcr.io/devcontainers/features/github-cli docker tag to v1.1.3 (semver1.3.x) by @renovate[bot] in #250
- fix(deps): update dependency griffe to v2.3.0 (semver1.3.x) by @renovate[bot] in #254
- fix(deps): update dependency pylint to v4.1.1 (semver1.3.x) by @renovate[bot] in #255
- chore(deps): update github/codeql-action action to v4.38.2 (semver1.3.x) by @renovate[bot] in #253
- chore(deps): update dependency gitpython to v3.2.0 (semver1.3.x) by @renovate[bot] in #252
- chore(deps): update astral-sh/setup-uv action to v10.2.0 (semver1.3.x) by @renovate[bot] in #251
- chore(deps): update dependency md-toc to v9.1.0 (semver1.3.x) by @renovate[bot] in #269
- backport(
semver1.3.x): commit02a0768from branchsemver1.4.xby @Boss-1s in #271 - backport(
semver1.3.x): commit6d02885from branchsemver1.4.xby @Boss-1s in #273 - backport(
semver1.3.x): commit55f5311from branchsemver1.4.xby @Boss-1s in #311 - backport(
semver1.3.x): commitada4164from branchsemver1.4.xby @Boss-1s in #318 - fix(deps): update dependency pylint to v4.1.2 (semver1.3.x) by @renovate[bot] in #322
- backport(
semver1.3.x): commit104f3bbfrom branchsemver1.4.xby @Boss-1s in #324 - backport(
semver1.3.x): commitc6bf851from branchsemver1.4.xby @Boss-1s in #325 - backport(
semver1.3.x): fix PR deployment issue by @Boss-1s in #326 - chore(deps): update python docker tag to v3.15.0rc3 (semver1.3.x) by @renovate[bot] in #328
- backport(
semver1.3.x): commit4c8cd09from branchsemver1.4.xby @Boss-1s in #330 - fix(deps): update dependency griffe to v2.3.2 (semver1.3.x) by @renovate[bot] in #331
- chore(deps): update github/codeql-action action to v4.38.3 (semver1.3.x) by @renovate[bot] in #337
- chore(deps): update actions/setup-node action to v7.1.0 (semver1.3.x) by @renovate[bot] in #335
- chore(deps): update dill digest to 25bc1dd (semver1.3.x) by @renovate[bot] in #334
- chore(deps): update astral-sh/setup-uv action to v10.3.0 (semver1.3.x) by @renovate[bot] in #339
- chore(deps): update dill digest to 285643e (semver1.3.x) by @renovate[bot] in #343
- fix(deps): update dependency pylint to v4.1.3 (semver1.3.x) by @renovate[bot] in #344
Full Changelog: v1.3.2.20260930...v1.3.2.20261012
kms-v1.4.0a0.dev1/2026.10.01
Warning
This is a development pre-release. It is an interim pre-release (pre-release of pre-release) designed to prepare for the true prerelease. kms-semver1.4.0a0 releases officially on October 12th, 2026, 11 days after the release of CPython 3.15 on October 1st.
Tip
See v1.3.2.20260930 release notes for more information.
What's Changed
- backport(
semver1.4.x): #153 by @Boss-1s in #202 - fix(deps): update dependency pylint-per-file-ignores to v4 (semver1.4.x) by @renovate[bot] in #244
- chore(deps): update github/codeql-action action to v4.38.2 (semver1.4.x) by @renovate[bot] in #263
- fix(deps): update dependency griffe to v2.3.0 (semver1.4.x) by @renovate[bot] in #265
- chore(deps): update actions/setup-node action to v7 (semver1.4.x) by @renovate[bot] in #267
- fix(deps): update dependency pylint to v4.1.1 (semver1.4.x) by @renovate[bot] in #266
- chore(deps): update dependency gitpython to v3.2.0 (semver1.4.x) by @renovate[bot] in #262
- chore(deps): update astral-sh/setup-uv action to v10.2.0 (semver1.4.x) by @renovate[bot] in #261
- chore(deps): update ghcr.io/devcontainers/features/github-cli docker tag to v1.1.3 (semver1.4.x) by @renovate[bot] in #260
- chore(deps): update dependency coverage to v7.16.2 (semver1.4.x) by @renovate[bot] in #258
- chore(deps): update dependency md-toc to v9.0.1 (semver1.4.x) by @renovate[bot] in #259
- chore(deps): update dependency md-toc to v9.1.0 (semver1.4.x) by @renovate[bot] in #270
Full Changelog: v1.4.0.20260915a0.dev0...v1.4.0.20261001a0.dev1
kms-v1.3.2/2026.09.30
📝 Release Notes
Warning
These release notes are built off of an AI-generated version.
Table of Contents
- 💡 Features
- 🪲 Bug Fixes
- 🤖 Dependency Updates
- ⏰ Other Important Changes
- 🪫 Graceful Deprecation cycle 1.3.2
- 🗒 Notes
- 📢 Plans for next update
💡 Features
- Added a proper post-release script for bumping the version into a development version. ( #153 )
- Added automatic release checks to make sure the latest test deployment actually succeeded before continuing. ( #153 )
- Added automatic reminders to bump the version past the current release. ( #153 )
- Added more verbose output to the release automation scripts so debugging is slightly less painful.
🪲 Bug Fixes
- Fixed the release workflow so the release tag gets forced onto the commit that actually changes the version.
- Fixed development releases being marked as beta releases instead of pre-alpha releases.
- Fixed the release script silently continuing when required version environment variables were missing.
- Fixed the release commit message format.
🤖 Dependency Updates
Automated Updates
- chore(deps-dev): Update setuptools requirement from >=83.0.0 to >=84.0.0 in /test by @dependabot[bot] in #88
- chore(deps): update astral-sh/setup-uv action to v10 by @renovate[bot] in #89
- chore(deps): update github/codeql-action action to v4.37.7 by @renovate[bot] in #93
- chore(deps): update astral-sh/setup-uv action to v10.0.1 by @renovate[bot] in #95
- fix(deps): update dependency griffe to v2.2.0 by @renovate[bot] in #96
- chore(deps): update github/codeql-action action to v4.37.8 by @renovate[bot] in #101
- chore(deps-dev): Bump pre-commit from 4.6.1 to 4.6.2 in /test by @dependabot[bot] in #104
- chore(deps-dev): Bump griffe from 2.1.0 to 2.2.0 in /test by @dependabot[bot] in #103
- feat: Automatic Pylint Issues (#30) by @Boss-1s in #100
- chore(deps): update dependency gitpython to v3.1.60 by @renovate[bot] in #119
- chore(deps): update dependency gitpython to v3.1.60 (semver1.3.x) by @renovate[bot] in #120
- chore(deps): update github/codeql-action action to v4.37.9 (semver1.3.x) by @renovate[bot] in #125
- chore(deps): update dependency gitpython to v3.1.61 (semver1.3.x) by @renovate[bot] in #127
- chore(deps): update dependency coverage to v7.16.0 (semver1.3.x) by @renovate[bot] in #130
- fix(deps): update dependency pylint to v4.0.8 (semver1.3.x) by @renovate[bot] in #132
- chore(deps-dev): Bump gitpython from 3.1.59 to 3.1.61 in /test by @dependabot[bot] in #134
- chore(deps-dev): Bump coverage from 7.15.4 to 7.16.0 in /test by @dependabot[bot] in #140
- refactor:
Storagedunder methods by @Boss-1s in #115 - chore(deps-dev): Bump griffe from 2.2.0 to 2.3.0 in /test by @dependabot[bot] in #149
- chore(deps-dev): Bump gitpython from 3.1.61 to 3.1.62 in /test by @dependabot[bot] in #151
- chore(deps-dev): bump coverage from 7.16.0 to 7.16.1 in /test by @dependabot[bot] in #193
The release workflow received a few action updates and pinning changes:
- Pinned
webfactory/ssh-agent,astral-sh/setup-uv, andsoftprops/action-gh-releaseto specific commits.
⏰ Other Important Changes
Backports
- fix(ci): backport semver1.4 workflow stability fixes to semver1.3.x by @Boss-1s with @Copilot in #152
- backport(
semver1.3.x): #155 by @Boss-1s in #179 - backport(
semver1.3.x): commit0211960from branchsemver1.4.xby @Boss-1s in #180 - backport(
semver1.3.x): commitb182c68from branchsemver1.4.xby @Boss-1s in #181 - backport(
semver1.3.x): commitd9514ccfrom branchsemver1.4.xby @Boss-1s in #182 - backport(
semver1.3.x): commit6b35bcbfrom branchsemver1.4.xby @Boss-1s in #183 - backport(
semver1.3.x): commit7065687from branchsemver1.4.xby @Boss-1s in #187 - backport(
semver1.3.x): commit0351d20from branchsemver1.4.xby @Boss-1s in #189 - backport(
semver1.3.x): commit3fbeb2dfrom branchsemver1.4.xby @Boss-1s in #190 - backport(
semver1.3.x): commit0afe2d3from branchsemver1.4.xby @Boss-1s in #191 - backport(
semver1.3.x): commit26975b9from branchsemver1.4.xby @Boss-1s in #195 - backport(
semver1.3.x): commit58248b7from branchsemver1.4.xby @Boss-1s in #199
- Changed the release workflow to verify the source branch before publishing.
- Added permissions for release automation to read Actions runs and create issues.
- Added a reminder issue for bumping the version after a release.
🪫 Graceful Deprecation cycle 1.3.2
Nothing deprecated in this version.
🗒 Notes
Nope. Why would I have notes on a successful update?
📢 Plans for next update
Regarding kms-semver1.3.3, the projected release date is not until November 7th, 2026, giving us 6 weeks until the next release. (You can see the new release cycles here.) Like this patch, the next patch will mostly be refactors and backports from patches upstream on semver1.4.x. kms-semver1.3.3 coincides with kms-semver1.4.0a2.
**Regarding kms-semver1.4.0,the first alpha will come out on 2026/10/12, with the kms-semver1.4.0 stable release date planned to be around 2027/01/03. Currently planned features are listed in the roadmap and the milestone. The to-do is located at #197. Not much more to say about this update, just keep track of those issues and any possible development releases and you'll get an idea of what's going to come.
📑 Changelog (since last update): v1.3.2.20260922b4.post2 vs v1.3.2.20260930
✨📑 ✨Full Changelog: v1.3.1.20260812 vs v1.3.2.20260930
kms-v1.3.2/2026.09.22b4.post2
kms-v1.3.2b4.post1/2026.09.22
kms-v1.3.2/2026.09.22b4.post0
kms-v1.3.2/2026.09.22b4
kms-v1.3.2/2026.09.22b3
kms-v1.4.0a0.dev0/2026.09.15
This is a development pre-release. It is an interim pre-release (pre-release of pre-release) designed to prepare for the true pre-release. kms-semver1.4.0a0 releases officially on October 12th, 2026, 11 days after the release of CPython 3.15 on October 1st.
What's Changed
- chore(deps-dev): Update setuptools requirement from >=83.0.0 to >=84.0.0 in /test by @dependabot[bot] in #88
- chore(deps): update astral-sh/setup-uv action to v10 by @renovate[bot] in #89
- chore(deps): update github/codeql-action action to v4.37.7 by @renovate[bot] in #93
- chore(deps): update astral-sh/setup-uv action to v10.0.1 by @renovate[bot] in #95
- fix(deps): update dependency griffe to v2.2.0 by @renovate[bot] in #96
- chore(deps-dev): Bump key-multivalue-storage from 1.3.0.20260731 to 1.3.1.20260812 in /test by @dependabot[bot] in #98
- chore(deps): update github/codeql-action action to v4.37.8 by @renovate[bot] in #101
- chore: merge semver1.3.x into semver1.4.x by @Boss-1s in #102
- chore(deps-dev): Bump pre-commit from 4.6.1 to 4.6.2 in /test by @dependabot[bot] in #104
- chore(deps-dev): Bump griffe from 2.1.0 to 2.2.0 in /test by @dependabot[bot] in #103
- feat: Automatic Pylint Issues (#30) by @Boss-1s in #100
- chore(deps): update dependency gitpython to v3.1.60 by @renovate[bot] in #119
- chore(deps): update dependency gitpython to v3.1.60 (semver1.3.x) by @renovate[bot] in #120
- merge semver1.3.x into semver1.4.x by @Boss-1s in #121
- chore(deps): update github/codeql-action action to v4.37.9 (semver1.4.x) by @renovate[bot] in #123
- chore(deps): update dependency gitpython to v3.1.61 (semver1.4.x) by @renovate[bot] in #128
- Update dependency coverage to v7.16.0 (semver1.4.x) by @renovate[bot] in #131
- fix(deps): update dependency pylint to v4.0.8 (semver1.4.x) by @renovate[bot] in #133
- backport(
semver1.4.x): commitcaa2492from branchfeat/semver1.4.x/154by @Boss-1s in #167 - feat: automated backporting/forwardporting on PRs and commits by @Boss-1s in #155
Full Changelog: v1.3.1.20260812...v1.4.0.20260915a0.dev0