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
metadata
argument (see #328).
🐛 Bug fixes:
- 🛠 Fix IO validation of
None
for references, lists and embedded documents (see #330). - Add
_dict_io_validate
to 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
ExposeMissing
context manager to returnmissing
rather thanNone
when dumping. ReplaceFromUmongoSchema
withRemoveMissingSchema
. This schema removes missing fields when dumping by usingExposeMissing
internally. Make this feature opt-in by requiring the user to specifyRemoveMissingSchema
asMA_BASE_SCHEMA_CLS
. (see #261) - Backwards-incompatible: Remove
mongo_world
parameter fromSchema.as_marshmallow_schema
. Schemas generated by this method are meant to (de)serialize umongo objects, notdict
straight from database. (see #299) - Backwards-incompatible: Remove
umongo.Schema
. Schemas should inherit fromumongo.abstract.BaseSchema
. ExposeRemoveMissingSchema
asumongo.RemoveMissingSchema
. (see #301)
Other changes:
- Backwards-incompatible: Drop Python 3.6 support (see #298).
-
v3.0.0.b8 Changes
July 22, 2020🔋 Features:
👀 Let
Document
inherit fromEmbeddedDocument
(see #266).➕ Add
MixinDocument
allowingDocument
andEmbeddedDocument
to 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_attribute
argument ofBaseInstance.register
method. Documents can not be accessed by name as instance attributes anymore. (see #290)
🐛 Bug fixes:
- Fix passing
None
to a field with_required_validate
method (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_inheritance
option. AnyDocument
orEmbeddedDocument
may be subclassed (see #270).Backwards-incompatible:
Field
raisesDocumentDefinitionError
rather thanRuntimeError
when passedmissing
kwarg andDocument.commit
raisesNotCreatedError
when passedconditions
for a document that is not in database (see #275).
-
v3.0.0.b6 Changes
May 04, 2020🔋 Features:
Backwards-incompatible:
abstract
inEmbeddedDocument
behaves consistently withDocument
. The_cls
/cls
field is only added on concrete embedded documents subclassing concrete embedded documents. AndEmbeddedField
only accepts concrete embedded documents. (see #86)Document
andEmbeddedDocument
may 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,missing
andValidationError
can still be imported asumongo.missing
andumongo.ValidationError
.
-
v3.0.0.b5 Changes
April 30, 2020🔋 Features:
- Backwards-incompatible: Add
MA_BASE_SCHEMA_CLS
class attribute toDocument
andEmbeddedDocument
to specify a base class to use inas_marshmallow_schema
. Drop thecheck_unknown_fields
,params
andmeta
attributes ofas_marshmallow_schema
. Makemongo_world
kwarg-only. The same effect can be achieved using base schema classes. This incidentally fixes brokenas_marshmallow_schema
cache feature. (see #263) - Backwards-incompatible: Add
TxMongoDocument.find_with_cursor
and 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_field
and 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
ReferenceError
withNoneReferenceError
. Review the list of exceptions importable from rootumongo
module. (see #251)
🐛 Bug fixes:
- Don't modify data when calling
set_by_mongo_name
on 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
Instance
subclasses for each framework to help users migrating a database from umongo 2 to umongo 3 (see #319). - Backwards-incompatible: Postpone embedded document resolution in
EmbeddedField
to allow passing an embedded document as string before its registration. Unknown embedded document errors inEmbeddedField
are now detected at runtime, not registration time. Also, indexes are now collected on first use rather than upon registration and should be accesses throughDocument.indexes
cached property rather thanDocument.opts.indexes
. (see #322) - Backwards-incompatible: Make
BaseSchema
ordered. This fixes querying on embedded documents. MakeBaseMarshmallowSchema
ordered as well. (see #323) - Backwards-incompatible: Make
RemoveMissingSchema
opt-out. By default, generated pure marshmallow schemas now skip missing values fromDocument
instances rather that returningNone
. This can be changed by settingMA_BASE_SCHEMA_CLS
. (see #325)
- Provide