flask_restplus
- Ensure that exceptions raised in error handler, including programming errors, are logged (
705
,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 (
651
) - Support
envelope
parameter in Swagger documentation (390
)
- Add new Wildcard fields (
255
) - Fix ABC deprecation warnings (
580
) - Fix @api.expect(..., validate=False) decorators for an
Api
where validate=True is set on the constructor (609
,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 (
475
) - Do not serialize empty tags descriptions
- Ensure consumes is properly set when using form parameters on classes
- Ensure parameters are not duplicated (
164
,196
,234
) - Publish sources distribution (
500
,515
) - Fix late resources registeration (
483
) - Don't include namespaces without resources to the SWAGGER documentation (
470
) - Add support for checkbox validation input + consistent behavior between inputs and fields. (
461
) - Fix missing enum34 dependency (
444
)
- Add authorizations parsing to namespace (
403
) - Add vendor extensions support (
97
) ~reqparse.RequestParser
arguments now support thesplit
action- Ensure default boolean value as False works with
~reqparse.RequestParser
(199
) - Schema errors are not longuer hidden by AttributeError: Api does not have __schema__ attribute (
194
) - Add a new
~inputs.URL
validator, more flexible and precise. - Fix error bundling (
175
,144
) - Help message is now added to source error message instead of string interpolation (
147
) - Use pytest instead of nosetests
- Upgrade to Swagger-UI 3.4.0
- Fix typo in comments
- Add an optional key argument,
skip_none
, inmarshal_with
andmarshal
- Fix masks not working correctly with Python 2.7 (
217
) - Fixed typos in doc/scaling
- Add docs for allow_null and
~fields.Nested
- Add Namespace.payload
- Breaking: everything is unordered by default because ordering has a serious impact on performances:
Api
andNamespace
now accept an optionnalordered
parametermarshal_with
andmarshal
now accept an optionnalordered
parameter
- Drop python 2.6 support
- Improve header handling (
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
- Improve header handling (
- Fix a typo in
__init__
breakingfrom flask_restplus import *
(242
) - Basic support for custom URL converters (
243
) - Support custom response classes inheriting from
~werkzeug.wrappers.BaseResponse
(245
) - Allow models to preserve order (
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 (
232
) - Add validation for lists in the expect decorator (
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 (157
) - Fix an issue with error handlers (
141
) - Fix an issue with Postman export when using OAuth (
151
) - Miscellenaous code and documentation fixes
- Remove last flask-restful references (unless needed) and add missing attributions
- Make
Namespace
behave like~flask.Blueprint
for~flask.Flask
- Deprecated
parser
andbody
parameters forexpect
in~Namespace.doc
decorator - Deprecated
Model.extend
in favor ofModel.clone
- Added the
~Namespace.param
decorator - Honour method restrictions in Swagger documentation (
93
) - Improved documentation
- Handle callable on API infos
- Handle documentation on error handlers
- Drop/merge flask_restful
flask_restful.RequestParser
- Handle
~reqparse.RequestParser
into~Api.expect
decorator - Handle schema for
~inputs
parsers - Added some inputs:
~inputs.email
~inputs.ip
~inputs.ipv4
~inputs.ipv6
- Handle mask on
~fields.Polymorph
field - Handle mask on inherited models
- Replace flask_restful.abort by
flask_restplus.errors.abort
- Replace flask_restful.unpack by
flask_restplus.utils.unpack
- Breaking changes:
- Renamed
ApiModel
intoModel
- Renamed
ApiNamespace
intoNamespace
- Renamed
- Drop/merge flask_restful.Resource resolving a recursion problem
- Allow any callable as field default, min, max...
- Added
~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
~errors.RestError
- Renamed MarshallingException into
~fields.MarshallingError
~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:
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