Fix regression in v4.12.0 where specialization of certain generics with an overridden __eq__ method would raise errors. Patch by Jelle Zijlstra.
Fix tests so they pass on 3.13.0b2
4.12.1
Preliminary changes for compatibility with the draft implementation
of PEP 649 in Python 3.14. Patch by Jelle Zijlstra.
Fix regression in v4.12.0 where nested Annotated types would cause
TypeError to be raised if the nested Annotated type had unhashable
metadata. Patch by Alex Waygood.
4.12.0
This release focuses on compatibility with the upcoming release of
Python 3.13. Most changes are related to the implementation of type
parameter defaults (PEP 696).
Thanks to all of the people who contributed patches, especially Alex
Waygood, who did most of the work adapting typing-extensions to the
CPython PEP 696 implementation.
There is a single change since 4.12.0rc1:
Fix incorrect behaviour of typing_extensions.ParamSpec on Python 3.8 and
3.9 that meant that
isinstance(typing_extensions.ParamSpec("P"), typing.TypeVar) would have a
different result in some situations depending on whether or not a profiling
function had been set using sys.setprofile. Patch by Alex Waygood.
Changes included in 4.12.0rc1:
Improve the implementation of type parameter defaults (PEP 696)
Backport the typing.NoDefault sentinel object from Python 3.13.
TypeVars, ParamSpecs and TypeVarTuples without default values now have
their __default__ attribute set to this sentinel value.
TypeVars, ParamSpecs and TypeVarTuples now have a has_default()
method, matching typing.TypeVar, typing.ParamSpec and
typing.TypeVarTuple on Python 3.13+.
TypeVars, ParamSpecs and TypeVarTuples with default=None passed to
their constructors now have their __default__ attribute set to None
at runtime rather than types.NoneType.
Fix most tests for TypeVar, ParamSpec and TypeVarTuple on Python
3.13.0b1 and newer.
Backport CPython PR #118774,
allowing type parameters without default values to follow those with
default values in some type parameter lists. Patch by Alex Waygood,
backporting a CPython PR by Jelle Zijlstra.
It is now disallowed to use a TypeVar with a default value after a
TypeVarTuple in a type parameter list. This matches the CPython
implementation of PEP 696 on Python 3.13+.
Fix bug in PEP-696 implementation where a default value for a ParamSpec
Fix regression in v4.12.0 where specialization of certain
generics with an overridden __eq__ method would raise errors.
Patch by Jelle Zijlstra.
Fix tests so they pass on 3.13.0b2
Release 4.12.1 (June 1, 2024)
Preliminary changes for compatibility with the draft implementation
of PEP 649 in Python 3.14. Patch by Jelle Zijlstra.
Fix regression in v4.12.0 where nested Annotated types would cause
TypeError to be raised if the nested Annotated type had unhashable
metadata. Patch by Alex Waygood.
Release 4.12.0 (May 23, 2024)
This release is mostly the same as 4.12.0rc1 but fixes one more
longstanding bug.
Fix incorrect behaviour of typing_extensions.ParamSpec on Python 3.8 and
3.9 that meant that
isinstance(typing_extensions.ParamSpec("P"), typing.TypeVar) would have a
different result in some situations depending on whether or not a profiling
function had been set using sys.setprofile. Patch by Alex Waygood.
Release 4.12.0rc1 (May 16, 2024)
This release focuses on compatibility with the upcoming release of
Python 3.13. Most changes are related to the implementation of type
parameter defaults (PEP 696).
Thanks to all of the people who contributed patches, especially Alex
Waygood, who did most of the work adapting typing-extensions to the
CPython PEP 696 implementation.
Full changelog:
Improve the implementation of type parameter defaults (PEP 696)
Backport the typing.NoDefault sentinel object from Python 3.13.
TypeVars, ParamSpecs and TypeVarTuples without default values now have
their __default__ attribute set to this sentinel value.
TypeVars, ParamSpecs and TypeVarTuples now have a has_default()
method, matching typing.TypeVar, typing.ParamSpec and
typing.TypeVarTuple on Python 3.13+.
TypeVars, ParamSpecs and TypeVarTuples with default=None passed to
their constructors now have their __default__ attribute set to None
at runtime rather than types.NoneType.
Fix most tests for TypeVar, ParamSpec and TypeVarTuple on Python
3.13.0b1 and newer.
This is a fairly large update. Mostly an accumulation of small fixes and enhancements. Nothing qualifies as a *breaking change (for some definition), but there may be some subtly changes to output. Check below for anything that might affect you!
[13.8.0] - 2024-08-26
Fixed
Fixed Table rendering of box elements so "footer" elements truly appear at bottom of table, "mid" elements in main table body.
Improve ProxyHeadersMiddleware (#2468) and (#2231):
Fix the host for requests from clients running on the proxy server itself.
Fallback to host that was already set for empty x-forwarded-for headers.
Also allow specifying IP Networks as trusted hosts. This greatly simplifies deployments
on docker swarm/Kubernetes, where the reverse proxy might have a dynamic IP.
Improve ProxyHeadersMiddleware (#2468) and (#2231):
Fix the host for requests from clients running on the proxy server itself.
Fallback to host that was already set for empty x-forwarded-for headers.
Also allow to specify IP Networks as trusted hosts. This greatly simplifies deployments
on docker swarm/kubernetes, where the reverse proxy might have a dynamic IP.
This includes support for IPv6 Address/Networks.
0.30.6 (2024-08-13)
Fixed
Don't warn when upgrade is not WebSocket and depedencies are installed (#2360)
0.30.5 (2024-08-02)
Fixed
Don't close connection before receiving body on H11 (#2408)
0.30.4 (2024-07-31)
Fixed
Close connection when h11 sets client state to MUST_CLOSE (#2375)
0.30.3 (2024-07-20)
Fixed
Suppress KeyboardInterrupt from CLI and programmatic usage (#2384)
ClientDisconnect inherits from OSError instead of IOError (#2393)
#12446: Avoid calling @property (and other instance descriptors) during fixture discovery -- by asottile{.interpreted-text role="user"}
#12659: Fixed the issue of not displaying assertion failure differences when using the parameter --import-mode=importlib in pytest>=8.1.
#12667: Fixed a regression where type change in [ExceptionInfo.errisinstance]{.title-ref} caused [mypy]{.title-ref} to fail.
#12744: Fixed typing compatibility with Python 3.9 or less -- replaced [typing.Self]{.title-ref} with [typing_extensions.Self]{.title-ref} -- by Avasam{.interpreted-text role="user"}
#12745: Fixed an issue with backslashes being incorrectly converted in nodeid paths on Windows, ensuring consistent path handling across environments.
#6682: Fixed bug where the verbosity levels where not being respected when printing the "msg" part of failed assertion (as in assert condition, msg).
#9422: Fix bug where disabling the terminal plugin via -p no:terminal would cause crashes related to missing the verbose option.
-- by GTowers1{.interpreted-text role="user"}
Improved documentation
#12663: Clarify that the [pytest_deselected]{.title-ref} hook should be called from [pytest_collection_modifyitems]{.title-ref} hook implementations when items are deselected.
#12678: Remove erroneous quotes from [tmp_path_retention_policy]{.title-ref} example in docs.
Miscellaneous internal changes
#12769: Fix typos discovered by codespell and add codespell to pre-commit hooks.
8.3.2
pytest 8.3.2 (2024-07-24)
Bug fixes
#12652: Resolve regression [conda]{.title-ref} environments where no longer being automatically detected.
-- by RonnyPfannschmidt{.interpreted-text role="user"}
8.3.1
pytest 8.3.1 (2024-07-20)
The 8.3.0 release failed to include the change notes and docs for the release. This patch release remedies this. There are no other changes.
... (truncated)
Commits
d0f136f build(deps): Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 (#12790)
Fix: coverage used to fail when measuring code using :func:runpy.run_path <python:runpy.run_path> with a :class:Path <python:pathlib.Path> argument.
This is now fixed, thanks to Ask Hjorth Larsen <pull 1819_>_.
Fix: backslashes preceding a multi-line backslashed string could confuse the
HTML report. This is now fixed, thanks to LiuYinCarl <pull 1828_>_.
Now we publish wheels for Python 3.13, both regular and free-threaded.
Exclusion patterns can now be multi-line, thanks to Daniel Diniz <pull 1807_>. This enables many interesting exclusion use-cases, including those
requested in issues 118 <issue 118_> (entire files), 996 <issue 996_>_ (multiple lines only when appearing together), 1741 <issue 1741_>_ (remainder of a function), and 1803 <issue 1803_>_
(arbitrary sequence of marked lines). See the :ref:multi_line_exclude
section of the docs for more details and examples.
The JSON report now includes per-function and per-class coverage information.
Thanks to Daniel Diniz <pull 1809_>_ for getting the work started. This
closes issue 1793_ and issue 1532_.
Fixed an incorrect calculation of "(no class)" lines in the HTML classes
report.
Bumps the dependencies group with 16 updates in the / directory:
4.9.0
4.12.2
0.12.3
0.12.5
6.0.1
6.0.2
13.7.1
13.8.1
0.30.1
0.31.0
0.111.0
0.115.0
8.2.2
8.3.3
7.5.4
7.6.1
0.27.0
0.27.2
2.15.0
2.16.0
3.7
3.10
0.4.1
0.4.2
2.5
2.6
2.0.5
2.1.0
1.0.7
1.0.8
2.2.2
2.2.3
Updates
typing-extensions
from 4.9.0 to 4.12.2Release notes
Sourced from typing-extensions's releases.
... (truncated)
Changelog
Sourced from typing-extensions's changelog.
... (truncated)
Commits
e1250ff
Prepare release 4.12.2 (#426)53bcdde
Avoid error if origin has a buggy eq (#422)7269638
Prepare release 4.12.1 (#418)8dfcf3c
FixTypeError
on nestedAnnotated
types where the inner type has unhashab...d76f591
Switch from flake8 to ruff (#414)920d60d
Support my PEP 649 branch (#412)e792bce
Ignore fewer flake8 rules when linting tests (#413)f90a8dc
Prepare release 4.12.0 (#408)118e1a6
Make sureisinstance(typing_extensions.ParamSpec("P"), typing.TypeVar)
is u...910141a
Add security documentation (#403)Updates
typer
from 0.12.3 to 0.12.5Release notes
Sourced from typer's releases.
... (truncated)
Changelog
Sourced from typer's changelog.
... (truncated)
Commits
88aefd4
🔖 Release version 0.12.53ac3644
📝 Update release notesd93c0ac
🔨 Pre-install dependencies in Docker so that testing in Docker is faster (#954)a337850
📝 Update release notesa5b7557
✅ Addneeds_bash
test fixture (#888)6cc1f9a
📝 Update release notesfc2c54f
🐛 Ensurerich_markup_mode=None
disables Rich formatting (#859)f17bb06
📝 Update release notesafac2b8
🐛 Fix sourcing of completion path for Git Bash (#801)6b35a70
📝 Update release notesUpdates
pyyaml
from 6.0.1 to 6.0.2Release notes
Sourced from pyyaml's releases.
Changelog
Sourced from pyyaml's changelog.
Commits
41309b0
Release 6.0.2 (#819)dd9f0e1
6.0.2rc1 (#809)f5527a2
disable CI trigger on PR editsb4d80a7
Python 3.12 + musllinux_1_1_x86_64 wheel supportUpdates
rich
from 13.7.1 to 13.8.1Release notes
Sourced from rich's releases.
Changelog
Sourced from rich's changelog.
Commits
260b35f
Merge pull request #3485 from Textualize/bump1381574038d
bump1f131d1
Merge pull request #3481 from hugovk/add-3.13c8abbb3
Fix test for Python 3.13815596e
Add support for Python 3.1322c2cff
Merge pull request #3480 from Textualize/fix-infinite-appendf44e8bd
changelogf2ee295
fix infinite loop in append9ec4191
Merge pull request #3473 from Textualize/bump13809c74f03
bump to v13.8.0Updates
uvicorn
from 0.30.1 to 0.31.0Release notes
Sourced from uvicorn's releases.
... (truncated)
Changelog
Sourced from uvicorn's changelog.
Commits
a507532
Version 0.31.0 (#2469)84dd2c4
Improve ProxyHeadersMiddleware (#2468)3d26ab4
Bump cryptography from 42.0.8 to 43.0.1 (#2453)47304d9
Add tests and requirements.txt to sdist (#2438)1cb0c32
Add missing init files in the test suite (#2432)7dc027d
Version 0.30.6 (#2428)587a1cc
fix: upgrade is not websocket and dependencies are installed, should not warn...cee31a6
test(signal): add sleep to ensure shutdown completion (#2427)eba64ef
ci: timeout for test suite runs to 30 minutes (#2426)0f513d2
Remove signal testing order dependency (#2382)Updates
fastapi
from 0.111.0 to 0.115.0Release notes
Sourced from fastapi's releases.
... (truncated)
Commits
40e33e4
🔖 Release version 0.115.0b36047b
📝 Update release notes7eadeb6
📝 Update release notes55035f4
✨ Add support for Pydantic models for parameters usingQuery
,Cookie
, `He...0903da7
📝 Update release notes4b2b14a
⬆ [pre-commit.ci] pre-commit autoupdate (#12204)35df20c
📝 Update release notes8eb3c56
🌐 Add Portuguese translation for `docs/pt/docs/advanced/security/http-basic-a...2ada161
🔖 Release version 0.114.23a5fd71
📝 Update release notesUpdates
pytest
from 8.2.2 to 8.3.3Release notes
Sourced from pytest's releases.
... (truncated)
Commits
d0f136f
build(deps): Bump pypa/gh-action-pypi-publish from 1.10.0 to 1.10.1 (#12790)972f307
Prepare release version 8.3.30dabdcf
Include co-authors in release announcement (#12795) (#12797)a9910a4
Do not discover properties when iterating fixtures (#12781) (#12788)0f10b6b
Fix issue with slashes being turned into backslashes on Windows (#12760) (#12...300d13d
Merge pull request #12785 from pytest-dev/patchback/backports/8.3.x/57cccf7f4...e5d32c7
Merge pull request #12784 from svenevs/fix/docs-example-parametrize-minor-typobc913d1
Streamline checks for verbose option (#12706) (#12778)01cfcc9
Fix typos and introduce codespell pre-commit hook (#12769) (#12774)4873394
doc: Remove past training (#12772) (#12773)Updates
coverage
from 7.5.4 to 7.6.1Changelog
Sourced from coverage's changelog.
Commits
29f5898
docs: sample HTML for 7.6.19b829f1
docs: prep for 7.6.1ebbb6a2
build: wheels for 3.13rc13872525
chore: make upgrade7a27f40
test: fix a test on free-threading, use abiflags to get site-packages path co...2b53664
build: include gil/nogil in the version bannerda1682f
docs: changelog and contributor for #1828dc819ff
test: two tests for #18289aaa404
fix: properly handle backslash before multi-line string (#1828)9c50270
chore: make upgradeUpdates
httpx
from 0.27.0 to 0.27.2Release notes
Sourced from httpx's releases.
Changelog
Sourced from httpx's changelog.
Commits
609df7e
ReintroduceURLTypes
. (#3288)1d6b663
Update CHANGELOG for 0.27.1 release date. (#3285)1bf1ba5
Version 0.27.1 (#3275)7c0cda1
Improve InvalidURL error message. (#3250)beb501f
Bump the python-packages group across 1 directory with 8 updates (#3247)359f77d
Clean up URL signature. (#3245)b351a44
Update requirements.txt (#3246)db9072f
Add URL parsing tests from WHATWG (#3188)92e9dfb
Update asgi.py docstring (#3210)e186ecc
Bump the python-packages group with 8 updates (#3213)Updates
babel
from 2.15.0 to 2.16.0Release notes
Sourced from babel's releases.