Features:
- [apispec.ext.marshmallow]: Document
values
parameter ofDict
field asadditionalProperties
(:issue:`201`). Thanks :user:`UrKr`.
Features:
- [apispec.ext.marshmallow]: Recurse over properties when resolving schemas (:issue:`186`). Thanks :user:`lphuberdeau`.
- [apispec.ext.marshmallow]: Support
writeOnly
andnullable
in OpenAPI 3 (fall back tox-nullable
for OpenAPI 2) (:issue:`165`). Thanks :user:`lafrech`.
Bug fixes:
- [apispec.ext.marshmallow]: Always use field.missing instead of field.default when introspecting fields (:issue:`32`). Thanks :user:`lafrech`.
Other changes:
- [apispec.ext.marshmallow]: Refactor some of the internal functions in apispec.ext.marshmallow.swagger for consistent API (:issue:`199`). Thanks :user:`lafrech`.
Features:
- [apispec.core]: Maintain order in which methods are added to an endpoint (:issue:`189`). Thanks :user:`lafrech`.
Other changes:
- [apispec.core]: Path no longer inherits from dict (:issue:`190`). Thanks :user:`lafrech`.
Features:
- [apispec.ext.marshmallow]: Respect
data_key
argument on fields (in marshmallow 3). Thanks :user:`lafrech`.
Features:
- [apispec.ext.bottle]: Allow app to be passed to spec.add_path (:issue:`188`). Thanks :user:`dtaniwaki` for the PR.
Bug fixes:
- [apispec.ext.marshmallow]: Fix issue where "body" and "required" were
getting overwritten when passing a
Schema
to a parameter (:issue:`168`, :issue:`184`). Thanks :user:`dlopuch` and :user:`mathewmarcus` for reporting and thanks :user:`mathewmarcus` for the PR.
- [apispec.ext.marshmallow]: Use
dump_to
for name even ifload_from
does not match it (:issue:`178`). Thanks :user:`LeonAgmonNacht` for reporting and thanks :user:`lafrech` for the fix.
Features:
- [apispec.core]: Add
Spec.to_yaml
method for serializing to YAML (:issue:`161`). Thanks :user:`jd`.
Features:
- [apispec.core and apispec.ext.marshmallow]: Add limited support for OpenAPI v3. Pass openapi_version='3.0.0' to Spec to use it (:issue:`165`). Thanks :user:`Bangertm`.
Features:
- [apispec.core and apispec.ext.marshmallow]: Add schema_name_resolver param to APISpec for resolving ref names for marshmallow Schemas. This is useful when a self-referencing schema is nested within another schema (:issue:`167`). Thanks :user:`buxx` for the PR.
Bug fixes:
- [apispec.ext.flask]: Don't document view methods that aren't included
in
app.add_url_rule(..., methods=[...]))
(:issue:`173`). Thanks :user:`ukaratay`.
Features:
- [apispec.core]: Add
register_operation_helper
.
Bug fixes:
- Order of plugins does not matter (:issue:`136`).
Thanks :user:`yoichi` for these changes.
Features:
- [apispec.ext.marshmallow]: Generate "enum" property with single entry
when the
validate.Equal
validator is used (:issue:`155`). Thanks :user:`Bangertm` for the suggestion and PR.
Bug fixes:
- Allow OPTIONS to be documented (:issue:`162`). Thanks :user:`buxx` for the PR.
- Fix regression from 0.25.3 that caused a
KeyError
(:issue:`163`). Thanks :user:`yoichi`.
Bug fixes:
- [apispec.ext.marshmallow]: Fix swagger location mapping for
default_in
param in fields2parameters (:issue:`156`). Thanks :user:`decaz`.
Bug fixes:
- [apispec.ext.marshmallow]: Correctly handle multiple fields with
location=json
(:issue:`75`). Thanks :user:`shaicantor` for reporting and thanks :user:`yoichi` for the patch.
Bug fixes:
- [apispec.ext.marshmallow]: Avoid AttributeError when passing non-dict items to path objects (:issue:`151`). Thanks :user:`yoichi`.
Bug fixes:
- [apispec.ext.marshmallow]: Fix
use_instances
whenmany=True
is set (:issue:`148`). Thanks :user:`theirix`.
Features:
- [apispec.ext.marshmallow]: Add
use_instances
parameter tofields2paramters
(:issue:`144`). Thanks :user:`theirix`.
Other changes:
- Don't swallow
YAMLError
when YAML parsing fails (:issue:`135`). Thanks :user:`djanderson` for the suggestion and the PR.
Features:
- [apispec.ext.marshmallow]: Add
swagger.map_to_swagger_field
decorator to support custom field classes (:issue:`120`). Thanks :user:`frol` for the suggestion and thanks :user:`dradetsky` for the PR.
Bug fixes:
- [apispec.ext.marshmallow]: Fix swagger location mapping for
default_in
param in property2parameter (:issue:`142`). Thanks :user:`decaz`.
- Pass operations constructed by plugins to downstream marshmallow plugin (:issue:`138`). Thanks :user:`yoichi`.
- [apispec.ext.marshmallow] Generate parameter specification from marshmallow Schemas (:issue:`127`). Thanks :user:`ewalker11` for the suggestion thanks :user:`yoichi` for the PR.
- [apispec.ext.flask] Add support for Flask MethodViews (:issue:`85`, :issue:`125`). Thanks :user:`lafrech` and :user:`boosh` for the suggestion. Thanks :user:`djanderson` and :user:`yoichi` for the PRs.
- Release wheel distribution.
Bug fixes:
- [apispec.ext.marshmallow]: Properly handle callable
default
values in output spec (:issue:`131`). Thanks :user:`NightBlues`.
Bug fixes:
- [apispec.ext.marshmallow]: Include
default
in output spec whenFalse
is the default for aBoolean
field (:issue:`130`). Thanks :user:`nebularazer`.
Features:
- [apispec.ext.bottle] Added bottle plugin (:issue:`128`). Thanks :user:`lucasrc`.
Features:
- [apispec.ext.marshmallow] Sort list of required field names in generated spec (:issue:`124`). Thanks :user:`dradetsky`.
Bug fixes:
- [apispec.ext.tornado]: Fix compatibility with Tornado>=4.5.
- [apispec.ext.tornado]: Fix adding paths for handlers with coroutine methods in Python 2 (:issue:`99`).
Features:
- [apispec.core]: Definition helper functions receive the
definition
keyword argument, which is the current state of the definition (:issue:`122`). Thanks :user:`martinlatrille` for the PR.
Other changes:
- [apispec.ext.marshmallow] Backwards-incompatible: Remove
dump
parameter fromschema2parameters
,fields2parameters
, andfield2parameter
(:issue:`114`). Thanks :user:`lafrech` and :user:`frol` for the feedback and :user:`lafrech` for the PR.
Features:
- [apispec.core]: Add
extra_fields
parameter to APISpec.definition (:issue:`110`). Thanks :user:`lafrech` for the PR. - [apispec.ext.marshmallow]: Preserve the order of
choices
(:issue:`113`). Thanks :user:`frol` for the PR.
Bug fixes:
- [apispec.ext.marshmallow]: 'discriminator' is no longer valid as field metadata. It should be defined by passing
extra_fields={'discriminator': '...'}
to APISpec.definition. Thanks for reporting, :user:`lafrech`. - [apispec.ext.marshmallow]: Allow additional properties when translating
Nested
fields usingallOf
(:issue:`108`). Thanks :user:`lafrech` for the suggestion and the PR. - [apispec.ext.marshmallow]: Respect
dump_only
andload_only
specified inclass Meta
(:issue:`84`). Thanks :user:`lafrech` for the fix.
Other changes:
- Drop support for Python 3.3.
Features:
- [apispec.ext.marshmallow]: Translate
allow_none
onFields
tox-nullable
(:issue:`66`). Thanks :user:`lafrech`.
Bug fixes:
- [apispec.ext.marshmallow]: Fix corruption of
Schema._declared_fields
when serializing an APISpec (:issue:`107`). Thanks :user:`serebrov` for the catch and patch.
Bug fixes:
- [apispec.ext.marshmallow]: Fix behavior when passing Schema instances to APISpec.definition. The Schema's class will correctly be registered as a an available ref (:issue:`84`). Thanks :user:`lafrech` for reporting and for the PR.
Bug fixes:
- [apispec.ext.tornado]: Remove usage of
inspect.getargspec
for Python >= 3.3 (:issue:`102`). Thanks :user:`matijabesednik`.
Bug fixes:
- [apispec.ext.marshmallow]: Prevent unnecessary warning when generating specs for marshmallow Schema's with autogenerated fields (:issue:`95`). Thanks :user:`khorolets` reporting and for the PR.
- [apispec.ext.marshmallow]: Correctly translate
Length
validator to minItems and maxItems for array-type fields (Nested
andList
) (:issue:`97`). Thanks :user:`YuriHeupa` for reporting and for the PR.
Features:
- [apispec.ext.marshmallow]: Add support for properties that start with x-. Thanks :user:`martinlatrille` for the PR.
Features:
- [apispec.core]: Allow
description
to be passed toAPISpec.definition
(:issue:`93`). Thanks :user:`martinlatrille`.
Features:
- [apispec.ext.marshmallow]: Allow
'query'
to be passed as a field location (:issue:`89`). Thanks :user:`lafrech`.
Bug fixes:
- [apispec.ext.flask]: Properly strip off
basePath
whenAPPLICATION_ROOT
is set on a Flask app's config (:issue:`78`). Thanks :user:`deckar01` for reporting and :user:`asteinlein` for the PR.
Features:
- [apispec.core]: Maintain order in which paths are added to a spec (:issue:`87`). Thanks :user:`ranjanashish` for the PR.
- [apispec.ext.marshmallow]: Maintain order of fields when
ordered=True
on Schema. Thanks again :user:`ranjanashish`.
Features:
- [apispec.ext.marshmallow]: Add support for
Dict
field (:issue:`80`). Thanks :user:`ericb` for the PR. - [apispec.ext.marshmallow]:
dump_only
fields addreadOnly
flag in OpenAPI spec (:issue:`79`). Thanks :user:`itajaja` for the suggestion and PR.
Bug fixes:
- [apispec.ext.marshmallow]: Properly exclude nested dump-only fields from parameters (:issue:`82`). Thanks :user:`incognick` for the catch and patch.
Support:
- Update tasks.py for compatibility with invoke>=0.13.0.
Features:
- [apispec.ext.marshmallow]: Inspect validators to set additional attributes (:issue:`66`). Thanks :user:`deckar01` for the PR.
Bug fixes:
- [apispec.ext.marshmallow]: Respect
partial
parameters onSchemas
(:issue:`74`). Thanks :user:`incognick` for reporting.
Bug fixes:
- [apispec.ext.flask]: Flask plugin respects
APPLICATION_ROOT
from app's config (:issue:`69`). Thanks :user:`deckar01` for the catch and patch. - [apispec.ext.marshmallow]: Fix support for plural schema instances (:issue:`71`). Thanks again :user:`deckar01`.
Features:
- Support vendor extensions on paths (:issue:`65`). Thanks :user:`lucascosta` for the PR.
- Backwards-incompatible: Remove support for old versions (<=0.15.0) of webargs.
Bug fixes:
- Fix error message when plugin does not have a
setup()
function. - [apispec.ext.marshmallow] Fix bug in introspecting self-referencing marshmallow fields, i.e.
fields.Nested('self')
(:issue:`55`). Thanks :user:`whoiswes` for reporting. - [apispec.ext.marshmallow]
field2property
no longer pops offlocation
from a field's metadata (:issue:`67`).
Support:
- Lots of new docs, including a User Guide and improved extension docs.
Note: This version is a re-upload of 0.10.0. There is no 0.10.0 release on PyPI.
Features:
- Add Tornado extension (:issue:`62`).
Bug fixes:
- Compatibility fix with marshmallow>=2.7.0 (:issue:`64`).
- Fix bug that raised error for Swagger parameters that didn't include the
in
key (:issue:`63`).
Big thanks :user:`lucascosta` for all these changes.
Bug fixes:
- Fix generation of metadata for
Nested
fields (:issue:`61`). Thanks :user:`martinlatrille`.
Features:
- Add
APISpec.add_tags
method for adding Swagger tags. Thanks :user:`martinlatrille`.
Bug fixes:
- Fix bug in marshmallow extension where metadata was being lost when converting marshmallow
Schemas
whenmany=False
. Thanks again :user:`martinlatrille`.
Other changes:
- Remove duplicate
SWAGGER_VERSION
fromapi.ext.marshmallow.swagger
.
Support:
- Update docs to reflect rename of Swagger to OpenAPI.
Features:
apispec.ext.marshmallow.swagger.schema2jsonschema
properly introspectsSchema
instances whenmany=True
(:issue:`53`). Thanks :user:`frol` for the PR.
Bug fixes:
- Fix error reporting when an invalid object is passed to
schema2jsonschema
orschema2parameters
(:issue:`52`). Thanks again :user:`frol`.
Features:
APISpec.add_path
acceptsPath
objects (:issue:`49`). Thanks :user:`Trii` for the suggestion and the implementation.
Bug fixes:
- Use correct field name in "required" array when
load_from
anddump_to
are used (:issue:`48`). Thanks :user:`benbeadle` for the catch and patch.
Features:
- Add
APISpec#add_parameter
for adding common Swagger parameter objects. Thanks :user:`jta`. - The field name in a spec will be adjusted if a
Field's
load_from
anddump_to
attributes are the same. :issue:`43`. Thanks again :user:`jta`.
Bug fixes:
- Fix bug that caused a stack overflow when adding nested Schemas to an
APISpec
(:issue:`31`, :issue:`41`). Thanks :user:`alapshin` and :user:`itajaja` for reporting. Thanks :user:`itajaja` for the patch.
schema2jsonschema
andschema2parameters
can introspect a marshmallowSchema
instance as well as aSchema
class (:issue:`37`). Thanks :user:`frol`.- Backwards-incompatible: The first argument to
schema2jsonschema
andschema2parameters
was changed fromschema_cls
toschema
.
Bug fixes:
- Handle conflicting signatures for plugin helpers. Thanks :user:`AndrewPashkin` for the catch and patch.
- Skip dump-only fields when
dump=False
is passed toschema2parameters
andfields2parameters
. Thanks :user:`frol`.
Bug fixes:
- Raise
SwaggerError
whenvalidate_swagger
fails. Thanks :user:`frol`.
- Correctly pass
dump
parameter tofield2parameters
.
- Add
dump
parameter tofield2property
(:issue:`32`).
- Rename and repackage as "apispec".
- Support
enum
field of JSON Schema based onOneOf
andContainsOnly
validators.
- Add
schema2parameters
,fields2parameters
, andfield2parameters
. - Removed
Fixed
fromswagger.FIELD_MAPPING
for compatibility with marshmallow>=2.0.0.
- First release.