General corrections and changes:
- Array field could not be filtered as not-equal. #43
- The new
Lockable
trait implements mutex lock behaviour at the document level. #47 - Package build and automated testing adjustments including expanded build matrixes, Bandit exclusions, and multiple MongoDB versions.
- Dead code removal.
- Adaption to future reserved word use;
await
will be reserved in Python 3.7+. - Corrections for certain edge cases involving casting of
None
values.
Backwards incompatible changes:
- Due to the reservedness of
await
mentioned above, its use will raise an error. Usewait
instead.
Field types now available:
-
Link
for the storage of URI values such as HTTP URLs,mailto:
,tel:
, etc. #45 / #39 -
Mapping
field to automatically perform read-only translation of a keyed list of embedded documents into a dictionary. #46 -
Set
field will utilize a trueset
instance Python-side.
Field enhancements:
-
Fields may now be excluded from positional instantiation. #28
-
Fields may now be adapted / mutated to specialize when inheriting without complete replacement. #38
-
Alias
fields may now trigger deprecation warnings if requested. #48 -
Date
fields are now timezone aware ifpytz
is installed, and able to intelligently utilize the server-local timezone iftzlocal
is installed. (Or just utilize Marrow Mongo'stz
installation flag.) #51 -
PluginReference
can now perform simple search and replace in Python import references, allowing for mapping of old import paths to new ones during code refactoring. #49