++++++++++++++++++
Features:
- *Backwards-incompatible*: When pagination parameters are out of range, the
API does not return a `404` error anymore. It returns a `200` code with an
empty list and pagination metadata (:pr:`10`).
- *Backwards-incompatible*: Remove dependency on python-dateutil. This is an
optional marshmallow dependency. Whether it is needed to deserialize date,
time, or datetime strings depends on the application.
- Rework internal features by using mixin classes. This makes the code cleaner
and adds customization possibilities (:issue:`9`).
- *Backwards-incompatible*: ``DEFAULT_PAGINATION_PARAMETERS`` is a class
attribute of ``Blueprint``.
- *Backwards-incompatible*: When no ``Page`` class is passed to ``pagination``,
(i.e. when doing pagination in view function), the pagination parameters are
passed as a ``PaginationParameters`` object. The item count must be passed by
setting it as ``item_count`` attribute of the ``PaginationParameters``
object. The ``set_item_count`` function is removed.
- The pagination header name can be configured by overriding
``PAGINATION_HEADER_FIELD_NAME`` class attribute of ``Blueprint``. If set to
``None``, no pagination header is added to the response.
- *Backwards-incompatible*: The ``paginate`` decorator doesn't use
``NestedQueryFlaskParser`` by default. It is renamed as
``NestedQueryArgsParser`` and it can be used by overriding
``Blueprint.ARGUMENTS_PARSER``.
- *Backwards-incompatible*: Drop Flask 0.x support. Flask>=1.0 is now required.
- Default error handler is registered for generic ``HTTPException``. Other
extensions may register other handlers for specific exceptions or codes
(:pr:`12`).