Flask-restless

Latest version: v0.17.0

Safety actively analyzes 688512 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

1.0.0

JSON API, so changes from prior versions may not be relevant to more recent
versions.

Numbers following a pound sign () refer to `GitHub issues`_.

.. _GitHub issues: https://github.com/jfinkels/flask-restless/issues

1.0.0b2dev

-------------------

*This is a beta release; these changes will appear in the 1.0.0 release.*

Not yet released.

- Eliminates all documentation build warnings for bad references.
- Changes serialization/deserialization to class-based implementation instead
of a function-based implementation. This also adds support for serialization
of heterogeneous collections.
- Removes `mimerender`_ as a dependency.
- :issue:`7`: allows filtering before function evaluation.
- :issue:`49`: deserializers now expect a complete JSON API document.
- :issue:`200`: be smarter about determining the ``collection_name`` for
polymorphic models defined with single-table inheritance.
- :issue:`253`: don't assign to callable attributes of models.
- :issue:`268`: adds top-level endpoint that exposes API schema.
- :issue:`479`: removes duplicate (and sometimes conflicting)
:http:header:`Content-Type` header in responses.
- :issue:`481,488`: added negation (``not``) operator for search.
- :issue:`492`: support JSON API recommended "simple" filtering.
- :issue:`508`: flush the session before postprocessors, and commit after.
- :issue:`534`: when updating a resource, give a clearer error message if the
resource ID in the JSON document is not a JSON string.
- :issue:`536`: adds support for single-table inheritance.
- :issue:`540`: correctly support models that don't have a column named "id".
- :issue:`545`: refactors implementation of :class:`.DefaultDeserializer` so
that it is easier for subclasses to override different subprocedures.
- :issue:`546`: adds support for joined table inheritance.
- :issue:`548`: requests can now use the ``Accept: */*`` header.
- :issue:`559`: fixes bug that stripped attributes with JSON API reserved names
(like "type") when deserializing resources.
- :issue:`583`: fixes failing tests when using simplejson.
- :issue:`590`: allows user to specify a custom operator for filters.
- :issue:`599`: fixes `unicode` bug using :func:`!urlparse.urljoin` with the
`future`_ library in resource serialization.
- :issue:`625`: adds schema metadata to root endpoint.
- :issue:`626`: allows the client to request case-insensitive sorting.

.. _future: http://python-future.org/

1.0.0b1

---------------

*This is a beta release; these changes will appear in the 1.0.0 release.*

Released on April 2, 2016.

- :issue:`255`: adds support for filtering by PostgreSQL network operators.
- :issue:`257`: ensures additional attributes specified by the user actually exist on
the model.
- :issue:`363` (partial solution): don't use ``COUNT`` on requests that don't require
pagination.
- :issue:`404`: **Major overhaul of Flask-Restless to support JSON API**.
- Increases minimum version requirement for ``python-dateutil`` to be strictly
greater than 2.2 to avoid parsing bug.
- :issue:`331,415`: documents the importance of URL encoding when using the ``like``
operator to filter results.
- :issue:`376`: add a ``not_like`` operator for filter objects.
- :issue:`431`: adds a ``url_prefix`` keyword argument to the
:class:`.APIManager` constructor, so one can specify a URL prefix once for
all created APIs.
- :issue:`449`: roll back the session on any SQLAlchemy error, not just a few.
- :issue:`432,462`: alias relation names when sorting by multiple attributes on a
relationship.
- :issue:`436,453`: use ``__table__.name`` instead of ``__tablename__`` to infer the
collection name for the SQLAlchemy model.
- :issue:`440,475`: uses the serialization function provided at the time of
invoking :meth:`.APIManager.create_api` to serialize each resource correctly,
depending on its type.
- :issue:`474`: include license files in built wheel for distribution.
- :issue:`501`: allows empty string for `url_prefix` keyword argument to
:meth:`.APIManager.create_api`.
- :issue:`476`: use the primary key provided at the time of invoking
:meth:`.APIManager.create_api` to build resource urls in responses.

Older versions
--------------

.. note::

As of version 0.13.0, Flask-Restless supports Python 2.6, 2.7, and 3. Before
that, it supported Python 2.5, 2.6, and 2.7.

.. note::

As of version 0.6, Flask-Restless supports both pure SQLAlchemy and
Flask-SQLAlchemy models. Before that, it supported only Elixir models.

0.17.0

~~~~~~~~~~~~~~

Released on February 17, 2015.

- Corrects bug to allow delayed initialization of multiple Flask applications.
- :issue:`167`: allows custom serialization/deserialization functions.
- :issue:`198`: allows arbitrary Boolean expressions in search query filters.
- :issue:`226`: allows creating APIs before initializing the Flask application object.
- :issue:`274`: adds the :func:`.url_for` function for computing URLs from models.
- :issue:`379`: improves datetime parsing in search requests.
- :issue:`398`: fixes bug where DELETE_SINGLE processors were not actually used.
- :issue:`400`: disallows excluding a primary key on a :http:method:`POST` request.

0.16.0

~~~~~~~~~~~~~~

Released on February 3, 2015.

- :issue:`237`: allows bulk delete of model instances via the ``allow_delete_many``
keyword argument.
- :issue:`313,389`: :meth:`.APIManager.init_app` now can be correctly used to
initialize multiple Flask applications.
- :issue:`327,391`: allows ordering searches by fields on related instances.
- :issue:`353`: allows search queries to specify ``group_by`` directives.
- :issue:`365`: allows preprocessors to specify return values on :http:method:`get`
requests.
- :issue:`385`: makes the `include_methods` keywords argument respect model properties.

0.15.1

~~~~~~~~~~~~~~

Released on January 2, 2015.

- :issue:`367`: catch :exc:`sqlalchemy.exc.IntegrityError`,
:exc:`sqlalchemy.exc.DataError`, and :exc:`sqlalchemy.exc.ProgrammingError`
exceptions in all view methods.
- :issue:`374`: import :class:`sqlalchemy.schema.Column` from
:mod:`!sqlalchemy` directly, instead of :mod:`!sqlalchemy.sql.schema`.

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.