++++++++++++++++++++
Features:
- ``apispec.core.Components`` is added. Each ``APISpec`` instance has a
``Components`` object 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.parameter`` and ``apispec.core.Components.response``
are added.
- *Backwards-incompatible*: ``apispec.APISpec.add_path`` and
``apispec.APISpec.add_tag`` are renamed to ``apispec.APISpec.path`` and
``apispec.APISpec.tag``.
- *Backwards-incompatible*: ``apispec.APISpec.definition`` is moved to the
``Components`` class and renamed to ``apispec.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_helper`` and ``response_helper`` to modify
parameter and response components definitions.
- ``MarshmallowPlugin`` resolves schemas in parameters and responses components.
- Components helpers may return ``None`` as a no-op rather than an empty `dict`
(:pr:`336`).
Bug fixes:
- ``MarshmallowPlugin.schema_helper`` does not crash when no schema is passed
(:pr:`336`).
Deprecations/Removals:
- The legacy ``response_helper`` feature is removed. The same can be achieved
from ``operation_helper``.