New in this release:
- Add Landscape.io integration.
- Improve overall code health. (14)
- Added missing project metadata.
- Updated installation documentation. 81e7702
- Remove dependency on `pytz`. 815a74a
- Removed our own `compat` module; schema already has a sufficient one.
- Allow for `Reference` fields to cache data they reference. (8)
- `Array` & `Embed` dereferencing + `Alias` pseudo-field support. (12)
- Ability to dereference `Array` and `Embed` subfield values when querying through class attribute access.
- Added `Alias` pseudo-field to allow the creation of shortcuts for value retrieval and assignment (via instance attribute access) and querying (through class attribute access).
- `Array` and `Embed` now persist their typecasting within `__data__`, to preserve changes to nested values. (This is generally safe, however do not utilize `PluginReference` as an embeddable kind.)
- Allow for fields to be combined, not just query documents. (11)
- Field references (`Q` instances generated through class-based attribute access of fields) may now be combined to save time in queries involving multiple fields being compared against the same value.
- Parameterized filter, sort, projection and updates. (4)
- Addition of `~` inversion / `$not` support on `Ops`.
- Split `Ops` types.
- Ensure Document uses `odict`.
- GeoJSON and geographic querying support. (6)
- Added Document types:
- `GeoJSON`
- `GeoJSONCoord`
- `Point`
- `LineString`
- `Polygon`
- `MultiPoint`
- `MultiLineString`
- `MultiPolygon`
- `GeometryCollection`
- Added field query operators:
- `near`
- `intersects`
- `within`
- Added parametric filter operators:
- `near`
- `within`
- `within_box`
- `within_polygon`
- `within_center`
- `within_sphere`
- `intersects`
- Ability to perform certain collection-level operations. (17)
- Added Document class methods:
- `create_collection`
- `get_collection`
- `create_indexes`
- Added the following Document class attributes to control collection settings:
- `__collection__` - the name of the collection to use
- `__read_preference__` - default ReadPreference
- `__read_concern__` - default ReadConcern
- `__write_concern__` - default WriteConcern
- `__capped__` - the size, in bytes, to allocate as a capped collection
- `__capped_count__` - additionally limit the number of records
- `__engine__` - override storage engine options
- `__validate__` - one of 'off' (the default), 'strict', or 'moderate'.