Sebastián Ramírez
983f1d34db
🔖 Release version 0.99.0
2023-06-30 20:55:17 +02:00
Sebastián Ramírez
7dad5a820b
✨ Add support for OpenAPI 3.1.0 ( #9770 )
...
* ✨ 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
2023-06-30 20:25:16 +02:00
Carson Crane
1f21b16e03
✨ Add support for `deque` objects and children in `jsonable_encoder` ( #9433 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-06-28 18:39:10 +02:00
Sebastián Ramírez
4721405ef7
🔖 Release version 0.98.0
2023-06-22 19:58:22 +02:00
Irfanuddin Shafi Ahmed
a3357a72fb
Merge remote-tracking branch 'upstream/master' into feat/exception-on-duplicate-path
...
# Conflicts:
# fastapi/routing.py
2023-06-22 19:15:10 +05:30
cyberlis
e94c13ce74
✨ Add allow disabling `redirect_slashes` at the FastAPI app level ( #3432 )
...
Co-authored-by: Denis Lisovik <ckyberlis@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-06-22 10:37:50 +00:00
Sebastián Ramírez
32935103b1
🔖 Release version 0.97.0
2023-06-12 00:50:06 +02:00
Sebastián Ramírez
7167c77a18
⬆️ Upgrade and fully migrate to Ruff, remove isort, includes a couple of tweaks suggested by the new version of Ruff ( #9660 )
2023-06-12 00:37:34 +02:00
Sebastián Ramírez
4ac55af283
♻️ Update internal type annotations and upgrade mypy ( #9658 )
2023-06-11 22:16:01 +00:00
Sebastián Ramírez
17e49bc9f7
♻️ Simplify `AsyncExitStackMiddleware` as without Python 3.6 `AsyncExitStack` is always available ( #9657 )
...
♻️ Simplify AsyncExitStackMiddleware as without Python 3.6 AsyncExitStack is always available
2023-06-11 21:49:18 +00:00
Paulo Costa
d8b8f211e8
✨ Add support for `dependencies` in WebSocket routes ( #4534 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-06-11 20:35:39 +00:00
Kristján Valur Jónsson
ab03f22635
✨ Add exception handler for `WebSocketRequestValidationError` (which also allows to override it) ( #6030 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-06-11 21:08:14 +02:00
Sebastián Ramírez
19347bfc3c
🔖 Release version 0.96.1
2023-06-10 23:51:40 +02:00
Sebastián Ramírez
6dd8e567cc
🐛 Fix `HTTPException` header type annotations ( #9648 )
2023-06-10 19:23:12 +02:00
Marcelo Trylesinski
52fd0afc94
♻ Remove `media_type` from `ORJSONResponse` as it's inherited from the parent class ( #5805 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-06-10 19:04:29 +02:00
Timothée Mazzucotelli
010d44ee1b
♻ Instantiate `HTTPException` only when needed, optimization refactor ( #5356 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-06-10 14:05:35 +02:00
Sebastián Ramírez
2d35651a5a
🐛 Fix OpenAPI model fields int validations, change `gte` to `ge` ( #9635 )
...
🐛 Fix OpenAPI model fields int validations, change `gte` to `ge`
2023-06-07 22:44:12 +02:00
Sebastián Ramírez
1574c96231
🔖 Release version 0.96.0
2023-06-03 16:29:23 +02:00
Zanie Adkins
27618aa2e8
⚡ Update `create_cloned_field` to use a global cache and improve startup performance ( #4645 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: Huon Wilson <wilson.huon@gmail.com>
2023-06-03 13:37:41 +00:00
Sebastián Ramírez
8cc967a760
🔖 Release version 0.95.2
2023-05-16 15:39:43 +02:00
Irfanuddin
52acf4de9a
Merge remote-tracking branch 'upstream/master' into feat/exception-on-duplicate-path
...
# Conflicts:
# fastapi/routing.py
2023-05-09 14:02:29 +05:30
Sebastián Ramírez
c81e136d75
🔖 Release version 0.95.1
2023-04-13 12:04:52 -07:00
Sharon Yogev
fdf66c825e
🐛 Fix using `Annotated` in routers or path operations decorated multiple times ( #9315 )
...
* Fix: copy FieldInfo from Annotated arguments
We need to copy the field_info to prevent ourselves from
mutating it. This allows multiple path or nested routers ,etc.
* 📝 Add comment in fastapi/dependencies/utils.py
Co-authored-by: Nadav Zingerman <7372858+nzig@users.noreply.github.com>
* ✅ Extend and tweak tests for Annotated
* ✅ Tweak coverage, it's probably covered by a different version of Python
---------
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: Nadav Zingerman <7372858+nzig@users.noreply.github.com>
2023-04-13 10:49:22 -07:00
Sebastián Ramírez
d666ccb622
🔖 Release version 0.95.0
2023-03-18 20:37:42 +01:00
Nadav Zingerman
375513f114
✨ Add support for PEP-593 `Annotated` for specifying dependencies and parameters ( #4871 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-03-17 21:35:45 +01:00
Sebastián Ramírez
ef176c6631
🔖 Release version 0.94.1
2023-03-14 03:27:11 +01:00
Sebastián Ramírez
25aabe05ce
🎨 Fix types for lifespan, upgrade Starlette to 0.26.1 ( #9245 )
2023-03-14 03:19:04 +01:00
Sebastián Ramírez
392ffaae43
🔖 Release version 0.94.0
2023-03-10 20:00:49 +01:00
pre-commit-ci[bot]
f04b61bd16
⬆ [pre-commit.ci] pre-commit autoupdate ( #5709 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-03-10 19:49:18 +01:00
Sebastián Ramírez
8a4cfa52af
⬆️ Upgrade Starlette version, support new `lifespan` with state ( #9239 )
2023-03-10 19:24:04 +01:00
Sebastián Ramírez
25382d2d19
🔖 Release version 0.93.0
2023-03-07 17:06:47 +01:00
Jordan Speicher
cc9a73c3f8
✨ Add support for `lifespan` async context managers (superseding `startup` and `shutdown` events) ( #2944 )
...
Co-authored-by: Mike Shantz <mshantz@coldstorage.com>
Co-authored-by: Jonathan Plasse <13716151+JonathanPlasse@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-03-07 16:46:00 +01:00
Sebastián Ramírez
6879082b36
🔖 Release version 0.92.0
2023-02-14 10:17:53 +01:00
Sebastián Ramírez
2ca77f9a4d
🔖 Release version 0.91.0
2023-02-10 15:33:25 +01:00
Sebastián Ramírez
d566c6cbca
⬆️ Upgrade Starlette version to `0.24.0` and refactor internals for compatibility ( #5985 )
2023-02-10 15:13:04 +01:00
Sebastián Ramírez
6e94ec2bf0
🔖 Release version 0.90.1
2023-02-09 20:41:40 +01:00
Sebastián Ramírez
148bcf5ce4
🔖 Release version 0.90.0
2023-02-08 11:30:01 +01:00
Marcelo Trylesinski
9293795e99
⬆️ Bump Starlette from 0.22.0 to 0.23.0 ( #5739 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-02-08 11:23:07 +01:00
Sebastián Ramírez
5905c3f740
🔖 Release version 0.89.1
2023-01-10 20:31:23 +04:00
Sebastián Ramírez
fb8e9083f4
📝 Update docs and examples for Response Model with Return Type Annotations, and update runtime error ( #5873 )
2023-01-10 16:22:47 +00:00
Marcelo Trylesinski
fba7493042
🐛 Ignore Response classes on return annotation ( #5855 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2023-01-10 12:45:18 +00:00
Sebastián Ramírez
69bd7d8501
🔖 Release version 0.89.0
2023-01-07 21:17:10 +04:00
Yurii Karabas
d0573f5713
✨ Add support for function return type annotations to declare the `response_model` ( #1436 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2023-01-07 17:45:48 +04:00
Sebastián Ramírez
7921614ccb
Merge branch 'master' into feat/exception-on-duplicate-path
2022-12-16 23:30:44 +04:00
Sebastián Ramírez
612b8ff168
🔖 Release version 0.88.0
2022-11-27 15:50:32 +01:00
Sebastián Ramírez
7c5626bef7
⬆️ Upgrade Ruff ( #5698 )
2022-11-27 14:59:32 +01:00
Irfanuddin Shafi Ahmed
8e7dc52aca
Merge branch 'master' into feat/exception-on-duplicate-path
2022-11-17 18:24:14 +05:30
Sebastián Ramírez
63a5ffcf57
🔖 Release version 0.87.0
2022-11-13 22:36:53 +01:00
Irfanuddin Shafi Ahmed
a096af742a
Merge branch 'master' into feat/exception-on-duplicate-path
2022-11-14 01:26:51 +05:30
Sebastián Ramírez
fa74093440
✨ Use Ruff for linting ( #5630 )
2022-11-13 19:19:04 +01:00
Sebastián Ramírez
d537ee93d7
✨ Re-export Starlette's `WebSocketException` and add it to docs ( #5629 )
2022-11-13 17:10:54 +01:00
Paweł Rubin
fdbd48be5f
⬆ Upgrade Starlette to `0.21.0`, including the new [`TestClient` based on HTTPX]( https://github.com/encode/starlette/releases/tag/0.21.0 ) ( #5471 )
...
Co-authored-by: Paweł Rubin <pawel.rubin@ocado.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-11-13 15:26:09 +01:00
Irfanuddin
d11ed8208b
feat: add check in websocket routes and support prefix for Starlette Routers
2022-11-12 01:00:26 +05:30
Irfanuddin
20661e1301
tests: added tests
2022-11-08 01:55:39 +05:30
Irfanuddin
3cb2eab917
fix: linting
2022-11-08 01:04:23 +05:30
Irfanuddin
e0cddac459
feat: validate if route already exists
2022-11-08 00:56:09 +05:30
Sebastián Ramírez
ccd242348f
🔖 Release version 0.86.0
2022-11-03 22:17:44 +01:00
Adrian Garcia Badaracco
ac9f56ea5e
🐛 Close FormData (uploaded files) after the request is done ( #5465 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-11-03 13:06:52 +01:00
Sebastián Ramírez
d0917ce015
🔖 Release version 0.85.2
2022-10-31 19:57:16 +01:00
Sebastián Ramírez
90fc4299d1
🔖 Release version 0.85.1
2022-10-14 22:52:36 +02:00
Jarro van Ginkel
0ae8db447a
🐛 Fix support for strings in OpenAPI status codes: `default`, `1XX`, `2XX`, `3XX`, `4XX`, `5XX` ( #5187 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-10-14 22:44:22 +02:00
Sebastián Ramírez
1213227667
🔖 Release version 0.85.0
2022-09-15 15:57:23 +02:00
Sebastián Ramírez
74ce2204ae
⬆️ Upgrade mypy and tweak internal type annotations ( #5398 )
2022-09-15 13:26:21 +00:00
Marcelo Trylesinski
adcf03f2bc
⬆ Upgrade version required of Starlette from `0.19.1` to `0.20.4` ( #4820 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-15 14:32:05 +02:00
Sebastián Ramírez
1073062c7f
🔖 Release version 0.84.0
2022-09-14 20:41:29 +02:00
Ofek Lev
4267bd1f4f
🔧 Update package metadata, drop support for Python 3.6, move build internals from Flit to Hatch ( #5240 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-14 20:31:19 +02:00
Sebastián Ramírez
ed0fcba7cb
🔖 Release version 0.83.0
2022-09-11 18:25:29 +02:00
Irfanuddin Shafi Ahmed
4d270463af
🐛 Fix `RuntimeError` raised when `HTTPException` has a status code with no content ( #5365 )
...
Co-authored-by: Marcelo Trylesinski <marcelotryle@gmail.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-11 16:13:36 +00:00
Thomas Meckel
0b4fe10c8f
🐛 Fix empty reponse body when default `status_code` is empty but the a `Response` parameter with `response.status_code` is set ( #5360 )
...
Co-authored-by: Thomas Meckel <tmeckel@users.noreply.github.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-08 15:02:59 +00:00
DCsunset
3ec498af63
✨ Add support in `jsonable_encoder` for include and exclude with dataclasses ( #4923 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-08 16:29:23 +02:00
Sebastián Ramírez
3079ba925e
🔖 Release version 0.82.0
2022-09-04 21:26:31 +02:00
Adrian Garcia Badaracco
f8460a8b54
🐛 Allow exit code for dependencies with `yield` to always execute, by removing capacity limiter for them, to e.g. allow closing DB connections without deadlocks ( #5122 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-04 21:09:24 +02:00
Mateusz Nowak
dacb689290
✨ Export `WebSocketState` in `fastapi.websockets` ( #4376 )
2022-09-04 17:12:10 +02:00
Charlie DiGiovanna
56f887de15
🐛 Make sure a parameter defined as required is kept required in OpenAPI even if defined as optional in another dependency ( #4319 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-03 17:12:41 +00:00
Junghoon Yang
52b5b08910
♻ Internal small refactor, move `operation_id` parameter position in delete method for consistency with the code ( #4474 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-02 13:36:00 +00:00
Marcelo Trylesinski
30b3905ef3
✨ Support Python internal description on Pydantic model's docstring ( #3032 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-02 14:43:21 +02:00
abc.zxy
7250c194da
✨ Update `ORJSONResponse` to support non `str` keys and serializing Numpy arrays ( #3892 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-09-02 10:17:31 +00:00
David Brochart
d8b6aa630c
🐛 Fix support for path parameters in WebSockets ( #3879 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-09-01 10:50:47 +02:00
Sebastián Ramírez
0bb8920ae1
🔖 Release version 0.81.0
2022-08-26 17:18:44 +02:00
Luis R
22bed0008c
🐛 Fix `jsonable_encoder` for dataclasses with pydantic-compatible fields ( #3607 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-08-26 15:56:47 +02:00
Erik Vroon
de6ccd7754
✨ Add ReDoc `<noscript>` warning when JS is disabled ( #5074 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-26 13:56:07 +00:00
pylounge
dc10b81d05
♻ Simplify internal RegEx in `fastapi/utils.py` ( #5057 )
...
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-08-26 15:46:22 +02:00
David Kim
0539dd9cd3
🔧 Fix Type hint of `auto_error` which does not need to be `Optional[bool]` ( #4933 )
2022-08-26 15:29:50 +02:00
Shahriyar Rzayev
00bdf533ef
♻ Change a `dict()` for `{}` in `fastapi/utils.py` ( #3138 )
2022-08-26 15:23:25 +02:00
Guillermo Quintana Pelayo
a64387c3fc
♻ Move internal variable for errors in `jsonable_encoder` to put related code closer ( #4560 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-26 13:16:44 +00:00
Muzaffer Cikay
c8124496fc
♻ Simplify conditional assignment in `fastapi/dependencies/utils.py` ( #4597 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-26 13:16:17 +00:00
Ori Levari
880c8b37cf
🐛 Fix support for extending `openapi_extras` with parameter lists ( #4267 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-26 09:26:20 +00:00
juntatalor
ca2fae0588
✨ Add support for `FrozenSet` in parameters (e.g. query) ( #2938 )
...
Co-authored-by: saborisov <borisov_s@tass.ru>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-25 23:52:53 +02:00
Andy Challis
eb3ab337ab
✨ Allow custom middlewares to raise `HTTPException`s and propagate them ( #2036 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-08-25 23:44:40 +02:00
Sidharth Ajithkumar
9359a8d65f
✨ Preserve `json.JSONDecodeError` information when handling invalid JSON in request body, to support custom exception handlers that use its information ( #4057 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2022-08-25 11:55:53 +02:00
Sebastián Ramírez
7d6e70791d
🔖 Release version 0.80.0
2022-08-23 16:14:48 +02:00
Teo Koon Peng
ec072d75fe
⬆ Upgrade Swagger UI copy of `oauth2-redirect.html` to include fixes for flavors of authorization code flows in Swagger UI ( #3439 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-23 13:57:25 +00:00
Andrey Semakin
f6808e76dc
♻ Strip empty whitespace from description extracted from docstrings ( #2821 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-23 13:47:19 +00:00
laggardkernel
b993b4af28
🐛 Fix cached dependencies when using a dependency in `Security()` and other places (e.g. `Depends()`) with different OAuth2 scopes ( #2945 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-23 13:30:24 +00:00
Taneli Hukkinen
634cf22584
🐛 Fix `response_model` not invalidating `None` ( #2725 )
...
Co-authored-by: Taneli Hukkinen <hukkinj1@users.noreply.github.com>
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-22 19:17:45 +00:00
Sebastián Ramírez
e7b1b96a54
🎨 Update type annotations for `response_model`, allow things like `Union[str, None]` ( #5294 )
2022-08-22 18:49:03 +00:00
Sebastián Ramírez
ab8988ff7c
🔖 Release version 0.79.1
2022-08-18 23:14:07 +02:00
Xavi Moreno
eb2e183361
🐛 Fix `jsonable_encoder` using `include` and `exclude` parameters for non-Pydantic objects ( #2606 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-18 22:48:21 +02:00
Luca Repetti
e88089ec21
🐛 Fix edge case with repeated aliases names not shown in OpenAPI ( #2351 )
...
Co-authored-by: Sebastián Ramírez <tiangolo@gmail.com>
2022-08-18 20:31:19 +00:00
Sebastián Ramírez
50fb34bf55
🔖 Release version 0.79.0
2022-07-14 19:35:13 +02:00