Skip to content

chore(deps): update all non-major dependencies#3407

Merged
JohnVillalovos merged 1 commit into
mainfrom
renovate/all-minor-patch
Jun 29, 2026
Merged

chore(deps): update all non-major dependencies#3407
JohnVillalovos merged 1 commit into
mainfrom
renovate/all-minor-patch

Conversation

@renovate

@renovate renovate Bot commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Type Update Change Age Confidence
actions/setup-python action minor v6.2.0v6.3.0 age confidence
anyio (changelog) minor ==4.13.0==4.14.1 age confidence
commitizen (changelog) patch ==4.16.3==4.16.4 age confidence
commitizen-tools/commitizen repository patch v4.16.3v4.16.4 age confidence
coverage patch ==7.14.1==7.14.3 age confidence
maxbrunet/pre-commit-renovate repository minor 43.205.243.247.0 age confidence
pycqa/pylint repository patch v4.0.5v4.0.6 age confidence
pylint (changelog) patch ==4.0.5==4.0.6 age confidence
pytest (changelog) minor ==9.0.3==9.1.1 age confidence
pytest-github-actions-annotate-failures (changelog) patch ==0.4.0==0.4.2 age confidence
python final minor 3.12-alpine3.14-alpine age confidence
python stage minor 3.12-alpine3.14-alpine age confidence

Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers 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.0

Compare Source

What's Changed
Enhancement
Dependency update
Documentation
New Contributors

Full Changelog: actions/setup-python@v6...v6.3.0

agronholm/anyio (anyio)

v4.14.1

Compare Source

  • Fixed teardown of higher-scoped async fixtures failing on asyncio with RuntimeError: Attempted to exit cancel scope in a different task than it was entered in when an async test raise an outcome exception (e.g., pytest.skip(), pytest.xfail(), or pytest.fail()) (#​1179; PR by @​EmmanuelNiyonshuti)
  • Fixed CapacityLimiter.total_tokens rejecting a value of 0 when the limiter was instantiated outside of an event loop, contradicting the documented behavior of allowing 0 total tokens (#​1183; PR by @​nyxst4ck)

v4.14.0

Compare Source

  • Added support for Python 3.15

  • Added an asynchronous implementation of the itertools module (#​998; PR by @​11kkw)

  • Added the local_port parameter to connect_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 a TaskHandle) (#​1098)

  • Changed TaskGroup.start_soon() to return a TaskHandle

  • Added an option for TaskGroup.start() to return a TaskHandle (which then contains the start value in the start_value property)

  • Added the cancel() convenience method to TaskGroup as a shortcut for cancelling the task group's cancel scope

  • Improved the error message when a known backend is not installed to suggest the install command (#​1115; PR by @​EmmanuelNiyonshuti)

  • Improved anyio.Path to preserve subclass types by returning Self in methods that return path objects (#​1130; PR by @​EmmanuelNiyonshuti)

  • Changed the parameter type annotation in anyio.Path.write_bytes() to accept any ReadableBuffer, thus allowing it to accept bytearray and memoryview to match pathlib.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.run to 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.CancelScope
    • anyio.CapacityLimiter
    • anyio.Condition
    • anyio.Event
    • anyio.Lock
    • anyio.ResourceGuard
    • anyio.Semaphore
  • Fixed cancellation exception escaping a cancel scope when triggered via check_cancelled() in a worker thread (#​1113)

  • Fixed TaskGroup raising AttributeError instead 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 KeyboardInterrupt in async generator fixtures on the asyncio backend (#​1060; PR by @​EmmanuelNiyonshuti)

  • Fixed import of __main__ in to_process workers when entrypoint script doesn't end in .py, such as when using console_script entrypoints. (#​1027; PR by @​tapetersen)

  • Fixed SocketListener.from_socket() returning a TCP listener for AF_UNIX listening sockets, causing accept() to fail with ENOTSUP (#​1132; PR by @​kudato)

  • Fixed UDPSocket.aclose() and ConnectedUDPSocket.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 BlockingPortal after the portal has been stopped (#​1013; PR by @​puneetdixit200)

  • Fixed backend_options being ignored when running the Trio backend via anyio.run(); the options are now passed as keyword arguments to trio.run() again, as documented (a regression from AnyIO 3) (#​1161; PR by @​Zac-HD)

  • Fixed asyncio Lock and Semaphore deadlocks caused by cancelled waiters left queued during release (#​1145; PR by @​rasmusfaber, @​x42005e1f and @​agronholm)

commitizen-tools/commitizen (commitizen)

v4.16.4

Compare Source

v4.16.4 (2026-06-22)

Fix
  • providers/cargo: don't crash on workspace member with fixed version
coveragepy/coveragepy (coverage)

v7.14.3

Compare Source

  • Fix: the default ... exclusion rule now also matches function bodies
    whose closing return-type bracket is on its own line (for example, after a
    long -> dict[ ... ] annotation that a formatter has split over multiple
    lines). Closes issue 2185, thanks Mengjia Shang <pull 2196_>.

  • Fix: On 3.13t, we incorrectly issued Couldn't import C tracer errors.
    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.2

Compare 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: CoverageData kept one SQLite connection per thread that recorded
    coverage, 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_ID tool id. But other tools might also assume they could use
    that 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 distribute
    wheels 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.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.247.0 for more changes

v43.246.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.246.1 for more changes

v43.246.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.246.0 for more changes

v43.245.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.245.0 for more changes

v43.244.4

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.244.4 for more changes

v43.244.3

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.244.3 for more changes

v43.244.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.244.2 for more changes

v43.244.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.244.1 for more changes

v43.244.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.244.0 for more changes

v43.243.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.243.2 for more changes

v43.243.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.243.1 for more changes

v43.243.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.243.0 for more changes

v43.242.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.242.2 for more changes

v43.242.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.242.1 for more changes

v43.242.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.242.0 for more changes

v43.241.5

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.241.5 for more changes

v43.241.3

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.241.3 for more changes

v43.241.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.241.2 for more changes

v43.241.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.241.0 for more changes

v43.240.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.240.0 for more changes

v43.239.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.239.0 for more changes

v43.237.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.237.1 for more changes

v43.237.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.237.0 for more changes

v43.236.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.236.0 for more changes

v43.235.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.235.2 for more changes

v43.235.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.235.1 for more changes

v43.235.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.235.0 for more changes

v43.234.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.234.2 for more changes

v43.234.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.234.1 for more changes

v43.234.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.234.0 for more changes

v43.233.4

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.233.4 for more changes

v43.227.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.227.0 for more changes

v43.226.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.226.2 for more changes

v43.226.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.226.1 for more changes

v43.226.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.226.0 for more changes

v43.225.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.225.0 for more changes

v43.224.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.224.0 for more changes

v43.223.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.223.0 for more changes

v43.222.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.222.1 for more changes

v43.222.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.222.0 for more changes

v43.221.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.221.0 for more changes

v43.220.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.220.0 for more changes

v43.218.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.218.0 for more changes

v43.217.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.217.1 for more changes

v43.217.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.217.0 for more changes

v43.216.4

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.216.4 for more changes

v43.216.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.216.1 for more changes

v43.216.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.216.0 for more changes

v43.214.6

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.214.6 for more changes

v43.214.5

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.214.5 for more changes

v43.214.4

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.214.4 for more changes

v43.214.3

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.214.3 for more changes

v43.214.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.214.2 for more changes

v43.214.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.214.1 for more changes

v43.214.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.214.0 for more changes

v43.213.3

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.213.3 for more changes

v43.213.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.213.2 for more changes

v43.213.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.213.1 for more changes

v43.213.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.213.0 for more changes

v43.212.4

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.212.4 for more changes

v43.212.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.212.2 for more changes

v43.212.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.212.1 for more changes

v43.212.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.212.0 for more changes

v43.211.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.211.0 for more changes

v43.210.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.210.2 for more changes

v43.210.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.210.1 for more changes

v43.209.5

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.209.5 for more changes

v43.209.4

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.209.4 for more changes

v43.209.3

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.209.3 for more changes

v43.209.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.209.2 for more changes

v43.209.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.209.1 for more changes

v43.209.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.209.0 for more changes

v43.208.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.208.2 for more changes

v43.208.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.208.1 for more changes

v43.208.0

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.208.0 for more changes

v43.207.4

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.207.4 for more changes

v43.207.3

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.207.3 for more changes

v43.207.2

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.207.2 for more changes

v43.207.1

Compare Source

See https://github.com/renovatebot/renovate/releases/tag/43.207.1 for more changes

pycqa/pylint (pycqa/pylint)

v4.0.6

Compare Source

What's new in Pylint 4.0.6?

Release date: 2026-06-14

False Positives Fixed

  • implicit-str-concat is no longer emitted for an implicit concatenation of
    a raw string with a non-raw one (e.g. r"\d" "\n"). Such literals cannot be
    merged 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 default
    typevar-rgx rejected TypeVar names containing digits, such as
    Ec2T.

    Closes #​8499

  • Fix a false positive for too-many-arguments in (non-static) methods and classmethods.

    Closes #​8675

  • Fix a false positive for no-member when a value is inferred to several
    possible types and at least one of them defines a dynamic __getattr__.

    Closes #​9833

  • Fix a false positive for function-redefined (E0102) when reusing names that
    match dummy-variables-rgx (such as _), which is common for
    pytest-bdd step definitions. This restores the behavior from before pylint
    4.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-variable false positive when a name used as a metaclass
    argument in a nested class is referenced again later in the module.

    Closes #​10823

  • Fix a false positive for unused-variable where global variables matching
    dummy-variables-rgx were still reported as unused when
    allow-global-unused-variables was disabled.

    Closes #​10890

  • Fix a false positive for bad-dunder-name when there is a user-defined __suppress_context__ attribute on exception subclasses.

    Closes #​10960

  • Fix used-before-assignment false positive for names bound by from X import * in every branch of an if/elif/else chain.

    Refs #​10980

  • Check for metaclass call signature when evaluating arguments of a class call.

    Closes #​11032

  • Fix false positive method-hidden when cached_property is imported directly with from functools import cached_property.

    Refs #​11037

Other Bug Fixes

  • Fix the suggestion of unnecessary-comprehension for a dict comprehension
    that iterates a dict directly, e.g. {a: b for a, b in d}. Iterating a dict
    yields its keys, so the suggestion is now dict(d.keys()) instead of the
    incorrect dict(d), which would simply copy d.

    Closes #​8256

  • Fix a crash in consider-using-enumerate when the for loop 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-init on classes that inherit from a base class pylint cannot fully analyze.

    Closes #​10892

  • Fix add_message silently overwriting an explicit col_offset=0 (or any other zero-valued line/end_lineno/end_col_offset) with the AST node's value. The internal _add_one_message helper used a falsey check (if not col_offset:) to detect an omitted argument, which incorrectly treated a legitimate 0 the same as None. It now uses an identity check against None.

    Refs #​11020

  • Fix a crash in the name checker when a non-constant value is passed as the covariant or contravariant argument of a TypeVar.

    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 NotImplemented is used as the test of an if statement, which raised a TypeError in 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 TypeAlias
    value has a non-name target such as a Subscript (for example
    a[0] = b = TypeAlias).

    Closes #​11056

  • Fix a crash in the deprecated checker when __import__ is called with a
    non-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-arg analysis when
    infer_call_result() raises InferenceError while inspecting
    decorator 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-name check.

    The default paramspec-rgx and typevartuple-rgx patterns rejected names
    containing digits (e.g. Ec2P, S3Ts), emitting a false invalid-name
    (C0103). Allow digits in the lowercase segments, consistent with the
    typevar and typealias patterns.

    Closes #​11090

Performance Improvements

  • The duplicate-code checker no longer runs when its message (R0801) is disabled, even if reports=yes is set. Previously, the checker's report (RP0801) would cause the expensive similarity computation to run regardless.

    Closes #​3443

pylint-dev/pylint (pylint)

v4.0.6

What's new in Pylint 4.0.6?

Release date: 2026-06-14

False Positives Fixed

  • implicit-str-concat is no longer emitted for an implicit concatenation of
    a raw string with a non-raw one (e.g. r"\d" "\n"). Such literals cannot be
    merged 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 default
    typevar-rgx rejected TypeVar names containing digits, such as
    Ec2T.

    Closes #​8499

  • Fix a false positive for too-many-arguments in (non-static) methods and classmethods.

    Closes #​8675

  • Fix a false positive for no-member when a value is inferred to several
    possible types and at least one of them defines a dynamic __getattr__.

    Closes #​9833

  • Fix a false positive for function-redefined (E0102) when reusing names that
    match dummy-variables-rgx (such as _), which is common for
    pytest-bdd step definitions. This restores the behavior from before pylint
    4.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-variable false positive when a name used as a metaclass
    argument in a nested class is referenced again later in the module.

    Closes #​10823

  • Fix a false positive for unused-variable where global variables matching
    dummy-variables-rgx were still reported as unused when
    allow-global-unused-variables was disabled.

    Closes #​10890

  • Fix a false positive for bad-dunder-name when there is a user-defined __suppress_context__ attribute on exception subclasses.

    Closes #​10960

  • Fix used-before-assignment false positive for names bound by from X import * in every branch of an if/elif/else chain.

    Refs #​10980

  • Check for metaclass call signature when evaluating arguments of a class call.

    Closes #​11032

  • Fix false positive method-hidden when cached_property is imported directly with from functools import cached_property.

    Refs #​11037

Other Bug Fixes

  • Fix the suggestion of unnecessary-comprehension for a dict comprehension
    that iterates a dict directly, e.g. {a: b for a, b in d}. Iterating a dict
    yields its keys, so the suggestion is now dict(d.keys()) instead of the
    incorrect dict(d), which would simply copy d.

    Closes #​8256

  • Fix a crash in consider-using-enumerate when the for loop 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-init on classes that inherit from a base class pylint cannot fully analyze.

    Closes #​10892

  • Fix add_message silently overwriting an explicit col_offset=0 (or any other zero-valued line/end_lineno/end_col_offset) with the AST node's value. The internal _add_one_message helper used a falsey check (if not col_offset:) to detect an omitted argument, which incorrectly treated a legitimate 0 the same as None. It now uses an identity check against None.

    Refs #​11020

  • Fix a crash in the name checker when a non-constant value is passed as the covariant or contravariant argument of a TypeVar.

    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 NotImplemented is used as the test of an if statement, which raised a TypeError in 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 TypeAlias
    value has a non-name target such as a Subscript (for example
    a[0] = b = TypeAlias).

    Closes #​11056

  • Fix a crash in the deprecated checker when __import__ is called with a
    non-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-arg analysis when
    infer_call_result() raises InferenceError while inspecting
    decorator 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-name check.

    The default paramspec-rgx and typevartuple-rgx patterns rejected names
    containing digits (e.g. Ec2P, S3Ts), emitting a false invalid-name
    (C0103). Allow digits in the lowercase segments, consistent with the
    typevar and typealias patterns.

    Closes #​11090

Performance Improvements

  • The duplicate-code checker no longer runs when its message (R0801) is disabled, even if reports=yes is set. Previously, the checker's report (RP0801) would cause the expensive similarity computation to run regardless.

    Closes #​3443

pytest-dev/pytest (pytest)

v9.1.1

Compare Source

pytest 9.1.1 (2026-06-19)

Bug fixes

  • #​14220: Fixed a logic bug in pytest.RaisesGroup which would might cause it to display incorrect "It matches FooError() which was paired with BarError" messages.
  • #​14591: Fixed a regression in pytest 9.1.0 which caused overriding a parametrized fixture with an indirect @​pytest.mark.parametrize to fail with "duplicate parametrization of '<fixture name>'".
  • #​14606: Fixed list-item typing errors from mypy in @pytest.mark.parametrize <pytest.mark.parametrize ref> argvalues parameter.
  • #​14608: Fixed a regression in pytest 9.1.0 where conftest.py files 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.0

Compare Source

pytest 9.1.0 (2026-06-13)
Removals and backward incompatible breaking changes

Note

PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • Between 12:00 AM and 03:59 AM, only on Monday (* 0-3 * * 1)
  • Automerge
    • At any time (no schedule defined)

🚦 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.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot force-pushed the renovate/all-minor-patch branch 9 times, most recently from 04c5020 to d997a50 Compare June 21, 2026 09:14
@renovate renovate Bot force-pushed the renovate/all-minor-patch branch 20 times, most recently from 5121ce8 to 964bef7 Compare June 28, 2026 22:00
@renovate renovate Bot force-pushed the renovate/all-minor-patch branch from 964bef7 to a4c4ad1 Compare June 29, 2026 12:33
@JohnVillalovos JohnVillalovos merged commit 2dbe168 into main Jun 29, 2026
19 checks passed
@JohnVillalovos JohnVillalovos deleted the renovate/all-minor-patch branch June 29, 2026 14:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant