Skip to content

Update Python dependencies (major)#167

Open
renovate[bot] wants to merge 1 commit into8/edgefrom
renovate/major-python-dependencies
Open

Update Python dependencies (major)#167
renovate[bot] wants to merge 1 commit into8/edgefrom
renovate/major-python-dependencies

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate bot commented Jan 20, 2026

This PR contains the following updates:

Package Change Age Confidence
cffi (changelog) ^1.16.0^2.0.0 age confidence
pytest-asyncio (changelog) ^0.21.1^1.3.0 age confidence

Release Notes

python-cffi/cffi (cffi)

v2.0.0

Compare Source

What's Changed

  • Add Python 3.14 support.
  • Add CPython free-threaded support (3.14t+ only) - huge thanks to the folks at Quansight Labs for all the work to get this one sorted!
  • Drop Python <= 3.8 support.
  • Fix order dependency affecting nested type size calculation (#​148).

Full Changelog: python-cffi/cffi@v1.17.1...v2.0.0

pytest-dev/pytest-asyncio (pytest-asyncio)

v1.3.0: pytest-asyncio 1.3.0

Compare Source

1.3.0 - 2025-11-10

Removed

Added

Notes for Downstream Packagers

  • Tested Python versions include free threaded Python 3.14t (#​1274)
  • Tests are run in the same pytest process, instead of spawning a subprocess with pytest.Pytester.runpytest_subprocess. This prevents the test suite from accidentally using a system installation of pytest-asyncio, which could result in test errors. (#​1275)

v1.2.0: pytest-asyncio 1.2.0

Compare Source

1.2.0 - 2025-09-12

Added

  • --asyncio-debug CLI option and asyncio_debug configuration option to enable asyncio debug mode for the default event loop. (#​980)
  • A pytest.UsageError for invalid configuration values of asyncio_default_fixture_loop_scope and asyncio_default_test_loop_scope. (#​1189)
  • Compatibility with the Pyright type checker (#​731)

Fixed

  • RuntimeError: There is no current event loop in thread 'MainThread' when any test unsets the event loop (such as when using asyncio.run and asyncio.Runner). (#​1177)
  • Deprecation warning when decorating an asynchronous fixture with @pytest.fixture in [strict]{.title-ref} mode. The warning message now refers to the correct package. (#​1198)

Notes for Downstream Packagers

  • Bump the minimum required version of tox to v4.28. This change is only relevant if you use the tox.ini file provided by pytest-asyncio to run tests.
  • Extend dependency on typing-extensions>=4.12 from Python<3.10 to Python<3.13.

v1.1.1: pytest-asyncio 1.1.1

Compare Source

v1.1.1 - 2025-09-12

Notes for Downstream Packagers

- Addresses a build problem with setuptoos-scm >= 9 caused by invalid setuptools-scm configuration in pytest-asyncio. (#​1192)

v1.1.0: pytest-asyncio 1.1.0

Compare Source

Added

  • Propagation of ContextVars from async fixtures to other fixtures and tests on Python 3.10 and older (#​127)
  • Cancellation of tasks when the loop_scope ends (#​200)
  • Warning when the current event loop is closed by a test

Fixed

  • Error about missing loop when calling functions requiring a loop in the finally clause of a task (#​878)
  • An error that could cause duplicate warnings to be issued

Notes for Downstream Packagers

v1.0.0: pytest-asyncio 1.0.0

Compare Source

1.0.0 - 2025-05-26

Removed

  • The deprecated event_loop fixture.
    (#​1106)

Added

  • Prelimiary support for Python 3.14
    (#​1025)

Changed

  • Scoped event loops (e.g. module-scoped loops) are created once rather
    than per scope (e.g. per module). This reduces the number of fixtures
    and speeds up collection time, especially for large test suites.
    (#​1107)
  • The loop_scope argument to pytest.mark.asyncio no longer forces
    that a pytest Collector exists at the level of the specified scope.
    For example, a test function marked with
    pytest.mark.asyncio(loop_scope="class") no longer requires a class
    surrounding the test. This is consistent with the behavior of the
    scope argument to pytest_asyncio.fixture.
    (#​1112)

Fixed

  • An error caused when using pytest's [--setup-plan]{.title-ref}
    option.
    (#​630)
  • Unsuppressed import errors with pytest option
    --doctest-ignore-import-errors
    (#​797)
  • A "fixture not found" error in connection with package-scoped loops
    (#​1052)

Notes for Downstream Packagers

  • Removed a test that had an ordering dependency on other tests.
    (#​1114)

v0.26.0: pytest-asyncio 0.26.0

Compare Source

  • Adds configuration option that sets default event loop scope for all tests #​793
  • Improved type annotations for pytest_asyncio.fixture #​1045
  • Added typing-extensions as additional dependency for Python <3.10 #​1045

v0.25.3: pytest-asyncio 0.25.3

Compare Source

  • Avoid errors in cleanup of async generators when event loop is already closed #​1040

v0.25.2: pytest-asyncio 0.25.2

Compare Source

  • Call loop.shutdown_asyncgens() before closing the event loop to ensure async generators are closed in the same manner as asyncio.run does #​1034

v0.25.1: pytest-asyncio 0.25.1

Compare Source

  • Fixes an issue that caused a broken event loop when a function-scoped test was executed in between two tests with wider loop scope #​950
  • Improves test collection speed in auto mode #​1020
  • Corrects the warning that is emitted upon redefining the event_loop fixture

v0.25.0: pytest-asyncio 0.25.0

Compare Source

0.25.0 (2024-12-13)

  • Deprecated: Added warning when asyncio test requests async @pytest.fixture in strict mode. This will become an error in a future version of flake8-asyncio. #​979
  • Updates the error message about pytest.mark.asyncio's scope keyword argument to say loop_scope instead. #​1004
  • Verbose log displays correct parameter name: asyncio_default_fixture_loop_scope #​990
  • Propagates contextvars set in async fixtures to other fixtures and tests on Python 3.11 and above. #​1008

v0.24.0: pytest-asyncio 0.24.0

Compare Source

0.24.0 (2024-08-22)

  • BREAKING: Updated minimum supported pytest version to v8.2.0
  • Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #​706, #​871
  • Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with pytest_asyncio.fixture. Users are encouraged to use the loop_scope keyword argument, which does exactly the same.
  • Raises an error when passing scope or loop_scope as a positional argument to @pytest.mark.asyncio. #​812
  • Fixes a bug that caused module-scoped async fixtures to fail when reused in other modules #​862 #​668

v0.23.8: pytest-asyncio 0.23.8

Compare Source

0.23.8 (2024-07-17)

  • Fixes a bug that caused duplicate markers in async tests #​813

Known issues

As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #​706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.

v0.23.7: pytest-asyncio 0.23.7

Compare Source

0.23.7 (2024-05-19)

  • Silence deprecation warnings about unclosed event loops that occurred with certain CPython patch releases #​817

Known issues

As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #​706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.

v0.23.6: pytest-asyncio 0.23.6

Compare Source

0.23.6 (2024-03-19)

  • Fix compatibility with pytest 8.2 #​800

Known issues

As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #​706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.

v0.23.5: pytest-asyncio 0.23.5

Compare Source

0.23.5 (2024-02-09)

  • Declare compatibility with pytest 8 #​737
  • Fix typing errors with recent versions of mypy #​769
  • Prevent DeprecationWarning about internal use of asyncio.get_event_loop() from affecting test cases #​757

Known issues

As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #​706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.

v0.23.4: pytest-asyncio 0.23.4

Compare Source

0.23.4 (2024-01-28)

  • pytest-asyncio no longer imports additional, unrelated packages during test collection #​729
  • Addresses further issues that caused an internal pytest error during test collection
  • Declares incompatibility with pytest 8 #​737

v0.23.3: pytest-asyncio 0.23.3

Compare Source

0.23.3 (2024-01-01)

  • Fixes a bug that caused event loops to be closed prematurely when using async generator fixtures with class scope or wider in a function-scoped test #​706
  • Fixes various bugs that caused an internal pytest error during test collection #​711 #​713 #​719

Known issues

As of v0.23, pytest-asyncio attaches an asyncio event loop to each item of the test suite (i.e. session, packages, modules, classes, functions) and allows tests to be run in those loops when marked accordingly. Pytest-asyncio currently assumes that async fixture scope is correlated with the new event loop scope. This prevents fixtures from being evaluated independently from the event loop scope and breaks some existing test suites (see #​706). For example, a test suite may require all fixtures and tests to run in the same event loop, but have async fixtures that are set up and torn down for each module. If you're affected by this issue, please continue using the v0.21 release, until it is resolved.

v0.23.2: pytest-asyncio 0.23.2

Compare Source

0.23.2 (2023-12-04)

  • Fixes a bug that caused an internal pytest error when collecting .txt files #​703

v0.23.1: pytest-asyncio 0.23.1

Compare Source

0.23.1 (2023-12-03)

  • Fixes a bug that caused an internal pytest error when using module-level skips #​701

v0.23.0: pytest-asyncio 0.23.0

Compare Source

This release is backwards-compatible with v0.21. Changes are
non-breaking, unless you upgrade from v0.22.

  • BREAKING: The asyncio_event_loop mark has been removed. Event
    loops with class, module, package, and session scopes can be
    requested via the scope keyword argument to the asyncio
    mark.
  • Introduces the event_loop_policy fixture which allows testing with
    non-default or multiple event loops #​662
  • Introduces pytest_asyncio.is_async_test which returns whether a
    test item is managed by pytest-asyncio #​376
  • Removes and pytest-trio, mypy, and flaky from the test
    dependencies #​620, #​674, #​678

v0.22.0: pytest-asyncio 0.22.0 (yanked)

Compare Source

This release deprecated event loop overrides, but didn't provide adequate replacement functionality for all relevant use cases. As such, the release was yanked from PyPI.

0.22.0 (2023-10-31)

  • Class-scoped and module-scoped event loops can be requested
    via the asyncio_event_loop mark. #​620
  • Deprecate redefinition of the event_loop fixture. #​587
    Users requiring a class-scoped or module-scoped asyncio event loop for their tests
    should mark the corresponding class or module with asyncio_event_loop.
  • Test items based on asynchronous generators always exit with xfail status and emit a warning during the collection phase. This behavior is consistent with synchronous yield tests. #​642
  • Remove support for Python 3.7
  • Declare support for Python 3.12

Configuration

📅 Schedule: (in timezone Etc/UTC)

  • Branch creation
    • Between 01:00 AM and 07:59 AM, only on Tuesday (* 1-7 * * 2)
  • 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 added the not bug or enhancement PR is not 'bug' or 'enhancement'. For release notes label Jan 20, 2026
@renovate
Copy link
Copy Markdown
Contributor Author

renovate bot commented Jan 20, 2026

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: poetry.lock
Updating dependencies
Resolving dependencies...


Because pytest-operator (0.34.0) depends on pytest-asyncio (<0.23)
 and no versions of pytest-operator match >0.34.0,<0.35.0, pytest-operator (>=0.34.0,<0.35.0) requires pytest-asyncio (<0.23).
So, because non-package-mode depends on both pytest-asyncio (^1.3.0) and pytest-operator (^0.34.0), version solving failed.

@renovate renovate bot force-pushed the renovate/major-python-dependencies branch from 79c019e to e4d4e41 Compare February 3, 2026 02:17
@renovate renovate bot force-pushed the renovate/major-python-dependencies branch from e4d4e41 to ba34bfc Compare February 17, 2026 01:56
@renovate renovate bot force-pushed the renovate/major-python-dependencies branch from ba34bfc to caec1ed Compare March 3, 2026 01:54
@renovate renovate bot force-pushed the renovate/major-python-dependencies branch from caec1ed to 99f47f2 Compare March 17, 2026 01:56
@renovate renovate bot force-pushed the renovate/major-python-dependencies branch from 99f47f2 to 753bbb5 Compare March 31, 2026 01:46
@renovate renovate bot force-pushed the renovate/major-python-dependencies branch from 753bbb5 to 51a33c1 Compare April 7, 2026 01:58
@renovate renovate bot force-pushed the renovate/major-python-dependencies branch from 51a33c1 to d5d0a3f Compare April 14, 2026 02:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

not bug or enhancement PR is not 'bug' or 'enhancement'. For release notes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants