* ✨ Update OpenAPI models for JSON Schema 2020-12 and OpenAPI 3.1.0
* ✨ Add support for summary and webhooks
* ✨ Update JSON Schema for UploadFiles
* ⏪️ Revert making paths optional, to ensure always correctness
* ⏪️ Keep UploadFile as format: binary for compatibility with the rest of Pydantic bytes fields in v1
* ✨ Update version of OpenAPI generated to 3.1.0
* ✨ Update the version of Swagger UI
* 📝 Update docs about extending OpenAPI
* 📝 Update docs and links to refer to OpenAPI 3.1.0
* ✨ Update logic for handling webhooks
* ♻️ Update parameter functions and classes, deprecate example and make examples the main field
* ✅ Update tests for OpenAPI 3.1.0
* 📝 Update examples for OpenAPI metadata
* ✅ Add and update tests for OpenAPI metadata
* 📝 Add source example for webhooks
* 📝 Update docs for metadata
* 📝 Update docs for Schema extra
* 📝 Add docs for webhooks
* 🔧 Add webhooks docs to MkDocs
* ✅ Update tests for extending OpenAPI
* ✅ Add tests for webhooks
* ♻️ Refactor generation of OpenAPI and JSON Schema with params
* 📝 Update source examples for field examples
* ✅ Update tests for examples
* ➕ Make sure the minimum version of typing-extensions installed has deprecated() (already a dependency of Pydantic)
* ✏️ Fix typo in Webhooks example code
* 🔥 Remove commented out code of removed nullable field
* 🗑️ Add deprecation warnings for example argument
* ✅ Update tests to check for deprecation warnings
* ✅ Add test for webhooks with security schemes, for coverage
* 🍱 Update image for metadata, with new summary
* 🍱 Add docs image for Webhooks
* 📝 Update docs for webhooks, add docs UI image
* ♻️ Remove required extra steps to test in editor
* 🎨 Format lint script
* 📝 Remove obsolete extra steps required to test in editor from docs
* 🐛 Fix coverage
* Add an example of setting up a test database.
* 📝 Add/update docs for testing a DB with dependency overrides
* 🔧 Update test script, remove line removing test file as it is removed during testing
* ✅ Update testing coverage pragma
Co-authored-by: Sebastián Ramírez <[email protected]>
* ✨ Re-export main features used from Starlette to simplify developer's code
* ♻️ Refactor Starlette exports
* ♻️ Refactor tutorial examples to use re-exported utils from Starlette
* 📝 Add examples for all middlewares
* 📝 Add new docs for middlewares
* 📝 Add examples for custom responses
* 📝 Extend docs for custom responses
* 📝 Update docs and add notes explaining re-exports from Starlette everywhere
* 🍱 Update screenshot for HTTP status
* 🔧 Update MkDocs config with new content
* ♻️ Refactor tests to use re-exported utils from Starlette
* ✨ Re-export WebSocketDisconnect from Starlette for tests
* ✅ Add extra tests for extra re-exported middleware
* ✅ Add tests for re-exported responses from Starlette
* ✨ Add docs about mounting WSGI apps
* ➕ Add Flask as a dependency to test WSGIMiddleware
* ✅ Test WSGIMiddleware example
* Make compatible with pydantic v1
* Remove unused import
* Remove unused ignores
* Update pydantic version
* Fix minor formatting issue
* ⏪ Revert removing iterate_in_threadpool
* ✨ Add backwards compatibility with Pydantic 0.32.2
with deprecation warnings
* ✅ Update tests to not break when using Pydantic < 1.0.0
* 📝 Update docs for Pydantic version 1.0.0
* 📌 Update Pydantic range version to support from 0.32.2
* 🎨 Format test imports
* ✨ Add support for Pydantic < 1.2 for populate_validators
* ✨ Add backwards compatibility for Pydantic < 1.2.0 with required fields
* 📌 Relax requirement for Pydantic to < 2.0.0 🎉🚀
* 💚 Update pragma coverage for older Pydantic versions
* ➕ Add development/testing dependencies for Python 3.6
* ✨ Add concurrency submodule with contextmanager_in_threadpool
* ✨ Add AsyncExitStack to ASGI scope in FastAPI app call
* ✨ Use async stack for contextmanager-able dependencies
including running in threadpool sync dependencies
* ✅ Add tests for contextmanager dependencies
including internal raise checks when exceptions should be handled and when not
* ✅ Add test for fake asynccontextmanager raiser
* 🐛 Fix mypy errors and coverage
* 🔇 Remove development logs and prints
* ✅ Add tests for sub-contextmanagers, background tasks, and sync functions
* 🐛 Fix mypy errors for Python 3.7
* 💬 Fix error texts for clarity
* 📝 Add docs for dependencies with yield
* ✨ Update SQL with SQLAlchemy tutorial to use dependencies with yield
and add an alternative with a middleware (from the old tutorial)
* ✅ Update SQL tests to remove DB file during the same tests
* ✅ Add tests for example with middleware
as a copy from the tests with dependencies with yield, removing the DB in the tests
* ✏️ Fix typos with suggestions from code review
Co-Authored-By: dmontagu <[email protected]>
* 🏗️ Implement unique IDs for dynamic models
like those used for composite bodies and responses. IDs based on path (not only on function name, as it can be duplicated in a different module).
* ✅ Add tests for same function name and composite body
* ✅ Update OpenAPI in tests with new dynamic model ID generation
* ✨ Implement support for Pydantic's ORM mode
* 🏗️ Re-structure/augment SQL tutorial source using ORM mode
* 📝 Update SQL docs with SQLAlchemy, ORM mode, relationships
* 🔥 Remove unused util in tutorial
* 📝 Add tutorials for simple dict bodies and responses
* 🔥 Remove old SQL tutorial
* ✅ Add/update tests for SQL tutorial
* ✅ Add tests for simple dicts (body and response)
* 🐛 Fix cloning field from original field
✨ SQLAlchemy ORM support
Improved jsonable_encoder with SQLAlchemy support, tests running with SQLite, improved and updated SQL docs
* ➕ Add SQLAlchemy to development dependencies (not required for using FastAPI)
* ➕ Add sqlalchemy to testing dependencies (not required to use FastAPI)