All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Added support for dictionaries of nested models
- Added support for deeply nested models beyond level-1 deep including:
- dictionaries of lists of ... of nested models
- lists of tuples of lists .... of nested models
- Fixed
AttributeError: 'get_primary_key_field'
when None is passed to a field with an optional nested model
- [BREAKING CHANGE] Removed the 'redis_store' argument from the
Store
constructor - [BREAKING CHANGE] Made the 'redis_store' property of the
Store
readonly
- Fixed the rendering of the reference docs from the docstrings
- Upgraded to pydantic v2.
- Fixed orjson.JSONDecodeError when models have optional string fields
- Fixed ModuleNotFoundError: No module named 'mkdocstrings_handlers'
- Added mkdocs documentation
- Exposed
RedisConfig
viapydantic_redis.config
, especially for documentation.
- Fixed docs building in CI
- Fixed unexpected data error when selecting some columns for some records
- Added pagination
- Changed redis index to use sorted sets instead of ordinary sets
- Added asyncio support, to be got from the
pydantic_redis.asyncio
module
- Moved the synchronous version to the
pydantic_redis.syncio
module, but kept its contents exposed in pydantic_redis for backward-compatibility
- Changed the
NESTED_MODEL_LIST_FIELD_PREFIX
to___
andNESTED_MODEL_TUPLE_FIELD_PREFIX
to____
- Changed all queries (selects) to use lua scripts
- Changed
Model.deserialize_partially
to receive data either as a dict or as a flattened list of key-values
- Add support for model fields that are tuples of nested models
- Fixed support for model properties that are Optional lists of nested models
- Fixed issue with field names being disfigured by
lstrip
when attempting to strip nested-mode-prefixes
- Support for model properties that are lists of nested models