Skip to content

Changelog

Beanie project

1.28.0 - 2024-12-05

Fix kwargs/args untyped

Update pre-commit

Drop support for python 3.7

Add missing type hint to find_many_in_all method

Fix issues caused by #1044

Feat(skip_index): possibility added to skip index actions

Fix pydanticobjectid fields being parsed into str

Modify tests to not raise deprecation warnings

Add python 3.13 and jit into testing

Handle limit and session in .count() method

1.27.0 - 2024-10-06

Add tests on all major mongo version

Fix return type from document update

Fix expression type hint not allowing some type https://github.com/beanieodm/beanie/issues/1020

Fix type hint using pymongo client session instead of motor client session

Fix logical operator typing #1000

Use session in document insert

Use sequence instead of list in init_beanie

Replace deprecated datetime.utcnow with datetime.now

Fix uniondoc type hint missing in init_beanie and on findinterface

Add test to ensure dict with enum keys are encoded properly

Project publishing instruction + changelog generation script

Revert project publishing gh action

Extend motor option to beanie

Fix regex storing

Fix typo in source code comment in inheritance.md

Fix gh action to grant permissions and use tags

Fix incorrect type serialization when dumping to python

Use ruff format instead of black

Gh action: set new version and publish on push

Feature / fix: allow settings to be inherited and extended (fixes #644)

Fix: issue #951

Allow unordered parameter on bulkwriter

Fix: set default value in findinterface._inheritance_inited to avoid …

Fix example in multi-model.md

Add missing type signature to basefindcomparisonoperator constructor

Removed calls to function causing deprecation warning where possible

Update migrations.md

1.26.0 - 2024-05-01

Feature: soft delete

Update deprecated call of general_plain_validator_function (#676)

Annotate decorators that wrap document methods (#679)

Docs: fix typo (#869)

Add possibility of leveraging enum in find query

Handle typeerror in validator of pydanticobjectid

1.25.0 - 2024-01-24

Encode Date Objects

Fix: Findinterface Type-Hints Break On View Models

Update Migration Command To Enable/Disable Transactions

Sync Method

Limit Nesting Level Of Linked Documents

WARNING: This is a breaking change. Please, read the docs before updating.

1.24.0 - 2023-12-24

Exclude revision_id From The get_changes Method

Add Support For Custom Bucket Fields In Time Series

Add Bson Maxkey And Minkey

Update Model During Save Validation

Fix init_beanie document_models Type Hint

Fix Encoding Keys In Mapping Branch Of Encoder

Improve Write Performances

Doc Update: Queue

Tests For Indexed Fields

Rework Revision

Add Missing Type Signature To Document Constructor

1.23.6 - 2023-11-12

Fix Multiprocessing Mode

1.23.5 - 2023-11-12

Multiprocessing Mode For Init

1.23.4 - 2023-11-12

Args For get_model_dump

1.23.3 - 2023-11-08

Fix Id Notation

1.23.2 - 2023-11-08

Fix Aggregations With Text Queries

Handle Annotated Indexes

Fix Docstring

Build Aggregation Pipeline From Find Query Without Fetch

1.23.1 - 2023-10-23

Fix: Issue #631

Replace Custom 'Hidden=True' Field Attribute With Builtin 'Exclude=True'

Add Support For Indexed Custom Pydantic Fields

1.23.0 - 2023-10-15

Refactor Encoder

Preserve Sort/Skip/Limit For Aggregations

Update Pre-Commit Hooks

Fix: pydantic_core._pydantic_core.Url object is not iterable

Simplify And Fix DecimalAnnotation

Simplify BsonBinary

Minor Fixes

Replace Encoder With get_dict In The replace_one Method

1.22.6 - 2023-09-16

Update Precommit Hooks & CI

1.22.5 - 2023-09-13

1.22.4 - 2023-09-13

Fix Numpy Array Incompatability

1.22.3 - 2023-09-13

Refactor: Simplify UpdateMany And UpdateOne await Method

1.22.2 - 2023-09-13

Fix get_field_type & Generalize extract_id_class

1.22.1 - 2023-09-13

Fix | list_collection_names Requires Unnecessary Privileges

1.22.0 - 2023-09-13

Fix | August 2023

1.21.0 - 2023-08-03

Pydantic bump | final

1.21.0b1 - 2023-07-21

Bump pydantic | beta 1

1.21.0b0 - 2023-07-19

Bump pydantic | beta 0

1.20.0 - 2023-06-30

Docs: queue battery

1.20.0b1 - 2023-06-09

Feature: custom init classmethod

1.20.0b0 - 2023-06-09

Feature: optional batteries

1.19.2 - 2023-05-25

Fix: issues opened before 2023.05

1.19.1 - 2023-05-22

Fix: session in iterative transactions

1.19.0 - 2023-05-05

Feat/back refs

Feat: add box operator

Fix table of contents not showing all classes

Return bulkwriteresult response from motor

Fix typing in 'document.get(...)'

Init view's cache

Kwargs arguments for elemmatch operator

1.18.1 - 2023-05-04

Keep nulls config

1.18.0 - 2023-03-31

Prevent the models returned from find_all to be modified in the middle of modifying

Allow change class_id and use name settings in uniondoc

Fix: make revision_id not show in schema

Fix: added re.pattern support to common encoder suite

Fix other issues

1.18.0b1 - 2023-02-09

Fix

  • Don't create state on init for docs with custom id types

Implementation

1.18.0b0 - 2023-01-30

Feature

  • feat: convert updates to be atomic operations

Implementation

1.17.0 - 2023-01-19

Feature

  • Add links to views

Implementation

1.16.8 - 2022-01-05

Fix

  • Already inserted Links will throw DuplicateKeyError on insert of wrapping doc

Implementation

1.16.7 - 2023-01-03

Fix

  • sort many args

Implementation

1.16.6 - 2022-12-27

Feature

  • Previous saved state

Implementation

1.16.5 - 2022-12-27

Deprecation

  • Raises exception if Collection inner class was used as it is not supported more

Backported to

Implementation

1.16.4 - 2022-12-20

Fix

Implementation

1.16.3 - 2022-12-19

Fix

Implementation

1.16.2 - 2022-12-19

Fix

Implementation

1.16.1 - 2022-12-17

Feature

  • Remove yarl dependency

Implementation

1.16.0 - 2022-12-17

Feature

  • Support for fetching deep-nested Links

Implementation

1.16.0b3 - 2022-11-28

Feature

  • Lazy parsing for find many

Implementation

1.15.4 - 2022-11-18

Fix

  • Wrong inheritance behavior with non-rooted documents

Implementation

1.15.3 - 2022-11-10

Fix

  • Deepcopy dict before encode it to save the original

Implementation

1.15.2 - 2022-11-09

Fix

  • Use Settings inner class in migrations internals
  • Fix inheritance: mark root docs with _inheritance_inited = True

Implementation

1.15.1 - 2022-11-07

Fix

  • Pass pymongo kwargs to the bulk writer

Implementation

1.15.0 - 2022-11-05

Feature

  • The sync version was moved to a separate project

Breaking change

  • There is no sync version here more. Please use Bunnet instead

Implementation

1.14.0 - 2022-11-04

Feature

  • Multi-model behavior for inherited documents

Breaking change

  • The inner class Collection is not supported more. Please, use Settings instead.

Implementation

1.13.1 - 2022-10-26

Fix

  • Remove redundant async things from sync interface

Implementation

1.13.0 - 2022-10-22

Improvement

  • Sync interface

Implementation

1.12.1 - 2022-10-17

Improvement

  • Clone interface for query objects

Implementation

1.12.0 - 2022-10-06

Improvement

  • Optional list of links field

Implementation

1.11.12 - 2022-09-28

Improvement

  • Change before_event, after_event signature to be more pythonic

Implementation

1.11.11 - 2022-09-26

Fix

  • Remove prints

Implementation

1.11.10 - 2022-09-20

Improvement

  • Adding Update Action

Implementation

1.11.9 - 2022-08-19

Fix

1.11.8 - 2022-08-17

Improvement

  • Skip sync parameter for instance updates

1.11.7 - 2022-08-02

Improvement

  • Decimal128 encoding

Implementation

1.11.6 - 2022-06-24

Fix

  • Roll back projections fix, as it was valid

1.11.5 - 2022-06-24

Fix

  • Projection fix for aggregations

1.11.4 - 2022-06-13

Improvement

  • Link as FastAPI output

1.11.3 - 2022-06-10

Improvement

  • Motor3 support

Implementation

1.11.2 - 2022-06-06

Fix

  • Dnt inherit excludes

Implementation

1.11.1 - 2022-05-31

Features

  • Allow extra
  • Distinct

Implementation

1.11.0 - 2022-05-06

Features

  • Multi-model mode
  • Views

1.10.9 - 2022-05-06

Improvement

  • pymongo_kwargs for insert many

1.10.8 - 2022-04-13

Fix

  • Match step after limit step

Implementation

1.10.7 - 2022-04-12

Fix

  • Empty update fails on revision id turned on

Implementation

1.10.6 - 2022-04-12

Improvement

  • Single syntax for find by id

Implementation

1.10.5 - 2022-04-11

Improvement

  • Avoid creating redundant query object

Implementation

1.10.4 - 2022-03-24

Improvement

  • Allow custom MigrationNode for build

Implementation

1.10.3 - 2022-02-29

Improvement

  • Delete action

Implementation

1.10.2 - 2022-02-28

Improvement

  • Bulk writer for upsert

Implementation

1.10.1 - 2022-02-24

Improvement

  • Skip actions

Implementation

1.10.0 - 2022-02-24

Improvement

  • Timeseries collections support
  • Pymongo kwargs for find, aggregate, update and delete operations

Implementation

1.9.2 - 2022-02-22

Improvement

  • First or None for find queries

Implementation

1.9.1 - 2022-02-11

Improvement

  • Add support for py.typed file

Implementation

1.9.0 - 2022-02-11

Breaking Change

  • Property allow_index_dropping to be default False. Indexes will not be deleted by default

Implementation

1.8.13 - 2022-02-10

Improvement

  • Add state_management_replace_objects setting

Implementation

1.8.12 - 2022-01-06

Improvement

  • Add exclude_hidden to dict() to be able to keep hidden fields hidden when the exclude parameter set

Implementation

1.8.11 - 2021-12-30

Improvement

  • Only safe pydantic version are allowed. https://github.com/samuelcolvin/pydantic/security/advisories/GHSA-5jqp-qgf6-3pvh

1.8.10 - 2021-12-29

Fix

  • Revision didn't swap previous revision id and the current one on getting objects from db

1.8.9 - 2021-12-23

Improvement

  • Deep search of updates for the save_changes() method

Kudos

1.8.8 - 2021-12-17

Added

  • Search by linked documents fields (for pre-fetching search only)

1.8.7 - 2021-12-12

Fixed

  • Binary encoder issue

1.8.6 - 2021-12-14

Improved

  • Encoder

1.8.5 - 2021-12-09

Added

  • Optional[Link[Sample]] is allowed field type syntax now

1.8.4 - 2021-12-12

Fixed

  • DateTime bson type

1.8.3 - 2021-12-07

Added

  • Subclasses inherit event-based actions

1.8.2 - 2021-12-04

Fixed

  • Encoder priority

1.8.1 - 2021-11-30

Added

  • Key-based call of subfields in the query builders

1.8.0 - 2021-11-30

Added

  • Relations

Implementation

1.7.2 - 2021-11-03

Fixed

  • revision_id is hidden in the api schema

Implementation

1.7.1 - 2021-11-02

Fixed

  • revision_id is hidden in the outputs

Implementation

1.7.0 - 2021-10-12

Added

  • Cache
  • Bulk write
  • exists - find query's method

Implementation

1.6.1 - 2021-10-06

Update

  • Customization support. It is possible to change query builder classes, used in the classes, which are inherited from the Document class

Implementation

1.6.0 - 2021-09-30

Update

  • Validate on save

Implementation

1.5.1 - 2021-09-27

Update

  • Simplification for init_beanie function

Implementation

1.5.0 - 2021-09-27

Update

  • Custom encoders to be able to configure, how specific type should be presented in the database

Implementation

1.4.0 - 2021-09-13

Added

  • Document state management

Implementation

1.3.0 - 2021-09-08

Added

  • Active record pattern

Implementation

1.2.8 - 2021-09-01

Fix

  • Delete's return annotation

Implementation

1.2.7 - 2021-09-01

Update

  • Annotations for update and delete

Implementation

1.2.6 - 2021-08-25

Fixed

  • MongoDB 5.0 in GH actions

Implementation

1.2.5 - 2021-07-21

Fixed

  • Indexed fields work with aliases now

Implementation

1.2.4 - 2021-07-13

Fixed

  • Aggregation preset method outputs

Implementation

1.2.3 - 2021-07-08

Fixed

  • Pyright issues

Added

  • Doc publishing on merge to the main branch

Implementation

1.2.2 - 2021-07-06

Fixed

  • Bool types in search criteria

Implementation

1.2.1 - 2021-07-06

Fixed

  • Document, FindQuery, Aggregation typings

Implementation

1.2.0 - 2021-06-25

Added

  • Upsert

Implementation

1.1.6 - 2021-06-21

Fix

  • Pydantic dependency version ^1.5

Implementation

1.1.5 - 2021-06-17

Fix

  • Convert document id to the right type in the get() method

Implementation

1.1.4 - 2021-06-15

Changed

  • Stricter flake8 and fixing resulting errors

Implementation

1.1.3 - 2021-06-15

Added

  • MyPy to pre-commit

Fixed

  • Typing errors

Implementation

1.1.2 - 2021-06-14

Changed

  • Skip migration test when transactions not available

Implementation

1.1.1 - 2021-06-14

Added

  • Save method

Implementation

1.1.0 - 2021-06-02

Added

  • Custom id types.

Implementation

1.0.6 - 2021-06-01

Fixed

  • Typo in the module name.

Implementation

1.0.5 - 2021-05-25

Fixed

  • Typing.

Implementation

1.0.4 - 2021-05-18

Fixed

  • aggregation_model -> projection_model

Implementation

1.0.3 - 2021-05-16

Added

  • Index kwargs in the Indexed field

Implementation

1.0.2 - 2021-05-16

Fixed

  • Deprecated import

Implementation

1.0.1 - 2021-05-14

Fixed

  • Document self annotation

Implementation

1.0.0 - 2021-05-10

Added

  • QueryBuilder

Changed

Implementation

0.4.3 - 2021-04-25

Fixed

  • PydanticObjectId openapi generation

0.4.2 - 2021-04-20

Added

  • Python ^3.6.1 support.

Fixed

  • Documents init order in migrations

0.4.1 - 2021-04-19

Added

  • Projections support to reduce database load

Implementation

0.4.0 - 2021-04-18

Added

Changed

0.4.0b1 - 2021-04-14

Added

  • Migrations
  • inspect_collection Document method
  • count_documents Document method

Changed

  • Session can be provided to the most of the Document methods

Removed

  • Internal DocumentMeta class.

0.3.4 - 2021-04-09

Changed

  • Indexed(...) field supports index types.

Implementation

0.3.3 - 2021-04-09

Added

  • Simple indexes via type hints.

Implementation

0.3.2 - 2021-03-25

Added

  • init_beanie supports also lists of strings with model paths as thedocument_models parameter.

Implementation

0.3.1 - 2021-03-21

Added

  • skip, limit and sort parameters in the find_many and find_all methods. Documentation

0.3.0 - 2021-03-19

Added

  • Collection - internal class of the Document to set up additional properties.
  • Indexes support.

Changed

  • Breaking change: init_beanie is async function now.

Deprecated

  • Internal DocumentMeta class. Will be removed in 0.4.0.