Changelog

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