Skip to content

Commit 9140a2b

Browse files
Update changelog for MongoEngine's native async PyMongo migration
1 parent d6e454d commit 9140a2b

1 file changed

Lines changed: 21 additions & 11 deletions

File tree

docs/changelog.rst

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,13 +11,15 @@ Development
1111
Changes in 0.3.0
1212
=================
1313
- feat!: migrate MongoEngine to native async PyMongo (>= 4.14)
14-
- Refactored the core ORM to support PyMongo’s native async API
14+
- Refactored the core ODM to support PyMongo’s native async API
1515
- Unified sync and async code paths across documents, querysets, and transactions
16-
- Replaced legacy async implementations
16+
- Replaced legacy sync implementations
1717
- Removed deprecated and compatibility code
18-
- BREAKING CHANGE: Removed legacy async behavior
18+
- BREAKING CHANGE: Removed legacy sync behavior
1919
- BREAKING CHANGE: Removed LazyReferenceField
2020
- BREAKING CHANGE: Removed GenericLazyReferenceField
21+
- BREAKING CHANGE: Removed CachedReferenceField
22+
- BREAKING CHANGE: Removed GenericCachedReferenceField
2123
- BREAKING CHANGE: GenericReferenceField now requires `choices`
2224
- BREAKING CHANGE: Dropped support for PyMongo < 4.14
2325
- BREAKING CHANGE: Dropped support for MongoDB < 4.2
@@ -26,19 +28,27 @@ Changes in 0.3.0
2628
- Add support for transaction through run_in_transaction (kudos to juannyG for this) #2569
2729
Some considerations:
2830
- make sure to read https://www.mongodb.com/docs/manual/core/transactions-in-applications/#callback-api-vs-core-api
29-
- run_in_transaction context manager relies on Pymongo coreAPI, it will retry automatically in case of `UnknownTransactionCommitResult` but not `TransientTransactionError` exceptions
30-
- Using .count() in a transaction will always use Collection.count_document (as estimated_document_count is not supported in transactions)
31-
- BREAKING CHANGE: wrap _document_registry (normally not used by end users) with _DocumentRegistry which acts as a singleton to access the registry
32-
- Log a warning in case users creates multiple Document classes with the same name as it can lead to unexpected behavior #1778
31+
- run_in_transaction context manager relies on Pymongo coreAPI, it will retry automatically
32+
in case of `UnknownTransactionCommitResult` but not `TransientTransactionError` exceptions
33+
- Using .count() in a transaction will always use Collection.count_document (as estimated_document_count is not
34+
supported in transactions)
35+
- BREAKING CHANGE: wrap _document_registry (normally not used by end users) with _DocumentRegistry which acts as a
36+
singleton to access the registry
37+
- Log a warning in case users creates multiple Document classes with the same name as it can lead
38+
to unexpected behavior #1778
3339
- Fix use of $geoNear or $collStats in aggregate #2493
34-
- BREAKING CHANGE: Further to the deprecation warning, remove ability to use an unpacked list to `Queryset.aggregate(*pipeline)`, a plain list must be provided instead `Queryset.aggregate(pipeline)`, as it's closer to pymongo interface
35-
- BREAKING CHANGE: Further to the deprecation warning, remove `full_response` from `QuerySet.modify` as it wasn't supported with Pymongo 3+
40+
- BREAKING CHANGE: Further to the deprecation warning, remove ability to use an unpacked list to `Queryset.aggregate(*pipeline)`,
41+
a plain list must be provided instead `Queryset.aggregate(pipeline)`, as it's closer to pymongo interface
42+
- BREAKING CHANGE: Further to the deprecation warning, remove `full_response` from `QuerySet.modify`
43+
as it wasn't supported with Pymongo 3+
3644
- Fixed stacklevel of many warnings (to point places emitting the warning more accurately)
3745
- Add support for collation/hint/comment to delete/update and aggregate #2842
38-
- BREAKING CHANGE: Remove LongField as it's equivalent to IntField since we drop support to Python2 long time ago (User should simply switch to IntField) #2309
46+
- BREAKING CHANGE: Remove LongField as it's equivalent to IntField since we drop support to Python2 long
47+
time ago (User should simply switch to IntField) #2309
3948
- BugFix - Calling .clear on a ListField wasn't being marked as changed (and flushed to db upon .save()) #2858
4049
- Improve error message in case a document assigned to a ReferenceField wasn't saved yet #1955
41-
- BugFix - Take `where()` into account when using `.modify()`, as in MyDocument.objects().where("this[field] >= this[otherfield]").modify(field='new') #2044
50+
- BugFix - Take `where()` into account when using `.modify()`, as in
51+
MyDocument.objects().where("this[field] >= this[otherfield]").modify(field='new') #2044
4252

4353
Changes in 0.29.0
4454
=================

0 commit comments

Comments
 (0)