More changelog tweaks [ci skip]

The main change is that we're now using double backticks (``), which are the
correct way to format code in an RST file.
This commit is contained in:
Stefan Wojcik 2019-07-03 11:12:25 +02:00
parent 8fdf664968
commit 058203a0ec

View File

@ -6,211 +6,211 @@ Changelog
Development
===========
- (Fill this out as you fix issues and develop your features).
- BREAKING CHANGE: `class_check` and `read_preference` keyword arguments are no longer available when filtering a `QuerySet`. #2112
- Instead of `Doc.objects(foo=bar, read_preference=...)` use `Doc.objects(foo=bar).read_preference(...)`.
- Instead of `Doc.objects(foo=bar, class_check=False)` use `Doc.objects(foo=bar).clear_cls_query(...)`.
- This change also renames the private `QuerySet._initial_query` attribute to `_cls_query`.
- BREAKING CHANGE: Removed the deprecated `format` param from `QuerySet.explain`. #2113
- BREAKING CHANGE: Renamed `MongoEngineConnectionError` to `ConnectionFailure`. #2111
- If you catch/use `MongoEngineConnectionError` in your code, you'll have to rename it.
- BREAKING CHANGE: ``class_check`` and ``read_preference`` keyword arguments are no longer available when filtering a ``QuerySet``. #2112
- Instead of ``Doc.objects(foo=bar, read_preference=...)`` use ``Doc.objects(foo=bar).read_preference(...)``.
- Instead of ``Doc.objects(foo=bar, class_check=False)`` use ``Doc.objects(foo=bar).clear_cls_query(...)``.
- This change also renames the private ``QuerySet._initial_query`` attribute to ``_cls_query``.
- BREAKING CHANGE: Removed the deprecated ``format`` param from ``QuerySet.explain``. #2113
- BREAKING CHANGE: Renamed ``MongoEngineConnectionError`` to ``ConnectionFailure``. #2111
- If you catch/use ``MongoEngineConnectionError`` in your code, you'll have to rename it.
- BREAKING CHANGE: Positional arguments when instantiating a document are no longer supported. #2103
- From now on keyword arguments (e.g. `Doc(field_name=value)`) are required.
- The codebase is now formatted using `black`. #2109
- `ListField` now accepts an optional `max_length` parameter. #2110
- From now on keyword arguments (e.g. ``Doc(field_name=value)``) are required.
- The codebase is now formatted using ``black``. #2109
- ``ListField`` now accepts an optional ``max_length`` parameter. #2110
Changes in 0.18.2
=================
- Replace deprecated PyMongo v2.x methods with their v3.x equivalents in the `SequenceField`. #2097
- Replace deprecated PyMongo v2.x methods with their v3.x equivalents in the ``SequenceField``. #2097
- Various code clarity and documentation improvements.
Changes in 0.18.1
=================
- Fix a bug introduced in 0.18.0 which was causing `.save()` to update all the fields instead of updating only the modified fields. This bug only occurred when using a custom PK. #2082
- Fix a bug introduced in 0.18.0 which was causing ``Document.save`` to update all the fields instead of updating only the modified fields. This bug only occurred when using a custom PK. #2082
- Add Python 3.7 to Travis CI. #2058
Changes in 0.18.0
=================
- Drop support for EOL'd MongoDB v2.6, v3.0, and v3.2.
- MongoEngine now requires PyMongo >= v3.4. Travis CI now tests against MongoDB v3.4 v3.6 and PyMongo v3.4 v3.6. #2017 #2066
- Improve performance by avoiding a call to `to_mongo` in `Document.save()`. #2049
- Improve performance by avoiding a call to ``to_mongo`` in ``Document.save``. #2049
- Connection/disconnection improvements:
- Expose `mongoengine.connection.disconnect` and `mongoengine.connection.disconnect_all`.
- Expose ``mongoengine.connection.disconnect`` and ``mongoengine.connection.disconnect_all``.
- Fix disconnecting. #566 #1599 #605 #607 #1213 #565
- Improve documentation of `connect`/`disconnect`.
- Improve documentation of ``connect``/``disconnect``.
- Fix issue when using multiple connections to the same mongo with different credentials. #2047
- `connect` fails immediately when db name contains invalid characters. #2031 #1718
- Fix the default write concern of `Document.save` that was overwriting the connection write concern. #568
- Fix querying on `List(EmbeddedDocument)` subclasses fields. #1961 #1492
- Fix querying on `(Generic)EmbeddedDocument` subclasses fields. #475
- Fix `QuerySet.aggregate` so that it takes limit and skip value into account. #2029
- Generate unique indices for `SortedListField` and `EmbeddedDocumentListFields`. #2020
- BREAKING CHANGE: Changed the behavior of a custom field validator (i.e `validation` parameter of a `Field`). It is now expected to raise a `ValidationError` instead of returning `True`/`False`. #2050
- ``connect`` fails immediately when db name contains invalid characters. #2031 #1718
- Fix the default write concern of ``Document.save`` that was overwriting the connection write concern. #568
- Fix querying on ``List(EmbeddedDocument)`` subclasses fields. #1961 #1492
- Fix querying on ``(Generic)EmbeddedDocument`` subclasses fields. #475
- Fix ``QuerySet.aggregate`` so that it takes limit and skip value into account. #2029
- Generate unique indices for ``SortedListField`` and ``EmbeddedDocumentListFields``. #2020
- BREAKING CHANGE: Changed the behavior of a custom field validator (i.e ``validation`` parameter of a ``Field``). It is now expected to raise a ``ValidationError`` instead of returning ``True``/``False``. #2050
- BREAKING CHANGES (associated with connection/disconnection fixes):
- Calling `connect` 2 times with the same alias and different parameter will raise an error (should call `disconnect` first).
- `disconnect` now clears `mongoengine.connection._connection_settings`.
- `disconnect` now clears the cached attribute `Document._collection`.
- BREAKING CHANGE: `EmbeddedDocument.save` & `.reload` no longer exist. #1552
- Calling ``connect`` 2 times with the same alias and different parameter will raise an error (should call ``disconnect`` first).
- ``disconnect`` now clears ``mongoengine.connection._connection_settings``.
- ``disconnect`` now clears the cached attribute ``Document._collection``.
- BREAKING CHANGE: ``EmbeddedDocument.save`` & ``.reload`` no longer exist. #1552
Changes in 0.17.0
=================
- POTENTIAL BREAKING CHANGE: All result fields are now passed, including internal fields (`_cls`, `_id`) when using `QuerySet.as_pymongo`. #1976
- POTENTIAL BREAKING CHANGE: All result fields are now passed, including internal fields (``_cls``, ``_id``) when using ``QuerySet.as_pymongo``. #1976
- Document a BREAKING CHANGE introduced in 0.15.3 and not reported at that time. #1995
- DEPRECATION: `EmbeddedDocument.save` & `.reload` are marked as deprecated and will be removed in a next version of MongoEngine. #1552
- Fix `.only()` working improperly after using `.count()` of the same instance of a `QuerySet`.
- Fix `batch_size` that was not copied when cloning a `QuerySet` object. #2011
- Fix `InvalidStringData` error when using `modify` on a `BinaryField`. #1127
- DEPRECATION: ``EmbeddedDocument.save`` & ``.reload`` are marked as deprecated and will be removed in a next version of MongoEngine. #1552
- Fix ``QuerySet.only`` working improperly after using ``QuerySet.count`` of the same instance of a ``QuerySet``.
- Fix ``batch_size`` that was not copied when cloning a ``QuerySet`` object. #2011
- Fix ``InvalidStringData`` error when using ``modify`` on a ``BinaryField``. #1127
- Fix test suite and CI to support MongoDB v3.4. #1445
- Fix reference fields querying the database on each access if value contains orphan DBRefs.
=================
Changes in 0.16.3
=================
- Fix `$push` with the `$position` operator not working with lists in embedded documents. #1965
- Fix ``$push`` with the ``$position`` operator not working with lists in embedded documents. #1965
=================
Changes in 0.16.2
=================
- Fix `.save()` that fails when called with `write_concern=None` (regression of 0.16.1). #1958
- Fix ``Document.save`` that fails when called with ``write_concern=None`` (regression of 0.16.1). #1958
=================
Changes in 0.16.1
=================
- Fix `_cls` that is not set properly in the `Document` constructor (regression). #1950
- Fix a bug in the `_delta` method - update of a `ListField` depends on an unrelated dynamic field update. #1733
- Remove PyMongo's deprecated `save()` method and use `insert_one()` instead. #1899
- Fix ``_cls`` that is not set properly in the ``Document`` constructor (regression). #1950
- Fix a bug in the ``_delta`` method - update of a ``ListField`` depends on an unrelated dynamic field update. #1733
- Remove PyMongo's deprecated ``Collection.save`` method and use ``Collection.insert_one`` instead. #1899
=================
Changes in 0.16.0
=================
- POTENTIAL BREAKING CHANGES:
- `EmbeddedDocumentField` will no longer accept references to Document classes in its constructor. #1661
- Get rid of the `basecls` parameter from the `DictField` constructor (dead code). #1876
- Default value of the `ComplexDateTime` field is now `None` (and no longer the current datetime). #1368
- Fix an unhashable `TypeError` when referencing a `Document` with a compound key in an `EmbeddedDocument`. #1685
- Fix a bug where an `EmbeddedDocument` with the same id as its parent would not be tracked for changes. #1768
- Fix the fact that a bulk `QuerySet.insert` was not setting primary keys of inserted document instances. #1919
- Fix a bug when referencing an abstract class in a `ReferenceField`. #1920
- Allow modifications to the document made in `pre_save_post_validation` to be taken into account. #1202
- ``EmbeddedDocumentField`` will no longer accept references to Document classes in its constructor. #1661
- Get rid of the ``basecls`` parameter from the ``DictField`` constructor (dead code). #1876
- Default value of the ``ComplexDateTime`` field is now ``None`` (and no longer the current datetime). #1368
- Fix an unhashable ``TypeError`` when referencing a ``Document`` with a compound key in an ``EmbeddedDocument``. #1685
- Fix a bug where an ``EmbeddedDocument`` with the same id as its parent would not be tracked for changes. #1768
- Fix the fact that a bulk ``QuerySet.insert`` was not setting primary keys of inserted document instances. #1919
- Fix a bug when referencing an abstract class in a ``ReferenceField``. #1920
- Allow modifications to the document made in ``pre_save_post_validation`` to be taken into account. #1202
- Replace MongoDB v2.4 tests in Travis CI with MongoDB v3.2. #1903
- Fix side effects of using `QuerySet.no_dereference` on other documents. #1677
- Fix `TypeError` when using lazy Django translation objects as translated choices. #1879
- Fix side effects of using ``QuerySet.no_dereference`` on other documents. #1677
- Fix ``TypeError`` when using lazy Django translation objects as translated choices. #1879
- Improve Python 2-3 codebase compatibility. #1889
- Fix support for changing the default value of the `ComplexDateTime` field. #1368
- Improve error message in case an `EmbeddedDocumentListField` receives an `EmbeddedDocument` instance instead of a list. #1877
- Fix the `inc` and `dec` operators for the `DecimalField`. #1517 #1320
- Ignore `killcursors` queries in `query_counter` context manager. #1869
- Fix the fact that `query_counter` was modifying the initial profiling level in case it was != 0. #1870
- Repair the `no_sub_classes` context manager + fix the fact that it was swallowing exceptions. #1865
- Fix index creation error that was swallowed by `hasattr` under Python 2. #1688
- `QuerySet.limit` function behaviour: Passing 0 as parameter will return all the documents in the cursor. #1611
- Fix support for changing the default value of the ``ComplexDateTime`` field. #1368
- Improve error message in case an ``EmbeddedDocumentListField`` receives an ``EmbeddedDocument`` instance instead of a list. #1877
- Fix the ``inc`` and ``dec`` operators for the ``DecimalField``. #1517 #1320
- Ignore ``killcursors`` queries in ``query_counter`` context manager. #1869
- Fix the fact that ``query_counter`` was modifying the initial profiling level in case it was != 0. #1870
- Repair the ``no_sub_classes`` context manager + fix the fact that it was swallowing exceptions. #1865
- Fix index creation error that was swallowed by ``hasattr`` under Python 2. #1688
- ``QuerySet.limit`` function behaviour: Passing 0 as parameter will return all the documents in the cursor. #1611
- Bulk insert updates the IDs of the input documents instances. #1919
- Fix a harmless bug related to `GenericReferenceField` where modifications in the generic-referenced document were tracked in the parent. #1934
- Improve validation of the `BinaryField`. #273
- Implement lazy regex compiling in Field classes to improve `import mongoengine` performance. #1806
- Update `GridFSProxy.__str__` so that it would always print both the filename and grid_id. #710
- Add `__repr__` to `Q` and `QCombination` classes. #1843
- Fix bug in the `BaseList.__iter__` operator (was occuring when modifying a BaseList while iterating over it). #1676
- Add a `DateField`. #513
- Fix a harmless bug related to ``GenericReferenceField`` where modifications in the generic-referenced document were tracked in the parent. #1934
- Improve validation of the ``BinaryField``. #273
- Implement lazy regex compiling in Field classes to improve ``import mongoengine`` performance. #1806
- Update ``GridFSProxy.__str__`` so that it would always print both the filename and grid_id. #710
- Add ``__repr__`` to ``Q`` and ``QCombination`` classes. #1843
- Fix bug in the ``BaseList.__iter__`` operator (was occuring when modifying a BaseList while iterating over it). #1676
- Add a ``DateField``. #513
- Various improvements to the documentation.
- Various code quality improvements.
Changes in 0.15.3
=================
- `Queryset.update/update_one` methods now return an `UpdateResult` when `full_result=True` is provided and no longer a dict. #1491
- Improve `LazyReferenceField` and `GenericLazyReferenceField` with nested fields. #1704
- Fix the subfield resolve error in `generic_emdedded_document` query. #1651 #1652
- Use each modifier only with `$position`. #1673 #1675
- Fix validation errors in the `GenericEmbeddedDocumentField`. #1067
- Update cached fields when a `fields` argument is given. #1712
- Add a `db` parameter to `register_connection` for compatibility with `connect`.
- Use PyMongo v3.x's `insert_one` and `insert_many` in `Document.insert`. #1491
- Use PyMongo v3.x's `update_one` and `update_many` in `Document.update` and `QuerySet.update`. #1491
- Fix how `reload(fields)` affects changed fields. #1371
- ``Queryset.update/update_one`` methods now return an ``UpdateResult`` when ``full_result=True`` is provided and no longer a dict. #1491
- Improve ``LazyReferenceField`` and ``GenericLazyReferenceField`` with nested fields. #1704
- Fix the subfield resolve error in ``generic_emdedded_document`` query. #1651 #1652
- Use each modifier only with ``$position``. #1673 #1675
- Fix validation errors in the ``GenericEmbeddedDocumentField``. #1067
- Update cached fields when a ``fields`` argument is given. #1712
- Add a ``db`` parameter to ``register_connection`` for compatibility with ``connect``.
- Use PyMongo v3.x's ``insert_one`` and ``insert_many`` in ``Document.insert``. #1491
- Use PyMongo v3.x's ``update_one`` and ``update_many`` in ``Document.update`` and ``QuerySet.update``. #1491
- Fix how ``reload(fields)`` affects changed fields. #1371
- Fix a bug where the read-only access to the database fails when trying to create indexes. #1338
Changes in 0.15.0
=================
- Add `LazyReferenceField` and `GenericLazyReferenceField`. #1230
- Add ``LazyReferenceField`` and ``GenericLazyReferenceField``. #1230
Changes in 0.14.1
=================
- Remove `SemiStrictDict` and start using a regular dict for `BaseDocument._data`. #1630
- Add support for the `$position` param in the `$push` operator. #1566
- Fix `DateTimeField` interpreting an empty string as today. #1533
- Add a missing `__ne__` method to the `GridFSProxy` class. #1632
- Fix `BaseQuerySet._fields_to_db_fields`. #1553
- Remove ``SemiStrictDict`` and start using a regular dict for ``BaseDocument._data``. #1630
- Add support for the ``$position`` param in the ``$push`` operator. #1566
- Fix ``DateTimeField`` interpreting an empty string as today. #1533
- Add a missing ``__ne__`` method to the ``GridFSProxy`` class. #1632
- Fix ``BaseQuerySet._fields_to_db_fields``. #1553
Changes in 0.14.0
=================
- BREAKING CHANGE: Remove the `coerce_types` param from `QuerySet.as_pymongo`. #1549
- POTENTIAL BREAKING CHANGE: Make `EmbeddedDocument` not hashable by default. #1528
- BREAKING CHANGE: Remove the ``coerce_types`` param from ``QuerySet.as_pymongo``. #1549
- POTENTIAL BREAKING CHANGE: Make ``EmbeddedDocument`` not hashable by default. #1528
- Improve code quality. #1531, #1540, #1541, #1547
Changes in 0.13.0
=================
- POTENTIAL BREAKING CHANGE: Added Unicode support to the `EmailField`, see docs/upgrade.rst for details.
- POTENTIAL BREAKING CHANGE: Added Unicode support to the ``EmailField``, see docs/upgrade.rst for details.
Changes in 0.12.0
=================
- POTENTIAL BREAKING CHANGE: Fix `limit`/`skip`/`hint`/`batch_size` chaining. #1476
- POTENTIAL BREAKING CHANGE: Change a public `QuerySet.clone_into` method to a private `QuerySet._clone_into`. #1476
- Fix the way `Document.objects.create` works with duplicate IDs. #1485
- POTENTIAL BREAKING CHANGE: Fix ``limit``/``skip``/``hint``/``batch_size`` chaining. #1476
- POTENTIAL BREAKING CHANGE: Change a public ``QuerySet.clone_into`` method to a private ``QuerySet._clone_into``. #1476
- Fix the way ``Document.objects.create`` works with duplicate IDs. #1485
- Fix connecting to a replica set with PyMongo 2.x. #1436
- Fix using sets in field choices. #1481
- Fix deleting items from a `ListField`. #1318
- Fix an obscure error message when filtering by `field__in=non_iterable`. #1237
- Fix behavior of a `dec` update operator. #1450
- Add a `rename` update operator. #1454
- Add validation for the `db_field` parameter. #1448
- Fix the error message displayed when querying an `EmbeddedDocumentField` by an invalid value. #1440
- Fix deleting items from a ``ListField``. #1318
- Fix an obscure error message when filtering by ``field__in=non_iterable``. #1237
- Fix behavior of a ``dec`` update operator. #1450
- Add a ``rename`` update operator. #1454
- Add validation for the ``db_field`` parameter. #1448
- Fix the error message displayed when querying an ``EmbeddedDocumentField`` by an invalid value. #1440
- Fix the error message displayed when validating Unicode URLs. #1486
- Raise an error when trying to save an abstract document. #1449
Changes in 0.11.0
=================
- BREAKING CHANGE: Rename `ConnectionError` to `MongoEngineConnectionError` since the former is a built-in exception name in Python v3.x. #1428
- BREAKING CHANGE: Rename ``ConnectionError`` to ``MongoEngineConnectionError`` since the former is a built-in exception name in Python v3.x. #1428
- BREAKING CHANGE: Drop Python v2.6 support. #1428
- BREAKING CHANGE: `from mongoengine.base import ErrorClass` won't work anymore for any error from `mongoengine.errors` (e.g. `ValidationError`). Use `from mongoengine.errors import ErrorClass instead`. #1428
- BREAKING CHANGE: Accessing a broken reference will raise a `DoesNotExist` error. In the past it used to return `None`. #1334
- Fix absent rounding for the `DecimalField` when `force_string` is set. #1103
- BREAKING CHANGE: ``from mongoengine.base import ErrorClass`` won't work anymore for any error from ``mongoengine.errors`` (e.g. ``ValidationError``). Use ``from mongoengine.errors import ErrorClass instead``. #1428
- BREAKING CHANGE: Accessing a broken reference will raise a ``DoesNotExist`` error. In the past it used to return ``None``. #1334
- Fix absent rounding for the ``DecimalField`` when ``force_string`` is set. #1103
Changes in 0.10.8
=================
- Add support for `QuerySet.batch_size`. (#1426)
- Add support for ``QuerySet.batch_size``. (#1426)
- Fix a query set iteration within an iteration. #1427
- Fix an issue where specifying a MongoDB URI host would override more information than it should. #1421
- Add an ability to filter the `GenericReferenceField` by an `ObjectId` and a `DBRef`. #1425
- Add an ability to filter the ``GenericReferenceField`` by an ``ObjectId`` and a ``DBRef``. #1425
- Fix cascading deletes for models with a custom primary key field. #1247
- Add ability to specify an authentication mechanism (e.g. X.509). #1333
- Add support for falsy primary keys (e.g. `doc.pk = 0`). #1354
- Fix `QuerySet.sum/average` for fields w/ an explicit `db_field`. #1417
- Fix filtering by `embedded_doc=None`. #1422
- Add support for `Cursor.comment`. #1420
- Fix `doc.get_<field>_display` methods. #1419
- Fix the `__repr__` method of the `StrictDict` #1424
- Add support for falsy primary keys (e.g. ``doc.pk = 0``). #1354
- Fix ``QuerySet.sum/average`` for fields w/ an explicit ``db_field``. #1417
- Fix filtering by ``embedded_doc=None``. #1422
- Add support for ``Cursor.comment``. #1420
- Fix ``doc.get_<field>_display`` methods. #1419
- Fix the ``__repr__`` method of the ``StrictDict`` #1424
- Add a deprecation warning for Python v2.6.
Changes in 0.10.7
=================
- Drop Python 3.2 support #1390
- Fix a bug where a dynamic doc has an index inside a dict field. #1278
- Fix: `ListField` minus index assignment does not work. #1128
- Fix: ``ListField`` minus index assignment does not work. #1128
- Fix cascade delete mixing among collections. #1224
- Add `signal_kwargs` argument to `Document.save`, `Document.delete` and `BaseQuerySet.insert` to be passed to signals calls. #1206
- Raise `OperationError` when trying to do a `drop_collection` on document with no collection set.
- Fix a bug where a count on `ListField` of `EmbeddedDocumentField` fails. #1187
- Fix `LongField` values stored as int32 in Python 3. #1253
- `MapField` now handles unicode keys correctly. #1267
- `ListField` now handles negative indicies correctly. #1270
- Fix an `AttributeError` when initializing an `EmbeddedDocument` with positional args. #681
- Fix a `no_cursor_timeout` error with PyMongo v3.x. #1304
- Replace map-reduce based `QuerySet.sum/average` with aggregation-based implementations. #1336
- Fix support for `__` to escape field names that match operators' names in `update`. #1351
- Fix `BaseDocument._mark_as_changed`. #1369
- Add support for pickling `QuerySet` instances. #1397
- Add ``signal_kwargs`` argument to ``Document.save``, ``Document.delete`` and ``BaseQuerySet.insert`` to be passed to signals calls. #1206
- Raise ``OperationError`` when trying to do a ``drop_collection`` on document with no collection set.
- Fix a bug where a count on ``ListField`` of ``EmbeddedDocumentField`` fails. #1187
- Fix ``LongField`` values stored as int32 in Python 3. #1253
- ``MapField`` now handles unicode keys correctly. #1267
- ``ListField`` now handles negative indicies correctly. #1270
- Fix an ``AttributeError`` when initializing an ``EmbeddedDocument`` with positional args. #681
- Fix a ``no_cursor_timeout`` error with PyMongo v3.x. #1304
- Replace map-reduce based ``QuerySet.sum/average`` with aggregation-based implementations. #1336
- Fix support for ``__`` to escape field names that match operators' names in ``update``. #1351
- Fix ``BaseDocument._mark_as_changed``. #1369
- Add support for pickling ``QuerySet`` instances. #1397
- Fix connecting to a list of hosts. #1389
- Fix a bug where accessing broken references wouldn't raise a `DoesNotExist` error. #1334
- Fix not being able to specify `use_db_field=False` on `ListField(EmbeddedDocumentField)` instances. #1218
- Fix a bug where accessing broken references wouldn't raise a ``DoesNotExist`` error. #1334
- Fix not being able to specify ``use_db_field=False`` on ``ListField(EmbeddedDocumentField)`` instances. #1218
- Improvements to the dictionary field's docs. #1383
Changes in 0.10.6
@ -225,12 +225,12 @@ Changes in 0.10.5
Changes in 0.10.4
=================
- `SaveConditionError` is now importable from the top level package. #1165
- Add a `QuerySet.upsert_one` method. #1157
- ``SaveConditionError`` is now importable from the top level package. #1165
- Add a ``QuerySet.upsert_one`` method. #1157
Changes in 0.10.3
=================
- Fix `read_preference` (it had chaining issues with PyMongo v2.x and it didn't work at all with PyMongo v3.x). #1042
- Fix ``read_preference`` (it had chaining issues with PyMongo v2.x and it didn't work at all with PyMongo v3.x). #1042
Changes in 0.10.2
=================
@ -241,15 +241,15 @@ Changes in 0.10.2
Changes in 0.10.1
=================
- Fix infinite recursion with cascade delete rules under specific conditions. #1046
- Fix `CachedReferenceField` bug when loading cached docs as `DBRef` but failing to save them. #1047
- Fix ``CachedReferenceField`` bug when loading cached docs as ``DBRef`` but failing to save them. #1047
- Fix ignored chained options. #842
- `Document.save`'s `save_condition` error raises a `SaveConditionError` exception. #1070
- Fix `Document.reload` for the `DynamicDocument`. #1050
- `StrictDict` & `SemiStrictDict` are shadowed at init time. #1105
- Fix `ListField` negative index assignment not working. #1119
- ``Document.save``'s ``save_condition`` error raises a ``SaveConditionError`` exception. #1070
- Fix ``Document.reload`` for the ``DynamicDocument``. #1050
- ``StrictDict`` & ``SemiStrictDict`` are shadowed at init time. #1105
- Fix ``ListField`` negative index assignment not working. #1119
- Remove code that marks a field as changed when the field has a default value but does not exist in the database. #1126
- Remove test dependencies (nose and rednose) from install dependencies. #1079
- Recursively build a query when using the `elemMatch` operator. #1130
- Recursively build a query when using the ``elemMatch`` operator. #1130
- Fix instance back references for lists of embedded documents. #1131
Changes in 0.10.0
@ -260,7 +260,7 @@ Changes in 0.10.0
- Removed get_or_create() deprecated since 0.8.0. #300
- Improve Document._created status when switch collection and db #1020
- Queryset update doesn't go through field validation #453
- Added support for specifying authentication source as option `authSource` in URI. #967
- Added support for specifying authentication source as option ``authSource`` in URI. #967
- Fixed mark_as_changed to handle higher/lower level fields changed. #927
- ListField of embedded docs doesn't set the _instance attribute when iterating over it #914
- Support += and *= for ListField #595
@ -276,7 +276,7 @@ Changes in 0.10.0
- Fixes some internal _id handling issue. #961
- Updated URL and Email Field regex validators, added schemes argument to URLField validation. #652
- Capped collection multiple of 256. #1011
- Added `BaseQuerySet.aggregate_sum` and `BaseQuerySet.aggregate_average` methods.
- Added ``BaseQuerySet.aggregate_sum`` and ``BaseQuerySet.aggregate_average`` methods.
- Fix for delete with write_concern {'w': 0}. #1008
- Allow dynamic lookup for more than two parts. #882
- Added support for min_distance on geo queries. #831
@ -285,10 +285,10 @@ Changes in 0.10.0
Changes in 0.9.0
================
- Update FileField when creating a new file #714
- Added `EmbeddedDocumentListField` for Lists of Embedded Documents. #826
- Added ``EmbeddedDocumentListField`` for Lists of Embedded Documents. #826
- ComplexDateTimeField should fall back to None when null=True #864
- Request Support for $min, $max Field update operators #863
- `BaseDict` does not follow `setdefault` #866
- ``BaseDict`` does not follow ``setdefault`` #866
- Add support for $type operator # 766
- Fix tests for pymongo 2.8+ #877
- No module named 'django.utils.importlib' (Django dev) #872
@ -309,13 +309,13 @@ Changes in 0.9.0
- Stop ensure_indexes running on a secondaries unless connection is through mongos #746
- Not overriding default values when loading a subset of fields #399
- Saving document doesn't create new fields in existing collection #620
- Added `Queryset.aggregate` wrapper to aggregation framework #703
- Added ``Queryset.aggregate`` wrapper to aggregation framework #703
- Added support to show original model fields on to_json calls instead of db_field #697
- Added Queryset.search_text to Text indexes searchs #700
- Fixed tests for Django 1.7 #696
- Follow ReferenceFields in EmbeddedDocuments with select_related #690
- Added preliminary support for text indexes #680
- Added `elemMatch` operator as well - `match` is too obscure #653
- Added ``elemMatch`` operator as well - ``match`` is too obscure #653
- Added support for progressive JPEG #486 #548
- Allow strings to be used in index creation #675
- Fixed EmbeddedDoc weakref proxy issue #592
@ -351,11 +351,11 @@ Changes in 0.9.0
- Increase email field length to accommodate new TLDs #726
- index_cls is ignored when deciding to set _cls as index prefix #733
- Make 'db' argument to connection optional #737
- Allow atomic update for the entire `DictField` #742
- Allow atomic update for the entire ``DictField`` #742
- Added MultiPointField, MultiLineField, MultiPolygonField
- Fix multiple connections aliases being rewritten #748
- Fixed a few instances where reverse_delete_rule was written as reverse_delete_rules. #791
- Make `in_bulk()` respect `no_dereference()` #775
- Make ``in_bulk()`` respect ``no_dereference()`` #775
- Handle None from model __str__; Fixes #753 #754
- _get_changed_fields fix for embedded documents with id field. #925
@ -409,18 +409,18 @@ Changes in 0.8.4
Changes in 0.8.3
================
- Fixed EmbeddedDocuments with `id` also storing `_id` (#402)
- Fixed EmbeddedDocuments with ``id`` also storing ``_id`` (#402)
- Added get_proxy_object helper to filefields (#391)
- Added QuerySetNoCache and QuerySet.no_cache() for lower memory consumption (#365)
- Fixed sum and average mapreduce dot notation support (#375, #376, #393)
- Fixed as_pymongo to return the id (#386)
- Document.select_related() now respects `db_alias` (#377)
- Document.select_related() now respects ``db_alias`` (#377)
- Reload uses shard_key if applicable (#384)
- Dynamic fields are ordered based on creation and stored in _fields_ordered (#396)
**Potential breaking change:** http://docs.mongoengine.org/en/latest/upgrade.html#to-0-8-3
- Fixed pickling dynamic documents `_dynamic_fields` (#387)
- Fixed pickling dynamic documents ``_dynamic_fields`` (#387)
- Fixed ListField setslice and delslice dirty tracking (#390)
- Added Django 1.5 PY3 support (#392)
- Added match ($elemMatch) support for EmbeddedDocuments (#379)
@ -461,7 +461,7 @@ Changes in 0.8.0
================
- Fixed querying ReferenceField custom_id (#317)
- Fixed pickle issues with collections (#316)
- Added `get_next_value` preview for SequenceFields (#319)
- Added ``get_next_value`` preview for SequenceFields (#319)
- Added no_sub_classes context manager and queryset helper (#312)
- Querysets now utilises a local cache
- Changed __len__ behaviour in the queryset (#247, #311)
@ -490,7 +490,7 @@ Changes in 0.8.0
- Updated connection to use MongoClient (#262, #274)
- Fixed db_alias and inherited Documents (#143)
- Documentation update for document errors (#124)
- Deprecated `get_or_create` (#35)
- Deprecated ``get_or_create`` (#35)
- Updated inheritable objects created by upsert now contain _cls (#118)
- Added support for creating documents with embedded documents in a single operation (#6)
- Added to_json and from_json to Document (#1)
@ -611,7 +611,7 @@ Changes in 0.7.0
- Fixed UnboundLocalError in composite index with pk field (#88)
- Updated ReferenceField's to optionally store ObjectId strings
this will become the default in 0.8 (#89)
- Added FutureWarning - save will default to `cascade=False` in 0.8
- Added FutureWarning - save will default to ``cascade=False`` in 0.8
- Added example of indexing embedded document fields (#75)
- Fixed ImageField resizing when forcing size (#80)
- Add flexibility for fields handling bad data (#78)
@ -707,7 +707,7 @@ Changes in 0.6.8
================
- Fixed FileField losing reference when no default set
- Removed possible race condition from FileField (grid_file)
- Added assignment to save, can now do: `b = MyDoc(**kwargs).save()`
- Added assignment to save, can now do: ``b = MyDoc(**kwargs).save()``
- Added support for pull operations on nested EmbeddedDocuments
- Added support for choices with GenericReferenceFields
- Added support for choices with GenericEmbeddedDocumentFields
@ -722,7 +722,7 @@ Changes in 0.6.7
- Fixed indexing on '_id' or 'pk' or 'id'
- Invalid data from the DB now raises a InvalidDocumentError
- Cleaned up the Validation Error - docs and code
- Added meta `auto_create_index` so you can disable index creation
- Added meta ``auto_create_index`` so you can disable index creation
- Added write concern options to inserts
- Fixed typo in meta for index options
- Bug fix Read preference now passed correctly
@ -763,7 +763,6 @@ Changes in 0.6.1
Changes in 0.6
==============
- Added FutureWarning to inherited classes not declaring 'allow_inheritance' as the default will change in 0.7
- Added support for covered indexes when inheritance is off
- No longer always upsert on save for items with a '_id'
@ -988,7 +987,6 @@ Changes in v0.1.3
querying takes place
- A few minor bugfixes
Changes in v0.1.2
=================
- Query values may be processed before before being used in queries
@ -997,7 +995,6 @@ Changes in v0.1.2
- Added ``BooleanField``
- Added ``Document.reload()`` method
Changes in v0.1.1
=================
- Documents may now use capped collections