Skip to content

Refinement Release 1.1.1

Compare
Choose a tag to compare
@amcgregor amcgregor released this 17 May 19:10
· 108 commits to develop since this release
1.1.1
4667e10

Please note that due to Pypi stupidity, version 1.1.1.1 there is actually 1.1.1.

New or updated in this release:

  • Removal of diagnostic information and updated testing/commit configurations, improving commit performance and bumping Pypy3 versions.
  • Correction of ABC participation (and missing shallow copy method) for Pypy use of query fragments. #32
  • Corrected $regex generation.
  • Collation support.
  • Passing an existing document (with _id key) to an ObjectId field will utilize the ID provided therein. #20
  • Enhanced String field capabilities to include stripping and case conversion. #33
  • Shared utcnow helper function.
  • Improved documentation coverage.
  • Improved generalized programers' representations.
  • Improved query fragment merging.
  • Corrected Reference field behaviours.
  • Dead code removal.
  • Updated Array and Embed field default value handling to reduce boilerplate.

Potentially backwards-incompatible changes:

  • Simplification to only support a single referenced kind in complex fields such as Array and Embed. As multi-kind support was not fully implemented, this should not disrupt much.

New fields, including:

  • Decimal#23
  • Period — Storage of dates rounded (floor) to their nearest period.
  • Markdown — Rich storage of Markdown textual content. #34
  • Path — Store a PurePosixPath as a string. #35

Traits are new, see #26, including:

  • Collection — Isolating collection management semantics from the core Document class.
  • Derived — Isolating subclass management and loading from the core Document class.
  • Expires — Automated inclusion of TTL (time-to-live) field and index definitions, including expiry check on load.
  • Identified — Isolation of primary key management from core Document class.
  • Localized — Management of contained localizable top-level document content.
  • Published — Management of publication/retraction and dedicated creation/modification times.
  • Queryable — Encapsulation of collection-level record management. (Not an Active Record pattern.)