All Versions
49
Latest Version
Avg Release Cycle
42 days
Latest Release
1539 days ago

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 through DictField (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 return missing rather than None when dumping. Replace FromUmongoSchema with RemoveMissingSchema. This schema removes missing fields when dumping by using ExposeMissing internally. Make this feature opt-in by requiring the user to specify RemoveMissingSchema as MA_BASE_SCHEMA_CLS. (see #261)
    • Backwards-incompatible: Remove mongo_world parameter from Schema.as_marshmallow_schema. Schemas generated by this method are meant to (de)serialize umongo objects, not dict straight from database. (see #299)
    • Backwards-incompatible: Remove umongo.Schema. Schemas should inherit from umongo.abstract.BaseSchema. Expose RemoveMissingSchema as umongo.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 from EmbeddedDocument (see #266).

    • ➕ Add MixinDocument allowing Document and EmbeddedDocument 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 of BaseInstance.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. Any Document or EmbeddedDocument may be subclassed (see #270).

    • Backwards-incompatible: Field raises DocumentDefinitionError rather than RuntimeError when passed missing kwarg and Document.commit raises NotCreatedError when passed conditions for a document that is not in database (see #275).

  • v3.0.0.b6 Changes

    May 04, 2020

    🔋 Features:

    • Backwards-incompatible: abstract in EmbeddedDocument behaves consistently with Document. The _cls / cls field is only added on concrete embedded documents subclassing concrete embedded documents. And EmbeddedField only accepts concrete embedded documents. (see #86)

    • Document and EmbeddedDocument 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 and ValidationError can still be imported as umongo.missing and umongo.ValidationError.
  • v3.0.0.b5 Changes

    April 30, 2020

    🔋 Features:

    • Backwards-incompatible: Add MA_BASE_SCHEMA_CLS class attribute to Document and EmbeddedDocument to specify a base class to use in as_marshmallow_schema. Drop the check_unknown_fields, params and meta attributes of as_marshmallow_schema. Make mongo_world kwarg-only. The same effect can be achieved using base schema classes. This incidentally fixes broken as_marshmallow_schema cache feature. (see #263)
    • Backwards-incompatible: Add TxMongoDocument.find_with_cursor and drop support for upstream deprecated find(cursor=True). (see #259).

    Other changes:

    • Backwards-incompatible: Require txmongo>=19.2.0 (see #259).
  • v3.0.0.b4 Changes

    April 26, 2020

    🔋 Features:

    • Backwards-incompatible: Remove partial load feature (see #256).
    • Backwards-incompatible: Add Document.pk_field and remove BaseDataProxy.*_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 with NoneReferenceError. Review the list of exceptions importable from root umongo 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).
  • 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 in EmbeddedField are now detected at runtime, not registration time. Also, indexes are now collected on first use rather than upon registration and should be accesses through Document.indexes cached property rather than Document.opts.indexes. (see #322)
    • Backwards-incompatible: Make BaseSchema ordered. This fixes querying on embedded documents. Make BaseMarshmallowSchema ordered as well. (see #323)
    • Backwards-incompatible: Make RemoveMissingSchema opt-out. By default, generated pure marshmallow schemas now skip missing values from Document instances rather that returning None. This can be changed by setting MA_BASE_SCHEMA_CLS. (see #325)