Skip to content

Fix PATCH validation and adapter write errors for 1.5.3 - #14

Merged
svalench merged 4 commits into
masterfrom
codex/security-audit-1.5.3
Oct 18, 2026
Merged

svalench merged 4 commits into
masterfrom
codex/security-audit-1.5.3

Conversation

@svalench

@svalench svalench commented Oct 18, 2026 •

Copy link
Copy Markdown
Owner

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:

  • All GitHub CI checks pass on final revision: Python 3.9–3.14, optional ORM adapters, and installed-wheel smoke tests.
  • Python 3.14 isolated all-ORM tests: 333 passed; base-only: 288 passed, 45 optional-adapter skips.
  • Minimum Pydantic 2.5.3 / Python 3.11: all 10 targeted PATCH tests passed.
  • Published 1.5.2 passes its original 312 tests but fails 14 new regressions, confirming defects.
  • Final wheel/sdist build and strict metadata checks pass; independently installed wheel passes all 333 tests, including README/doc quickstarts.
  • Coverage: 89.27% statements, 83.96% branches (combined 87.91%); no new exclusions.
  • Bandit and full-history/current-source Gitleaks: no findings. Ruff: 1,738 pre-existing findings before/after, no added findings.
  • Current Python 3.14 dependencies (78 versions) and actual Python 3.10 CI resolution: no known advisories.

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.

@codecov

codecov Bot commented Oct 18, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@svalench
svalench merged commit 2afbc7c into master Oct 18, 2026
9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant