-----------
Released on April 11, 2019.
Breaking changes
~~~~~~~~~~~~~~~~
- Werkzeug v0.15.1+ is required. You want to upgrade, otherwise your Eve
environment is likely to break. For the full story, see `1245`_ and
`1251`_.
New
~~~
- HATEOAS support added to aggregation results (`1208`_)
- ``on_fetched_diffs`` event hooks (`1224`_)
- Support for Mongo 3.6+ ``$expr`` query operator.
- Support for Mongo 3.6+ ``$center`` query operator.
Fixed
~~~~~
- Insertion failure when replacing unknown field with dbref value (`1255`_,
`1257`_)
- ``max_results=1`` should be honored on aggregation endpoints (`1250`_)
- PATCH incorrectly normalizes default values in subdocuments (`1234`_)
- Unauthorized Exception not working with Werkzeug >= 15.0 (`1245`_, `1251`_)
- Embedded documents not being sorted correctly (`1217`_)
- Eve crashes on malformed sort parameters (`1248`_)
- Insertion failure when replacing a same document containing dbref (`1216`_)
- Datasource projection is not respected for POST requests (`1189`_)
- Soft delete removes ``auth_field`` from document (`1188`_)
- On Mongo 3.6+, we don't return 400 'immutable field' on PATCH and PUT
(`1243`_)
- Expecting JSON response for rate limit exceeded scenario (`1227`_)
- Multiple concurrent patches to the same record, from different processes,
should result in at least one patch failing with a 412 error (Precondition
Failed) (`1231`_)
- Embedding only does not follow ``data_relation.field`` (`1069`_)
- HATEOAS ``_links`` seems to get an extra ``&version=diffs`` (`1228`_)
- Do not alter ETag when performing an oplog_push (`1206`_)
- CORS response headers missing for media endpoint (`1197`_)
- Warning: Unexpected keys present on black: ``python_version`` (`1244`_)
- UserWarning: JSON setting is deprecated. Use RENDERERS instead (`1241`_).
- DeprecationWarning: decodestring is deprecated, use decodebytes (`1242`_)
- DeprecationWarning: count is deprecated. Use Collection.count_documents
instead (`1202`_)
- Documentation typos (`1218`_, `1240`_)
Improved
~~~~~~~~
- Eve package is now distributed as a Python wheel (`1260`_)
- Bump Werkzeug version to v0.15.1+ (`1245`_, `1251`_)
- Bump PyMongo version to v3.7+ (`1202`_)
- Python 3.7 added to the CI matrix (`1199`_)
- Option to omit the aggregation stage when its parameter is empty/unset
(`1209`_)
- HATEOAS: now the ``_links`` dictionary may have a ``related`` dictionary
inside, and each key-value pair yields the related links for a data relation
field (`1204`_)
- XML renderer now supports data field tag attributes such as ``href`` and
``title`` (`1204`_)
- Make the parsing of ``req.sort`` and ``req.where`` easily reusable by moving
their logic to dedicated methods (`1194`_)
- Add a "Python 3 is highly preferred" note on the homepage (`1198`_)
- Drop sphinx-contrib-embedly when building docs.
.. _`1260`: https://github.com/pyeve/eve/issues/1260
.. _`1208`: https://github.com/pyeve/eve/issues/1208
.. _`1257`: https://github.com/pyeve/eve/issues/1257
.. _`1255`: https://github.com/pyeve/eve/issues/1255
.. _`1250`: https://github.com/pyeve/eve/issues/1250
.. _`1234`: https://github.com/pyeve/eve/issues/1234
.. _`1251`: https://github.com/pyeve/eve/pull/1251
.. _`1245`: https://github.com/pyeve/eve/pull/1245
.. _`1217`: https://github.com/pyeve/eve/pull/1217
.. _`1248`: https://github.com/pyeve/eve/issues/1248
.. _`1234`: https://github.com/pyeve/eve/issues/1234
.. _`1216`: https://github.com/pyeve/eve/issues/1216
.. _`1244`: https://github.com/pyeve/eve/issues/1244
.. _`1189`: https://github.com/pyeve/eve/issues/1189
.. _`1188`: https://github.com/pyeve/eve/issues/1188
.. _`1198`: https://github.com/pyeve/eve/issues/1198
.. _`1199`: https://github.com/pyeve/eve/issues/1199
.. _`1243`: https://github.com/pyeve/eve/issues/1243
.. _`1241`: https://github.com/pyeve/eve/issues/1241
.. _`1242`: https://github.com/pyeve/eve/issues/1242
.. _`1202`: https://github.com/pyeve/eve/issues/1202
.. _`1240`: https://github.com/pyeve/eve/issues/1240
.. _`1227`: https://github.com/pyeve/eve/issues/1227
.. _`1231`: https://github.com/pyeve/eve/issues/1231
.. _`1069`: https://github.com/pyeve/eve/issues/1069
.. _`1224`: https://github.com/pyeve/eve/pull/1224
.. _`1228`: https://github.com/pyeve/eve/pull/1228
.. _`1218`: https://github.com/pyeve/eve/pull/1218
.. _`1209`: https://github.com/pyeve/eve/issues/1209
.. _`1206`: https://github.com/pyeve/eve/issues/1206
.. _`1204`: https://github.com/pyeve/eve/pull/1204
.. _`1194`: https://github.com/pyeve/eve/pull/1194
.. _`1197`: https://github.com/pyeve/eve/issues/1197