Skip to content

Update Python dependencies (major)#258

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

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

Conversation

@renovate
Copy link
Copy Markdown
Contributor

@renovate renovate Bot commented May 5, 2026

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence Type Update
flake8-builtins (changelog) ^2.5.0^3.1.0 age confidence lint major
isort (changelog) ^6.0.1^8.0.1 age confidence lint major
isort (changelog) ^6.0.1^8.0.1 age confidence fmt major
ops (changelog) ^2.23.0^3.7.1 age confidence lint major
pytest-asyncio (changelog) ^0.21.2^1.4.0 age confidence integration major
pytest-microceph v32.1.0v49.0.2 age confidence integration major

Release Notes

gforcada/flake8-builtins (flake8-builtins)

v3.1.0

Compare Source

  • Drop python 3.9 support and add Python 3.14 support.
    [gforcada]

  • Bump pypy minimum version to 3.10.

v3.0.0

Compare Source

  • Change A005 to report errors on first line, rather than on line zero.
    [tremblaysimon]

  • Add support for Python 3.13.
    [gforcada]

PyCQA/isort (isort)

v8.0.1

Compare Source

Changes

v8.0.0

Compare Source

  • Removed --old-finders and --magic-placement flags and old_finders configuration option. The legacy finder logic that relied on environment introspection has been removed (#​2445) @​joao-faria-dev

v7.0.0

Compare Source

Changes

💥 Breaking Changes

🚀 Features

🪲 Fixes

👷 Continuous Integration

📦 Dependencies

v6.1.0

Compare Source

canonical/operator (ops)

v3.7.1

Compare Source

Fixes

  • Pass the endpoint name through to relation-get (#​2499)

Documentation

  • Add a how-to guide focused on debugging charms (#​2386)
  • Add metadata descriptions to the debug and public listing how-to guides (#​2415)
  • Update tutorials and how-tos to use pytest-jubilant (#​2406)
  • Add how-to guide about CI (#​2405)
  • Test COS Lite integration with the k8s-5-observe charm (#​2411)
  • Update tutorials and example charms to match Charmcraft 4.2 (#​2407)
  • Update api_demo_server version to support non-amd64 architectures (#​2448)
  • Pin to 24.04 when launching VMs (#​2457)
  • Explain how to remove errored apps in k8s tutorial (#​2445)
  • Align example charms with pre-release Charmcraft (#​2444)
  • Add how-to guide for naming and initialising a charm (#​2449)
  • Add a how-to guide about publishing a charm (#​2420)
  • In the tutorials, recommend initing from GitHub (#​2459)
  • Fix integration tests of K8s tutorial charms (#​2471)
  • Replace the PGP key with the upstream page in SECURITY.md (#​2474)
  • Bump api_demo_server to 1.0.4 in docs and example charms (#​2473)
  • Refresh the machine workloads how-to (#​2443)
  • Add COS Lite integration tests to K8s tutorial (#​2478)
  • Add git workflow guidance for contributors (#​2453)
  • Update profile guidance in HACKING.md (#​2486)
  • Explain how to add an icon to a charm (#​2451)
  • Adopt latest Charmcraft profiles, incl juju_setup marker on integration tests (#​2497)
  • Improve support for agents, with Sphinx Stack upgrade (#​2495)
  • Improve how-to about managing files in containers (#​2470)
  • Improve Container.pull docs to avoid leaky files (#​2508)
  • Clarify Secret manage-permission error in testing.State (#​2510)

Tests

  • Extend the type checking of the ops-scenario tests (#​2234, #​2235)
  • Wait on ExecProcess after expected TypeError (#​2509)

CI

  • Drop external action for checking PR title format (#​2388)
  • Add a dependabot cooldown (#​2413)
  • Sort the directory entries when updating the best practices list (#​2422)
  • Configure dependabot for the example charms (#​2426)
  • Pin zizmor and TIOBE tool versions in pyproject.toml rather than the workflow (#​2437)
  • Add 26.04 to smoke tests and remove outdated metadata.yaml (#​2450)
  • Use charmcraft test for example charm (#​2440)
  • Add workflow_dispatch trigger to workflows where it is useful (#​2468)
  • Ensure the correct job is selected in updating charm pins (#​2500)

v3.7.0

Compare Source

Features

  • Enable interactive debugging via breakpoint in testing (#​2363)
  • ops.testing autoload support for charmcraft extensions (#​2367)
  • Allow testing.State.get_relation to accept relation objects (#​2359)
  • Support charmcraft.yaml format as meta for testing.Context (#​2296)

Fixes

  • Correct type annotation for StorageMeta.properties (#​2348)
  • Move the testing.Container compatibility import so that mypy style checkers understand it (#​2343)
  • Hold only copies of user provided meta/config/actions in testing.Context (#​2349)
  • Deep-copy layer objects during testing.State plan rendering (#​2380)
  • Return copies from testing.State secret_get and action_get (#​2379)
  • Use timezone-aware datetimes in expiry calculation (#​2378)
  • Warn before clearing non-empty container in testing (#​2365)

Documentation

  • Replace links to juju.is by canonical.com/juju (#​2368)
  • Refactor homepage to better put Ops in context (#​2370)
  • Add pytest-operator migration guide from Jubilant docs (#​2381)
  • Add a tip about AI help in the Jubilant migration guide (#​2382)
  • Mention jhack scenario snapshot (#​2351)
  • Update integration testing how-to guide (#​2390)
  • Explain K8s charms briefly at the start of the tutorial (#​2392)
  • Juju secrets identifier is now an opaque string (#​2387)

Tests

  • Extend the type checking of the ops-scenario tests (#​2230)

CI

  • Run ruff check --fix in tox -e format (#​2369)
  • Check example charms with mypy in CI (#​2360)
  • Update the list of published charms in the compatibility tests (#​2384)
  • Adjust minimum Python version in broad charm compatibility tests (#​2317)

v3.6.0

Compare Source

Features

  • Bump default Juju version in ops.testing.Context to 3.6.14 (#​2316)

Fixes

  • Correct the Model.get_binding() return type (#​2329)
  • Only show executable in ExecError.__str__, not full command line (#​2336)
  • Support Pydantic MISSING sentinel in ops.Relation.save (#​2306)

Documentation

  • Add how-to subcategory for managing containers (#​2309)
  • Remove 2.19 version in docs, tweak ops.testing title (#​2332)
  • Use "true" and "false" consistently in the reference documentation (#​2330)
  • Add CLI args as another place to not put sensitive data (#​2334)
  • Fix remote unit kwarg in testing example (#​2342)
  • Clarify that secret labels are not names (#​2337)

Tests

  • Set SCENARIO_BARE_CHARM_ERRORS=true in Ops tests that care (#​2314)

CI

  • Fix releasing on branches with no versions.md doc (#​2323)

v3.5.2

Compare Source

Fixes

  • Make testing.CheckInfo level arg type match pebble.CheckInfo.level (#​2274)
  • Make testing consistency check aware that credential-get is available on k8s in newer Juju (#​2307)
  • Drop unused setuptools_scm build dependency (#​2310)

Documentation

  • Update Pebble version in Juju 3.6 (#​2295)
  • Refresh K8s tutorial to use Concierge and uv-based Charmcraft profile (#​2285)
  • Add missing "How to" in page titles (#​2289)
  • Fix and improve observability part of K8s tutorial (#​2305)

v3.5.1

Compare Source

Fixes

  • Use parse_rfc3339 for datetime parsing to support Juju 4 (#​2264)
  • Correct the value of additional_properties in the action meta in Juju 4 (#​2250)
  • Prevent KeyError on auth-type when creating CloudCredential object (#​2268)
  • _checks_action should return empty list when there are no changes (#​2270)

Documentation

  • Provide examples in unit testing how-to, and other small improvements (#​2251)
  • Update the action how-to to explain the additionalProperties default flip (#​2249)
  • For state-transition tests, clarify about immutability and reusing state (#​2153)
  • Fix and clarify holistic example of handling storage (#​2098)
  • Remove comments from K8s tutorial and clarify about persisting data (#​2253)
  • Clarify handling of postgres relation data in K8s tutorial (#​2256)
  • Improve unit tests of httpbin demo charm (#​2254)
  • Add version information for tools in the charming ecosystem (#​2231)
  • Avoid emojis that render differently across platforms (#​2273)
  • Secrets over CMR comment added (#​2271)
  • Fix charm name in httpbin deploy command (#​2276)
  • Updated security@ubuntu.com PGP key (#​2286)

Tests

  • Remove unnecessary test module (#​2247)

CI

  • Replace git reference injection with wheel artifacts in charm test workflows (#​2252)
  • Explicitly provide the charmcraft repo location in CI (#​2277)
  • Remove outdated custom signature generation (#​2280)

v3.5.0

Compare Source

Features

  • Env var to control exception wrapping in tests (#​2142)
  • Deprecate testing.Context.charm_spec (#​2219)

Documentation

  • Fix charmcraft init command (#​2210)
  • Update CI examples to use uv and tox-uv (#​2213)
  • Update and clarify info about environment prep (#​2217)
  • Match Charmcraft profiles in tox.ini example for integration testing (#​2221)
  • Use base 24.04 for httpbin-demo charm (#​2222)
  • Clarify parts of the machine charm tutorial (#​2223)
  • Match Charmcraft profiles in "Write and structure charm code" (#​2220)
  • Use cosl binary in K8s tutorial charm to work around error (#​2232)
  • Fix URL issues by updating doc starter pack (#​2238)

Tests

  • Don't skip tests if ops[testing] isn't installed (#​2215)
  • Switch the integration test charms to use the uv plugin (#​2218)

CI

  • Avoid jitter in the best practice doc PRs (#​2193)
  • Ignore PERF401 (manual list comprehension) across the repo (#​2201)
  • The git commands need to be run in the operator directory as well (#​2197)
  • Have cycle in the sbomber manifests use the default value (#​2209)
  • Add pytest.warns to note an expected warning (#​2092)
  • Update release script to handle non-final versions (#​2199)
  • Add ops-tracing as a dependency for the observability tests (#​2239)
  • Add scheduled workflow for packing and integration testing example charms (#​2233)

v3.4.0

Compare Source

Breaking Changes

  • Fix: Change JujuContext.machine_id from int to str (#​2108)
  • Fix: Ensure that the testing context manager is exited when an exception occurs (#​2117)

Features

  • Add a low-level API for the Juju hook commands (#​2019)
  • Make PebbleClient file methods also accept pathlib.PurePath (#​2097)
  • Log the total number of deferred events (#​2161)
  • Allow setting the Juju availability zone and principal unit in the testing Context (#​2187)

Fixes

  • Allow actions without params or descriptions in ops[testing] (#​2090)
  • Ensure ops.Pebble.pull cleans up temporary files if it errors (#​2087)
  • Make secret info description visible to the charm in ops[testing] (#​2115)
  • Raise ActionFailed when using Context as a context manager (#​2121)
  • Detect categories with an exclamation mark indicating breaking changes (#​2132)
  • Normalise Secret.owner to 'app' for ops[testing] output state (#​2127)
  • Don't cache secret metadata in Ops (#​2143)
  • Secret-info-get cannot be provided with both an ID and a label (#​2170)
  • Minor hookcmds fixes (#​2175)

Documentation

  • Update referenced examples for managing interfaces (#​2068)
  • Tidy up spelling and formatting in several places (#​2060)
  • Add missing assignment to state_out in unit tests how-to (#​2075)
  • Update the holistic/delta explanation with the reconciler pattern (#​2029)
  • Fix broken setup/teardown links in README (#​2094)
  • Update info about release docs, mark testing changelog as not maintained (#​2074)
  • Switch to makefile for building the docs (#​2073)
  • Document how to extract the charm instance from the testing context (#​2084)
  • Add a how-to guide for migrating away from Harness (#​2062)
  • Rename hook tools to hook commands (#​2114)
  • Remove legacy how-to guide for Harness (#​2122)
  • Update the Juju release the metrics functionality is removed from 4.0 to 3.6.11 (#​2126)
  • Clarify that Context is the testing context not only the Juju context (#​2123)
  • Explain the Charmhub public listing process and add a reference list of best practices (#​1989)
  • Expand next steps for K8s tutorial (#​2034)
  • Remove mention of the simple Charmcraft profile (#​2138)
  • Expand landing pages with summaries of pages (#​2140)
  • Update environment setup for integration tests and K8s tutorial (#​2124)
  • Replace machine charm tutorial by an improved tutorial (#​2119)
  • Change HACKING.md instructions for maintaining Charmcraft profiles (#​2151)
  • In integration tests, use consistent approach to logging and packing (#​2150)
  • In integration testing how-to, clarify that Juju model is destroyed after all tests in the model complete (#​2154)
  • Remove Charmcraft channel specifier from machine charm tutorial (#​2148)
  • Add AI contribution note and style guideline for type annotation of return values (#​2168)
  • Add ops[testing] to the ops.testing docstring (#​2171)
  • Add links to the Juju hook from each event class (#​2176)
  • Add a short umask note (#​2184)

Tests

  • Re-enable testing consistency checks after disabling them (#​2141)
  • Expand secrets integration and state transition tests (#​2130)

Refactoring

  • Use ops.hookcmds in _ModelBackend (#​2116)
  • Don't get the storage details from --help (#​2172)
  • Drop 3.8 and 3.9 compatibility code (#​2173)
  • Use json.dumps to produce the YAML in relation-set and state-set (#​2174)
  • Rely on type annotations instead of casts in hookcmds (#​2179)

CI

  • Add integration and state transition tests for the secrets API (#​2078)
  • Temporarily disable tracing integration tests (#​2102)
  • Add secrets tests follow-up (#​2105)
  • Support monorepos in ops charm compatibility testing (#​2100)
  • Test both Charmcraft 3 and Charmcraft 4 profiles (#​2103)
  • Add automated doc checks (and related starter pack updates) (#​2099)
  • Clean up accidental workflow trigger (#​2144)
  • Test if package versions match dependency versions before publishing (#​2139)
  • Update spelling (#​2167)
  • Test against 4.0/stable (#​2186)
  • Store charmcraft logs if smoke tests fail (#​2192)
  • Use Juju channel 4/stable in Ops smoke tests (#​2190)

v3.3.1: : fix loading the Juju machine ID

Compare Source

This is a bug-fix release to fix an issue introduced in Ops 3.3.0 (in production) and Ops 3.2.0 (in testing), where loading the Juju machine ID would fail if the ID was not an integer.

The type of the machine ID (both in ops.JujuContext and testing.Context) is changed from int to str, so some code or tests may need to be adjusted to use the correct type.

What's Changed

Fixes
  • Change JujuContext.machine_id from int to str (#​2108)

Full Changelog: canonical/operator@3.3.0...3.3.1

v3.3.0

Compare Source

Features

  • Expose the Juju hook context in ops.JujuContext (#​1996)

Fixes

  • In testing, separate relation data cache from mock Juju backend (#​2052)

Documentation

  • Use uv for testing and packing the httpbin charm (#​2011)
  • Improve intro to ops.testing reference (#​2023)
  • In httpbin charm integration tests, add env var for charm file to deploy (#​2018)
  • Update get_cloud_spec doc now that credential-get works on K8s (#​2031)
  • Note that arbitrary_types_allowed is required when ops.Secret is used in a Pydantic class (#​2038)
  • Clean up Resources.fetch docstring, add ModelError exception (#​2039)
  • Note that the peer databag isn't usable during the install event (#​2051)
  • Fix testing code in actions how-to guide (#​2054)

CI

  • Nicer logging output in the release script using rich (#​2017)
  • Clean up PYTHONPATH in tox.ini (#​2058)

v3.2.0

Compare Source

Features

  • Add security event logging (#​1905)
  • Surface JUJU_MACHINE_ID envvar in testing env (#​1961)
  • Add a new log target type opentelemetry (#​1937)

Documentation

  • Update links and config for switch to documentation.ubuntu.com/ops (#​1940)
  • Update the required Python version and note the 2.x documentation site (#​1946)
  • Be consistent with recommending self.config (#​1947)
  • Use latest styles from starter pack and remove .html extensions (#​1951)
  • Remove .html extensions from hardcoded links (#​1955)
  • Fix broken URLs in sitemap (#​1956)
  • Add related doc links to homepage (#​1959)
  • Use classes from ops instead of ops. (#​1968)
  • Fix unstyled error pages (#​1969)
  • Add Google Analyics integration and cookie consent banner (#​1971)
  • Refresh docs homepage with more context about Ops (#​1964)
  • Update link to Charmlibs docs (#​1985)
  • Remove unnecessary pages from sitemap (#​1979)
  • Update the httpbin example charm to Jubilant (#​1987)
  • Update the Zero to Hero tutorial to Jubilant (#​1988)
  • Add model-config best practice note (#​1990)
  • Change some best practices to tips (#​2001)
  • Add integration test for invalid config in httpbin charm (#​2002)
  • Make a Layer instead of a LayerDict in the httpbin charm (#​2003)
  • Update how-to to feature Jubilant (#​2000, #​2004)
  • Use Charmcraft-style format and lint for example charms, not Ops-style (#​2008)
  • Update broken link to HookVars source code (#​2006)

CI

  • Fixes for the SBOM and security scan workflow, and trigger it on publishing (#​1916)
  • Store the charmcraft logs if packing fails (#​1936)
  • Install release dependencies for the TIOBE analysis (#​1930)
  • Add Juju 4/beta to the smoke test matrix (#​1963)
  • Adjust permissions block in publish workflow (#​1984)
  • Update actions/checkout to v5 (#​1993)
  • Enable doctests (#​1991)
  • Ignore juju/4 timeouts (#​1998)
  • Remove the token for SBOM and security scan workflow (#​2009)
  • Speed up integration test (#​1978)

v3.1.0

Compare Source

Features

  • Release automation script (#​1855)
  • Add app_name and unit_id attributes to testing.context (#​1920)

Fixes

  • If an event ends with _abort(0) tests should behave as if it ended successfully (#​1887)
  • If self.app is not actually set avoid a new crash location (#​1897)
  • Only add the remote unit for departed and broken relation events, fix ordering (#​1918)
  • Add the remote unit to relation.data but not relation.units (#​1925)

Documentation

  • Use load_config in the httpbin example charm (#​1852)
  • Update HACKING.md with how to bump ops version in Charmcraft profiles (#​1872)
  • Change title of docs site (#​1890)
  • Use config and action classes in the Kubernetes tutorial (#​1891)
  • Reference example charms from K8s tutorial and fix consistency (#​1898)
  • Update style guide (#​1720)
  • Fix issues in how-to guide for stored state (#​1901)
  • Link out to the 12-factor tutorials from the tutorial index page (#​1902)
  • Replace broken link in testing explanation (#​1913)
  • Expand the storage how-to with content from Juju docs scheduled for removal (#​1915)
  • Ops tracing how to (#​1853)
  • Add a security explanation doc (#​1904)

Tests

  • Replace Python version to 3.10 for observability charm tests (#​1914)

CI

  • Use httpbin demo charm for the Charmcraft pack test (#​1895)
  • Move TIOBE workflow to self-hosted runners (#​1912)
  • Add SBOM generation and secscan workflow (#​1906)
  • Build and publish in one step (#​1857)
  • Update the name and email when updating the charm pins (#​1924)
  • Drop smoke test against 20.04 (#​1923)

v3.0.0

Compare Source

The minimum version of Python for Ops 3.x is 3.10.

Documentation

  • Be consistent with recommending self.app and self.unit (#​1856)

CI

  • Hotfix, publish job for ops-tracing (#​1865)

v2.23.2: : fix testing package build

Compare Source

What's Changed

This release fixes a recent build failure for ops[testing].

Fixes

  • Drop unused setuptools_scm build dependency in #​2318

Documentation

  • For 2.23, update links and config for switch to documentation.ubuntu.com/ops in #​1942
  • For 2.x, fix site title and unstyled error pages in #​1945
  • For 2.x, remove .html extensions in #​1954
  • For 2.x, fix unstyled error pages in #​1973

Full Changelog: canonical/operator@2.23.1...2.23.2

v2.23.1: : Add the remote unit to Relation.data, but not Relation.units

Compare Source

This is a small bug-fix release for the 2.x series that addresses issues with the recent feature making relation data available in relation-departed events. Rather than inserting the remote unit into Relation.units, the data is available from Relation.data, without changing Relation.units.

What's Changed

Fixes
  • Add the remote unit to Relation.data but not Relation.units in #​1928
Documentation
  • Be consistent with recommending self.app and self.unit in #​1856
  • Add notice about ops 2 and ops 3 in #​1867
  • Update title and edit links for ops 2.23 docs in #​1885
CI
  • Hotfix, publish job for ops-tracing in #​1865

Full Changelog: canonical/operator@2.23.0...2.23.1

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

v1.4.0: pytest-asyncio v1.4.0

Compare Source

1.4.0 - 2026-05-26

Deprecated

  • Overriding the event_loop_policy fixture is deprecated. Use the pytest_asyncio_loop_factories hook instead. (#​1419)

Added

  • Added the pytest_asyncio_loop_factories hook to parametrize asyncio tests with custom event loop factories.

    The hook returns a mapping of factory names to loop factories, and pytest.mark.asyncio(loop_factories=[...]) selects a subset of configured factories per test. When a single factory is configured, test names are unchanged.

    Synchronous @pytest_asyncio.fixture functions now see the correct event loop when custom loop factories are configured, even when test code disrupts the current event loop (e.g., via asyncio.run() or asyncio.set_event_loop(None)). (#​1164)

Changed

  • Improved the readability of the warning message that is displayed when asyncio_default_fixture_loop_scope is unset (#​1298)
  • Only import asyncio.AbstractEventLoopPolicy for type checking to avoid raising
    a DeprecationWarning. (#​1394)
  • Updated minimum supported pytest version to v8.4.0. (#​1397)

Fixed

  • Fixed a ResourceWarning: unclosed event loop warning that could occur when a synchronous test called asyncio.run() or otherwise unset the current event loop after pytest-asyncio had run an async test or fixture. (#​724)

Notes for Downstream Packagers

  • Added dependency on sphinx-tabs >= 3.5 to organize documentation examples into tabs. (#​1395)

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

[`

Note

PR body was truncated to here.


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 May 5, 2026
@renovate
Copy link
Copy Markdown
Contributor Author

renovate Bot commented May 5, 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...


Incompatible constraints in requirements of non-package-mode (0):
ops (>=2.23.0,<3.0.0)
ops (>=3.7.1,<4.0.0)

@renovate renovate Bot force-pushed the renovate/major-python-dependencies branch from 1eaf1a0 to 647e43d Compare May 12, 2026 03:33
@renovate renovate Bot force-pushed the renovate/major-python-dependencies branch from 647e43d to 063981f Compare May 19, 2026 03:42
@renovate renovate Bot force-pushed the renovate/major-python-dependencies branch from 063981f to d15daac Compare June 2, 2026 03:29
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