Here you can see the full list of changes between each Flask-RESTful release.
- Compatibility with Flask 2.3 (#962)
- Compatibility with Flask 2.0
Released February 06, 2020
- Add Python 3.8 support (#835)
- Fix wrongly parsed Decimal fields (#855)
- Fix overridden response when calling abort with Response (#817)
- Various small fixes and updates to documentation
Released December 18, 2018
- Fix error handling in python3 (#696)
- Fix arguments with type=list (#705)
- Return code for
parse_args()
is now configurable (#722) - Removed
flask_restful.paging
module. - Removed misleading
help_on_404
functionality (#722) - JSON keys are no longer sorted by default in debug mode in python3 (#680)
- Various small fixes and updates to documentation
Released May 31, 2017
Argument.help
now supports unicode strings (#564)- Flags can now be passed to
inputs.regex
(#621) - Fix behavior of
action='append'
in conjunction withlocation='json'
(#645) method_decorators
can be adict
to apply decorator behavior for only specific HTTP methods (#532)- JSON keys are no longer sorted by default in debug mode in python3 (#680)
- Various small fixes and updates to documentation
Released December 9, 2015
- Add
nullable
option to request parser to allow/disallow null values for arguments (#538) - Use Flask's exception log method in
handle_error(e)
method instead of directly logging the exception notice. (#496) Argument.help
now allows more flexible message formatting using the{error_msg}
string interpolation token. (#518)- Prevent representation from being chosen at random when
Accept: */*
(#524) - Headers from
HTTPException
s are now returned in the response instead of being discarded (#523) - Marshalling now checks for a
__marshallable__
method first before defaulting back to__getitem__
() - Flask 1.0 compatability fixes (#506)
Released July 20, 2015
- Fixed issue where
abort()
andraise Exception
were not equivalent (#205) - Fixed
RequestParser
settings not being copied properly (#483) - Add ability to configure json serializer settings from application config (#458)
- Project metadata, tests, and examples are now included in source distributions (#475)
- Various documentation improvements
Released May 22, 2015
- Disable challenge on 401 by default (THIS IS A BREAKING CHANGE, albeit a very small one with behavior that probably no one depended upon. You can easily change this back to the old way).
- Doc fixes (#404, #406, #436, misc. other commits)
- Fix truncation of microseconds in iso8601 datetime output (#368)
null
arguments from JSON no longer cast to string (#390)- Made list fields work with classes (#409)
- Fix
url_for()
when used with Blueprints (#410) - Add CORS "Access-Control-Expose-Headers" support (#412)
- Fix class references in RequestParser (#414)
- Allow any callables to be used as lazy attributes (#417)
- Fix references to
flask.ext.*
(#420) - Trim support with fixes (#428)
- Added ability to pass-in parameters into Resource constructors (#444)
- Fix custom type docs on "Intermediate usage" and docstring (#434)
- Fixed problem with
RequestParser.copy
(#435) - Feature/error bundling (#431)
- Explicitly check the class type for
propagate_exceptions
(#445) - Remove min. year limit 1900 in
inputs.date
(#446)
Released February 25, 2015
- Doc fixes (#344, #378, #402)
- Microseconds no longer truncated in ISO8601 format datetime inputs (#381)
- Datetime inputs now preserve timezone instead of forcing conversion to UTC (#381)
- Fixes content negotiation to respect q-values (#245)
- Fix
fields.URL
when used with Blueprints (#379) - Fix
BadRequest
raised with empty body andapplication/json
content type (#366) - Improved argument validation error messages (#386)
- Allow custom validation for
FileStorage
type arguments (#388) - Allow lambdas to be specified for field attributes (#309)
- Added regex input validator (#374)
Released December 13, 2014
- Adds
strict
option toparse_args()
(#358) - Adds an option to envelop marshaled objects (#349)
- Fixes initialization of
Api.blueprint
attribute (#263) - Makes
Api.error_router
fall back to Flask handlers (#296/#356) - Makes docs more viewable on mobile devices (#347)
- Wheel distribution is now universal (#363)
Released November 22, 2014
- Adds
@api.resource
decorator (#311) - Adds custom error handling (#225)
- Adds
RequestParser
inheritance (#249) - Adds 1/0 as valid values for
inputs.boolean
(#341) - Improved
datetime
serialization and deserialization (#345) init_app
now follows Flask extension guidelines (#130)types
module renamed toinputs
(#243)- Fixes
inputs.boolean
inability to parse values from JSON (#314) - Fixes
RequestParser
inability to use arguments from multiple sources at once (#261) - Fixes missing
Allow
header when HTTP 405 is returned (#294) - Doc fixes and updates.
Released March 4, 2014
- Fixed a bug in error handling code.
- Don't install tests by default.
- Doc fixes and updates.
Released January 17, 2014
- Fixes the List field when marshalling a list of dictionaries. (#165)
- Adds Boolean and Price types to fields.__all__ (#180)
- Adds support for serializing a set object with a List field. (#175)
- Fixes support for using callables as reqparser type arguments (#167)
- Add configuration variable to control smart-errors behavior on 404 responses. (#181)
- Fixes bug preventing use of Flask redirects. (#162)
- Documentation fixes (#173)
- Fixes bug swallowing tracebacks in handle_error. (#166)
Released December 17, 2013
- Removes twilio-specific type checks present in version 0.2.9.
- Correctly bump version number in setup.py.
Released December 17, 2013.
- Adds new
positive
andiso8601interval
types. - Typo fix.
- Updating the test infrastructure to use common Twilio conventions and testing styles.
Released November 22, 2013
- Add 'absolute' and 'scheme' to fields.Url
Released November 18, 2013
- blueprint support
- CORS support
- allow custom unauthorized response
- when failing to marshal custom indexable objects, its attributes are checked
- better error messages
Released Aug 6, 2013
- add callable location
- allow field type Fixed to take an attribute argument
- added url_for() wrapper as Api.url_for(resource)
Released Aug 5, 2013
- Python 3.3 support.
- You can now marshal nested fields.
- Small fixes in docs.
Released on May 5, 2013
- JSON will be pretty-printed if you're running your app in debug mode.
- pycrypto is now an optional dependency.
Released on April 9, 2013
- Use the default Flask-RESTful error handler, instead of the default Flask error handler, to handle 405 Not Allowed errors on requests to Api endpoints.
Released on April 9, 2013
- Flask-RESTful will no longer clobber your app's error handler; it will only
handle errors that occur while handling Flask-RESTful routes. The breaking
change is that 404 errors will default to using the Flask text/html error
handler. Override this behavior by passing
catch_all_404s=True
to theApi
constructor. (via @yaniv-aknin) - Arguments can now take
location
as a tuple, in case you want to specify that an argument could be passed in multiple places. (via @mindflayer) - Fixes a problem where passing an empty post body to a resource that expected a json argument would throw a 500.
- Creation of the
Api
and initialization of the Flaskapp
are no longer bundled together. (via @andrew-d) marshal_with
now works with responses that are tuples. (via @noise)types.url
will no longer throw a ascii decoding ValueError if you pass it Unicode characters
Released on March 24, 2013
The first released version of 0.1.6 contained a problem with the tar.gz uploaded to PyPI. 0.1.7 contains the same changes as 0.1.6 but ensures the version you download from PyPI does not contain problems (if for example, you cached the old, broken version of 0.1.6).
Released on February 27th, 2013
- Update the documentation with a fuller example (flask-restful#37)
- Update the test runner to use setuptools (flask-restful#46)
- Don't set exception data if we have no data to set (flask-restful#49)
- action='append' in the RequestParser always returns a list. (flask-restful#41)
Released on Jan 9th, 2013
- Fix error handler for exceptions that do not have a message
Released on Jan 8th, 2013
- Crypto support for paging
- Added paging helper for resources
- Stricter arg parse
- Flask view arguments are no longer implicitly parsed by RequestParser
- Fixed incorrectly formatted err message
Released on Jan 8th, 2013
- Smart 404 error in case of slight mistakes in the URL
- Scheme error message
- Attribute/key accessible namespace for reqparse
- Add Namespace with dual attribute/item access
- Added the original requested URI in the error
- Better message if user passes URL w/ no scheme
- Allow chaining of add_argument calls
- Fixed bug 21 : Endpoint name clash on different views
- Fixed string formatting for python 2.6
- Fixed dictionary comprehensions for python 2.6
- Fixed r'' for python 2.6
Released on Nov 19th, 2012
- Fixed a bug in fields.Fixed when formatting a value of 0
Released on Nov 19th, 2012
- Added the Fixed field
First public release