From 058203a0ec0c73c20e9df7953f6659be550edd8c Mon Sep 17 00:00:00 2001 From: Stefan Wojcik Date: Wed, 3 Jul 2019 11:12:25 +0200 Subject: [PATCH] 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. --- docs/changelog.rst | 285 ++++++++++++++++++++++----------------------- 1 file changed, 141 insertions(+), 144 deletions(-) diff --git a/docs/changelog.rst b/docs/changelog.rst index 4e2aaa66..ecdbf381 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -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__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__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