Releases: strawgate/py-key-value
Releases · strawgate/py-key-value
0.3.0: The Store is now Open
Unstable stores may have had breaking changes to how they store data.
🚀 New Features & Storage Backends
- New Stores: Added support for DuckDB and FileTreeStore.
- Routing Wrappers: Introduced
RoutingWrapperandCollectionRoutingWrapperto manage request routing between stores. - Dataclasses: Added
DataclassAdapterutilizing PydanticTypeAdapterfor better object serialization.
⚡ Core API & Architecture
- Lifecycle Management: Refactored client ownership to better handle store lifecycle (setup/teardown). If you provide a client you own entering / exiting it.
- Serialization Updates: Serialized documents now explicitly include
key,collection, andversionfields. - Input Refactoring: Switched input parameters from strict
dict/listto abstractMapping/Sequencefor better compatibility. - Batch Operations:
put_manynow requires a single TTL for all items in the batch, rather than individual TTLs. - Sanitization: Introduced
SanitizationStrategyfor configurable input cleaning during store initialization. Stores no long sanitize by default, you must select the sanitization method when providing the store.
🛡️ Reliability & Type Safety
- Runtime Enforcement: extensive application of BearType across Stores, Wrappers, and utility functions to enforce runtime type safety.
- Bug Fixes: Resolved critical bugs regarding Memory Store TTL, Windows Registry operations, and DynamoDB TTL creation.
- Relaxed Dependencies: Loosened version constraints for
pymongo,elasticsearch,cachetools, anddiskcache.
0.2.8: 🔒 Encrypted 🪟 Windows
0.2.7: Add Encryption Wrapper
What's Changed
- Add EncryptionWrapper for securing stored values by @Copilot in #75
Full Changelog: 0.2.6...0.2.7
0.2.6: ⤵️ Down with Redis
What's Changed
- fix bearspray type checking by @strawgate in #65
- Add aws_session_token parameter to DynamoDBStore for IAM role assumption support by @Copilot in #69
- Loosen redis version constraint from >=6.0.0 to >=4.3.0 by @Copilot in #68
- Bump to 0.2.6 by @strawgate in #72
Full Changelog: 0.2.5...0.2.6
0.2.5: Sync don't sink
pin the shared dep to the same version as the package version
Full Changelog: 0.2.4...0.2.5
0.2.4: Stores and Wrappers
What's Changed
- Add Retry, Timeout, Fallback, ReadOnly, Logging, Compression Wrappers by @strawgate in #50
- Add DynamoDB Store by @strawgate in #54
- Add Vault by @strawgate in #51
- Add RocksDB Store by @strawgate in #64
Full Changelog: 0.2.2...0.2.4
0.2.2: Keep it a secret, okay?
What's Changed
- Add Apache 2.0 LICENSE file and py.typed markers to all packages by @Copilot in #36
- Add beartype when developing, fix various float vs int violations, add sequence support to pydantic adapter by @strawgate in #35
- Add KeyRing Store for secret storage by @strawgate in #38
New Contributors
- @Copilot made their first contribution in #36
Full Changelog: 0.2.1...0.2.2
0.2.1: Add validation error controls to Pydantic Adapter
What's Changed
- Add-raise-on-validation-error to Pydantic Adapter by @strawgate in #27
Full Changelog: 0.2.0...0.2.1
0.2.0: 🎂 100 hours old
What's Changed
- Stabilize the Protocol and implement add't Stores by @strawgate in #16
Full Changelog: 0.1.2...0.2.0
0.1.2: Fixes for 🥧dantic Adapter
What's Changed
- Fix pydantic adapter model dump to use json mode by @strawgate in #5
Full Changelog: 0.1.1...0.1.2