Repository navigation
Fix PATCH validation and adapter write errors for 1.5.3 - #14
Merged
Merged
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PATCH requests discard Field constraints, aliases, schema configuration and field validators. This patch preserves validation of supplied values while keeping fields omittable and avoiding full-model validators on incomplete data. Original validator binding preserves ClassVar and super().
Creation honors SQLAlchemy client/server defaults and Peewee defaults. Required-field errors retain their detail, and update constraint violations in Peewee/Tortoise return HTTP 409 without SQL or input values. Release versions are validated outside the shell, publishing paths share concurrency, and releases run tests before build. Publishing credentials remain unchanged. README explains OAuth2PasswordBearer only extracts tokens.
Validation:
Remaining security limitation: Python 3.9 resolves upstream AnyIO, Starlette and python-dotenv versions with known advisories, plus test-only pytest advisories. Their fixed releases require Python >=3.10. Not every advisory is reachable through this library; a zero-advisory dependency stack is unavailable on Python 3.9. This legacy-runtime limitation is explicitly documented in README and release notes. Released and verified: https://pypi.org/project/fastapi-viewsets/1.5.3/ ; final fresh published installation passes all 333 tests and pip-audit reports 37 packages, 0 vulnerabilities, 0 skips.