Changelog ========= v0.6.7 ------ *Released on*: 2024-11-23 You can now raise esorm.error.ConflictError to retry in retry_on_conflict decorated functions and methods. It is useful if you want to force retry by your logic not just with an ES conflict. v0.6.6 ------ *Released on*: 2024-11-21 Make Sort and Pagination wrapped classes serializable (by pickle) v0.6.5 ------ *Released on*: 2024-11-21 Fixed watcher naming v0.6.4 ------ *Released on*: 2024-11-20 - Auto reload in retry_on_conflict if it decorates a model method - Fixed concurrency check in bulk operations, when _seq_no=0 v0.6.3 ------ *Released on*: 2024-11-08 - Float types no longer show Pydantic warnings on save - Fix index argument of Field - Added tests for ES fields v0.6.2 ------ *Released on*: 2024-11-06 - Add support for 7.x elasticsearch lib - support Python 3.8 again v0.6.1 ------ *Released on*: 2024-10-03 The `connect` function accepts `None` in `hosts` argument. This solves #21. v0.6.0 ------ *Released on*: 2024-10-03 - Field alias support: you can name a field other than the name in ES - IP addresses (IPvAddressAny) support - Enum field support v0.5.2 ------ *Released on*: 2024-08-02 Fixed: list of ES primitives now works v0.5.1 ------ *Released on*: 2024-08-02 Support list of primitives - Updated documentation - Added tests v0.5.0 ------ *Released on*: 2024-07-31 Improvements - Support for UUID, Path and pydantic_core.Url types - Fixed conversion of basic python types - `time` is now actually stored as date in the format of 1970-01-01 + time - Improved documentation - More tests - Minor optimizations - Fixes v0.4.8 ------ *Released on*: 2024-07-26 - Added support for unsigned_long ES field type - Support for newer (Python >= 3.10) union syntax e.g.: int | None - Pydantic's Annotated type is also supported v0.4.7 ------ *Released on*: 2024-06-18 Added index argument to other class methods v0.4.6 ------ *Released on*: 2024-06-17 It is possible to add index name as an argument, it is useful, when you use class methods v0.4.5 ------ *Released on*: 2024-05-22 Support for typing.Literal v0.4.4 ------ *Released on*: 2024-05-18 Fixed index template - The default prefix now really "esorm_" - No more fixed "-" prefix separator - Now it works as it is in the documentation - Replaced the deprecated method for creating index templates in newer ESs - Test for index templates - Improved tests v0.4.3 ------ *Released on*: 2024-05-07 Fix: get method is static method, so it is not compatible with model's __routing__ v0.4.2 ------ *Released on*: 2024-05-07 - Fixed get method when id field is an integer. - Test for integer ids - Test for property ids v0.4.1 ------ *Released on*: 2024-05-07 - Retry on conflict decorator to automatically retry conflicted operations - Simplified ESModelTimestamp save. The logic is simple now: created_at is filled only if it is a new model instance (created_at is None). v0.4.0 ------ *Released on*: 2024-05-07 Support for Optimistic Concurrency Check (OCC) - It uses _primary_term and _seq_no for save operations to ensure consistency - The ES private fields are accessible through the model (_version, _primary_term, _seq_no) - _id and private fields are stored after save - Bulk operations uses OCC too - Bulk operations raise BulkError, which stores all documents which had errors - New documents of ESModelTimestamp with bulk operations will have created_at filled automatically - Reload documents - Fixed routing for delete operation - Improved documentation v0.3.2 ------ *Released on*: 2024-05-03 - Lazy properties are now work with ESBaseModel too - Lazy properties are now supports nested documents (truly recursive) - Python 3.8 support back v0.3.1 ------ *Released on*: 2024-04-29 The most important change is to introduce ESBaseModel. **Full Changelog**: https://github.com/wallneradam/esorm/compare/v0.3.0...v0.3.1 v0.3.0 ------ *Released on*: 2024-01-25 - Replaced deprecated datetime.utcnow - .all() method for getting all documents in an index - Reworked lazy properties, which has recursion protection - Improved documentation: - pagination and sorting - added advanced.md, which contains advanced features documentation - Fixed dark mode colors of reference - Improved unit tests v0.2.1 ------ *Released on*: 2024-01-22 Aggregation TypeDicts are refactored. v0.2.0 ------ *Released on*: 2024-01-18 - Aggregation support - Improved documentation v0.1.2 ------ *Released on*: 2024-01-17 Some minor fixes v0.1.1 ------ *Released on*: 2023-11-01 1st release