.. currentmodule:: flask_restplus
- Ensure that exceptions raised in error handler, including programming errors, are logged (:issue:`705`, :pr:`706`)
- Import the ABCs from 'collections.abc' instead of 'collections' by default as it is deprecated since Python3.7, and in 3.8 it will stop working. Python2.7 is still supported though.
- Fix illegal characters in JSON references to model names (:issue:`651`)
- Support
envelope
parameter in Swagger documentation (:pr:`390`)
- Add new Wildcard fields (:pr:`255`)
- Fix ABC deprecation warnings (:pr:`580`)
- Fix @api.expect(..., validate=False) decorators for an :class:`Api` where validate=True is set on the constructor (:issue:`609`, :pr:`610`)
- Ensure basePath is always a path
- Hide Namespaces with all hidden Resources from Swagger documentation
- Per route Swagger documentation for multiple routes on a
Resource
- Fix Swagger duplicate mapping key problem from conflicts between response codes given as string or integer (:issue`661`)
- Fix missing changelog inprevious release
- Ensure definitions with both $ref and description (or other property) output is valid (using allOf)
- Added initial specifications schemas and validation support
- Ensure empty enums are not serialized (to have a valid specification)
- Fix Namespace decorators (:issue:`475`)
- Do not serialize empty tags descriptions
- Ensure consumes is properly set when using form parameters on classes
- Ensure parameters are not duplicated (:issue:`164`, :issue:`196`, :issue:`234`)
- Publish sources distribution (:issue:`500`, :issue:`515`)
- Fix late resources registeration (:issue:`483`)
- Don't include namespaces without resources to the SWAGGER documentation (:issue:`470`)
- Add support for checkbox validation input + consistent behavior between inputs and fields. (:issue:`461`)
- Fix missing enum34 dependency (:issue:`444`)
- Add authorizations parsing to namespace (:issue:`403`)
- Add vendor extensions support (:issue:`97`)
- :class:`~reqparse.RequestParser` arguments now support the
split
action - Ensure default boolean value as False works with :class:`~reqparse.RequestParser` (:issue:`199`)
- Schema errors are not longuer hidden by AttributeError: Api does not have __schema__ attribute (:issue:`194`)
- Add a new :class:`~inputs.URL` validator, more flexible and precise.
- Fix error bundling (:issue:`175`, :issue:`144`)
- Help message is now added to source error message instead of string interpolation (:issue:`147`)
- Use pytest instead of nosetests
- Upgrade to Swagger-UI 3.4.0
- Fix typo in comments
- Add an optional key argument,
skip_none
, in :func:`marshal_with` and :func:`marshal` - Fix masks not working correctly with Python 2.7 (:issue:`217`)
- Fixed typos in doc/scaling
- Add docs for allow_null and :class:`~fields.Nested`
- Add Namespace.payload
- Breaking: everything is unordered by default because ordering has a serious impact on performances:
- :class:`Api` and :class:`Namespace` now accept an optionnal
ordered
parameter - :func:`marshal_with` and :func:`marshal` now accept an optionnal
ordered
parameter
- :class:`Api` and :class:`Namespace` now accept an optionnal
- Drop python 2.6 support
- Improve header handling (:issue:`119`):
- @api.header only document response headers on all responses
- @api.response accept an optionnal headers argument to document response specific headers
- request header are handled by the @api.expect decorator
- Fix a typo in
__init__
breakingfrom flask_restplus import *
(:issue:`242`) - Basic support for custom URL converters (:issue:`243`)
- Support custom response classes inheriting from :class:`~werkzeug.wrappers.BaseResponse` (:issue:`245`)
- Allow models to preserve order (:issue:`135`)
- Allows to specify a custom mount path on namespace registration
- Allow to express models as raw schemas
- Upgraded to Swagger-UI 2.2.6
- Support Swagger-UI translations
- Fix prefix trailing slash stripping in Postman doc generation (:issue:`232`)
- Add validation for lists in the expect decorator (:issue:`231`)
- Same version but a PyPI bug force reupload.
- Added some Swagger-UI Oauth configurations:
- SWAGGER_UI_OAUTH_CLIENT_ID
- SWAGGER_UI_OAUTH_REALM
- SWAGGER_UI_OAUTH_APP_NAME
- Expose
type: object
in Swagger schemas (:issue:`157`) - Fix an issue with error handlers (:issue:`141`)
- Fix an issue with Postman export when using OAuth (:issue:`151`)
- Miscellenaous code and documentation fixes
- Remove last flask-restful references (unless needed) and add missing attributions
- Make :class:`Namespace` behave like :class:`~flask.Blueprint` for :class:`~flask.Flask`
- Deprecated
parser
andbody
parameters forexpect
in :meth:`~Namespace.doc` decorator - Deprecated :meth:`Model.extend` in favor of :meth:`Model.clone`
- Added the :meth:`~Namespace.param` decorator
- Honour method restrictions in Swagger documentation (:issue:`93`)
- Improved documentation
- Handle callable on API infos
- Handle documentation on error handlers
- Drop/merge flask_restful
flask_restful.RequestParser
- Handle :class:`~reqparse.RequestParser` into :meth:`~Api.expect` decorator
- Handle schema for :mod:`~inputs` parsers
- Added some inputs:
- Handle mask on :class:`~fields.Polymorph` field
- Handle mask on inherited models
- Replace flask_restful.abort by :func:`flask_restplus.errors.abort`
- Replace flask_restful.unpack by :func:`flask_restplus.utils.unpack`
- Breaking changes:
- Renamed
ApiModel
into :class:`Model` - Renamed
ApiNamespace
into :class:`Namespace`
- Renamed
- Drop/merge flask_restful.Resource resolving a recursion problem
- Allow any callable as field default, min, max...
- Added :class:`~fields.Date` field
- Improve error handling for inconsistent masks
- Handle model level default mask
- support colons and dashes in mask field names
- Breaking changes:
- Renamed exceptions module into errors
- Renamed RestException into :class:`~errors.RestError`
- Renamed MarshallingException into :class:`~fields.MarshallingError`
- :class:`~fields.DateTime` field always output datetime
- Drop/merge flask-restful fields
- Drop/merge flask-restplus inputs
- Update Swagger-UI to version 2.1.3
- Use minified version of Swagger-UI if
DEBUG=False
- Blueprint subdomain support (static only)
- Added support for default fields mask
- Skip unknown fields in mask when applied on a model
- Added * token to fields mask (all remaining fields)
- Ensure generated endpoints does not collide
- Drop/merge flask-restful Api.handler_error()
- Refactor Swagger UI handling:
- allow to register a custom view with
@api.documentation
- allow to register a custom URL with the
doc
parameter - allow to disable documentation with
doc=False
- allow to register a custom view with
- Added fields mask support through header (see: :doc:`Fields Masks Documentation </mask>`)
- Expose
flask_restful.inputs
module onflask_restplus.inputs
- Added support for some missing fields and attributes:
host
root field (filed only ifSERVER_NAME
config is set)- custom
tags
root field exclusiveMinimum
andexclusiveMaximum
number field attributesmultipleOf
number field attributeminLength
andmaxLength
string field attributespattern
string field attributeminItems
andmaxItems
list field attributesuniqueItems
list field attribute
- Allow to override the default error handler
- Fixes
- Added payload validation (initial implementation based on jsonschema)
- Added
@api.deprecated
to mark resources or methods as deprecated - Added
@api.header
decorator shortcut to document headers - Added Postman export
- Fix compatibility with flask-restful 0.3.4
- Allow to specify an exemple a custom fields with
__schema_example__
- Added support for
PATCH
method in Swagger UI - Upgraded to Swagger UI 2.1.2
- Handle enum as callable
- Allow to configure
docExpansion
with theSWAGGER_UI_DOC_EXPANSION
parameter
- Compatibility with flask-restful 0.3.3
- Fix action=append handling in RequestParser
- Upgraded to SwaggerUI 2.1.8-M1
- Miscellaneous fixes
- Fix
@api.marshal_with_list()
keyword arguments handling.
- Expose models and fields schema through the
__schema__
attribute - Drop support for model as class
- Added
@api.errorhandler()
to register custom error handlers - Added
@api.response()
shortcut decorator - Fix list nested models missing in definitions
- Python 2.6 support
- Experimental polymorphism support (single inheritance only)
- Added
Polymorph
field - Added
discriminator
attribute support onString
fields - Added
api.inherit()
method
- Added
- Added
ClassName
field
- Fix for parameter with schema (do not set type=string)
- Allow shorter syntax to set operation id:
@api.doc('my-operation')
- Added a shortcut to specify the expected input model:
@api.expect(my_fields)
- Added
title
attribute to fields - Added
@api.extend()
to extend models - Ensure coherence between
required
andallow_null
forNestedField
- Support list of primitive types and list of models as body
- Upgraded to latest version of Swagger UI
- Fixes
- Rename apidoc blueprint into restplus_doc to avoid collisions
- Added
SWAGGER_VALIDATOR_URL
config parameter - Added
readonly
field parameter - Upgraded to latest version of Swagger UI
- Port to Flask-Restful 0.3+
- Use the default Blueprint/App mecanism
- Allow to hide some ressources or methods using
@api.doc(False)
or@api.hide
- Allow to globally customize the default operationId with the
default_id
callable parameter
- Switch to Swagger 2.0 (Major breakage)
notes
documentation is nowdescription
nickname
documentation is nowid
- new responses declaration format
- Added missing
body
parameter to documentbody
input - Last release before Flask-Restful 0.3+ compatibility switch
- Handle
description
andrequired
attributes onfields.List
- Fix custom fields registeration
- Fix model list in declaration
- Allow to type custom fields with
Api.model
- Handle custom fields into
fieds.List
- Upgraded to SwaggerUI 0.2.22
- Support additional field documentation attributes:
required
,description
,enum
,min
,max
anddefault
- Initial support for model in RequestParser
- Fix
Api.marshal()
shortcut
- Added
Api.marshal_with()
andApi.marshal_list_with()
decorators - Added
Api.marshal()
shortcut
- Use
zip_safe=False
for proper packaging.
- Initial release