Skip to content

Releases: MongoEngine/mongoengine

v0.14.3

01 Oct 21:32
Compare
Choose a tag to compare

This is just a dummy release after adapting setup.py to the new PyPI validation rules.

v0.14.1

01 Oct 20:32
Compare
Choose a tag to compare
  • Removed SemiStrictDict and started using a regular dict for BaseDocument._data #1630
  • Added support for the $position param in the $push operator #1566
  • Fixed DateTimeField interpreting an empty string as today #1533
  • Added a missing __ne__ method to the GridFSProxy class #1632
  • Fixed BaseQuerySet._fields_to_db_fields #1553

v0.14.0

08 May 04:15
Compare
Choose a tag to compare

This release includes a few bug fixes and a significant code cleanup in an ongoing effort to make this codebase much healthier. Primary changes:

  • BREAKING CHANGE: Removed the coerce_types param from QuerySet.as_pymongo #1549
  • POTENTIAL BREAKING CHANGE: Made EmbeddedDocument not hashable by default #1528
  • Improved code quality #1531, #1540, #1541, #1547

v0.13.0

16 Apr 18:12
Compare
Choose a tag to compare

This release adds UTF-8 support to the EmailField along with other validation tweaks (#1527).

Previously, email addresses containing Unicode characters didn't work at all. Now, domains with Unicode characters are supported out of the box and similar validation on the user part can be explicitly enabled. Additionally, you can enable an optional validation of IP-based domain parts (e.g. "user@[127.0.0.1]"), and you can have a whitelist of otherwise invalid domains (e.g. "root@localhost").

v0.12.0

07 Apr 14:22
Compare
Choose a tag to compare

This is primarily a bugfix release, but it may also introduce breaking changes if you relied on a previously broken implementation. See https://mongoengine-odm.readthedocs.io/upgrade.html before upgrading.

  • POTENTIAL BREAKING CHANGE: Fixed limit/skip/hint/batch_size chaining #1476
  • POTENTIAL BREAKING CHANGE: Changed a public QuerySet.clone_into method to a private QuerySet._clone_into #1476
  • Fixed the way Document.objects.create works with duplicate IDs #1485
  • Fixed connecting to a replica set with PyMongo 2.x #1436
  • Fixed using sets in field choices #1481
  • Fixed deleting items from a ListField #1318
  • Fixed an obscure error message when filtering by field__in=non_iterable. #1237
  • Fixed behavior of a dec update operator #1450
  • Added a rename update operator #1454
  • Added validation for the db_field parameter #1448
  • Fixed the error message displayed when querying an EmbeddedDocumentField by an invalid value #1440
  • Fixed the error message displayed when validating unicode URLs #1486
  • Raise an error when trying to save an abstract document #1449

v0.11.0

13 Dec 00:05
Compare
Choose a tag to compare

This release includes a major re-haul of MongoEngine's code quality and introduces a few breaking changes. It also touches many different parts of the package and although all the changes have been tested and scrutinized, you're encouraged to thoroughly test the upgrade.

First breaking change involves renaming ConnectionError to MongoEngineConnectionError. If you import or catch this exception, you'll need to rename it in your code.

Second breaking change drops Python v2.6 support. If you run MongoEngine on that Python version, you'll need to upgrade it first.

Third breaking change drops an old backward compatibility measure where from mongoengine.base import ErrorClass would work on top of from mongoengine.errors import ErrorClass (where ErrorClass is e.g. ValidationError). If you import any exceptions from mongoengine.base, change it to mongoengine.errors.

Lastly, we fixed absent rounding for DecimalField when force_string is set (#1103).

v0.10.9

11 Dec 04:38
Compare
Choose a tag to compare

This is the same release as v0.10.8, but with properly bumped version counter.

v0.10.8

11 Dec 04:32
Compare
Choose a tag to compare
  • Added support for QuerySet.batch_size #1426
  • Fixed query set iteration within iteration #1427
  • Fixed an issue where specifying a MongoDB URI host would override more information than it should #1421
  • Added ability to filter the generic reference field by ObjectId and DBRef #1425
  • Fixed delete cascade for models with a custom primary key field #1247
  • Added ability to specify an authentication mechanism (e.g. X.509) #1333
  • Added support for falsey primary keys (e.g. doc.pk = 0) #1354
  • Fixed QuerySet#sum/average for fields w/ explicit db_field #1417
  • Fixed filtering by embedded_doc=None #1422
  • Added support for cursor.comment #1420
  • Fixed doc.get__display #1419
  • Fixed repr method of the StrictDict #1424
  • Added a deprecation warning for Python 2.6

v0.10.7

29 Nov 08:29
Compare
Choose a tag to compare
  • Dropped Python 3.2 support #1390
  • Fixed the bug where dynamic doc has index inside a dict field #1278
  • Fixed: ListField minus index assignment does not work #1128
  • Fixed 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.
  • count on ListField of EmbeddedDocumentField fails. #1187
  • Fixed long fields stored as int32 in Python 3. #1253
  • MapField now handles unicodes keys correctly. #1267
  • ListField now handles negative indicies correctly. #1270
  • Fixed AttributeError when initializing EmbeddedDocument with positional args. #681
  • Fixed no_cursor_timeout error with pymongo 3.0+ #1304
  • Replaced map-reduce based QuerySet.sum/average with aggregation-based implementations #1336
  • Fixed support for __ to escape field names that match operators names in update #1351
  • Fixed BaseDocument#_mark_as_changed #1369
  • Added support for pickling QuerySet instances. #1397
  • Fixed connecting to a list of hosts #1389
  • Fixed a bug where accessing broken references wouldn't raise a DoesNotExist error #1334
  • Fixed not being able to specify use_db_field=False on ListField(EmbeddedDocumentField) instances #1218
  • Improvements to the dictionary fields docs #1383

v0.10.6

25 Jan 10:19
Compare
Choose a tag to compare
  • Add support for mocking MongoEngine based on mongomock. #1151
  • Fixed not being able to run tests on Windows. #1153
  • Allow creation of sparse compound indexes. #1114