Release Notes¶
Latest Changes¶
Features¶
- ✨ Add
media_typeto send and document validation errors under any JSON content type. PR #107 by @matblack81. - ✨ Add
error_builderto replace the validation error body and its schema. PR #105 by @matblack81.
Fixes¶
- 🐛 Fix HTTPStatus status codes in the OpenAPI schema on Python 3.10. PR #104 by @matblack81.
Docs¶
- 📝 Document every option of the override on its own page. PR #115 by @matblack81.
- 📝 Add the home page and quick start to the documentation site. PR #114 by @matblack81.
- 📝 Publish the release notes as a page of the site. PR #113 by @matblack81.
- 👷 Build and deploy the documentation site to GitHub Pages. PR #112 by @matblack81.
- 📝 Document
media_typein the README. PR #108 by @matblack81. - 📝 Add the error builder section and its known limitation. PR #106 by @matblack81.
Internal¶
- ♻️ Document public parameters with
AnnotatedandDoc. PR #111 by @matblack81. - ✅ Add tests for root_path and mounted apps. PR #110 by @matblack81.
- ⬆️ Bump fastapi from 0.141.1 to 0.162.0. PR #109 by @matblack81.
- 💡 Fix the snapshot regeneration command for new examples. PR #103 by @matblack81.
- ✅ Snapshot the response codes of every example. PR #102 by @matblack81.
- 🔥 Remove the leftover sync-pin markers from the workflows. PR #101 by @matblack81.
- 👷 Install only the tests dependency group in the test workflows. PR #100 by @matblack81.
- 🔧 Split the dev dependencies into a tests group. PR #99 by @matblack81.
1.2.4 (2026-10-26)¶
Docs¶
- 🔧 Replace old GitHub username in release notes links. PR #92 by @matblack81.
Internal¶
- 🔧 Allow the certifi package name in typos. PR #97 by @matblack81.
- 👷 Run the FastAPI master workflow daily. PR #96 by @matblack81.
- 👷 Add a weekly CI run against FastAPI master. PR #95 by @matblack81.
- 👷 Test against the actual latest FastAPI in CI. PR #94 by @matblack81.
- ✅ Migrate the test suite to TestClient. PR #93 by @matblack81.
1.2.3 (2026-10-16)¶
Internal¶
- 🔧 Update GitHub owner name. PR #90 by @matblack81.
- ⬆ Bump the python-packages group with 3 updates. PR #89 by @dependabot[bot].
- ⬆ Bump the python-packages group with 3 updates. PR #88 by @dependabot[bot].
- ⬆ Bump the github-actions group with 2 updates. PR #87 by @dependabot[bot].
1.2.2 (2026-09-22)¶
Internal¶
- ⬆ Bump anyio from 4.14.1 to 4.14.2. PR #85 by @dependabot[bot].
- ⬆ Bump the github-actions group with 3 updates. PR #84 by @dependabot[bot].
- ⬆ Bump the python-packages group with 8 updates. PR #83 by @dependabot[bot].
- ⬆ Bump pre-commit hooks. PR #82 by @matblack81.
- ⬆ Bump the python-packages group with 4 updates. PR #81 by @dependabot[bot].
- ⬆ Bump re-actors/alls-green from 1.2.2 to 1.3.0 in the github-actions group. PR #80 by @dependabot[bot].
- ⬆ Bump fastapi from 0.140.0 to 0.141.1. PR #79 by @dependabot[bot].
- ⬆ Bump the python-packages group with 9 updates. PR #78 by @dependabot[bot].
- ⬆ Bump the github-actions group with 2 updates. PR #77 by @dependabot[bot].
- 👷 Replace actions/labeler with Latest Changes App auto-labeling. PR #76 by @matblack81.
1.2.1 (2026-08-12)¶
Internal¶
- 👷 Tag CI action pins for sync tracking. PR #74 by @matblack81.
1.2.0 (2026-08-11)¶
Internal¶
- ♻️ Remove unused labeled/unlabeled events and label-checker job from workflows. PR #72 by @matblack81.
- ⬆️ Migrate the test suite from httpx to httpx2. PR #71 by @matblack81.
- ♻️ Refactor workflows to use
gh auth setup-gitfor improved authentication. PR #70 by @matblack81. - ♻️ Simplify patch_422_responses to match what get_openapi() actually produces. PR #69 by @matblack81.
- ♻️ Refactor GitHub Actions to improve token usage and credential persistence. PR #68 by @matblack81.
1.1.1 (2026-08-08)¶
Fixes¶
- 🐛 Fix orphaned validation schema components left in the OpenAPI output. PR #66 by @matblack81.
Docs¶
- 📝 Clarify that patch_422_responses targets get_openapi() output. PR #58 by @matblack81.
Internal¶
- 🐛 Fix release date defaulting to the date the script was imported. PR #65 by @matblack81.
- 🐛 Type-check examples in pre-commit, matching the documented lint scope. PR #64 by @matblack81.
- 📝 Clarify docstrings for the 422 no-op and validation ref naming. PR #63 by @matblack81.
- ✅ Add test to ensure overriding validation error ignores subsequent calls with different args. PR #62 by @matblack81.
- ✅ Add regression test for hidden query parameters with undocumented 422 behavior. PR #61 by @matblack81.
- 🎨 Standardize how examples are run and documented. PR #60 by @matblack81.
- 🐛 Fix partial release state when release notes write fails. PR #59 by @matblack81.
- 🐛 Fix infinite recursion on self-referential callback components. PR #57 by @matblack81.
- 🐛 Reject invalid bump types and cover prepare_release's untested error paths. PR #56 by @matblack81.
- 🐛 Fix partial release state when release notes update fails. PR #55 by @matblack81.
- ⬆️ Bump tiangolo/latest-changes to 0.7.1. PR #54 by @matblack81.
- ✅ Prove PR test changes actually catch a regression before merging. PR #53 by @matblack81.
- ⬆ Bump fastapi from 0.139.2 to 0.140.0. PR #52 by @dependabot[bot].
- ⬆ Bump the python-packages group with 5 updates. PR #51 by @dependabot[bot].
- ⬆ Bump the github-actions group with 2 updates. PR #50 by @dependabot[bot].
1.1.0 (2026-08-01)¶
Features¶
- ✨ Support custom validation error schemas with any field structure. PR #44 by @matblack81.
- ✨ Extend validation error patching to webhooks and callbacks. PR #35 by @matblack81.
Fixes¶
- 🐛 Fix cyclic and unresolvable
$refhandling in local response resolution. PR #45 by @matblack81. - 🐛 Fix invalid OpenAPI produced when merging into a $ref target response. PR #40 by @matblack81.
- 🐛 Fix user-defined schemas being silently overwritten by validation error definitions. PR #39 by @matblack81.
- 🐛 Base validation detection on FastAPI's 422 signal instead of schema shape alone. PR #38 by @matblack81.
- 🐛 Fix custom 422 models with a name ending in HTTPValidationError being silently deleted. PR #37 by @matblack81.
- 🐛 Fix shared mutable schema objects leaking mutations across routes and apps. PR #36 by @matblack81.
Refactors¶
- ♻️ Refactor local $ref resolution to support reusable components across multiple sections. PR #46 by @matblack81.
- ♻️ Read FastAPI's validation error definitions dynamically instead of at import time. PR #41 by @matblack81.
Docs¶
- 📝 Clarify behavior for
ValidationError/HTTPValidationErrorschema collisions in README. PR #48 by @matblack81. - 📝 Clarify idempotency behavior in README. PR #43 by @matblack81.
Internal¶
- ✅ Cover webhooks and callbacks with a runnable example. PR #47 by @matblack81.
1.0.0 (2026-07-28)¶
🎉 First stable release of fastapi-validation-override.
0.2.0 (2026-07-27)¶
Features¶
- ✨ Keep validation errors documented at the target code even with a custom 422 response. PR #31 by @matblack81.
- ✨ Add public patch_422_responses for schema patching outside override_validation_error. PR #30 by @matblack81.
Refactors¶
- ♻️ Reorder anyOf to list the validation error before the custom response. PR #32 by @matblack81.
Internal¶
- ⬆ Bump pre-commit hooks. PR #29 by @matblack81.
- ⬆ Bump the github-actions group with 3 updates. PR #28 by @dependabot[bot].
- ⬆ Bump fastapi from 0.139.0 to 0.139.2. PR #27 by @dependabot[bot].
- ⬆ Bump the python-packages group with 5 updates. PR #26 by @dependabot[bot].
- 👷 Replace Dependabot pre-commit ecosystem with custom bump workflow. PR #25 by @matblack81.
- ⬆ Bump the python-packages group across 1 directory with 6 updates. PR #24 by @dependabot[bot].
- ⬆ Bump the github-actions group across 1 directory with 4 updates. PR #23 by @dependabot[bot].
0.1.3 (2026-07-10)¶
Refactors¶
- ♻️ Clarify idempotency guard comment to reflect actual behavior. PR #17 by @matblack81.
Docs¶
- 📝 Fix wrong package name in installation commands. PR #19 by @matblack81.
Internal¶
- ✅ Add tests for query param validation and multi-method path patching. PR #18 by @matblack81.
0.1.2 (2026-07-09)¶
Internal¶
- 🔧 Integrate Codecov for coverage tracking and update README. PR #15 by @matblack81.
0.1.1 (2026-07-09)¶
Docs¶
- 📝 Rewrite README with PyPI-safe links and corrected project metadata. PR #13 by @matblack81.
Internal¶
- ⬆ bump the python-packages group with 5 updates. PR #11 by @dependabot[bot].
- ⬆ bump https://github.com/crate-ci/typos from v1.48.0 to 5.0.7 in the pre-commit group. PR #9 by @dependabot[bot].
- ⬆ bump dorny/paths-filter from 4.0.1 to 4.0.2 in the github-actions group. PR #10 by @dependabot[bot].
- ⬆ bump fastapi from 0.138.0 to 0.139.0. PR #12 by @dependabot[bot].
- 🔧 Overhaul CI/CD workflows for labeling, releases, and coverage tracking. PR #8 by @matblack81.
0.1.0 (2026-06-25)¶
🚀 First official public release of fastapi-validation-override.
Override FastAPI's default 422 validation error with any HTTP status code — patching both the runtime exception handler and the OpenAPI schema in a single call.
Features¶
- ✨ Override the default 422 validation error with any HTTP status code at runtime and in the OpenAPI schema with a single call.
- ✨ Automatic OpenAPI schema patch: the 422 entry is replaced by the target status code across all routes that produce a
HTTPValidationError. - ✨ Smart schema merge: if a route already declares a response at the target status code, the validation error schema is merged using
anyOf. - ✨ Custom
app.openapipreserved: any custom OpenAPI function set by the developer is called first; the patch is applied on top of its output. - ✨ Custom exception handler:
handle_exceptions=Falsepatches only the schema, leaving full control of exception handling to the developer. - ✨ Idempotent: safe to call multiple times on the same app instance.