See also
Need help upgrading to a newer version? Check out the upgrading guide.
Changelog¶
6.9.0 (2025-11-30)¶
Features:
Other changes:
6.8.4 (2025-09-22)¶
Bug fixes:
Set
TimeDeltafield type according toserialization_type(#990). Thanks @LewisHaley for the PR.
6.8.3 (2025-09-07)¶
Bug fixes:
6.8.2 (2025-05-12)¶
Bug fixes:
6.8.1 (2025-01-07)¶
Bug fixes:
Fix handling of nullable Raw fields for OAS 3.1.0 (#960). Thanks @tsokalski for reporting and fixing.
Support:
Support marshmallow 4 (#963).
6.8.0 (2024-12-02)¶
Features:
Bug fixes:
6.7.1 (2024-11-04)¶
Bug fixes:
Fix rendering of nullable nested fields in 3.0 spec (#952). Thanks @ShepleySound for the catch and patch.
6.7.0 (2024-10-20)¶
Bug fixes:
Other changes:
6.6.1 (2024-04-22)¶
Bug fixes:
MarshmallowPlugin: Fix handling ofNestedfields withallow_none=True(#833). Thanks @jc-harrison for reporting and @kolditz-senec for the PR.
6.6.0 (2024-03-15)¶
Features:
Add IP fields to
DEFAULT_FIELD_MAPPING (:pr:`892) to document format. Thanks @cjproud for the PR.
6.5.0 (2024-02-26)¶
Bug fixes:
Include
nullas a value when usingvalidate.OneOforfields.Enumwhenallow_noneisTruefor a field (#812). Thanks @pmdarrow for reporting and @kolditz-senec for the PR.
Other changes:
Deprecate the
__version__attribute. Use feature detection, orimportlib.metadata.version("apispec"), instead (#878).
6.4.0 (2024-01-09)¶
Features:
MarshmallowPlugin: Support different datetime formats formarshmallow.fields.DateTimefields (#814). Thanks @TheBigRoomXXL for the suggestion and PR.MarshmallowPlugin: Handle resolving names of schemas with spaces in the name (#856). Thanks @duchuyvp for the PR.Various typing improvements (#873).
Other changes:
Support Python 3.12.
Drop support for Python 3.7, which is EOL.
Remove
[validation]from extras, as it is no longer used.
6.3.1 (2023-12-21)¶
Bug fixes:
Fix conversion of deprecated flag on parameters (#850).
Thanks @tsokalski for the PR.
6.3.0 (2023-03-10)¶
Features:
6.2.0 (2023-03-06)¶
Features:
6.1.0 (2023-03-03)¶
Bug fixes:
Serialize min/max values in
field2range(#825).
Other changes:
Test against Python 3.11 (#809).
6.0.2 (2022-11-10)¶
Bug fixes:
Allow passing
openapi_versionas string inmarshmallow OpenAPIConverter(#810). Thanks @paradoxxxzero for the PR.
6.0.1 (2022-11-05)¶
Bug fixes:
6.0.0 (2022-10-15)¶
Features:
Support
fields.Enum(#802).Backwards-incompatible: Change
MarshmallowPlugin.map_to_openapi_typefrom a decorator to a classic function, taking a field as first argument (#804).Backwards-incompatible: Remove
validate_specfrom public API. Users may call their validator of choice directly (#803).
Other changes:
Drop support for marshmallow < 3.18.0 (#802).
6.0.0b1 (2022-10-04)¶
Features:
5.2.2 (2022-05-13)¶
Bug fixes:
Fix schema property ordering regression in
ApiSpec.to_yaml()(#768). Thanks @vorticity for the PR.
5.2.1 (2022-05-01)¶
Bug fixes:
Fix type hints for
APISpec.pathandBasePluginmethods (#765).
5.2.0 (2022-04-29)¶
Features:
Use
raise fromwhenever possible (#763).
Refactoring:
Use a
tuplerather than anamedtuplefor “schema key” (#725).
Other changes:
5.1.1 (2021-09-27)¶
Bug fixes:
Fix field ordering in “ordered” schema classes documentation (#714).
Other changes:
5.1.0 (2021-08-10)¶
Features:
Add
lazyoption to component registration methods. This allows to add components to the spec only if they are actually referenced. (#702)Add
BasePlugin.header_helperandMarshmallowPlugin.header_helper(#703).
Bug fixes:
Ensure plugin helpers get component copies. Avoids issues if a plugin helper mutates its inputs. (#704)
5.0.0 (2021-07-29)¶
Features:
Rename
doc_defaulttodefault. Since schema metadata is namespaced in a singlemetadataparameter, there is no name collision withdefaultparameter anymore (#687).Don’t build schema component reference in
OpenAPIConverter.resolve_nested_schema. This is done later inComponents(#700).MarshmallowPlugin: resolve schemas inallOf,oneOf,anyOfandnot(#701). Thanks @stefanv for the initial work on this.
Other changes:
Refactor
Componentsmethods to make them consistent. Usecomponent_idrather thanname, remove**kwargswhen unused. (#696)
5.0.0b1 (2021-07-22)¶
Features:
Resolve all component references in paths and components. All references must be passed as strings, not as a
{$ref: '...'}}dict (#671).
Other changes:
Don’t use deprecated
missingmarshmallow field attribute but useload_defaultinstead (#692).Refactor references resolution.
get_refmethod is moved fromAPISpectoComponents(#655).APISpec.clean_parametersandAPISpec.clean_parametersare now private methods (#695).Drop support for marshmallow < 3.13.0 (#692).
4.7.1 (2021-07-06)¶
Bug fixes:
Correct spelling of
'null': remove extra quotes (#689). Thanks @mjpieters for the PR.
4.7.0 (2021-06-28)¶
Features:
4.6.0 (2021-06-14)¶
Features:
Support
Pluckfield (#677). Thanks @mjpieters for the PR.Support
TimeDeltafield (#678).
4.5.0 (2021-06-04)¶
Features:
Support OpenAPI 3.1.0 (#579).
Bug fixes:
Other changes:
Don’t pass field metadata as keyword arguments in the tests. This is deprecated since marshmallow 3.10. apispec is still compatible with marshmallow >=3,<3.10 but tests now require marshmallow >=3.10. (#675)
4.4.2 (2021-05-24)¶
Bug fixes:
Respect
partialmarshmallow schema parameter: don’t document the field as required. (#627). Thanks @Anti-Distinctlyminty for the PR.
4.4.1 (2021-05-07)¶
Bug fixes:
4.4.0 (2021-03-31)¶
Features:
Populate
additionalPropertiesfromMeta.unknown(#635). Thanks @timsilvers for the PR.Allow
to_yamlto pass kwargs toyaml.dump(#648).Resolve header references in responses (#650).
Resolve example references in parameters, request bodies and responses (#651).
4.3.0 (2021-02-10)¶
Features:
Add
apispec.core.Components.headerto register header components (#637).
4.2.0 (2021-02-06)¶
Features:
Make components public attributes of
Componentsclass (#634).
4.1.0 (2021-01-26)¶
Features:
Bug fixes:
Fix docstrings documenting kwargs type as dict (#534).
Use
x-minimumandx-maximumextensions to document ranges that are not of number type (e.g. datetime) (#614).
Other changes:
Test against Python 3.9.
4.0.0 (2020-09-30)¶
Features:
Backwards-incompatible: Automatically generate references for schemas passed as strings in responses and request bodies. When using
MarshmallowPlugin, if a schema is passed as string, the marshmallow registry is looked up for this schema name and if none is found, the name is assumed to be a reference to a manually created schema and a reference is generated. No exception is raised anymore if the schema name can’t be found in the registry. (#554)
4.0.0b1 (2020-09-06)¶
Features:
Backwards-incompatible: Ignore
locationfield metadata. This attribute was used in webargs but it has now been dropped. ASchemacan now only have a single location. This simplifies the logic inOpenAPIConvertermethods, wheredefault_inargument now becomeslocation. (#526)Backwards-incompatible: Don’t document
intformat as"int32"andfloatformat as"float", as those are platform-dependent (#595).
Refactoring:
OpenAPIConverter.field2parametersandOpenAPIConverter.property2parameterare removed.OpenAPIConverter.field2parameterbecomes private. (#581)
Other changes:
3.3.2 (2020-08-29)¶
Bug fixes:
Fix crash when field metadata contains non-string keys (#596). Thanks @sanzoghenzo for the fix.
3.3.1 (2020-06-06)¶
Bug fixes:
3.3.0 (2020-02-14)¶
Features:
3.2.0 (2019-12-22)¶
Features:
3.1.1 (2019-12-17)¶
Bug fixes:
Don’t emit a warning when passing “default” as response status code in OASv2 (#521).
3.1.0 (2019-11-04)¶
Features:
Add
apispec.core.Components.examplefor adding Example Objects (#515). Thanks @codeasashu for the PR.
Support:
Test against Python 3.8 (#510).
3.0.0 (2019-09-17)¶
Features:
Add support for generating user-defined OpenAPI properties for custom field classes via an
add_attribute_functionmethod (#478 and #498).[apispec.ext.marshmallow]: Backwards-incompatible
fields.Rawandfields.Fieldare now represented by OpenAPI Any Type (#495).[apispec.ext.marshmallow]: Backwards-incompatible: The
schema_name_resolverfunction now receives aSchemaclass, aSchemainstance or a string that resolves to aSchemaclass. This allows a custom resolver to generate different names depending on schema modifiers used in aSchemainstance (#476).
Bug fixes:
[apispec.ext.marshmallow]: With marshmallow 3, the default value of a field in the documentation is the serialized value of the
missingattribute, notmissingitself (#490).
Refactoring:
clean_parametersandclean_operationsare nowAPISpecmethods (#489).[apispec.ext.marshmallow]:
Schemaresolver methods are extracted fromMarshmallowPlugininto aSchemaResolverclass member (#496).[apispec.ext.marshmallow]:
OpenAPIConverteris now a class member ofMarshmallowPlugin(#493).[apispec.ext.marshmallow]:
Fieldto properties conversion logic is extracted fromOpenAPIConverterintoFieldConverterMixin(#478).
Other changes:
2.0.2 (2019-07-04)¶
Bug fixes:
Fix compatibility with marshmallow 3.0.0rc8 (#469).
Other changes:
Switch to Azure Pipelines (#468).
2.0.1 (2019-06-26)¶
Bug fixes:
Don’t mutate
operationsandparametersinAPISpec.pathto avoid issues when calling it twice with the sameoperationsorparameters(#464).
2.0.0 (2019-06-18)¶
Features:
Add support for path level parameters (#453). Thanks @karec for the PR.
Backwards-incompatible: A
apispec.exceptions.DuplicateParameterErroris raised when two parameters with same name and location are passed to a path or an operation (#455).Backwards-incompatible: A
apispec.exceptions.InvalidParameterErroris raised when a parameter is missing requirednameandinattributes after helpers have been executed (#455).
Other changes:
1.3.3 (2019-05-05)¶
Bug fixes:
marshmallow 3.0.0rc6 compatibility (#445).
1.3.2 (2019-05-02)¶
Bug fixes:
Fix handling of OpenAPI v3 components content without schema in
MarshmallowPlugin(#443).
1.3.1 (2019-04-29)¶
Bug fixes:
1.3.0 (2019-04-24)¶
Features:
1.2.1 (2019-04-18)¶
Bug fixes:
1.2.0 (2019-04-08)¶
Features:
1.1.2 (2019-04-07)¶
Bug fixes:
Fix behavior when using “2xx”, 3xx”, etc. for response keys (#422). Thanks @zachmullen for reporting.
1.1.1 (2019-04-02)¶
Bug fixes:
Fix passing references for parameters/responses when using
MarshmallowPlugin(#414).
1.1.0 (2019-03-17)¶
Features:
Resolve
Schemaclasses in response headers (#409).
1.0.0 (2019-02-08)¶
Features:
Expanded support for OpenAPI Specification version 3 (#165).
Add
summaryanddescriptionparameters toAPISpec.path(#227). Thanks @timakro for the suggestion.Add
apispec.core.Components.security_schemefor adding Security Scheme Objects (#245).[apispec.ext.marshmallow]: Add support for outputting field patterns from
Regexpvalidators (#364). Thanks @DStape for the PR.
Bug fixes:
[apispec.ext.marshmallow]: Fix automatic documentation of schemas when using
Nested(MySchema, many==True)(#383). Thanks @whoiswes for reporting.
Other changes:
Backwards-incompatible: Components properties are now passed as dictionaries rather than keyword arguments (#381).
# <1.0.0
spec.components.schema("Pet", properties={"name": {"type": "string"}})
spec.components.parameter("PetId", "path", format="int64", type="integer")
spec.components.response("NotFound", description="Pet not found")
# >=1.0.0
spec.components.schema("Pet", {"properties": {"name": {"type": "string"}}})
spec.components.parameter("PetId", "path", {"format": "int64", "type": "integer"})
spec.components.response("NotFound", {"description": "Pet not found"})
Deprecations/Removals:
Backwards-incompatible: The
refargument passed to fields is no longer used (#354). References for nestedSchemaare stored automatically.Backwards-incompatible: The
extra_fieldsargument ofapispec.core.Components.schemais removed. All properties may be passed in thecomponentargument.
# <1.0.0
spec.definition("Pet", schema=PetSchema, extra_fields={"discriminator": "name"})
# >=1.0.0
spec.components.schema("Pet", schema=PetSchema, component={"discriminator": "name"})
1.0.0rc1 (2018-01-29)¶
Features:
Automatically generate references to nested schemas with a computed name, e.g.
fields.Nested(PetSchema())->#components/schemas/Pet.Automatically generate references for
requestBodyusing the above mechanism.Ability to opt out of the above behavior by passing a
schema_name_resolverfunction that returnsNonetoapi.ext.MarshmallowPlugin.References now respect Schema modifiers, including
excludeandpartial.Backwards-incompatible: A
apispec.exceptions.DuplicateComponentNameErroris raised when registering two components with the same name (#340).
1.0.0b6 (2018-12-16)¶
Features:
1.0.0b5 (2018-11-06)¶
Features:
apispec.core.Componentsis added. EachAPISpecinstance has aComponentsobject used to define components such as schemas, parameters or responses. “Components” is the OpenAPI v3 terminology for those reusable top-level objects.apispec.core.Components.parameterandapispec.core.Components.responseare added.Backwards-incompatible:
apispec.APISpec.add_pathandapispec.APISpec.add_tagare renamed toapispec.APISpec.pathandapispec.APISpec.tag.Backwards-incompatible:
apispec.APISpec.definitionis moved to theComponentsclass and renamed toapispec.core.Components.schema.
# apispec<1.0.0b5
spec.add_tag({'name': 'Pet', 'description': 'Operations on pets'})
spec.add_path('/pets/', operations=...)
spec.definition('Pet', properties=...)
# apispec>=1.0.0b5
spec.tag({'name': 'Pet', 'description': 'Operations on pets'})
spec.path('/pets/', operations=...)
spec.components.schema('Pet', properties=...)
Plugins can define
parameter_helperandresponse_helperto modify parameter and response components definitions.MarshmallowPluginresolves schemas in parameters and responses components.Components helpers may return
Noneas a no-op rather than an emptydict(#336).
Bug fixes:
MarshmallowPlugin.schema_helperdoes not crash when no schema is passed (#336).
Deprecations/Removals:
The legacy
response_helperfeature is removed. The same can be achieved fromoperation_helper.
1.0.0b4 (2018-10-28)¶
Backwards-incompatible:
apispec.ext.flask,apispec.ext.bottle, andapispec.ext.tornadoare moved to a separate package, apispec-webframeworks. (#302).
If you use these plugins, install apispec-webframeworks and
update your imports like so:
# apispec<1.0.0b4
from apispec.ext.flask import FlaskPlugin
# apispec>=1.0.0b4
from apispec_webframeworks.flask import FlaskPlugin
Thanks @ergo for the suggestion and the PR.
1.0.0b3 (2018-10-08)¶
Features:
[apispec.core]: Backwards-incompatible:
openapi_versionparameter ofAPISpecclass does not default to'2.0'anymore andinfoparameter is merged with**optionskwargs.
Bug fixes:
[apispec.ext.marshmallow]: Exclude
load_onlyfields when documenting responses (#119). Thanks @luisincrespo for reporting.[apispec.ext.marshmallow]: Exclude
dump_onlyfields when documenting request body parameter schema.
1.0.0b2 (2018-09-09)¶
Drop deprecated plugin interface. Only plugin classes are now supported. This includes the removal of
APISpec’sregister_*_helpermethods, as well as itsschema_name_resolverparameter. Also drop deprecatedapispec.utils.validate_swagger. (#259)Use
yaml.safe_loadinstead ofyaml.loadwhen reading docstrings (#278). Thanks @lbeaufort for the suggestion and the PR.
1.0.0b1 (2018-07-29)¶
Features:
[apispec.core]: Backwards-incompatible: Remove
Pathclass. Plugins’path_helpermethods should now return a path as a string and optionally mutate theoperationsdictionary (#238).[apispec.core]: Backwards-incompatible: YAML support is optional. To install with YAML support, use
pip install 'apispec[yaml]'. You will need to do this if you useFlaskPlugin,BottlePlugin, orTornadoPlugin(#251).[apispec.ext.marshmallow]: Allow overriding the documentation for a field’s default. This is especially useful for documenting callable defaults (#196).
0.39.0 (2018-06-28)¶
Features:
[apispec.core]: Backwards-incompatible: Change plugin interface. Plugins are now child classes of
apispec.BasePlugin. Built-in plugins are still usable with the deprecated legacy interface. However, the new class interface is mandatory to pass parameters to plugins or to access specific methods that used to be accessed as module level functions (typically inapispec.ext.marshmallow.swagger). Also,schema_name_resolveris now a parameter ofapispec.ext.marshmallow.MarshmallowPlugin. It can still be passed toAPISpecwhile using the legacy interface. (#207)[apispec.core]: Backwards-incompatible:
APISpec.openapi_versionis now anapispec.utils.OpenAPIVersioninstance.
0.38.0 (2018-06-10)¶
Features:
[apispec.core]: Backwards-incompatible: Rename
apispec.utils.validate_swaggertoapispec.utils.validate_specandapispec.exceptions.SwaggerErrortoapispec.exceptions.OpenAPIError. Usingvalidate_swaggerwill raise aDeprecationWarning(#224).[apispec.core]:
apispec.utils.validate_specno longer relies on thecheck_apiNPM module.pranceandopenapi-spec-validatorare required for validation, and can be installed usingpip install 'apispec[validation]'(#224).[apispec.core]: Deep update components instead of overwriting components for OpenAPI 3 (#222). Thanks @Guoli-Lyu.
Bug fixes:
[apispec.ext.marshmallow]: Fix description for parameters in OpenAPI 3 (#223). Thanks again @Guoli-Lyu.
Other changes:
Drop official support for Python 3.4. Only Python 2.7 and >=3.5 are supported.
0.37.1 (2018-05-28)¶
Features:
[apispec.ext.marshmallow]: Fix OpenAPI 3 conversion of schemas in parameters (#217). Thanks @Guoli-Lyu for the PR.
0.37.0 (2018-05-14)¶
Features:
0.36.0 (2018-05-07)¶
Features:
0.35.0 (2018-04-10)¶
Features:
[apispec.ext.marshmallow]: Recurse over properties when resolving schemas (#186). Thanks @lphuberdeau.
[apispec.ext.marshmallow]: Support
writeOnlyandnullablein OpenAPI 3 (fall back tox-nullablefor OpenAPI 2) (#165). Thanks @lafrech.
Bug fixes:
[apispec.ext.marshmallow]: Always use
field.missinginstead offield.defaultwhen introspecting fields (#32). Thanks @lafrech.
Other changes:
0.34.0 (2018-04-04)¶
Features:
Other changes:
0.33.0 (2018-04-01)¶
Features:
[apispec.ext.marshmallow]: Respect
data_keyargument on fields (in marshmallow 3). Thanks @lafrech.
0.32.0 (2018-03-24)¶
Features:
[apispec.ext.bottle]: Allow
appto be passed tospec.add_path(#188). Thanks @dtaniwaki for the PR.
Bug fixes:
[apispec.ext.marshmallow]: Fix issue where “body” and “required” were getting overwritten when passing a
Schemato a parameter (#168, #184). Thanks @dlopuch and @mathewmarcus for reporting and thanks @mathewmarcus for the PR.
0.31.0 (2018-01-30)¶
[apispec.ext.marshmallow]: Use
dump_tofor name even ifload_fromdoes not match it (#178). Thanks @LeonAgmonNacht for reporting and thanks @lafrech for the fix.
0.30.0 (2018-01-12)¶
Features:
0.29.0 (2018-01-04)¶
Features:
0.28.0 (2017-12-09)¶
Features:
0.27.1 (2017-12-06)¶
Bug fixes:
0.27.0 (2017-10-30)¶
Features:
[apispec.core]: Add
register_operation_helper.
Bug fixes:
Order of plugins does not matter (#136).
Thanks @yoichi for these changes.
0.26.0 (2017-10-23)¶
Features:
[apispec.ext.marshmallow]: Generate “enum” property with single entry when the
validate.Equalvalidator is used (#155). Thanks @Bangertm for the suggestion and PR.
Bug fixes:
0.25.4 (2017-10-09)¶
Bug fixes:
0.25.3 (2017-09-27)¶
Bug fixes:
[apispec.ext.marshmallow]: Correctly handle multiple fields with
location=json(#75). Thanks @shaicantor for reporting and thanks @yoichi for the patch.
0.25.2 (2017-09-05)¶
Bug fixes:
0.25.1 (2017-08-23)¶
Bug fixes:
0.25.0 (2017-08-15)¶
Features:
Other changes:
Don’t swallow
YAMLErrorwhen YAML parsing fails (#135). Thanks @djanderson for the suggestion and the PR.
0.24.0 (2017-08-15)¶
Features:
[apispec.ext.marshmallow]: Add
swagger.map_to_swagger_fielddecorator to support custom field classes (#120). Thanks @frol for the suggestion and thanks @dradetsky for the PR.
0.23.1 (2017-08-08)¶
Bug fixes:
0.23.0 (2017-08-03)¶
Pass
operationsconstructed by plugins to downstream marshmallow plugin (#138). Thanks @yoichi.[apispec.ext.marshmallow] Generate parameter specification from marshmallow Schemas (#127). Thanks @ewalker11 for the suggestion thanks @yoichi for the PR.
[apispec.ext.flask] Add support for Flask MethodViews (#85, #125). Thanks @lafrech and @boosh for the suggestion. Thanks @djanderson and @yoichi for the PRs.
0.22.3 (2017-07-16)¶
Release wheel distribution.
0.22.2 (2017-07-12)¶
Bug fixes:
[apispec.ext.marshmallow]: Properly handle callable
defaultvalues in output spec (#131). Thanks @NightBlues.
0.22.1 (2017-06-25)¶
Bug fixes:
[apispec.ext.marshmallow]: Include
defaultin output spec whenFalseis the default for aBooleanfield (#130). Thanks @nebularazer.
0.22.0 (2017-05-30)¶
Features:
0.21.0 (2017-04-21)¶
Features:
[apispec.ext.marshmallow] Sort list of required field names in generated spec (#124). Thanks @dradetsky.
0.20.1 (2017-04-18)¶
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 (#99).
0.20.0 (2017-03-19)¶
Features:
[apispec.core]: Definition helper functions receive the
definitionkeyword argument, which is the current state of the definition (#122). Thanks @martinlatrille for the PR.
Other changes:
0.19.0 (2017-03-05)¶
Features:
[apispec.core]: Add
extra_fieldsparameter toAPISpec.definition(#110). Thanks @lafrech for the PR.[apispec.ext.marshmallow]: Preserve the order of
choices(#113). Thanks @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': '...'}toAPISpec.definition. Thanks for reporting, @lafrech.[apispec.ext.marshmallow]: Allow additional properties when translating
Nestedfields usingallOf(#108). Thanks @lafrech for the suggestion and the PR.[apispec.ext.marshmallow]: Respect
dump_onlyandload_onlyspecified inclass Meta(#84). Thanks @lafrech for the fix.
Other changes:
Drop support for Python 3.3.
0.18.0 (2017-02-19)¶
Features:
0.17.4 (2017-02-16)¶
Bug fixes:
0.17.3 (2017-01-21)¶
Bug fixes:
0.17.2 (2017-01-03)¶
Bug fixes:
[apispec.ext.tornado]: Remove usage of
inspect.getargspecfor Python >= 3.3 (#102). Thanks @matijabesednik.
0.17.1 (2016-11-19)¶
Bug fixes:
[apispec.ext.marshmallow]: Prevent unnecessary warning when generating specs for marshmallow Schema’s with autogenerated fields (#95). Thanks @khorolets reporting and for the PR.
[apispec.ext.marshmallow]: Correctly translate
Lengthvalidator tominItemsandmaxItemsfor array-type fields (NestedandList) (#97). Thanks @YuriHeupa for reporting and for the PR.
0.17.0 (2016-10-30)¶
Features:
[apispec.ext.marshmallow]: Add support for properties that start with
x-. Thanks @martinlatrille for the PR.
0.16.0 (2016-10-12)¶
Features:
[apispec.core]: Allow
descriptionto be passed toAPISpec.definition(#93). Thanks @martinlatrille.
0.15.0 (2016-10-02)¶
Features:
Bug fixes:
[apispec.ext.flask]: Properly strip off
basePathwhenAPPLICATION_ROOTis set on a Flask app’s config (#78). Thanks @deckar01 for reporting and @asteinlein for the PR.
0.14.0 (2016-08-14)¶
Features:
[apispec.core]: Maintain order in which paths are added to a spec (#87). Thanks @ranjanashish for the PR.
[apispec.ext.marshmallow]: Maintain order of fields when
ordered=Trueon Schema. Thanks again @ranjanashish.
0.13.0 (2016-07-03)¶
Features:
[apispec.ext.marshmallow]: Add support for
Dictfield (#80). Thanks @ericb for the PR.[apispec.ext.marshmallow]:
dump_onlyfields addreadOnlyflag in OpenAPI spec (#79). Thanks @itajaja for the suggestion and PR.
Bug fixes:
[apispec.ext.marshmallow]: Properly exclude nested dump-only fields from parameters (#82). Thanks @incognick for the catch and patch.
Support:
Update tasks.py for compatibility with invoke>=0.13.0.
0.12.0 (2016-05-22)¶
Features:
[apispec.ext.marshmallow]: Inspect validators to set additional attributes (#66). Thanks @deckar01 for the PR.
Bug fixes:
[apispec.ext.marshmallow]: Respect
partialparameters onSchemas(#74). Thanks @incognick for reporting.
0.11.1 (2016-05-02)¶
Bug fixes:
0.11.0 (2016-04-12)¶
Features:
Support vendor extensions on paths (#65). Thanks @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')(#55). Thanks @whoiswes for reporting.[apispec.ext.marshmallow]
field2propertyno longer pops offlocationfrom a field’s metadata (#67).
Support:
Lots of new docs, including a User Guide and improved extension docs.
0.10.1 (2016-04-09)¶
Note: This version is a re-upload of 0.10.0. There is no 0.10.0 release on PyPI.
Features:
Add Tornado extension (#62).
Bug fixes:
Compatibility fix with marshmallow>=2.7.0 (#64).
Fix bug that raised error for Swagger parameters that didn’t include the
inkey (#63).
Big thanks @lucascosta for all these changes.
0.9.1 (2016-03-17)¶
Bug fixes:
Fix generation of metadata for
Nestedfields (#61). Thanks @martinlatrille.
0.9.0 (2016-03-13)¶
Features:
Add
APISpec.add_tagsmethod for adding Swagger tags. Thanks @martinlatrille.
Bug fixes:
Fix bug in marshmallow extension where metadata was being lost when converting marshmallow
Schemaswhenmany=False. Thanks again @martinlatrille.
Other changes:
Remove duplicate
SWAGGER_VERSIONfromapi.ext.marshmallow.swagger.
Support:
Update docs to reflect rename of Swagger to OpenAPI.
0.8.0 (2016-03-06)¶
Features:
apispec.ext.marshmallow.swagger.schema2jsonschemaproperly introspectsSchemainstances whenmany=True(#53). Thanks @frol for the PR.
Bug fixes:
0.7.0 (2016-02-11)¶
Features:
APISpec.add_pathacceptsPathobjects (#49). Thanks @Trii for the suggestion and the implementation.
Bug fixes:
Use correct field name in “required” array when
load_fromanddump_toare used (#48). Thanks @benbeadle for the catch and patch.
0.6.0 (2016-01-04)¶
Features:
Add
APISpec#add_parameterfor adding common Swagger parameter objects. Thanks @jta.The field name in a spec will be adjusted if a
Field'sload_fromanddump_toattributes are the same. #43. Thanks again @jta.
Bug fixes:
0.5.0 (2015-12-13)¶
schema2jsonschemaandschema2parameterscan introspect a marshmallowSchemainstance as well as aSchemaclass (#37). Thanks @frol.Backwards-incompatible: The first argument to
schema2jsonschemaandschema2parameterswas changed fromschema_clstoschema.
Bug fixes:
Handle conflicting signatures for plugin helpers. Thanks @AndrewPashkin for the catch and patch.
0.4.2 (2015-11-23)¶
Skip dump-only fields when
dump=Falseis passed toschema2parametersandfields2parameters. Thanks @frol.
Bug fixes:
Raise
SwaggerErrorwhenvalidate_swaggerfails. Thanks @frol.
0.4.1 (2015-10-19)¶
Correctly pass
dumpparameter tofield2parameters.
0.4.0 (2015-10-18)¶
Add
dumpparameter tofield2property(#32).
0.3.0 (2015-10-02)¶
Rename and repackage as “apispec”.
Support
enumfield of JSON Schema based onOneOfandContainsOnlyvalidators.
0.2.0 (2015-09-27)¶
Add
schema2parameters,fields2parameters, andfield2parameters.Removed
Fixedfromswagger.FIELD_MAPPINGfor compatibility with marshmallow>=2.0.0.
0.1.0 (2015-09-13)¶
First release.