================= - 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
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 - 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 - 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 - 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 - Various improvements to the documentation. - Various code quality improvements.
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 - Fix a bug where the read-only access to the database fails when trying to create indexes. 1338
0.15.0
================= - Add ``LazyReferenceField`` and ``GenericLazyReferenceField``. 1230
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
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 - Improve code quality. 1531, 1540, 1541, 1547