Releases: MongoEngine/mongoengine
v0.14.3
This is just a dummy release after adapting setup.py
to the new PyPI validation rules.
v0.14.1
- 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 theGridFSProxy
class #1632 - Fixed
BaseQuerySet._fields_to_db_fields
#1553
v0.14.0
This release includes a few bug fixes and a significant code cleanup in an ongoing effort to make this codebase much healthier. Primary changes:
v0.13.0
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
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 privateQuerySet._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
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
This is the same release as v0.10.8, but with properly bumped version counter.
v0.10.8
- 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
- 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 toDocument.save
,Document.delete
andBaseQuerySet.insert
to be passed to signals calls #1206 - Raise
OperationError
when trying to do adrop_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 inupdate
#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