NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #1485 most downloaded on PyPI
A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification).
Last release 7 months ago
06 Mar 2026
Release timing varies
gaps range from 2 weeks to 6 months
Some releases are documented
notes for 26 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
124 releases · first in 2015
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
One column per quarter.
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Bump version and update changelog
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Add support for generating user-defined OpenAPI properties for custom field classes via an add_attribute_function method (478 and 498).
Features:
Add support for generating user-defined OpenAPI properties for custom field classes via an add_attribute_function method (478 and 498).
[apispec.ext.marshmallow]: Backwards-incompatible fields.Raw and fields.Field are now represented by OpenAPI Any Type (495).
[apispec.ext.marshmallow]: Backwards-incompatible: The schema_name_resolver function now receives a Schema class, a Schema instance or a string that resolves to a Schema class. This allows a custom resolver to generate different names depending on schema modifiers used in a Schema instance (476).
Bug fixes:
[apispec.ext.marshmallow]: With marshmallow 3, the default value of a field in the documentation is the serialized value of the missing attribute, not missing itself (490).
Refactoring:
clean_parameters and clean_operations are now APISpec methods (489).
[apispec.ext.marshmallow]: Schema resolver methods are extracted from MarshmallowPlugin into a SchemaResolver class member (496).
[apispec.ext.marshmallow]: OpenAPIConverter is now a class member of MarshmallowPlugin (493).
[apispec.ext.marshmallow]: Field to properties conversion logic is extracted from OpenAPIConverter into FieldConverterMixin (478).
Other changes:
Drop support for Python 2 (491). Thanks hugovk for the PR.
Drop support for marshmallow pre-releases. Only stable 2.x and 3.x versions are supported (485).
Fix compatibility with marshmallow 3.0.0rc8 (469).
Bug fixes:
Fix compatibility with marshmallow 3.0.0rc8 (469).
Other changes:
Switch to Azure Pipelines (468).
Don't mutate operations and parameters in APISpec.path to avoid issues when calling it twice with the same operations or parameters (464).
Bug fixes:
Don't mutate operations and parameters in APISpec.path to avoid issues when calling it twice with the same operations or parameters (464).
Add support for path level parameters (453). Thanks karec for the PR.
Features:
Add support for path level parameters (453). Thanks karec for the PR.
Backwards-incompatible: A apispec.exceptions.DuplicateParameterError is raised when two parameters with same name and location are passed to a path or an operation (455).
Backwards-incompatible: A apispec.exceptions.InvalidParameterError is raised when a parameter is missing required name and in attributes after helpers have been executed (455).
Other changes:
Backwards-incompatible: All plugin helpers must accept extra **kwargs (453).
Backwards-incompatible: Components must be referenced by ID, not full path (463).
marshmallow 3.0.0rc6 compatibility (445).
Bug fixes:
marshmallow 3.0.0rc6 compatibility (445).
Fix handling of OpenAPI v3 components content without schema in MarshmallowPlugin (443).
Bug fixes:
Fix handling of OpenAPI v3 components content without schema in MarshmallowPlugin (443).
Fix handling of http.HTTPStatus objects (426). Thanks DStape.
Bug fixes:
Fix handling of http.HTTPStatus objects (426). Thanks DStape.
[apispec.ext.marshmallow]: Ensure make_schema_key returns a unique key on unhashable iterables (416, 439). Thanks zedrdave.
[apispec.ext.marshmallow]: Use class hierarchy to infer type and format properties (433, 250). Thanks andrjohn for the PR.
Features:
[apispec.ext.marshmallow]: Use class hierarchy to infer type and format properties (433, 250). Thanks andrjohn for the PR.
Features:
[apispec.ext.marshmallow]: Use class hierarchy to infer type and format properties ( #433 , #250 ). Thanks @andrjohn for the PR.
Fix error in MarshmallowPlugin when passing exclude and dump_only as class Meta attributes mixing list and tuple (431). Thanks blagasz for the PR.
Bug fixes:
Fix error in MarshmallowPlugin when passing exclude and dump_only as class Meta attributes mixing list and tuple (431). Thanks blagasz for the PR.
Strip empty sections (components, tags) from generated documentation (421 and 425).
Features:
Strip empty sections (components, tags) from generated documentation (421 and 425).
Fix behavior when using "2xx", 3xx", etc. for response keys (422). Thanks zachmullen for reporting.
Bug fixes:
Fix behavior when using "2xx", 3xx", etc. for response keys (422). Thanks zachmullen for reporting.
Bug fixes:
Fix behavior when using “2xx”, 3xx”, etc. for response keys ( #422 ). Thanks @zachmullen for reporting.
Fix passing references for parameters/responses when using MarshmallowPlugin (414).
Bug fixes:
Fix passing references for parameters/responses when using MarshmallowPlugin (414).
Resolve Schema classes in response headers (409).
Features:
Resolve Schema classes in response headers (409).
Expanded support for OpenAPI Specification version 3 (165).
Features:
Expanded support for OpenAPI Specification version 3 (165).
Add summary and description parameters to APISpec.path (227). Thanks timakro for the suggestion.
Add apispec.core.Components.security_scheme for adding Security Scheme Objects (245).
[apispec.ext.marshmallow]: Add support for outputting field patterns from Regexp validators (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 ref argument passed to fields is no longer used (354). References for nested Schema are stored automatically.
Backwards-incompatible: The extra_fields argument of apispec.core.Components.schema is removed. All properties may be passed in the component argument.
# <1.0.0
spec.definition("Pet", schema=PetSchema, extra_fields={"discriminator": "name"})
# >=1.0.0
spec.components.schema("Pet", schema=PetSchema, component={"discriminator": "name"})
Your coding agent can read these notes before it upgrades. Set up the MCP server →