Changelog History
Page 1
-
v3.0.0 Changes
January 11, 2020🔋 Features:
- 🛠 Fix internationalization of generated marshmallow fields for container fields (DictField, ListField, NestedField) (see #329).
- 📇 Don't pass field metadata as kwargs (deprecated in marshmallow 3.10.0) but as
metadataargument (see #328).
🐛 Bug fixes:
- 🛠 Fix IO validation of
Nonefor references, lists and embedded documents (see #330). - Add
_dict_io_validateto propagate IO validation throughDictField(see #335).
Other changes:
- Backwards-incompatible: Require marshmallow>=3.10.0 (see #328).
-
v3.0.0.b9 Changes
October 05, 2020🔋 Features:
- ➕ Add support for motor 2.2 (see #294). (Picked from 2.3.0.)
- Backwards-incompatible: Add
ExposeMissingcontext manager to returnmissingrather thanNonewhen dumping. ReplaceFromUmongoSchemawithRemoveMissingSchema. This schema removes missing fields when dumping by usingExposeMissinginternally. Make this feature opt-in by requiring the user to specifyRemoveMissingSchemaasMA_BASE_SCHEMA_CLS. (see #261) - Backwards-incompatible: Remove
mongo_worldparameter fromSchema.as_marshmallow_schema. Schemas generated by this method are meant to (de)serialize umongo objects, notdictstraight from database. (see #299) - Backwards-incompatible: Remove
umongo.Schema. Schemas should inherit fromumongo.abstract.BaseSchema. ExposeRemoveMissingSchemaasumongo.RemoveMissingSchema. (see #301)
Other changes:
- Backwards-incompatible: Drop Python 3.6 support (see #298).
-
v3.0.0.b8 Changes
July 22, 2020🔋 Features:
👀 Let
Documentinherit fromEmbeddedDocument(see #266).➕ Add
MixinDocumentallowingDocumentandEmbeddedDocumentto inherit fields and pre/post methods from mixin objects. The mixin class should appear first (leftmost) in the bases:class MyDocument(MyMixin, Document). (see #278)Backwards-incompatible: Remove
as_attributeargument ofBaseInstance.registermethod. Documents can not be accessed by name as instance attributes anymore. (see #290)
🐛 Bug fixes:
- Fix passing
Noneto a field with_required_validatemethod (see #289).
-
v3.0.0.b7 Changes
May 08, 2020🔋 Features:
Backwards-incompatible: Revert broken feature introduced in 3.0.0b6 allowing to get fields from mixin classes (see #273).
Backwards-incompatible: Remove
allow_inheritanceoption. AnyDocumentorEmbeddedDocumentmay be subclassed (see #270).Backwards-incompatible:
FieldraisesDocumentDefinitionErrorrather thanRuntimeErrorwhen passedmissingkwarg andDocument.commitraisesNotCreatedErrorwhen passedconditionsfor a document that is not in database (see #275).
-
v3.0.0.b6 Changes
May 04, 2020🔋 Features:
Backwards-incompatible:
abstractinEmbeddedDocumentbehaves consistently withDocument. The_cls/clsfield is only added on concrete embedded documents subclassing concrete embedded documents. AndEmbeddedFieldonly accepts concrete embedded documents. (see #86)DocumentandEmbeddedDocumentmay inherits from mixin classes. The mixin class should appear first (leftmost) in the bases:class MyDocument(MyMixin, Document). (see #188)
Other changes:
- Backwards-incompatible: marshmallow imports throughout the code are done as
import marshmallow as ma. For convenience,missingandValidationErrorcan still be imported asumongo.missingandumongo.ValidationError.
-
v3.0.0.b5 Changes
April 30, 2020🔋 Features:
- Backwards-incompatible: Add
MA_BASE_SCHEMA_CLSclass attribute toDocumentandEmbeddedDocumentto specify a base class to use inas_marshmallow_schema. Drop thecheck_unknown_fields,paramsandmetaattributes ofas_marshmallow_schema. Makemongo_worldkwarg-only. The same effect can be achieved using base schema classes. This incidentally fixes brokenas_marshmallow_schemacache feature. (see #263) - Backwards-incompatible: Add
TxMongoDocument.find_with_cursorand drop support for upstream deprecatedfind(cursor=True). (see #259).
Other changes:
- Backwards-incompatible: Require txmongo>=19.2.0 (see #259).
- Backwards-incompatible: Add
-
v3.0.0.b4 Changes
April 26, 2020🔋 Features:
- Backwards-incompatible: Remove partial load feature (see #256).
- Backwards-incompatible: Add
Document.pk_fieldand removeBaseDataProxy.*_by_mongo_name methods(see #257). - Backwards-incompatible: Raise AlreadyCreatedError when modifying pk of created document (see #258).
-
v3.0.0.b3 Changes
April 26, 2020🔋 Features:
- Backwards-incompatible: Replace
ReferenceErrorwithNoneReferenceError. Review the list of exceptions importable from rootumongomodule. (see #251)
🐛 Bug fixes:
- Don't modify data when calling
set_by_mongo_nameon a field that was not loaded in a partial load. (see #253)
Other changes:
- Backwards-incompatible: Drop Python 3.5 support (see #248).
- Backwards-incompatible: Replace
-
v3.0.0.b2 Changes
April 18, 2020🔋 Features:
- 👀 Use fields for keys/values in DictField (see #245).
🐛 Bug fixes:
- Fix BaseField.repr (see #247).
-
v3.0.0.b14 Changes
December 08, 2020🔋 Features:
- Provide
Instancesubclasses for each framework to help users migrating a database from umongo 2 to umongo 3 (see #319). - Backwards-incompatible: Postpone embedded document resolution in
EmbeddedFieldto allow passing an embedded document as string before its registration. Unknown embedded document errors inEmbeddedFieldare now detected at runtime, not registration time. Also, indexes are now collected on first use rather than upon registration and should be accesses throughDocument.indexescached property rather thanDocument.opts.indexes. (see #322) - Backwards-incompatible: Make
BaseSchemaordered. This fixes querying on embedded documents. MakeBaseMarshmallowSchemaordered as well. (see #323) - Backwards-incompatible: Make
RemoveMissingSchemaopt-out. By default, generated pure marshmallow schemas now skip missing values fromDocumentinstances rather that returningNone. This can be changed by settingMA_BASE_SCHEMA_CLS. (see #325)
- Provide