pgjones/hypercorn
### [`v0.13.2`](https://gitlab.com/pgjones/hypercorn/blob/HEAD/CHANGELOG.rst#0132-2021-12-23)
[Compare Source](https://gitlab.com/pgjones/hypercorn/compare/0.13.1...0.13.2)
- Bugfix re-enable HTTP/3.
### [`v0.13.1`](https://gitlab.com/pgjones/hypercorn/blob/HEAD/CHANGELOG.rst#0131-2021-12-16)
[Compare Source](https://gitlab.com/pgjones/hypercorn/compare/0.13.0...0.13.1)
- Bugfix trio tcp server read completion.
### [`v0.13.0`](https://gitlab.com/pgjones/hypercorn/blob/HEAD/CHANGELOG.rst#0130-2021-12-14)
[Compare Source](https://gitlab.com/pgjones/hypercorn/compare/0.12.0...0.13.0)
- Bugfix eof and keep alive handling.
- Bugfix Handle SSLErrors when reading.
- Support websocket close reasons.
- Improve the graceful shutdown, such that it works as expected.
- Support a keyfile password argument.
- Change the logging level to warning for lifespan not supported.
- Shutdown the default executor.
- Support additional headers for WS accept response.
### [`v0.12.0`](https://gitlab.com/pgjones/hypercorn/blob/HEAD/CHANGELOG.rst#0120-2021-11-08)
[Compare Source](https://gitlab.com/pgjones/hypercorn/compare/0.11.2...0.12.0)
- Correctly utilise SCRIPT_NAME in the wsgi middleware.
- Support Python 3.10.
- Support badly behaved HTTP/2 clients that omit a :authority header
but provide a host header.
- Use environment marker for uvloop (on windows).
- Use StringIO and BytesIO for more performant websocket buffers.
- Add optional read timeout.
- Rename errors to add a `Error` suffix, most notably
`LifespanFailure` to `LifespanFailureError`.
- Bugfix ensure keep alive timeout is cancelled on closure.
- Bugfix statsd type error.
- Bugfix prevent spawning whilst a task group is exit(ing).
django/asgiref
### [`v3.5.0`](https://togithub.com/django/asgiref/blob/HEAD/CHANGELOG.txt#350-2022-01-22)
[Compare Source](https://togithub.com/django/asgiref/compare/3.4.1...3.5.0)
- Python 3.6 is no longer supported, and asyncio calls have been changed to
use only the modern versions of the APIs as a result
- Several causes of RuntimeErrors in cases where an event loop was assigned
to a thread but not running
- Speed improvements in the Local class
psf/black
### [`v22.3.0`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2230)
[Compare Source](https://togithub.com/psf/black/compare/22.1.0...22.3.0)
##### Preview style
- Code cell separators `#%%` are now standardised to `# %%` ([#2919](https://togithub.com/psf/black/issues/2919))
- Remove unnecessary parentheses from `except` statements ([#2939](https://togithub.com/psf/black/issues/2939))
- Remove unnecessary parentheses from tuple unpacking in `for` loops ([#2945](https://togithub.com/psf/black/issues/2945))
- Avoid magic-trailing-comma in single-element subscripts ([#2942](https://togithub.com/psf/black/issues/2942))
##### Configuration
- Do not format `__pypackages__` directories by default ([#2836](https://togithub.com/psf/black/issues/2836))
- Add support for specifying stable version with `--required-version` ([#2832](https://togithub.com/psf/black/issues/2832)).
- Avoid crashing when the user has no homedir ([#2814](https://togithub.com/psf/black/issues/2814))
- Avoid crashing when md5 is not available ([#2905](https://togithub.com/psf/black/issues/2905))
- Fix handling of directory junctions on Windows ([#2904](https://togithub.com/psf/black/issues/2904))
##### Documentation
- Update pylint config documentation ([#2931](https://togithub.com/psf/black/issues/2931))
##### Integrations
- Move test to disable plugin in Vim/Neovim, which speeds up loading ([#2896](https://togithub.com/psf/black/issues/2896))
##### Output
- In verbose, mode, log when *Black* is using user-level config ([#2861](https://togithub.com/psf/black/issues/2861))
##### Packaging
- Fix Black to work with Click 8.1.0 ([#2966](https://togithub.com/psf/black/issues/2966))
- On Python 3.11 and newer, use the standard library's `tomllib` instead of `tomli`
([#2903](https://togithub.com/psf/black/issues/2903))
- `black-primer`, the deprecated internal devtool, has been removed and copied to a
[separate repository](https://togithub.com/cooperlees/black-primer) ([#2924](https://togithub.com/psf/black/issues/2924))
##### Parser
- Black can now parse starred expressions in the target of `for` and `async for`
statements, e.g `for item in *items_1, *items_2: pass` ([#2879](https://togithub.com/psf/black/issues/2879)).
nedbat/coveragepy
### [`v6.3.2`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-632--2022-02-20)
[Compare Source](https://togithub.com/nedbat/coveragepy/compare/6.3.1...6.3.2)
- Fix: adapt to pypy3.9's decorator tracing behavior. It now traces function
decorators like CPython 3.8: both the @-line and the def-line are traced.
Fixes `issue 1326`\_.
- Debug: added `pybehave` to the list of :ref:`cmd_debug` and
:ref:`cmd_run_debug` options.
- Fix: show an intelligible error message if `--concurrency=multiprocessing`
is used without a configuration file. Closes `issue 1320`\_.
.. \_issue 1320:[https://github.com/nedbat/coveragepy/issues/1320](https://togithub.com/nedbat/coveragepy/issues/1320)0
.. \_issue 1326[https://github.com/nedbat/coveragepy/issues/1326](https://togithub.com/nedbat/coveragepy/issues/1326)26
.. \_changes\_631:
### [`v6.3.1`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-631--2022-02-01)
[Compare Source](https://togithub.com/nedbat/coveragepy/compare/6.3...6.3.1)
- Fix: deadlocks could occur when terminating processes. Some of these
deadlocks (described in `issue 1310`\_) are now fixed.
- Fix: a signal handler was being set from multiple threads, causing an error:
"ValueError: signal only works in main thread". This is now fixed, closing
`issue 1312`\_.
- Fix: `--precision` on the command-line was being ignored while considering
`--fail-under`. This is now fixed, thanks to
`Marcelo Trylesinski `\_.
- Fix: releases no longer provide 3.11.0-alpha wheels. Coverage.py uses CPython
internal fields which are moving during the alpha phase. Fixes `issue 1316`\_.
.. \_issue 1310:[https://github.com/nedbat/coveragepy/issues/1310](https://togithub.com/nedbat/coveragepy/issues/1310)0
.. \_issue 1312[https://github.com/nedbat/coveragepy/issues/1312](https://togithub.com/nedbat/coveragepy/issues/1312)12
.. \_issue 131[https://github.com/nedbat/coveragepy/issues/1316](https://togithub.com/nedbat/coveragepy/issues/1316)316
.. \_pull 13[https://github.com/nedbat/coveragepy/pull/1317](https://togithub.com/nedbat/coveragepy/pull/1317)1317
.. \_changes\_63:
### [`v6.3`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-632--2022-02-20)
[Compare Source](https://togithub.com/nedbat/coveragepy/compare/6.2...6.3)
- Fix: adapt to pypy3.9's decorator tracing behavior. It now traces function
decorators like CPython 3.8: both the @-line and the def-line are traced.
Fixes `issue 1326`\_.
- Debug: added `pybehave` to the list of :ref:`cmd_debug` and
:ref:`cmd_run_debug` options.
- Fix: show an intelligible error message if `--concurrency=multiprocessing`
is used without a configuration file. Closes `issue 1320`\_.
.. \_issue 1320:[https://github.com/nedbat/coveragepy/issues/1320](https://togithub.com/nedbat/coveragepy/issues/1320)0
.. \_issue 1326[https://github.com/nedbat/coveragepy/issues/1326](https://togithub.com/nedbat/coveragepy/issues/1326)26
.. \_changes\_631:
### [`v6.2`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-62--2021-11-26)
[Compare Source](https://togithub.com/nedbat/coveragepy/compare/6.1.2...6.2)
- Feature: Now the `--concurrency` setting can now have a list of values, so
that threads and another lightweight threading package can be measured
together, such as `--concurrency=gevent,thread`. Closes `issue 1012`\_ and
`issue 1082`\_.
- Fix: A module specified as the `source` setting is imported during startup,
before the user program imports it. This could cause problems if the rest of
the program isn't ready yet. For example, `issue 1203`\_ describes a Django
setting that is accessed before settings have been configured. Now the early
import is wrapped in a try/except so errors then don't stop execution.
- Fix: A colon in a decorator expression would cause an exclusion to end too
early, preventing the exclusion of the decorated function. This is now fixed.
- Fix: The HTML report now will not overwrite a .gitignore file that already
exists in the HTML output directory (follow-on for `issue 1244`\_).
- API: The exceptions raised by Coverage.py have been specialized, to provide
finer-grained catching of exceptions by third-party code.
- API: Using `suffix=False` when constructing a Coverage object with
multiprocessing wouldn't suppress the data file suffix (`issue 989`\_). This
is now fixed.
- Debug: The `coverage debug data` command will now sniff out combinable data
files, and report on all of them.
- Debug: The `coverage debug` command used to accept a number of topics at a
time, and show all of them, though this was never documented. This no longer
works, to allow for command-line options in the future.
.. \_issue 989:[https://github.com/nedbat/coveragepy/issues/989](https://togithub.com/nedbat/coveragepy/issues/989)9
.. \_issue 1012[https://github.com/nedbat/coveragepy/issues/1012](https://togithub.com/nedbat/coveragepy/issues/1012)12
.. \_issue 108[https://github.com/nedbat/coveragepy/issues/1082](https://togithub.com/nedbat/coveragepy/issues/1082)082
.. \_issue 12[https://github.com/nedbat/coveragepy/issues/1203](https://togithub.com/nedbat/coveragepy/issues/1203)1203
.. \_changes\_612:
### [`v6.1.2`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-612--2021-11-10)
[Compare Source](https://togithub.com/nedbat/coveragepy/compare/6.1.1...6.1.2)
- Python 3.11 is supported (tested with 3.11.0a2). One still-open issue has to
do with `exits through with-statements `\_.
- Fix: When remapping file paths through the `[paths]` setting while
combining, the `[run] relative_files` setting was ignored, resulting in
absolute paths for remapped file names (`issue 1147`\_). This is now fixed.
- Fix: Complex conditionals over excluded lines could have incorrectly reported
a missing branch (`issue 1271`\_). This is now fixed.
- Fix: More exceptions are now handled when trying to parse source files for
reporting. Problems that used to terminate coverage.py can now be handled
with `[report] ignore_errors`. This helps with plugins failing to read
files (`django_coverage_plugin issue 78`\_).
- Fix: Removed another vestige of jQuery from the source tarball
(`issue 840`\_).
- Fix: Added a default value for a new-to-6.x argument of an internal class.
This unsupported class is being used by coveralls (`issue 1273`\_). Although
I'd rather not "fix" unsupported interfaces, it's actually nicer with a
default value.
.. \_django_coverage_plugin issue 78:[https://github.com/nedbat/django_coverage_plugin/issues/78](https://togithub.com/nedbat/django_coverage_plugin/issues/78)8
.. \_issue 1147[https://github.com/nedbat/coveragepy/issues/1147](https://togithub.com/nedbat/coveragepy/issues/1147)47
.. \_issue 127[https://github.com/nedbat/coveragepy/issues/1270](https://togithub.com/nedbat/coveragepy/issues/1270)270
.. \_issue 12[https://github.com/nedbat/coveragepy/issues/1271](https://togithub.com/nedbat/coveragepy/issues/1271)1271
.. \_issue 1[https://github.com/nedbat/coveragepy/issues/1273](https://togithub.com/nedbat/coveragepy/issues/1273)/1273
.. \_changes\_611:
### [`v6.1.1`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-611--2021-10-31)
[Compare Source](https://togithub.com/nedbat/coveragepy/compare/6.1...6.1.1)
- Fix: The sticky header on the HTML report didn't work unless you had branch
coverage enabled. This is now fixed: the sticky header works for everyone.
(Do people still use coverage without branch measurement!? j/k)
- Fix: When using explicitly declared namespace packages, the "already imported
a file that will be measured" warning would be issued (`issue 888`\_). This
is now fixed.
.. \_issue 888:[https://github.com/nedbat/coveragepy/issues/888](https://togithub.com/nedbat/coveragepy/issues/888)8
.. \_changes\_61:
### [`v6.1`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-612--2021-11-10)
[Compare Source](https://togithub.com/nedbat/coveragepy/compare/6.0.2...6.1)
- Python 3.11 is supported (tested with 3.11.0a2). One still-open issue has to
do with `exits through with-statements `\_.
- Fix: When remapping file paths through the `[paths]` setting while
combining, the `[run] relative_files` setting was ignored, resulting in
absolute paths for remapped file names (`issue 1147`\_). This is now fixed.
- Fix: Complex conditionals over excluded lines could have incorrectly reported
a missing branch (`issue 1271`\_). This is now fixed.
- Fix: More exceptions are now handled when trying to parse source files for
reporting. Problems that used to terminate coverage.py can now be handled
with `[report] ignore_errors`. This helps with plugins failing to read
files (`django_coverage_plugin issue 78`\_).
- Fix: Removed another vestige of jQuery from the source tarball
(`issue 840`\_).
- Fix: Added a default value for a new-to-6.x argument of an internal class.
This unsupported class is being used by coveralls (`issue 1273`\_). Although
I'd rather not "fix" unsupported interfaces, it's actually nicer with a
default value.
.. \_django_coverage_plugin issue 78:[https://github.com/nedbat/django_coverage_plugin/issues/78](https://togithub.com/nedbat/django_coverage_plugin/issues/78)8
.. \_issue 1147[https://github.com/nedbat/coveragepy/issues/1147](https://togithub.com/nedbat/coveragepy/issues/1147)47
.. \_issue 127[https://github.com/nedbat/coveragepy/issues/1270](https://togithub.com/nedbat/coveragepy/issues/1270)270
.. \_issue 12[https://github.com/nedbat/coveragepy/issues/1271](https://togithub.com/nedbat/coveragepy/issues/1271)1271
.. \_issue 1[https://github.com/nedbat/coveragepy/issues/1273](https://togithub.com/nedbat/coveragepy/issues/1273)/1273
.. \_changes\_611:
jamesls/fakeredis
### [`v1.7.1`](https://togithub.com/jamesls/fakeredis/compare/1.7.0...1.7.1)
[Compare Source](https://togithub.com/jamesls/fakeredis/compare/1.7.0...1.7.1)
### [`v1.7.0`](https://togithub.com/jamesls/fakeredis/compare/1.6.1...1.7.0)
[Compare Source](https://togithub.com/jamesls/fakeredis/compare/1.6.1...1.7.0)
tiangolo/fastapi
### [`v0.75.1`](https://togithub.com/tiangolo/fastapi/releases/0.75.1)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.75.0...0.75.1)
##### Translations
- 🌐 Start Dutch translations. PR [#4703](https://togithub.com/tiangolo/fastapi/pull/4703) by [@tiangolo](https://togithub.com/tiangolo).
- 🌐 Start Persian/Farsi translations. PR [#4243](https://togithub.com/tiangolo/fastapi/pull/4243) by [@aminalaee](https://togithub.com/aminalaee).
- ✏ Reword sentence about handling errors. PR [#1993](https://togithub.com/tiangolo/fastapi/pull/1993) by [@khuhroproeza](https://togithub.com/khuhroproeza).
##### Internal
- 👥 Update FastAPI People. PR [#4752](https://togithub.com/tiangolo/fastapi/pull/4752) by [@github-actions\[bot\]](https://togithub.com/apps/github-actions).
- ➖ Temporarily remove typer-cli from dependencies and upgrade Black to unblock Pydantic CI. PR [#4754](https://togithub.com/tiangolo/fastapi/pull/4754) by [@tiangolo](https://togithub.com/tiangolo).
- 🔧 Add configuration to notify Dutch translations. PR [#4702](https://togithub.com/tiangolo/fastapi/pull/4702) by [@tiangolo](https://togithub.com/tiangolo).
- 👥 Update FastAPI People. PR [#4699](https://togithub.com/tiangolo/fastapi/pull/4699) by [@github-actions\[bot\]](https://togithub.com/apps/github-actions).
- 🐛 Fix FastAPI People generation to include missing file in commit. PR [#4695](https://togithub.com/tiangolo/fastapi/pull/4695) by [@tiangolo](https://togithub.com/tiangolo).
- 🔧 Update Classiq sponsor links. PR [#4688](https://togithub.com/tiangolo/fastapi/pull/4688) by [@tiangolo](https://togithub.com/tiangolo).
- 🔧 Add Classiq sponsor. PR [#4671](https://togithub.com/tiangolo/fastapi/pull/4671) by [@tiangolo](https://togithub.com/tiangolo).
- 📝 Add Jina's QA Bot to the docs to help people that want to ask quick questions. PR [#4655](https://togithub.com/tiangolo/fastapi/pull/4655) by [@tiangolo](https://togithub.com/tiangolo) based on original PR [#4626](https://togithub.com/tiangolo/fastapi/pull/4626) by [@hanxiao](https://togithub.com/hanxiao).
### [`v0.75.0`](https://togithub.com/tiangolo/fastapi/releases/0.75.0)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.74.1...0.75.0)
##### Features
- ✨ Add support for custom `generate_unique_id_function` and docs for generating clients. New docs: [Advanced - Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/). PR [#4650](https://togithub.com/tiangolo/fastapi/pull/4650) by [@tiangolo](https://togithub.com/tiangolo).
### [`v0.74.1`](https://togithub.com/tiangolo/fastapi/releases/0.74.1)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.74.0...0.74.1)
##### Features
- ✨ Include route in scope to allow middleware and other tools to extract its information. PR [#4603](https://togithub.com/tiangolo/fastapi/pull/4603) by [@tiangolo](https://togithub.com/tiangolo).
### [`v0.74.0`](https://togithub.com/tiangolo/fastapi/releases/0.74.0)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.73.0...0.74.0)
##### Breaking Changes
- ✨ Update internal `AsyncExitStack` to fix context for dependencies with `yield`. PR [#4575](https://togithub.com/tiangolo/fastapi/pull/4575) by [@tiangolo](https://togithub.com/tiangolo).
Dependencies with `yield` can now catch `HTTPException` and custom exceptions. For example:
```Python
async def get_database():
with Session() as session:
try:
yield session
except HTTPException:
session.rollback()
raise
finally:
session.close()
```
After the dependency with `yield` handles the exception (or not) the exception is raised again. So that any exception handlers can catch it, or ultimately the default internal `ServerErrorMiddleware`.
If you depended on exceptions not being received by dependencies with `yield`, and receiving an exception breaks the code after `yield`, you can use a block with `try` and `finally`:
```Python
async def do_something():
try:
yield something
finally:
some_cleanup()
```
...that way the `finally` block is run regardless of any exception that might happen.
##### Features
- The same PR [#4575](https://togithub.com/tiangolo/fastapi/pull/4575) from above also fixes the `contextvars` context for the code before and after `yield`. This was the main objective of that PR.
This means that now, if you set a value in a context variable before `yield`, the value would still be available after `yield` (as you would intuitively expect). And it also means that you can reset the context variable with a token afterwards.
For example, this works correctly now:
```Python
from contextvars import ContextVar
from typing import Any, Dict, Optional
legacy_request_state_context_var: ContextVar[Optional[Dict[str, Any]]] = ContextVar(
"legacy_request_state_context_var", default=None
)
async def set_up_request_state_dependency():
request_state = {"user": "deadpond"}
contextvar_token = legacy_request_state_context_var.set(request_state)
yield request_state
legacy_request_state_context_var.reset(contextvar_token)
```
...before this change it would raise an error when resetting the context variable, because the `contextvars` context was different, because of the way it was implemented.
**Note**: You probably don't need `contextvars`, and you should probably avoid using them. But they are powerful and useful in some advanced scenarios, for example, migrating from code that used Flask's `g` semi-global variable.
**Technical Details**: If you want to know more of the technical details you can check out the PR description [#4575](https://togithub.com/tiangolo/fastapi/pull/4575).
##### Internal
- 🔧 Add Striveworks sponsor. PR [#4596](https://togithub.com/tiangolo/fastapi/pull/4596) by [@tiangolo](https://togithub.com/tiangolo).
- 💚 Only build docs on push when on master to avoid duplicate runs from PRs. PR [#4564](https://togithub.com/tiangolo/fastapi/pull/4564) by [@tiangolo](https://togithub.com/tiangolo).
- 👥 Update FastAPI People. PR [#4502](https://togithub.com/tiangolo/fastapi/pull/4502) by [@github-actions\[bot\]](https://togithub.com/apps/github-actions).
### [`v0.73.0`](https://togithub.com/tiangolo/fastapi/releases/0.73.0)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.72.0...0.73.0)
##### Features
- ✨ Add support for declaring `UploadFile` parameters without explicit `File()`. PR [#4469](https://togithub.com/tiangolo/fastapi/pull/4469) by [@tiangolo](https://togithub.com/tiangolo). New docs: [Request Files - File Parameters with UploadFile](https://fastapi.tiangolo.com/tutorial/request-files/#file-parameters-with-uploadfile).
- ✨ Add support for tags with Enums. PR [#4468](https://togithub.com/tiangolo/fastapi/pull/4468) by [@tiangolo](https://togithub.com/tiangolo). New docs: [Path Operation Configuration - Tags with Enums](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags-with-enums).
- ✨ Allow hiding from OpenAPI (and Swagger UI) `Query`, `Cookie`, `Header`, and `Path` parameters. PR [#3144](https://togithub.com/tiangolo/fastapi/pull/3144) by [@astraldawn](https://togithub.com/astraldawn). New docs: [Query Parameters and String Validations - Exclude from OpenAPI](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi).
##### Docs
- 📝 Tweak and improve docs for Request Files. PR [#4470](https://togithub.com/tiangolo/fastapi/pull/4470) by [@tiangolo](https://togithub.com/tiangolo).
##### Fixes
- 🐛 Fix bug preventing to use OpenAPI when using tuples. PR [#3874](https://togithub.com/tiangolo/fastapi/pull/3874) by [@victorbenichoux](https://togithub.com/victorbenichoux).
- 🐛 Prefer custom encoder over defaults if specified in `jsonable_encoder`. PR [#2061](https://togithub.com/tiangolo/fastapi/pull/2061) by [@viveksunder](https://togithub.com/viveksunder).
- 💚 Duplicate PR to trigger CI. PR [#4467](https://togithub.com/tiangolo/fastapi/pull/4467) by [@tiangolo](https://togithub.com/tiangolo).
##### Internal
- 🐛 Fix docs dependencies cache, to get the latest Material for MkDocs. PR [#4466](https://togithub.com/tiangolo/fastapi/pull/4466) by [@tiangolo](https://togithub.com/tiangolo).
- 🔧 Add sponsor Dropbase. PR [#4465](https://togithub.com/tiangolo/fastapi/pull/4465) by [@tiangolo](https://togithub.com/tiangolo).
### [`v0.72.0`](https://togithub.com/tiangolo/fastapi/releases/0.72.0)
[Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.71.0...0.72.0)
##### Features
- ✨ Enable configuring Swagger UI parameters. Original PR [#2568](https://togithub.com/tiangolo/fastapi/pull/2568) by [@jmriebold](https://togithub.com/jmriebold). Here are the new docs: [Configuring Swagger UI](https://fastapi.tiangolo.com/advanced/extending-openapi/#configuring-swagger-ui).
##### Docs
- 📝 Update Python Types docs, add missing 3.6 / 3.9 example. PR [#4434](https://togithub.com/tiangolo/fastapi/pull/4434) by [@tiangolo](https://togithub.com/tiangolo).
##### Translations
- 🌐 Update Chinese translation for `docs/help-fastapi.md`. PR [#3847](https://togithub.com/tiangolo/fastapi/pull/3847) by [@jaystone776](https://togithub.com/jaystone776).
- 🌐 Fix Korean translation for `docs/ko/docs/index.md`. PR [#4195](https://togithub.com/tiangolo/fastapi/pull/4195) by [@kty4119](https://togithub.com/kty4119).
- 🌐 Add Polish translation for `docs/pl/docs/index.md`. PR [#4245](https://togithub.com/tiangolo/fastapi/pull/4245) by [@MicroPanda123](https://togithub.com/MicroPanda123).
- 🌐 Add Chinese translation for `docs\tutorial\path-operation-configuration.md`. PR [#3312](https://togithub.com/tiangolo/fastapi/pull/3312) by [@jaystone776](https://togithub.com/jaystone776).
##### Internal
- 🔧 Enable MkDocs Material Insiders' `content.tabs.link`. PR [#4399](https://togithub.com/tiangolo/fastapi/pull/4399) by [@tiangolo](https://togithub.com/tiangolo).
tox-dev/py-filelock
### [`v3.6.0`](https://togithub.com/tox-dev/py-filelock/compare/3.5.1...3.6.0)
[Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.5.1...3.6.0)
### [`v3.5.1`](https://togithub.com/tox-dev/py-filelock/compare/3.5.0...3.5.1)
[Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.5.0...3.5.1)
### [`v3.5.0`](https://togithub.com/tox-dev/py-filelock/compare/3.4.2...3.5.0)
[Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.4.2...3.5.0)
### [`v3.4.2`](https://togithub.com/tox-dev/py-filelock/compare/3.4.1...3.4.2)
[Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.4.1...3.4.2)
### [`v3.4.1`](https://togithub.com/tox-dev/py-filelock/compare/3.4.0...3.4.1)
[Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.4.0...3.4.1)
### [`v3.4.0`](https://togithub.com/tox-dev/py-filelock/compare/3.3.2...3.4.0)
[Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.3.2...3.4.0)
isagalaev/highlight.js
### [`v11.5.0`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1150)
[Compare Source](https://togithub.com/isagalaev/highlight.js/compare/11.4.0...11.5.0)
Themes:
- Added `Tokyo-Night-dark` theme [Henri Vandersleyen][]
- Added `Tokyo-Night-light` theme [Henri Vandersleyen][]
- Added `panda-syntax-dark` theme [Annmarie Switzer][]
- Added `panda-syntax-light` theme [Annmarie Switzer][]
New Grammars:
- Added GraphQL to SUPPORTED_LANGUAGES [John Foster][]
- Added Macaulay2 to SUPPORTED_LANGUAGES [Doug Torrance][]
Grammars:
- enh(ruby) lots of small Ruby cleanups/improvements [Josh Goebel][]
- enh(objectivec) add `type` and `variable.language` scopes [Josh Goebel][]
- enh(xml) support processing instructions ([#3492](https://togithub.com/isagalaev/highlight.js/issues/3492)) [Josh Goebel][]
- enh(ruby ) better support multi-line IRB prompts
- enh(bash) improved keyword `$pattern` (numbers allowed in command names) [Martin Mattel][]
- add `meta.prompt` scope for REPL prompts, etc [Josh Goebel][]
- fix(markdown) Handle `***Hello world***` without breaking [Josh Goebel][]
- enh(php) add support for PHP Attributes [Wojciech Kania][]
- fix(java) prevent false positive variable init on `else` [Josh Goebel][]
- enh(php) named arguments [Wojciech Kania][]
- fix(php) PHP constants [Wojciech Kania][]
- fix(angelscript) incomplete int8, int16, int32, int64 highlighting [Melissa Geels][]
- enh(ts) modify TypeScript-specific keywords and types list [anydonym][]
- fix(brainfuck) fix highlighting of initial ++/-- [Christina Hanson][]
- fix(llvm) escaping in strings and number formats [Flakebi][]
- enh(elixir) recognize references to modules [Mark Ericksen][]
- enh(css): add support for more properties [Nicolaos Skimas][]
[Martin Mattel]: https://togithub.com/mmattel
[John Foster]: https://togithub.com/jf990
[Wojciech Kania]: https://togithub.com/wkania
[Melissa Geels]: https://togithub.com/codecat
[anydonym]: https://togithub.com/anydonym
[henri Vandersleyen]: https://togithub.com/Vanderscycle
[Christina Hanson]: https://togithub.com/LyricLy
[Flakebi]: https://togithub.com/Flakebi
[Josh Goebel]: https://togithub.com/joshgoebel
[Mark Ericksen]: https://togithub.com/brainlid
[Nicolaos Skimas]: https://togithub.com/dev-nicolaos
[Doug Torrance]: https://togithub.com/d-torrance
[Annmarie Switzer]: https://togithub.com/annmarie-switzer
encode/httpx
### [`v0.22.0`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0220-26th-January-2022)
[Compare Source](https://togithub.com/encode/httpx/compare/0.21.3...0.22.0)
##### Added
- Support for [the SOCKS5 proxy protocol](https://www.python-httpx.org/advanced/#socks) via [the `socksio` package](https://togithub.com/sethmlarson/socksio). ([#2034](https://togithub.com/encode/httpx/issues/2034))
- Support for custom headers in multipart/form-data requests ([#1936](https://togithub.com/encode/httpx/issues/1936))
##### Fixed
- Don't perform unreliable close/warning on `__del__` with unclosed clients. ([#2026](https://togithub.com/encode/httpx/issues/2026))
- Fix `Headers.update(...)` to correctly handle repeated headers ([#2038](https://togithub.com/encode/httpx/issues/2038))
### [`v0.21.3`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0213-6th-January-2022)
[Compare Source](https://togithub.com/encode/httpx/compare/0.21.2...0.21.3)
##### Fixed
- Fix streaming uploads using `SyncByteStream` or `AsyncByteStream`. Regression in 0.21.2. ([#2016](https://togithub.com/encode/httpx/issues/2016))
### [`v0.21.2`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0212-5th-January-2022)
[Compare Source](https://togithub.com/encode/httpx/compare/0.21.1...0.21.2)
##### Fixed
- HTTP/2 support for tunnelled proxy cases. ([#2009](https://togithub.com/encode/httpx/issues/2009))
- Improved the speed of large file uploads. ([#1948](https://togithub.com/encode/httpx/issues/1948))
### [`v0.21.1`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0211-16th-November-2021)
[Compare Source](https://togithub.com/encode/httpx/compare/0.21.0...0.21.1)
##### Fixed
- The `response.url` property is now correctly annotated as `URL`, instead of `Optional[URL]`. ([#1940](https://togithub.com/encode/httpx/issues/1940))
### [`v0.21.0`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0210-15th-November-2021)
[Compare Source](https://togithub.com/encode/httpx/compare/0.20.0...0.21.0)
The 0.21.0 release integrates against a newly redesigned `httpcore` backend.
Both packages ought to automatically update to the required versions, but if you are
seeing any issues, you should ensure that you have `httpx==0.21.*` and `httpcore==0.14.*` installed.
##### Added
- The command-line client will now display connection information when `-v/--verbose` is used.
- The command-line client will now display server certificate information when `-v/--verbose` is used.
- The command-line client is now able to properly detect if the outgoing request
should be formatted as HTTP/1.1 or HTTP/2, based on the result of the HTTP/2 negotiation.
##### Removed
- Curio support is no longer currently included. Please get in touch if you require this, so that we can assess priorities.
pycqa/isort
### [`v5.10.1`](https://togithub.com/pycqa/isort/blob/HEAD/CHANGELOG.md#5101-November-8-2021)
[Compare Source](https://togithub.com/pycqa/isort/compare/5.10.0...5.10.1)
- Fixed [#1819](https://togithub.com/pycqa/isort/issues/1819): Occasional inconsistency with multiple src paths.
- Fixed [#1840](https://togithub.com/pycqa/isort/issues/1840): skip_file ignored when on the first docstring line
### [`v5.10.0`](https://togithub.com/pycqa/isort/blob/HEAD/CHANGELOG.md#5100-November-3-2021)
[Compare Source](https://togithub.com/pycqa/isort/compare/5.9.3...5.10.0)
- Implemented [#1796](https://togithub.com/pycqa/isort/issues/1796): Switch to `tomli` for pyproject.toml configuration loader.
- Fixed [#1801](https://togithub.com/pycqa/isort/issues/1801): CLI bug (--exend-skip-glob, overrides instead of extending).
- Fixed [#1802](https://togithub.com/pycqa/isort/issues/1802): respect PATH customization in nested calls to git.
- Fixed [#1838](https://togithub.com/pycqa/isort/issues/1838): Append only with certain code snippets incorrectly adds imports.
- Added official support for Python 3.10
##### Potentially breaking changes:
- Fixed [#1785](https://togithub.com/pycqa/isort/issues/1785): `_ast` module incorrectly excluded from stdlib definition.
lxml/lxml
### [`v4.8.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#480-2022-02-17)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.7.1...lxml-4.8.0)
\==================
## Features added
- [GH#337](https://togithub.com/GH/lxml/issues/337): Path-like objects are now supported throughout the API instead of just strings.
Patch by Henning Janssen.
- The `ElementMaker` now supports `QName` values as tags, which always override
the default namespace of the factory.
## Bugs fixed
- [GH#338](https://togithub.com/GH/lxml/issues/338): In lxml.objectify, the XSI float annotation "nan" and "inf" were spelled in
lower case, whereas XML Schema datatypes define them as "NaN" and "INF" respectively.
Patch by Tobias Deiminger.
## Other changes
- Built with Cython 0.29.28.
### [`v4.7.1`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#471-2021-12-13)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.7.0...lxml-4.7.1)
\==================
## Features added
- Chunked Unicode string parsing via `parser.feed()` now encodes the input data
to the native UTF-8 encoding directly, instead of going through `Py_UNICODE` /
`wchar_t` encoding first, which previously required duplicate recoding in most cases.
## Bugs fixed
- The standard namespace prefixes were mishandled during "C14N2" serialisation on Python 3.
See https://mail.python.org/archives/list/lxml@python.org/thread/6ZFBHFOVHOS5GFDOAMPCT6HM5HZPWQ4Q/
- `lxml.objectify` previously accepted non-XML numbers with underscores (like "1\_000")
as integers or float values in Python 3.6 and later. It now adheres to the number
format of the XML spec again.
- [LP#1939031](https://togithub.com/LP/lxml/issues/1939031): Static wheels of lxml now contain the header files of zlib and libiconv
(in addition to the already provided headers of libxml2/libxslt/libexslt).
## Other changes
- Wheels include libxml2 2.9.12+ and libxslt 1.1.34 (also on Windows).
### [`v4.7.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#470-2021-12-13)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.5...lxml-4.7.0)
\==================
- Release retracted due to missing files in lxml/includes/.
### [`v4.6.5`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#465-2021-12-12)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.4...lxml-4.6.5)
\==================
## Bugs fixed
- A vulnerability (GHSL-2021-1038) in the HTML cleaner allowed sneaking script
content through SVG images (CVE-2021-43818).
- A vulnerability (GHSL-2021-1037) in the HTML cleaner allowed sneaking script
content through CSS imports and other crafted constructs (CVE-2021-43818).
### [`v4.6.4`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#464-2021-11-01)
[Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.3...lxml-4.6.4)
\==================
## Features added
- [GH#317](https://togithub.com/GH/lxml/issues/317): A new property `system_url` was added to DTD entities.
Patch by Thirdegree.
- [GH#314](https://togithub.com/GH/lxml/issues/314): The `STATIC_*` variables in `setup.py` can now be passed via env vars.
Patch by Isaac Jurado.
PyMySQL/mysqlclient
### [`v2.1.0`](https://togithub.com/PyMySQL/mysqlclient/releases/v2.1.0)
[Compare Source](https://togithub.com/PyMySQL/mysqlclient/compare/v2.0.3...v2.1.0)
#### What's Changed
- Use unittest.mock instead of mock by [@methane](https://togithub.com/methane) in https://github.com/PyMySQL/mysqlclient/pull/469
- Actions: Fix pytest args. by [@methane](https://togithub.com/methane) in https://github.com/PyMySQL/mysqlclient/pull/470
- Actions: Fix measuring coverage by [@methane](https://togithub.com/methane) in https://github.com/PyMySQL/mysqlclient/pull/471
- Let multi statements be optional by [@simlun](https://togithub.com/simlun) in https://github.com/PyMySQL/mysqlclient/pull/500
- Remove bytes encoder that was specifically for Django 1.11 by [@rsiemens](https://togithub.com/rsiemens) in https://github.com/PyMySQL/mysqlclient/pull/490
- update remnants of passwd and db also in docs by [@ziegenberg](https://togithub.com/ziegenberg) in https://github.com/PyMySQL/mysqlclient/pull/488
- Better support for building on Windows by [@sparkyb](https://togithub
Configuration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, click this checkbox.
This PR contains the following updates:
==0.15.5
->==1.0.0
==0.11.2
->==0.13.2
==3.0.2
->==3.1.1
==1.4.26
->==1.4.34
==2.0.2
->==2.1.1
==0.7.0
->==0.8.0
==1.7.4
->==1.7.7
==3.4.1
->==3.5.0
==22.1.0
->==22.3.0
==6.0.2
->==6.3.2
==1.6.1
->==1.7.1
==0.71.0
->==0.75.1
==3.3.2
->==3.6.0
11.4.0
->11.5.0
==0.20.0
->==0.22.0
==5.9.3
->==5.10.1
==2.0.1
->==2.1.2
==4.6.3
->==4.8.0
==2.0.3
->==2.1.0
==3.6.4
->==3.6.7
==3.19.0
->==3.20.0
==1.7.0
->==1.9.1
==6.2.5
->==7.1.1
==0.16.0
->==0.18.3
==3.2
->==3.3
==2.4.0
->==2.5.0
==3.5.3
->==4.2.1
==2.26.0
->==2.27.1
==0.15.0
->==0.17.6
Release Notes
pgjones/hypercorn
### [`v0.13.2`](https://gitlab.com/pgjones/hypercorn/blob/HEAD/CHANGELOG.rst#0132-2021-12-23) [Compare Source](https://gitlab.com/pgjones/hypercorn/compare/0.13.1...0.13.2) - Bugfix re-enable HTTP/3. ### [`v0.13.1`](https://gitlab.com/pgjones/hypercorn/blob/HEAD/CHANGELOG.rst#0131-2021-12-16) [Compare Source](https://gitlab.com/pgjones/hypercorn/compare/0.13.0...0.13.1) - Bugfix trio tcp server read completion. ### [`v0.13.0`](https://gitlab.com/pgjones/hypercorn/blob/HEAD/CHANGELOG.rst#0130-2021-12-14) [Compare Source](https://gitlab.com/pgjones/hypercorn/compare/0.12.0...0.13.0) - Bugfix eof and keep alive handling. - Bugfix Handle SSLErrors when reading. - Support websocket close reasons. - Improve the graceful shutdown, such that it works as expected. - Support a keyfile password argument. - Change the logging level to warning for lifespan not supported. - Shutdown the default executor. - Support additional headers for WS accept response. ### [`v0.12.0`](https://gitlab.com/pgjones/hypercorn/blob/HEAD/CHANGELOG.rst#0120-2021-11-08) [Compare Source](https://gitlab.com/pgjones/hypercorn/compare/0.11.2...0.12.0) - Correctly utilise SCRIPT_NAME in the wsgi middleware. - Support Python 3.10. - Support badly behaved HTTP/2 clients that omit a :authority header but provide a host header. - Use environment marker for uvloop (on windows). - Use StringIO and BytesIO for more performant websocket buffers. - Add optional read timeout. - Rename errors to add a `Error` suffix, most notably `LifespanFailure` to `LifespanFailureError`. - Bugfix ensure keep alive timeout is cancelled on closure. - Bugfix statsd type error. - Bugfix prevent spawning whilst a task group is exit(ing).django/asgiref
### [`v3.5.0`](https://togithub.com/django/asgiref/blob/HEAD/CHANGELOG.txt#350-2022-01-22) [Compare Source](https://togithub.com/django/asgiref/compare/3.4.1...3.5.0) - Python 3.6 is no longer supported, and asyncio calls have been changed to use only the modern versions of the APIs as a result - Several causes of RuntimeErrors in cases where an event loop was assigned to a thread but not running - Speed improvements in the Local classpsf/black
### [`v22.3.0`](https://togithub.com/psf/black/blob/HEAD/CHANGES.md#2230) [Compare Source](https://togithub.com/psf/black/compare/22.1.0...22.3.0) ##### Preview style - Code cell separators `#%%` are now standardised to `# %%` ([#2919](https://togithub.com/psf/black/issues/2919)) - Remove unnecessary parentheses from `except` statements ([#2939](https://togithub.com/psf/black/issues/2939)) - Remove unnecessary parentheses from tuple unpacking in `for` loops ([#2945](https://togithub.com/psf/black/issues/2945)) - Avoid magic-trailing-comma in single-element subscripts ([#2942](https://togithub.com/psf/black/issues/2942)) ##### Configuration - Do not format `__pypackages__` directories by default ([#2836](https://togithub.com/psf/black/issues/2836)) - Add support for specifying stable version with `--required-version` ([#2832](https://togithub.com/psf/black/issues/2832)). - Avoid crashing when the user has no homedir ([#2814](https://togithub.com/psf/black/issues/2814)) - Avoid crashing when md5 is not available ([#2905](https://togithub.com/psf/black/issues/2905)) - Fix handling of directory junctions on Windows ([#2904](https://togithub.com/psf/black/issues/2904)) ##### Documentation - Update pylint config documentation ([#2931](https://togithub.com/psf/black/issues/2931)) ##### Integrations - Move test to disable plugin in Vim/Neovim, which speeds up loading ([#2896](https://togithub.com/psf/black/issues/2896)) ##### Output - In verbose, mode, log when *Black* is using user-level config ([#2861](https://togithub.com/psf/black/issues/2861)) ##### Packaging - Fix Black to work with Click 8.1.0 ([#2966](https://togithub.com/psf/black/issues/2966)) - On Python 3.11 and newer, use the standard library's `tomllib` instead of `tomli` ([#2903](https://togithub.com/psf/black/issues/2903)) - `black-primer`, the deprecated internal devtool, has been removed and copied to a [separate repository](https://togithub.com/cooperlees/black-primer) ([#2924](https://togithub.com/psf/black/issues/2924)) ##### Parser - Black can now parse starred expressions in the target of `for` and `async for` statements, e.g `for item in *items_1, *items_2: pass` ([#2879](https://togithub.com/psf/black/issues/2879)).nedbat/coveragepy
### [`v6.3.2`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-632--2022-02-20) [Compare Source](https://togithub.com/nedbat/coveragepy/compare/6.3.1...6.3.2) - Fix: adapt to pypy3.9's decorator tracing behavior. It now traces function decorators like CPython 3.8: both the @-line and the def-line are traced. Fixes `issue 1326`\_. - Debug: added `pybehave` to the list of :ref:`cmd_debug` and :ref:`cmd_run_debug` options. - Fix: show an intelligible error message if `--concurrency=multiprocessing` is used without a configuration file. Closes `issue 1320`\_. .. \_issue 1320:[https://github.com/nedbat/coveragepy/issues/1320](https://togithub.com/nedbat/coveragepy/issues/1320)0 .. \_issue 1326[https://github.com/nedbat/coveragepy/issues/1326](https://togithub.com/nedbat/coveragepy/issues/1326)26 .. \_changes\_631: ### [`v6.3.1`](https://togithub.com/nedbat/coveragepy/blob/HEAD/CHANGES.rst#Version-631--2022-02-01) [Compare Source](https://togithub.com/nedbat/coveragepy/compare/6.3...6.3.1) - Fix: deadlocks could occur when terminating processes. Some of these deadlocks (described in `issue 1310`\_) are now fixed. - Fix: a signal handler was being set from multiple threads, causing an error: "ValueError: signal only works in main thread". This is now fixed, closing `issue 1312`\_. - Fix: `--precision` on the command-line was being ignored while considering `--fail-under`. This is now fixed, thanks to `Marcelo Trylesinskijamesls/fakeredis
### [`v1.7.1`](https://togithub.com/jamesls/fakeredis/compare/1.7.0...1.7.1) [Compare Source](https://togithub.com/jamesls/fakeredis/compare/1.7.0...1.7.1) ### [`v1.7.0`](https://togithub.com/jamesls/fakeredis/compare/1.6.1...1.7.0) [Compare Source](https://togithub.com/jamesls/fakeredis/compare/1.6.1...1.7.0)tiangolo/fastapi
### [`v0.75.1`](https://togithub.com/tiangolo/fastapi/releases/0.75.1) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.75.0...0.75.1) ##### Translations - 🌐 Start Dutch translations. PR [#4703](https://togithub.com/tiangolo/fastapi/pull/4703) by [@tiangolo](https://togithub.com/tiangolo). - 🌐 Start Persian/Farsi translations. PR [#4243](https://togithub.com/tiangolo/fastapi/pull/4243) by [@aminalaee](https://togithub.com/aminalaee). - ✏ Reword sentence about handling errors. PR [#1993](https://togithub.com/tiangolo/fastapi/pull/1993) by [@khuhroproeza](https://togithub.com/khuhroproeza). ##### Internal - 👥 Update FastAPI People. PR [#4752](https://togithub.com/tiangolo/fastapi/pull/4752) by [@github-actions\[bot\]](https://togithub.com/apps/github-actions). - ➖ Temporarily remove typer-cli from dependencies and upgrade Black to unblock Pydantic CI. PR [#4754](https://togithub.com/tiangolo/fastapi/pull/4754) by [@tiangolo](https://togithub.com/tiangolo). - 🔧 Add configuration to notify Dutch translations. PR [#4702](https://togithub.com/tiangolo/fastapi/pull/4702) by [@tiangolo](https://togithub.com/tiangolo). - 👥 Update FastAPI People. PR [#4699](https://togithub.com/tiangolo/fastapi/pull/4699) by [@github-actions\[bot\]](https://togithub.com/apps/github-actions). - 🐛 Fix FastAPI People generation to include missing file in commit. PR [#4695](https://togithub.com/tiangolo/fastapi/pull/4695) by [@tiangolo](https://togithub.com/tiangolo). - 🔧 Update Classiq sponsor links. PR [#4688](https://togithub.com/tiangolo/fastapi/pull/4688) by [@tiangolo](https://togithub.com/tiangolo). - 🔧 Add Classiq sponsor. PR [#4671](https://togithub.com/tiangolo/fastapi/pull/4671) by [@tiangolo](https://togithub.com/tiangolo). - 📝 Add Jina's QA Bot to the docs to help people that want to ask quick questions. PR [#4655](https://togithub.com/tiangolo/fastapi/pull/4655) by [@tiangolo](https://togithub.com/tiangolo) based on original PR [#4626](https://togithub.com/tiangolo/fastapi/pull/4626) by [@hanxiao](https://togithub.com/hanxiao). ### [`v0.75.0`](https://togithub.com/tiangolo/fastapi/releases/0.75.0) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.74.1...0.75.0) ##### Features - ✨ Add support for custom `generate_unique_id_function` and docs for generating clients. New docs: [Advanced - Generate Clients](https://fastapi.tiangolo.com/advanced/generate-clients/). PR [#4650](https://togithub.com/tiangolo/fastapi/pull/4650) by [@tiangolo](https://togithub.com/tiangolo). ### [`v0.74.1`](https://togithub.com/tiangolo/fastapi/releases/0.74.1) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.74.0...0.74.1) ##### Features - ✨ Include route in scope to allow middleware and other tools to extract its information. PR [#4603](https://togithub.com/tiangolo/fastapi/pull/4603) by [@tiangolo](https://togithub.com/tiangolo). ### [`v0.74.0`](https://togithub.com/tiangolo/fastapi/releases/0.74.0) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.73.0...0.74.0) ##### Breaking Changes - ✨ Update internal `AsyncExitStack` to fix context for dependencies with `yield`. PR [#4575](https://togithub.com/tiangolo/fastapi/pull/4575) by [@tiangolo](https://togithub.com/tiangolo). Dependencies with `yield` can now catch `HTTPException` and custom exceptions. For example: ```Python async def get_database(): with Session() as session: try: yield session except HTTPException: session.rollback() raise finally: session.close() ``` After the dependency with `yield` handles the exception (or not) the exception is raised again. So that any exception handlers can catch it, or ultimately the default internal `ServerErrorMiddleware`. If you depended on exceptions not being received by dependencies with `yield`, and receiving an exception breaks the code after `yield`, you can use a block with `try` and `finally`: ```Python async def do_something(): try: yield something finally: some_cleanup() ``` ...that way the `finally` block is run regardless of any exception that might happen. ##### Features - The same PR [#4575](https://togithub.com/tiangolo/fastapi/pull/4575) from above also fixes the `contextvars` context for the code before and after `yield`. This was the main objective of that PR. This means that now, if you set a value in a context variable before `yield`, the value would still be available after `yield` (as you would intuitively expect). And it also means that you can reset the context variable with a token afterwards. For example, this works correctly now: ```Python from contextvars import ContextVar from typing import Any, Dict, Optional legacy_request_state_context_var: ContextVar[Optional[Dict[str, Any]]] = ContextVar( "legacy_request_state_context_var", default=None ) async def set_up_request_state_dependency(): request_state = {"user": "deadpond"} contextvar_token = legacy_request_state_context_var.set(request_state) yield request_state legacy_request_state_context_var.reset(contextvar_token) ``` ...before this change it would raise an error when resetting the context variable, because the `contextvars` context was different, because of the way it was implemented. **Note**: You probably don't need `contextvars`, and you should probably avoid using them. But they are powerful and useful in some advanced scenarios, for example, migrating from code that used Flask's `g` semi-global variable. **Technical Details**: If you want to know more of the technical details you can check out the PR description [#4575](https://togithub.com/tiangolo/fastapi/pull/4575). ##### Internal - 🔧 Add Striveworks sponsor. PR [#4596](https://togithub.com/tiangolo/fastapi/pull/4596) by [@tiangolo](https://togithub.com/tiangolo). - 💚 Only build docs on push when on master to avoid duplicate runs from PRs. PR [#4564](https://togithub.com/tiangolo/fastapi/pull/4564) by [@tiangolo](https://togithub.com/tiangolo). - 👥 Update FastAPI People. PR [#4502](https://togithub.com/tiangolo/fastapi/pull/4502) by [@github-actions\[bot\]](https://togithub.com/apps/github-actions). ### [`v0.73.0`](https://togithub.com/tiangolo/fastapi/releases/0.73.0) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.72.0...0.73.0) ##### Features - ✨ Add support for declaring `UploadFile` parameters without explicit `File()`. PR [#4469](https://togithub.com/tiangolo/fastapi/pull/4469) by [@tiangolo](https://togithub.com/tiangolo). New docs: [Request Files - File Parameters with UploadFile](https://fastapi.tiangolo.com/tutorial/request-files/#file-parameters-with-uploadfile). - ✨ Add support for tags with Enums. PR [#4468](https://togithub.com/tiangolo/fastapi/pull/4468) by [@tiangolo](https://togithub.com/tiangolo). New docs: [Path Operation Configuration - Tags with Enums](https://fastapi.tiangolo.com/tutorial/path-operation-configuration/#tags-with-enums). - ✨ Allow hiding from OpenAPI (and Swagger UI) `Query`, `Cookie`, `Header`, and `Path` parameters. PR [#3144](https://togithub.com/tiangolo/fastapi/pull/3144) by [@astraldawn](https://togithub.com/astraldawn). New docs: [Query Parameters and String Validations - Exclude from OpenAPI](https://fastapi.tiangolo.com/tutorial/query-params-str-validations/#exclude-from-openapi). ##### Docs - 📝 Tweak and improve docs for Request Files. PR [#4470](https://togithub.com/tiangolo/fastapi/pull/4470) by [@tiangolo](https://togithub.com/tiangolo). ##### Fixes - 🐛 Fix bug preventing to use OpenAPI when using tuples. PR [#3874](https://togithub.com/tiangolo/fastapi/pull/3874) by [@victorbenichoux](https://togithub.com/victorbenichoux). - 🐛 Prefer custom encoder over defaults if specified in `jsonable_encoder`. PR [#2061](https://togithub.com/tiangolo/fastapi/pull/2061) by [@viveksunder](https://togithub.com/viveksunder). - 💚 Duplicate PR to trigger CI. PR [#4467](https://togithub.com/tiangolo/fastapi/pull/4467) by [@tiangolo](https://togithub.com/tiangolo). ##### Internal - 🐛 Fix docs dependencies cache, to get the latest Material for MkDocs. PR [#4466](https://togithub.com/tiangolo/fastapi/pull/4466) by [@tiangolo](https://togithub.com/tiangolo). - 🔧 Add sponsor Dropbase. PR [#4465](https://togithub.com/tiangolo/fastapi/pull/4465) by [@tiangolo](https://togithub.com/tiangolo). ### [`v0.72.0`](https://togithub.com/tiangolo/fastapi/releases/0.72.0) [Compare Source](https://togithub.com/tiangolo/fastapi/compare/0.71.0...0.72.0) ##### Features - ✨ Enable configuring Swagger UI parameters. Original PR [#2568](https://togithub.com/tiangolo/fastapi/pull/2568) by [@jmriebold](https://togithub.com/jmriebold). Here are the new docs: [Configuring Swagger UI](https://fastapi.tiangolo.com/advanced/extending-openapi/#configuring-swagger-ui). ##### Docs - 📝 Update Python Types docs, add missing 3.6 / 3.9 example. PR [#4434](https://togithub.com/tiangolo/fastapi/pull/4434) by [@tiangolo](https://togithub.com/tiangolo). ##### Translations - 🌐 Update Chinese translation for `docs/help-fastapi.md`. PR [#3847](https://togithub.com/tiangolo/fastapi/pull/3847) by [@jaystone776](https://togithub.com/jaystone776). - 🌐 Fix Korean translation for `docs/ko/docs/index.md`. PR [#4195](https://togithub.com/tiangolo/fastapi/pull/4195) by [@kty4119](https://togithub.com/kty4119). - 🌐 Add Polish translation for `docs/pl/docs/index.md`. PR [#4245](https://togithub.com/tiangolo/fastapi/pull/4245) by [@MicroPanda123](https://togithub.com/MicroPanda123). - 🌐 Add Chinese translation for `docs\tutorial\path-operation-configuration.md`. PR [#3312](https://togithub.com/tiangolo/fastapi/pull/3312) by [@jaystone776](https://togithub.com/jaystone776). ##### Internal - 🔧 Enable MkDocs Material Insiders' `content.tabs.link`. PR [#4399](https://togithub.com/tiangolo/fastapi/pull/4399) by [@tiangolo](https://togithub.com/tiangolo).tox-dev/py-filelock
### [`v3.6.0`](https://togithub.com/tox-dev/py-filelock/compare/3.5.1...3.6.0) [Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.5.1...3.6.0) ### [`v3.5.1`](https://togithub.com/tox-dev/py-filelock/compare/3.5.0...3.5.1) [Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.5.0...3.5.1) ### [`v3.5.0`](https://togithub.com/tox-dev/py-filelock/compare/3.4.2...3.5.0) [Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.4.2...3.5.0) ### [`v3.4.2`](https://togithub.com/tox-dev/py-filelock/compare/3.4.1...3.4.2) [Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.4.1...3.4.2) ### [`v3.4.1`](https://togithub.com/tox-dev/py-filelock/compare/3.4.0...3.4.1) [Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.4.0...3.4.1) ### [`v3.4.0`](https://togithub.com/tox-dev/py-filelock/compare/3.3.2...3.4.0) [Compare Source](https://togithub.com/tox-dev/py-filelock/compare/3.3.2...3.4.0)isagalaev/highlight.js
### [`v11.5.0`](https://togithub.com/isagalaev/highlight.js/blob/HEAD/CHANGES.md#Version-1150) [Compare Source](https://togithub.com/isagalaev/highlight.js/compare/11.4.0...11.5.0) Themes: - Added `Tokyo-Night-dark` theme [Henri Vandersleyen][] - Added `Tokyo-Night-light` theme [Henri Vandersleyen][] - Added `panda-syntax-dark` theme [Annmarie Switzer][] - Added `panda-syntax-light` theme [Annmarie Switzer][] New Grammars: - Added GraphQL to SUPPORTED_LANGUAGES [John Foster][] - Added Macaulay2 to SUPPORTED_LANGUAGES [Doug Torrance][] Grammars: - enh(ruby) lots of small Ruby cleanups/improvements [Josh Goebel][] - enh(objectivec) add `type` and `variable.language` scopes [Josh Goebel][] - enh(xml) support processing instructions ([#3492](https://togithub.com/isagalaev/highlight.js/issues/3492)) [Josh Goebel][] - enh(ruby ) better support multi-line IRB prompts - enh(bash) improved keyword `$pattern` (numbers allowed in command names) [Martin Mattel][] - add `meta.prompt` scope for REPL prompts, etc [Josh Goebel][] - fix(markdown) Handle `***Hello world***` without breaking [Josh Goebel][] - enh(php) add support for PHP Attributes [Wojciech Kania][] - fix(java) prevent false positive variable init on `else` [Josh Goebel][] - enh(php) named arguments [Wojciech Kania][] - fix(php) PHP constants [Wojciech Kania][] - fix(angelscript) incomplete int8, int16, int32, int64 highlighting [Melissa Geels][] - enh(ts) modify TypeScript-specific keywords and types list [anydonym][] - fix(brainfuck) fix highlighting of initial ++/-- [Christina Hanson][] - fix(llvm) escaping in strings and number formats [Flakebi][] - enh(elixir) recognize references to modules [Mark Ericksen][] - enh(css): add support for more properties [Nicolaos Skimas][] [Martin Mattel]: https://togithub.com/mmattel [John Foster]: https://togithub.com/jf990 [Wojciech Kania]: https://togithub.com/wkania [Melissa Geels]: https://togithub.com/codecat [anydonym]: https://togithub.com/anydonym [henri Vandersleyen]: https://togithub.com/Vanderscycle [Christina Hanson]: https://togithub.com/LyricLy [Flakebi]: https://togithub.com/Flakebi [Josh Goebel]: https://togithub.com/joshgoebel [Mark Ericksen]: https://togithub.com/brainlid [Nicolaos Skimas]: https://togithub.com/dev-nicolaos [Doug Torrance]: https://togithub.com/d-torrance [Annmarie Switzer]: https://togithub.com/annmarie-switzerencode/httpx
### [`v0.22.0`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0220-26th-January-2022) [Compare Source](https://togithub.com/encode/httpx/compare/0.21.3...0.22.0) ##### Added - Support for [the SOCKS5 proxy protocol](https://www.python-httpx.org/advanced/#socks) via [the `socksio` package](https://togithub.com/sethmlarson/socksio). ([#2034](https://togithub.com/encode/httpx/issues/2034)) - Support for custom headers in multipart/form-data requests ([#1936](https://togithub.com/encode/httpx/issues/1936)) ##### Fixed - Don't perform unreliable close/warning on `__del__` with unclosed clients. ([#2026](https://togithub.com/encode/httpx/issues/2026)) - Fix `Headers.update(...)` to correctly handle repeated headers ([#2038](https://togithub.com/encode/httpx/issues/2038)) ### [`v0.21.3`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0213-6th-January-2022) [Compare Source](https://togithub.com/encode/httpx/compare/0.21.2...0.21.3) ##### Fixed - Fix streaming uploads using `SyncByteStream` or `AsyncByteStream`. Regression in 0.21.2. ([#2016](https://togithub.com/encode/httpx/issues/2016)) ### [`v0.21.2`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0212-5th-January-2022) [Compare Source](https://togithub.com/encode/httpx/compare/0.21.1...0.21.2) ##### Fixed - HTTP/2 support for tunnelled proxy cases. ([#2009](https://togithub.com/encode/httpx/issues/2009)) - Improved the speed of large file uploads. ([#1948](https://togithub.com/encode/httpx/issues/1948)) ### [`v0.21.1`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0211-16th-November-2021) [Compare Source](https://togithub.com/encode/httpx/compare/0.21.0...0.21.1) ##### Fixed - The `response.url` property is now correctly annotated as `URL`, instead of `Optional[URL]`. ([#1940](https://togithub.com/encode/httpx/issues/1940)) ### [`v0.21.0`](https://togithub.com/encode/httpx/blob/HEAD/CHANGELOG.md#0210-15th-November-2021) [Compare Source](https://togithub.com/encode/httpx/compare/0.20.0...0.21.0) The 0.21.0 release integrates against a newly redesigned `httpcore` backend. Both packages ought to automatically update to the required versions, but if you are seeing any issues, you should ensure that you have `httpx==0.21.*` and `httpcore==0.14.*` installed. ##### Added - The command-line client will now display connection information when `-v/--verbose` is used. - The command-line client will now display server certificate information when `-v/--verbose` is used. - The command-line client is now able to properly detect if the outgoing request should be formatted as HTTP/1.1 or HTTP/2, based on the result of the HTTP/2 negotiation. ##### Removed - Curio support is no longer currently included. Please get in touch if you require this, so that we can assess priorities.pycqa/isort
### [`v5.10.1`](https://togithub.com/pycqa/isort/blob/HEAD/CHANGELOG.md#5101-November-8-2021) [Compare Source](https://togithub.com/pycqa/isort/compare/5.10.0...5.10.1) - Fixed [#1819](https://togithub.com/pycqa/isort/issues/1819): Occasional inconsistency with multiple src paths. - Fixed [#1840](https://togithub.com/pycqa/isort/issues/1840): skip_file ignored when on the first docstring line ### [`v5.10.0`](https://togithub.com/pycqa/isort/blob/HEAD/CHANGELOG.md#5100-November-3-2021) [Compare Source](https://togithub.com/pycqa/isort/compare/5.9.3...5.10.0) - Implemented [#1796](https://togithub.com/pycqa/isort/issues/1796): Switch to `tomli` for pyproject.toml configuration loader. - Fixed [#1801](https://togithub.com/pycqa/isort/issues/1801): CLI bug (--exend-skip-glob, overrides instead of extending). - Fixed [#1802](https://togithub.com/pycqa/isort/issues/1802): respect PATH customization in nested calls to git. - Fixed [#1838](https://togithub.com/pycqa/isort/issues/1838): Append only with certain code snippets incorrectly adds imports. - Added official support for Python 3.10 ##### Potentially breaking changes: - Fixed [#1785](https://togithub.com/pycqa/isort/issues/1785): `_ast` module incorrectly excluded from stdlib definition.lxml/lxml
### [`v4.8.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#480-2022-02-17) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.7.1...lxml-4.8.0) \================== ## Features added - [GH#337](https://togithub.com/GH/lxml/issues/337): Path-like objects are now supported throughout the API instead of just strings. Patch by Henning Janssen. - The `ElementMaker` now supports `QName` values as tags, which always override the default namespace of the factory. ## Bugs fixed - [GH#338](https://togithub.com/GH/lxml/issues/338): In lxml.objectify, the XSI float annotation "nan" and "inf" were spelled in lower case, whereas XML Schema datatypes define them as "NaN" and "INF" respectively. Patch by Tobias Deiminger. ## Other changes - Built with Cython 0.29.28. ### [`v4.7.1`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#471-2021-12-13) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.7.0...lxml-4.7.1) \================== ## Features added - Chunked Unicode string parsing via `parser.feed()` now encodes the input data to the native UTF-8 encoding directly, instead of going through `Py_UNICODE` / `wchar_t` encoding first, which previously required duplicate recoding in most cases. ## Bugs fixed - The standard namespace prefixes were mishandled during "C14N2" serialisation on Python 3. See https://mail.python.org/archives/list/lxml@python.org/thread/6ZFBHFOVHOS5GFDOAMPCT6HM5HZPWQ4Q/ - `lxml.objectify` previously accepted non-XML numbers with underscores (like "1\_000") as integers or float values in Python 3.6 and later. It now adheres to the number format of the XML spec again. - [LP#1939031](https://togithub.com/LP/lxml/issues/1939031): Static wheels of lxml now contain the header files of zlib and libiconv (in addition to the already provided headers of libxml2/libxslt/libexslt). ## Other changes - Wheels include libxml2 2.9.12+ and libxslt 1.1.34 (also on Windows). ### [`v4.7.0`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#470-2021-12-13) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.5...lxml-4.7.0) \================== - Release retracted due to missing files in lxml/includes/. ### [`v4.6.5`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#465-2021-12-12) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.4...lxml-4.6.5) \================== ## Bugs fixed - A vulnerability (GHSL-2021-1038) in the HTML cleaner allowed sneaking script content through SVG images (CVE-2021-43818). - A vulnerability (GHSL-2021-1037) in the HTML cleaner allowed sneaking script content through CSS imports and other crafted constructs (CVE-2021-43818). ### [`v4.6.4`](https://togithub.com/lxml/lxml/blob/HEAD/CHANGES.txt#464-2021-11-01) [Compare Source](https://togithub.com/lxml/lxml/compare/lxml-4.6.3...lxml-4.6.4) \================== ## Features added - [GH#317](https://togithub.com/GH/lxml/issues/317): A new property `system_url` was added to DTD entities. Patch by Thirdegree. - [GH#314](https://togithub.com/GH/lxml/issues/314): The `STATIC_*` variables in `setup.py` can now be passed via env vars. Patch by Isaac Jurado.PyMySQL/mysqlclient
### [`v2.1.0`](https://togithub.com/PyMySQL/mysqlclient/releases/v2.1.0) [Compare Source](https://togithub.com/PyMySQL/mysqlclient/compare/v2.0.3...v2.1.0) #### What's Changed - Use unittest.mock instead of mock by [@methane](https://togithub.com/methane) in https://github.com/PyMySQL/mysqlclient/pull/469 - Actions: Fix pytest args. by [@methane](https://togithub.com/methane) in https://github.com/PyMySQL/mysqlclient/pull/470 - Actions: Fix measuring coverage by [@methane](https://togithub.com/methane) in https://github.com/PyMySQL/mysqlclient/pull/471 - Let multi statements be optional by [@simlun](https://togithub.com/simlun) in https://github.com/PyMySQL/mysqlclient/pull/500 - Remove bytes encoder that was specifically for Django 1.11 by [@rsiemens](https://togithub.com/rsiemens) in https://github.com/PyMySQL/mysqlclient/pull/490 - update remnants of passwd and db also in docs by [@ziegenberg](https://togithub.com/ziegenberg) in https://github.com/PyMySQL/mysqlclient/pull/488 - Better support for building on Windows by [@sparkyb](https://togithubConfiguration
📅 Schedule: At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Renovate will not automatically rebase this PR, because other commits have been found.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by WhiteSource Renovate. View repository job log here.