@amcgregor amcgregor released this Sep 13, 2017 · 12 commits to develop since this release

Assets 6

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. Use wait 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 true set 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 if pytz is installed, and able to intelligently utilize the server-local timezone if tzlocal is installed. (Or just utilize Marrow Mongo's tz 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