From 4b5a2e616e3f1c749a79bc63ff3a25db171a05d2 Mon Sep 17 00:00:00 2001 From: Steven Loria Date: Wed, 15 Apr 2026 22:21:07 -0400 Subject: [PATCH 1/2] Drop support for marshmallow 3 --- .github/workflows/build-release.yml | 6 ++---- CHANGELOG.rst | 7 +++++++ README.rst | 6 +----- pyproject.toml | 15 ++++----------- tox.ini | 7 +++---- 5 files changed, 17 insertions(+), 24 deletions(-) diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index 5e6827e2..5a33e8ac 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -17,10 +17,8 @@ jobs: fail-fast: false matrix: include: - - { name: "3.10-ma3", tox: py310-marshmallow3 } - - { name: "3.14-ma3", tox: py314-marshmallow3 } - - { name: "3.10-ma4", tox: py310-marshmallow4 } - - { name: "3.14-ma4", tox: py314-marshmallow4 } + - { name: "3.10", tox: py310 } + - { name: "3.14", tox: py314 } - { name: "lowest", tox: py310-lowest } - { name: "3.14-madev", tox: py314-marshmallowdev } steps: diff --git a/CHANGELOG.rst b/CHANGELOG.rst index c9dfa7aa..c47aded9 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,13 @@ Changelog --------- +unreleased +********** + +Other changes: + +- Drop support for marshmallow 3, which is EOL. + 6.10.0 (2026-03-06) ******************* diff --git a/README.rst b/README.rst index d472589f..5ccc4ec8 100644 --- a/README.rst +++ b/README.rst @@ -2,7 +2,7 @@ apispec ******* -|pypi| |build-status| |docs| |marshmallow-support| |openapi| +|pypi| |build-status| |docs| |openapi| .. |pypi| image:: https://badgen.net/pypi/v/apispec :target: https://pypi.org/project/apispec/ @@ -16,10 +16,6 @@ apispec :target: https://apispec.readthedocs.io/ :alt: Documentation -.. |marshmallow-support| image:: https://badgen.net/badge/marshmallow/3,4?list=1 - :target: https://marshmallow.readthedocs.io/en/latest/upgrading.html - :alt: marshmallow 3|4 compatible - .. |openapi| image:: https://badgen.net/badge/OAS/2,3?list=1&color=cyan :target: https://github.com/OAI/OpenAPI-Specification :alt: OpenAPI Specification 2/3 compatible diff --git a/pyproject.toml b/pyproject.toml index 177197f6..a876a495 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -3,16 +3,15 @@ name = "apispec" version = "6.10.0" description = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification)." readme = "README.rst" -license = { file = "LICENSE" } -authors = [{ name = "Steven Loria", email = "sloria1@gmail.com" }] +license = "MIT" +authors = [{ name = "Steven Loria", email = "oss@stevenloria.com" }] maintainers = [ - { name = "Steven Loria", email = "sloria1@gmail.com" }, + { name = "Steven Loria", email = "oss@stevenloria.com" }, { name = "Jérôme Lafréchoux", email = "jerome@jolimont.fr" }, ] classifiers = [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", - "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", @@ -46,13 +45,7 @@ yaml = ["PyYAML>=3.10"] marshmallow = ["marshmallow>=3.18.0"] [dependency-groups] -docs = [ - "marshmallow>=3.18.0", - "pyyaml", - "sphinx-issues", - "furo", - "sphinx>=8.1", -] +docs = ["marshmallow>=4.0.0", "pyyaml", "sphinx-issues", "furo", "sphinx>=8.1"] tests = ["openapi-spec-validator", "pytest"] dev = [{ include-group = "tests" }, "tox", "tox-uv", "pre-commit>=3.5,<5.0"] diff --git a/tox.ini b/tox.ini index 17efa4c6..3dcda800 100644 --- a/tox.ini +++ b/tox.ini @@ -1,7 +1,7 @@ [tox] envlist= lint - py{310,311,312,313,314}-marshmallow{3,4} + py{310,311,312,313,314} py314-marshmallowdev py310-lowest docs @@ -10,13 +10,12 @@ envlist= extras = yaml,marshmallow dependency_groups = tests deps = - marshmallow3: marshmallow>=3.18.0,<4.0.0 marshmallowdev: https://github.com/marshmallow-code/marshmallow/archive/dev.tar.gz - lowest: marshmallow==3.18.0 + lowest: marshmallow==4.0.0 commands = pytest {posargs} [testenv:lint] -deps = pre-commit~=3.5 +deps = pre-commit skip_install = true commands = pre-commit run --all-files From 562168c3632ff6b417ad9b03360b4d146c94d7bd Mon Sep 17 00:00:00 2001 From: Steven Loria Date: Wed, 15 Apr 2026 22:25:19 -0400 Subject: [PATCH 2/2] uv sync --- uv.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/uv.lock b/uv.lock index 4e25a07c..61c1d5e9 100644 --- a/uv.lock +++ b/uv.lock @@ -93,7 +93,7 @@ dev = [ ] docs = [ { name = "furo" }, - { name = "marshmallow", specifier = ">=3.18.0" }, + { name = "marshmallow", specifier = ">=4.0.0" }, { name = "pyyaml" }, { name = "sphinx", specifier = ">=8.1" }, { name = "sphinx-issues" },