Skip to content

Releases: jfinkels/flask-restless

0.12.1

14 Apr 18:33
0.12.1
Compare
Choose a tag to compare
  • #222: on POST and PATCH requests, recurse into
    nested relations to get or create instances of related models.
  • #246: adds pysqlite to test
    requirements.
  • #260: return a single object when making a GET request to a
    relation sub-URL.
  • #264: all methods now execute postprocessors after setting headers.
  • #265: convert strings to dates in related models when making
    POST requests.

0.12.0

14 Apr 18:34
0.12.0
Compare
Choose a tag to compare
  • #188: provides metadata as well as normal data in JSONP responses.
  • #193: allows DELETE requests to related instances.
  • #215: removes Python 2.5 tests from Travis configuration.
  • #216: don't resolve Query objects until pagination function.
  • #217: adds missing indices in format string.
  • #220: fix bug when checking attributes on a hybrid property.
  • #227: allows client to request that the server use the current date
    and/or time when setting the value of a field.
  • #228 (as well as #212, #218, #231): fixes issue due to a module
    removed from Flask version 0.10.

0.11.0

14 Apr 18:35
0.11.0
Compare
Choose a tag to compare
  • Requests that require a body but don't have Content-Type: application/json will cause a 415 response.
  • Responses now have Content-Type: application/json.
  • #180: allow more expressive has and any searches.
  • #195: convert UUID objects to strings when converting an instance of a model
    to a dictionary.
  • #202: allow setting hybrid properties with expressions and setters.
  • #203: adds the include_methods keyword argument to
    APIManager.create_api, which allows JSON responses to include the
    result of calling arbitrary methods of instances of models.
  • #204, #205: allow parameters in Content-Type header.

0.10.1

14 Apr 18:36
0.10.1
Compare
Choose a tag to compare
  • #115: change assertEqual() methods to assert statements in tests.
  • #184, #186: Switch to nose for testing.
  • #197: documents technique for adding filters in processors when there are
    none initially.

0.10.0

15 Apr 20:14
0.10.0
Compare
Choose a tag to compare
  • #2: adds basic GET access to one level of relationship depth
    for models.
  • #113: interpret empty strings for date fields as None objects.
  • #115: use Python's built-in assert statements for testing
  • #128: allow disjunctions when filtering search queries.
  • #130: documentation and examples now more clearly show search examples.
  • #135: added support for hybrid properties.
  • #139: remove custom code for authentication in favor of user-defined pre- and
    postprocessors (this supercedes the fix from #154`).
  • #141: relax requirement for version of python-dateutil
    to be not equal to 2.0 if using Python
    version 2.6 or 2.7.
  • #146: preprocessors now really execute before other code.
  • #148: adds support for SQLAlchemy association proxies.
  • #154 (this fix is irrelevant due to #139): authentication function now may
    raise an exception instead of just returning a Boolean.
  • #157: POST requests now receive a response containing all
    fields of the created instance.
  • #162: allow pre- and postprocessors to indicate that no change has occurred.
  • #164, #172, #173: PATCH requests update fields on related
    instances.
  • #165: fixed bug in automatic exposing of URLs for related instances.
  • #170: respond with correct HTTP status codes when a query for a single
    instance results in none or multiple instances.
  • #174: allow dynamically loaded relationships for automatically exposed URLs
    of related instances.
  • #176: get model attribute instead of column name when getting name of primary
    key.
  • #182: allow POST requests that set hybrid properties.
  • #152: adds some basic server-side logging for exceptions raised by views.

0.9.3

15 Apr 20:34
0.9.3
Compare
Choose a tag to compare
  • Fixes incompatibility with Python 2.5 try/except syntax.
  • #116: handle requests which raise sqlalchemy.exc.IntegrityError.

0.9.2

15 Apr 20:36
0.9.2
Compare
Choose a tag to compare
  • #82, #134, #136: added request pre- and postprocessors.
  • #120: adds support for JSON-P callbacks in GET requests.

0.9.1

15 Apr 20:37
0.9.1
Compare
Choose a tag to compare
  • #126: fix documentation build failure due to bug in a dependency.
  • #127: added "ilike" query operator.

0.9.0

15 Apr 20:39
0.9.0
Compare
Choose a tag to compare
  • 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.8.0

15 Apr 20:39
0.8.0
Compare
Choose a tag to compare
  • #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.