chore(deps): update all non-major dependencies#3407
Merged
Conversation
04c5020 to
d997a50
Compare
5121ce8 to
964bef7
Compare
964bef7 to
a4c4ad1
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v6.2.0→v6.3.0==4.13.0→==4.14.1==4.16.3→==4.16.4v4.16.3→v4.16.4==7.14.1→==7.14.343.205.2→43.247.0v4.0.5→v4.0.6==4.0.5→==4.0.6==9.0.3→==9.1.1==0.4.0→==0.4.23.12-alpine→3.14-alpine3.12-alpine→3.14-alpineNote: The
pre-commitmanager in Renovate is not supported by thepre-commitmaintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.Release Notes
actions/setup-python (actions/setup-python)
v6.3.0Compare Source
What's Changed
Enhancement
Dependency update
Documentation
New Contributors
Full Changelog: actions/setup-python@v6...v6.3.0
agronholm/anyio (anyio)
v4.14.1Compare Source
RuntimeError: Attempted to exit cancel scope in a different task than it was entered inwhen an async test raise an outcome exception (e.g.,pytest.skip(),pytest.xfail(), orpytest.fail()) (#1179; PR by @EmmanuelNiyonshuti)CapacityLimiter.total_tokensrejecting a value of0when the limiter was instantiated outside of an event loop, contradicting the documented behavior of allowing 0 total tokens (#1183; PR by @nyxst4ck)v4.14.0Compare Source
Added support for Python 3.15
Added an asynchronous implementation of the
itertoolsmodule (#998; PR by @11kkw)Added the
local_portparameter toconnect_tcp()to allow binding to a specific local port before connecting (#1067; PR by @nullwiz)Added support for custom capacity limiters in async path and file I/O functions and classes
Added the
create_task()task group method for easier asyncio migration (returns aTaskHandle) (#1098)Changed
TaskGroup.start_soon()to return aTaskHandleAdded an option for
TaskGroup.start()to return aTaskHandle(which then contains the start value in thestart_valueproperty)Added the
cancel()convenience method toTaskGroupas a shortcut for cancelling the task group's cancel scopeImproved the error message when a known backend is not installed to suggest the install command (#1115; PR by @EmmanuelNiyonshuti)
Improved
anyio.Pathto preserve subclass types by returningSelfin methods that return path objects (#1130; PR by @EmmanuelNiyonshuti)Changed the parameter type annotation in
anyio.Path.write_bytes()to accept anyReadableBuffer, thus allowing it to acceptbytearrayandmemoryviewto matchpathlib.Path.write_bytes()(#1135; PR by @SAY-5)Changed several type annotations to only accept callables returning coroutine-like objects instead of arbitrary awaitables:
TaskGroup.start_soon()TaskGroup.start()anyio.from_thread.run()This reverts an earlier change from v3.7.0 which was made in error. (#1153)
Changed
anyio.runto support callables returning arbitrary awaitables at runtime on all backends. Previously, this only worked on asyncio (#1171; PR by @gschaffner)Changed several classes (and their subclasses) to have
__slots__(with__weakref__):anyio.CancelScopeanyio.CapacityLimiteranyio.Conditionanyio.Eventanyio.Lockanyio.ResourceGuardanyio.SemaphoreFixed cancellation exception escaping a cancel scope when triggered via
check_cancelled()in a worker thread (#1113)Fixed
TaskGroupraisingAttributeErrorinstead of a clear error when entered more than once (#1109; PR by @bahtya)Fixed lost type information when passing arguments to
lru_cache(#1104; PR by @Graeme22)Fixed test resumption after
KeyboardInterruptin async generator fixtures on the asyncio backend (#1060; PR by @EmmanuelNiyonshuti)Fixed import of
__main__into_processworkers when entrypoint script doesn't end in.py, such as when usingconsole_scriptentrypoints. (#1027; PR by @tapetersen)Fixed
SocketListener.from_socket()returning a TCP listener forAF_UNIXlistening sockets, causingaccept()to fail withENOTSUP(#1132; PR by @kudato)Fixed
UDPSocket.aclose()andConnectedUDPSocket.aclose()on asyncio returning before the underlying socket FD was actually released (#1147; PR by @matias-arrelid)Fixed trio backend test runner hanging indefinitely instead of raising an error when dynamically accessing an async fixture via
request.getfixturevalue(#1148; PR by @EmmanuelNiyonshuti)Fixed cancelling tasks started through a
BlockingPortalafter the portal has been stopped (#1013; PR by @puneetdixit200)Fixed
backend_optionsbeing ignored when running the Trio backend viaanyio.run(); the options are now passed as keyword arguments totrio.run()again, as documented (a regression from AnyIO 3) (#1161; PR by @Zac-HD)Fixed asyncio
LockandSemaphoredeadlocks caused by cancelled waiters left queued during release (#1145; PR by @rasmusfaber, @x42005e1f and @agronholm)commitizen-tools/commitizen (commitizen)
v4.16.4Compare Source
v4.16.4 (2026-06-22)
Fix
coveragepy/coveragepy (coverage)
v7.14.3Compare Source
Fix: the default
...exclusion rule now also matches function bodieswhose closing return-type bracket is on its own line (for example, after a
long
-> dict[ ... ]annotation that a formatter has split over multiplelines). Closes
issue 2185, thanksMengjia Shang <pull 2196_>.Fix: On 3.13t, we incorrectly issued
Couldn't import C tracererrors.We can't import the C tracer because in 7.14.2 we stopped shipping compiled
wheels for 3.13t. Thanks,
Hugo van Kemenade <pull 2203_>_... _issue 2185: #2185
.. _pull 2196: #2196
.. _pull 2203: #2203
.. _changes_7-14-2:
v7.14.2Compare Source
Fix: some messages were being written to stdout, making
coverage json -o -useless for capturing JSON output. Now messages are written to stderr,fixing
issue 2197_.Fix:
CoverageDatakept one SQLite connection per thread that recordedcoverage, but never closed them when those threads terminated. On long runs
with many short-lived threads this leaked one file descriptor per dead
thread, eventually failing with
OSError: [Errno 24] Too many open files.Connections belonging to terminated threads are now closed and dropped.
Fixes
issue 2192_.Fix: when using sys.monitoring, we were assuming we could use the
COVERAGE_IDtool id. But other tools might also assume they could usethat id. Pre-allocated ids don't really make sense, so now we search for a
usable one instead. Fixes
issue 2187. Thanks,Matthew Lloyd <pull 2198_>.Following
the advice of cibuildwheel <no-13t_>_, we no longer distributewheels for Python 3.13 free-threaded.
.. _issue 2187: #2187
.. _issue 2192: #2192
.. _issue 2197: #2197
.. _pull 2198: #2198
.. _no-13t: https://py-free-threading.github.io/ci/#building-free-threaded-wheels-with-cibuildwheel
.. _changes_7-14-1:
maxbrunet/pre-commit-renovate (maxbrunet/pre-commit-renovate)
v43.247.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.247.0 for more changes
v43.246.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.246.1 for more changes
v43.246.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.246.0 for more changes
v43.245.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.245.0 for more changes
v43.244.4Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.244.4 for more changes
v43.244.3Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.244.3 for more changes
v43.244.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.244.2 for more changes
v43.244.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.244.1 for more changes
v43.244.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.244.0 for more changes
v43.243.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.243.2 for more changes
v43.243.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.243.1 for more changes
v43.243.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.243.0 for more changes
v43.242.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.242.2 for more changes
v43.242.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.242.1 for more changes
v43.242.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.242.0 for more changes
v43.241.5Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.241.5 for more changes
v43.241.3Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.241.3 for more changes
v43.241.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.241.2 for more changes
v43.241.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.241.0 for more changes
v43.240.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.240.0 for more changes
v43.239.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.239.0 for more changes
v43.237.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.237.1 for more changes
v43.237.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.237.0 for more changes
v43.236.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.236.0 for more changes
v43.235.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.235.2 for more changes
v43.235.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.235.1 for more changes
v43.235.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.235.0 for more changes
v43.234.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.234.2 for more changes
v43.234.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.234.1 for more changes
v43.234.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.234.0 for more changes
v43.233.4Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.233.4 for more changes
v43.227.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.227.0 for more changes
v43.226.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.226.2 for more changes
v43.226.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.226.1 for more changes
v43.226.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.226.0 for more changes
v43.225.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.225.0 for more changes
v43.224.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.224.0 for more changes
v43.223.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.223.0 for more changes
v43.222.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.222.1 for more changes
v43.222.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.222.0 for more changes
v43.221.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.221.0 for more changes
v43.220.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.220.0 for more changes
v43.218.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.218.0 for more changes
v43.217.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.217.1 for more changes
v43.217.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.217.0 for more changes
v43.216.4Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.216.4 for more changes
v43.216.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.216.1 for more changes
v43.216.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.216.0 for more changes
v43.214.6Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.214.6 for more changes
v43.214.5Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.214.5 for more changes
v43.214.4Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.214.4 for more changes
v43.214.3Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.214.3 for more changes
v43.214.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.214.2 for more changes
v43.214.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.214.1 for more changes
v43.214.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.214.0 for more changes
v43.213.3Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.213.3 for more changes
v43.213.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.213.2 for more changes
v43.213.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.213.1 for more changes
v43.213.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.213.0 for more changes
v43.212.4Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.212.4 for more changes
v43.212.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.212.2 for more changes
v43.212.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.212.1 for more changes
v43.212.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.212.0 for more changes
v43.211.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.211.0 for more changes
v43.210.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.210.2 for more changes
v43.210.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.210.1 for more changes
v43.209.5Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.209.5 for more changes
v43.209.4Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.209.4 for more changes
v43.209.3Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.209.3 for more changes
v43.209.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.209.2 for more changes
v43.209.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.209.1 for more changes
v43.209.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.209.0 for more changes
v43.208.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.208.2 for more changes
v43.208.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.208.1 for more changes
v43.208.0Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.208.0 for more changes
v43.207.4Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.207.4 for more changes
v43.207.3Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.207.3 for more changes
v43.207.2Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.207.2 for more changes
v43.207.1Compare Source
See https://github.com/renovatebot/renovate/releases/tag/43.207.1 for more changes
pycqa/pylint (pycqa/pylint)
v4.0.6Compare Source
What's new in Pylint 4.0.6?
Release date: 2026-06-14
False Positives Fixed
implicit-str-concatis no longer emitted for an implicit concatenation ofa raw string with a non-raw one (e.g.
r"\d" "\n"). Such literals cannot bemerged into a single string, so the concatenation is intentional rather than a
forgotten comma.
Closes #6663
Fix a false positive for
invalid-name(C0103) where the defaulttypevar-rgxrejectedTypeVarnames containing digits, such asEc2T.Closes #8499
Fix a false positive for
too-many-argumentsin (non-static) methods and classmethods.Closes #8675
Fix a false positive for
no-memberwhen a value is inferred to severalpossible types and at least one of them defines a dynamic
__getattr__.Closes #9833
Fix a false positive for
function-redefined(E0102) when reusing names thatmatch
dummy-variables-rgx(such as_), which is common forpytest-bddstep definitions. This restores the behavior from before pylint4.0.0; as a consequence the false negative fixed in #9894 is reintroduced for
functions whose name matches
dummy-variables-rgx.Closes #10665
Fix
undefined-variablefalse positive when a name used as ametaclassargument in a nested class is referenced again later in the module.
Closes #10823
Fix a false positive for
unused-variablewhere global variables matchingdummy-variables-rgxwere still reported as unused whenallow-global-unused-variableswas disabled.Closes #10890
Fix a false positive for
bad-dunder-namewhen there is a user-defined__suppress_context__attribute on exception subclasses.Closes #10960
Fix
used-before-assignmentfalse positive for names bound byfrom X import *in every branch of anif/elif/elsechain.Refs #10980
Check for metaclass call signature when evaluating arguments of a class call.
Closes #11032
Fix false positive
method-hiddenwhencached_propertyis imported directly withfrom functools import cached_property.Refs #11037
Other Bug Fixes
Fix the suggestion of
unnecessary-comprehensionfor a dict comprehensionthat iterates a dict directly, e.g.
{a: b for a, b in d}. Iterating a dictyields its keys, so the suggestion is now
dict(d.keys())instead of theincorrect
dict(d), which would simply copyd.Closes #8256
Fix a crash in
consider-using-enumeratewhen theforloop target is an attribute (e.g.for self.idx in range(len(x))) rather than a simple variable name.Closes #10099
Fix crash when checking
attribute-defined-outside-initon classes that inherit from a base class pylint cannot fully analyze.Closes #10892
Fix
add_messagesilently overwriting an explicitcol_offset=0(or any other zero-valuedline/end_lineno/end_col_offset) with the AST node's value. The internal_add_one_messagehelper used a falsey check (if not col_offset:) to detect an omitted argument, which incorrectly treated a legitimate0the same asNone. It now uses an identity check againstNone.Refs #11020
Fix a crash in the name checker when a non-constant value is passed as the
covariantorcontravariantargument of aTypeVar.Closes #11022
Fix a crash in the variable checker when a name resolves to a dataclass-synthesized
__init__, which has no line number.Closes #11023
Fix a crash in the variables checker when
NotImplementedis used as the test of anifstatement, which raised aTypeErrorin a boolean context on Python 3.14.Closes #11025
Avoided a crash from the implicit booleaness checker for
len()calls without arguments.Closes #11028
Fix a crash in the variables checker when a class declares a metaclass whose
attribute-access chain does not bottom out at a name (e.g.
class C(metaclass=None._)).Originally reported as
pylint-dev/astroid#3066.Refs #11031
Fix a crash in the name checker when a chained assignment of a
TypeAliasvalue has a non-name target such as a
Subscript(for examplea[0] = b = TypeAlias).Closes #11056
Fix a crash in the deprecated checker when
__import__is called with anon-string constant argument (for example
__import__(1)).Closes #11059
Avoid crashing when enum member inference fails while checking enum subclasses.
Closes #11069
Prevent a crash in
unexpected-keyword-arganalysis wheninfer_call_result()raisesInferenceErrorwhile inspectingdecorator return signatures.
Closes #11070
Fix a crash in the typecheck checker when a class uses a non-class object
(for example a function) as its
metaclass=argument.Closes #11071
Allow digits in ParamSpec and TypeVarTuple names for
invalid-namecheck.The default
paramspec-rgxandtypevartuple-rgxpatterns rejected namescontaining digits (e.g.
Ec2P,S3Ts), emitting a falseinvalid-name(C0103). Allow digits in the lowercase segments, consistent with the
typevarandtypealiaspatterns.Closes #11090
Performance Improvements
The duplicate-code checker no longer runs when its message (R0801) is disabled, even if
reports=yesis set. Previously, the checker's report (RP0801) would cause the expensive similarity computation to run regardless.Closes #3443
pylint-dev/pylint (pylint)
v4.0.6What's new in Pylint 4.0.6?
Release date: 2026-06-14
False Positives Fixed
implicit-str-concatis no longer emitted for an implicit concatenation ofa raw string with a non-raw one (e.g.
r"\d" "\n"). Such literals cannot bemerged into a single string, so the concatenation is intentional rather than a
forgotten comma.
Closes #6663
Fix a false positive for
invalid-name(C0103) where the defaulttypevar-rgxrejectedTypeVarnames containing digits, such asEc2T.Closes #8499
Fix a false positive for
too-many-argumentsin (non-static) methods and classmethods.Closes #8675
Fix a false positive for
no-memberwhen a value is inferred to severalpossible types and at least one of them defines a dynamic
__getattr__.Closes #9833
Fix a false positive for
function-redefined(E0102) when reusing names thatmatch
dummy-variables-rgx(such as_), which is common forpytest-bddstep definitions. This restores the behavior from before pylint4.0.0; as a consequence the false negative fixed in #9894 is reintroduced for
functions whose name matches
dummy-variables-rgx.Closes #10665
Fix
undefined-variablefalse positive when a name used as ametaclassargument in a nested class is referenced again later in the module.
Closes #10823
Fix a false positive for
unused-variablewhere global variables matchingdummy-variables-rgxwere still reported as unused whenallow-global-unused-variableswas disabled.Closes #10890
Fix a false positive for
bad-dunder-namewhen there is a user-defined__suppress_context__attribute on exception subclasses.Closes #10960
Fix
used-before-assignmentfalse positive for names bound byfrom X import *in every branch of anif/elif/elsechain.Refs #10980
Check for metaclass call signature when evaluating arguments of a class call.
Closes #11032
Fix false positive
method-hiddenwhencached_propertyis imported directly withfrom functools import cached_property.Refs #11037
Other Bug Fixes
Fix the suggestion of
unnecessary-comprehensionfor a dict comprehensionthat iterates a dict directly, e.g.
{a: b for a, b in d}. Iterating a dictyields its keys, so the suggestion is now
dict(d.keys())instead of theincorrect
dict(d), which would simply copyd.Closes #8256
Fix a crash in
consider-using-enumeratewhen theforloop target is an attribute (e.g.for self.idx in range(len(x))) rather than a simple variable name.Closes #10099
Fix crash when checking
attribute-defined-outside-initon classes that inherit from a base class pylint cannot fully analyze.Closes #10892
Fix
add_messagesilently overwriting an explicitcol_offset=0(or any other zero-valuedline/end_lineno/end_col_offset) with the AST node's value. The internal_add_one_messagehelper used a falsey check (if not col_offset:) to detect an omitted argument, which incorrectly treated a legitimate0the same asNone. It now uses an identity check againstNone.Refs #11020
Fix a crash in the name checker when a non-constant value is passed as the
covariantorcontravariantargument of aTypeVar.Closes #11022
Fix a crash in the variable checker when a name resolves to a dataclass-synthesized
__init__, which has no line number.Closes #11023
Fix a crash in the variables checker when
NotImplementedis used as the test of anifstatement, which raised aTypeErrorin a boolean context on Python 3.14.Closes #11025
Avoided a crash from the implicit booleaness checker for
len()calls without arguments.Closes #11028
Fix a crash in the variables checker when a class declares a metaclass whose
attribute-access chain does not bottom out at a name (e.g.
class C(metaclass=None._)).Originally reported as
pylint-dev/astroid#3066.Refs #11031
Fix a crash in the name checker when a chained assignment of a
TypeAliasvalue has a non-name target such as a
Subscript(for examplea[0] = b = TypeAlias).Closes #11056
Fix a crash in the deprecated checker when
__import__is called with anon-string constant argument (for example
__import__(1)).Closes #11059
Avoid crashing when enum member inference fails while checking enum subclasses.
Closes #11069
Prevent a crash in
unexpected-keyword-arganalysis wheninfer_call_result()raisesInferenceErrorwhile inspectingdecorator return signatures.
Closes #11070
Fix a crash in the typecheck checker when a class uses a non-class object
(for example a function) as its
metaclass=argument.Closes #11071
Allow digits in ParamSpec and TypeVarTuple names for
invalid-namecheck.The default
paramspec-rgxandtypevartuple-rgxpatterns rejected namescontaining digits (e.g.
Ec2P,S3Ts), emitting a falseinvalid-name(C0103). Allow digits in the lowercase segments, consistent with the
typevarandtypealiaspatterns.Closes #11090
Performance Improvements
The duplicate-code checker no longer runs when its message (R0801) is disabled, even if
reports=yesis set. Previously, the checker's report (RP0801) would cause the expensive similarity computation to run regardless.Closes #3443
pytest-dev/pytest (pytest)
v9.1.1Compare Source
pytest 9.1.1 (2026-06-19)
Bug fixes
pytest.RaisesGroupwhich would might cause it to display incorrect "It matches FooError() which was paired with BarError" messages.list-itemtyping errors from mypy in@pytest.mark.parametrize <pytest.mark.parametrize ref>argvaluesparameter.conftest.pyfiles located in<invocation dir>/test*were no longer loaded as initial conftests when invoked without arguments.This could cause certain hooks (like
pytest_addoption) in these files to not fire.v9.1.0Compare Source
pytest 9.1.0 (2026-06-13)
Removals and backward incompatible breaking changes
Configuration
📅 Schedule: (UTC)
* 0-3 * * 1)🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.