Flask Restless Versions Save

NO LONGER MAINTAINED - A Flask extension for creating simple ReSTful JSON APIs from SQLAlchemy models.

0.3

8 years ago

Initial release in Flask extension format.

0.4

8 years ago
  • Added Python 2.5 and Python 2.6 support.
  • Allow users to specify which HTTP methods for a particular API will require authentication and how that authentication will take place.
  • Created base classes for test cases.
  • Moved the evaluate_functions function out of the flask_restless.search module and corrected documentation about how function evaluation works.
  • Added allow_functions keyword argument to flask_restless.APIManager.create_api.
  • Fixed bug where we weren't allowing PUT requests in flask.ext.restless.manager.APIManager.create_api.
  • Added collection_name keyword argument to flask_restless.APIManager.create_api to allow user provided names in URLs.
  • Added allow_patch_many keyword argument to flask_restless.APIManager.create_api to allow enabling or disabling the PATCH many functionality.
  • Disable the PATCH many functionality by default.

0.5

8 years ago
  • Dual-licensed under GNU AGPLv3+ and 3-clause BSD license.
  • Added capturing of exceptions raised during field validation.
  • Added examples/separate_endpoints.py, showing how to create separate API endpoints for a single model.
  • Added include_columns keyword argument to flask_restless.APIManager.create_api method to allow users to specify which columns of the model are exposed in the API.
  • Replaced Elixir with Flask-SQLAlchemy. Flask-Restless now only supports Flask-SQLAlchemy.

0.6

8 years ago
  • Added support for accessing model instances via arbitrary primary keys, instead of requiring an integer column named id.
  • Added example which uses curl as a client.
  • Added support for pagination of responses.
  • Fixed issue due to symbolic link from README to README.md when running pip bundle foobar Flask-Restless.
  • Separated API blueprint creation from registration, using APIManager.create_api and APIManager.create_api_blueprint.
  • Added support for pure SQLAlchemy in addition to Flask-SQLAlchemy.
  • #74: Added post_form_preprocessor keyword argument to APIManager.create_api.
  • #77: validation errors are now correctly handled on PATCH requests.

0.7.0

8 years ago
  • Added working include and exclude functionality to the views._to_dict function.
  • Added exclude_columns keyword argument to APIManager.create_api.
  • #79: attempted to access attribute of None in constructor of APIManager.
  • #83: allow POST requests with one-to-one related instances.
  • #86: allow specifying include and exclude for related models.
  • #91: correctly handle POST requests to nullable sqlalchemy.DateTime columns.
  • #93: Added a total_pages mapping to the JSON response.
  • #98: GET requests to the function evaluation endpoint should not have a data payload.
  • #101: exclude in views._to_dict function now correctly excludes requested fields from the returned dictionary.

0.8.0

8 years ago
  • #94: views._to_dict should return a single object instead of a list when resolving dynamically loaded many-to-one relationships.
  • #104: added num_results key to paginated JSON responses.

0.9.0

8 years ago
  • Removed ability to provide a sqlalchemy.orm.session.Session class when initializing APIManager; provide an instance of the class instead.
  • Changes some dynamically loaded relationships used for testing and in examples to be many-to-one instead of the incorrect one-to-many. Versions of SQLAlchemy after 0.8.0b2 raise an exception when the latter is used.
  • #105: added ability to set a list of related model instances on a model.
  • #107: server responds with an error code when a PATCH or POST request specifies a field which does not exist on the model.
  • #108: dynamically loaded relationships should now be rendered correctly by the views._to_dict function regardless of whether they are a list or a single object.
  • #109: use sphinxcontrib-issuetracker to render links to GitHub issues in documentation.
  • #110: enable results_per_page query parameter for clients, and added max_results_per_page keyword argument to APIManager.create_api.
  • #114: fix bug where string representations of integers were converted to integers.
  • #117: allow adding related instances on PATCH requests for one-to-one relationships.
  • #123: PATCH requests to instances which do not exist result in a 404 response.

0.9.1

8 years ago
  • #126: fix documentation build failure due to bug in a dependency.
  • #127: added "ilike" query operator.

0.9.2

8 years ago
  • #82, #134, #136: added request pre- and postprocessors.
  • #120: adds support for JSON-P callbacks in GET requests.

0.9.3

8 years ago
  • Fixes incompatibility with Python 2.5 try/except syntax.
  • #116: handle requests which raise sqlalchemy.exc.IntegrityError.