Skip to content

Bump the development-dependencies group across 1 directory with 19 updates - #2002

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/development-dependencies-ab4d935243
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/development-dependencies-ab4d935243

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 1, 2026 •

Copy link
Copy Markdown
Contributor

Bumps the development-dependencies group with 19 updates in the / directory:

Package From To
pytest-cov 7.0.0 7.1.0
jsonschema 4.25.1 4.26.0
beautifulsoup4 4.13.5 4.15.0
moto 5.1.11 5.2.3
fakeredis 2.31.1 2.38.0
mypy 1.17.1 2.3.1
pytest 9.0.3 9.1.1
responses 0.25.8 0.26.3
types-simplejson 3.20.0.20250822 4.1.0.20260724
types-requests 2.32.4.20250809 2.33.0.20260906
types-pyyaml 6.0.12.20250822 6.0.12.20260906
types-python-dateutil 2.9.0.20250822 2.9.0.20260807
pytest-mock 3.15.0 3.16.0
types-cachetools 6.2.0.20250827 7.0.0.20260713
types-pytz 2025.2.0.20250809 2026.4.0.20260926
playwright 1.55.0 1.63.0
black 26.3.1 26.5.1
djlint 1.36.4 1.46.3
ruff 0.14.13 0.16.9

Updates pytest-cov from 7.0.0 to 7.1.0

Changelog

Sourced from pytest-cov's changelog.

7.1.0 (2026-03-21)

  • Fixed total coverage computation to always be consistent, regardless of reporting settings. Previously some reports could produce different total counts, and consequently can make --cov-fail-under behave different depending on reporting options. See [#641](https://github.com/pytest-dev/pytest-cov/issues/641) <https://github.com/pytest-dev/pytest-cov/issues/641>_.

  • Improve handling of ResourceWarning from sqlite3.

    The plugin adds warning filter for sqlite3 ResourceWarning unclosed database (since 6.2.0). It checks if there is already existing plugin for this message by comparing filter regular expression. When filter is specified on command line the message is escaped and does not match an expected message. A check for an escaped regular expression is added to handle this case.

    With this fix one can suppress ResourceWarning from sqlite3 from command line::

    pytest -W "ignore:unclosed database in <sqlite3.Connection object at:ResourceWarning" ...

  • Various improvements to documentation. Contributed by Art Pelling in [#718](https://github.com/pytest-dev/pytest-cov/issues/718) <https://github.com/pytest-dev/pytest-cov/pull/718>_ and "vivodi" in [#738](https://github.com/pytest-dev/pytest-cov/issues/738) <https://github.com/pytest-dev/pytest-cov/pull/738>. Also closed [#736](https://github.com/pytest-dev/pytest-cov/issues/736) <https://github.com/pytest-dev/pytest-cov/issues/736>.

  • Fixed some assertions in tests. Contributed by in Markéta Machová in [#722](https://github.com/pytest-dev/pytest-cov/issues/722) <https://github.com/pytest-dev/pytest-cov/pull/722>_.

  • Removed unnecessary coverage configuration copying (meant as a backup because reporting commands had configuration side-effects before coverage 5.0).

Commits
  • 66c8a52 Bump version: 7.0.0 → 7.1.0
  • f707662 Make the examples use pypy 3.11.
  • 6049a78 Make context test use the old ctracer (seems the new sysmon tracer behaves di...
  • 8ebf20b Update changelog.
  • 861d30e Remove the backup context manager - shouldn't be needed since coverage 5.0, ...
  • fd4c956 Pass the precision on the nulled total (seems that there's some caching goion...
  • 78c9c4e Only run the 3.9 on older deps.
  • 4849a92 Punctuation.
  • 197c35e Update changelog and hopefully I don't forget to publish release again :))
  • 14dc1c9 Update examples to use 3.11 and make the adhoc layout example look a bit more...
  • Additional commits viewable in compare view

Updates jsonschema from 4.25.1 to 4.26.0

Release notes

Sourced from jsonschema's releases.

v4.26.0

What's Changed

New Contributors

Full Changelog: python-jsonschema/jsonschema@v4.25.1...v4.26.0

Changelog

Sourced from jsonschema's changelog.

v4.26.0

  • Decrease import time by delaying importing of urllib.request (#1416).
Commits
  • a727743 Add a changelog entry for 4.26.
  • 6d28c13 Update the lockfile.
  • 739499e Update pre-commit hooks.
  • cb2d779 Merge pull request #1443 from python-jsonschema/pre-commit-ci-update-config
  • e6bbbb7 [pre-commit.ci] pre-commit autoupdate
  • d56037a Merge pull request #1442 from python-jsonschema/dependabot/github_actions/ast...
  • e54ce13 Bump astral-sh/setup-uv from 7.1.4 to 7.1.6
  • 1f7c9fb Partially update docs requirements.
  • 241aec9 Merge pull request #1441 from python-jsonschema/pre-commit-ci-update-config
  • 2818efb Apache-2.0 -> nongpl
  • Additional commits viewable in compare view

Updates beautifulsoup4 from 4.13.5 to 4.15.0

Updates moto from 5.1.11 to 5.2.3

Changelog

Sourced from moto's changelog.

5.2.3

Docker Digest for 5.2.3: sha256:91fd602a21f49cf9eb82fdf474015a3c131d40104c8297ea6a2ca920708ae32c

General:
    * Dropped support for the Panorama service, following the removal by botocore

New Services: * Clean Rooms: * create_collaboration() * create_configured_table() * create_membership() * delete_collaboration() * delete_configured_table() * delete_membership() * get_collaboration() * get_configured_table() * get_membership() * list_collaborations() * list_configured_tables() * list_members() * list_memberships() * list_tags_for_resource() * tag_resource() * untag_resource() * update_collaboration() * update_configured_table() * update_membership()

* DevOps Agent:
    * create_agent_space()
    * delete_agent_space()
    * get_agent_space()
    * list_agent_spaces()
    * list_tags_for_resource()
    * tag_resource()
    * update_agent_space()
    * untag_resource()
  • Payment Cryptography:
    • add_key_replication_regions()
    • create_alias()
    • create_key()
    • delete_alias()
    • delete_resource_policy()
    • disable_default_key_replication_regions()
    • enable_default_key_replication_regions()
    • get_alias()
    • get_default_key_replication_regions()
    • get_key()

... (truncated)

Commits

Updates fakeredis from 2.31.1 to 2.38.0

Release notes

Sourced from fakeredis's releases.

v2.38.0 - 2026-09-08

🚀 Features

  • feat: implement Dragonfly's CL.THROTTLE rate-limiting command, ported from Dragonfly's own code so the quirks match — millisecond-ceiling time fields, remaining truncating towards zero, and an over-sized request reporting retry_after = -1 without writing the key (#536)
  • feat(dragonfly): match its errors, validation and limits — backticked unknown-command errors, unsigned numkeys/COUNT, SCAN COUNT 0 falling back to the default batch size, SMOVE checking its destination type up front, no LCS at all, a relative expiry past 2**28-1 seconds clamped while an absolute one is rejected, hash-field TTLs capped at 2**26 seconds, and strings capped at 256MB rather than Redis' 512MB (#555, #556)
  • feat(dragonfly): match the replies it sends — doubles from INCRBYFLOAT/HINCRBYFLOAT, empty arrays from a timed-out blocking pop and from an XREAD/XREADGROUP that matched nothing, ZPOPMIN/ ZPOPMAX always paired under RESP3, flat WITHSCORES from ZUNION/ZINTER, a null first-entry/last-entry for an empty stream, -1 as XINFO GROUPS' unknown-lag sentinel, XPENDING looking up the key before the group, and one namespace for shard and plain pub/sub channels (#557, #558, #559)
  • feat(dragonfly): match its command behaviour — SORT without -> hash-field patterns and without Redis' weight tie-break, COPY without a DB option, GEORADIUS/GEOSEARCH in geohash order unless sorted, a watched key dirtied by any write, Lua 5.4 scripting (non-integral numbers as doubles, Redis 6-style error wrapping, admin commands refused inside scripts), and its own JSON quirks (legacy paths wrapped like JSONPath, no filter expressions) (#560, #561, #562, #563)

🐛 Bug Fixes

  • fix: redis.call in a Lua script now returns RESP2 shapes whatever protocol the client negotiated, matching real Redis, where a script must opt into RESP3. redis.setresp(2)/redis.setresp(3) are now supported and reset to RESP2 for each run. Dragonfly has no redis.setresp, so fakeredis does not expose one when emulating it, and a script returning {double=...} there answers with an empty array the way the real server does (#543)
  • fix: XCLAIM/XAUTOCLAIM now move an entry's pending count to the claiming consumer instead of leaving it on the previous owner, so a later XACK no longer drives that count negative (#548)
  • fix: XACK no longer raises a raw Python KeyError when a pending entry has no live consumer, and XGROUP DELCONSUMER now removes the entries that consumer owned, returning how many it dropped (#549)
  • fix: XCLAIM now honours RETRYCOUNT, and XCLAIM/XAUTOCLAIM honour JUSTID, when updating an entry's delivery counter. RETRYCOUNT takes precedence over JUSTID, and a negative RETRYCOUNT means "not given" (#544)
  • fix: cancelling a blocking async command (BRPOP, BLPOP, XREAD BLOCK 0, ...) no longer leaves the connection unusable — it went back to the pool with its socket still paused, so every later command on it hung (#471)
  • fix: XAUTOCLAIM now returns the cursor its next scan should start from, and 0-0 once the pending list is exhausted (#547)
  • fix: SMOVE no longer raises WRONGTYPE for a wrongly typed destination when the source key is missing, BITCOUNT reports the syntax error before decoding its range arguments on a pre-7.0 server, and GEORADIUS returns an unsorted reply in geohash order rather than insertion order (#553)
  • fix: reap TcpFakeServer handler threads when a client disconnects (#541)

... (truncated)

Commits
  • 18234b0 chore: bump version to 2.38.0
  • b994ff3 add kividb support
  • 38006ed add site/ dir to gitignore
  • 36c1b5c typo in filename
  • c5af047 dependabot issues
  • e109a0c style: wrap comments to the project's 120-column limit
  • 5e02da3 remove unneeded comments
  • ebccad3 remove unneeded comments
  • 5127fe6 fix(dragonfly): a script returning {double=...} answers with an empty array (...
  • c73a6e3 ci: have test.yml call the test-combination.yml workflow (#576)
  • Additional commits viewable in compare view

Updates mypy from 1.17.1 to 2.3.1

Changelog

Sourced from mypy's changelog.

Mypy 2.3.1

  • Fix mypyc crash on double yielding Iterators (Daniël van Noord, PR 21826)
  • Fix mypyc default_factory for inherited dataclass (Daniël van Noord, PR 21785)
  • Clear mypyc coroutine env on coroutine completion (Piotr Sawicki, PR 21734)
  • Fix crash when unpacking return value from overload (Shantanu, PR 21830)

Acknowledgements

Thanks to all mypy contributors who contributed to this release:

  • Agriya Khetarpal
  • Ethan Sarp
  • Ivan Levkivskyi
  • Jingchen Ye
  • Jukka Lehtosalo
  • Piotr Sawicki
  • Shantanu
  • Tom Bannink
  • Viktor Szépe
  • ygale

I'd also like to thank my employer, Dropbox, for supporting mypy development.

Mypy 2.2

We've just uploaded mypy 2.2.0 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:

python3 -m pip install -U mypy

You can read the full documentation for this release on Read the Docs.

Support for Closed TypedDicts (PEP 728)

Mypy now supports closed TypedDicts as specified in PEP 728. A closed TypedDict cannot have extra keys beyond those explicitly defined. This allows the type checker to determine that certain operations are safe when they otherwise wouldn't be due to the potential presence of unknown keys.

You can use the closed keyword argument with TypedDict:

HasName = TypedDict("HasName", {"name": str})
HasOnlyName = TypedDict("HasOnlyName", {"name": str}, closed=True)
Movie = TypedDict("Movie", {"name": str, "year": int})
movie: Movie = {"name": "Nimona", "year": 2023}
has_name: HasName = movie  # OK: HasName is open (default)
has_only_name: HasOnlyName = movie  # Error: HasOnlyName is closed and Movie has extra "year" key
</tr></table>

... (truncated)

Commits
  • d642c44 Bump version to 2.3.1
  • a392429 [mypyc] Fix crash on double yielding Iterators (#21826)
  • 4843e77 [mypyc] Fix default_factory for inherited dataclass (#21785)
  • 14f5df9 [mypyc] Clear coroutine env on coroutine completion (#21734)
  • 6dfa06d Fix crash when unpacking return value from overload (#21830)
  • a385746 Bump version to 2.3.1+dev
  • 8aabf84 Drop +dev from version
  • 4d8ad2a Update changelog for 2.3 release (#21728)
  • 2c21546 [mypyc] Update documentation of race conditions under free threading (#21726)
  • a9f62a3 [mypyc] Make attribute access memory safe on free-threaded builds (#21705)
  • Additional commits viewable in compare view

Updates pytest from 9.0.3 to 9.1.1

Release notes

Sourced from pytest's releases.

9.1.1

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.

9.1.0

pytest 9.1.0 (2026-06-13)

Removals and backward incompatible breaking changes

  • #14533: When using --doctest-modules, autouse fixtures with module, package or session scope that are defined inline in Python test modules (not plugins or conftests) will now possibly execute twice.

    If this is undesirable, move the fixture definition to a conftest.py file if possible.

    Technical explanation for those interested: When using --doctest-modules, pytest possibly collects Python modules twice, once as pytest.Module and once as a DoctestModule (depending on the configuration). Due to improvements in pytest's fixture implementation, if e.g. the DoctestModule collects a fixture, it is now visible to it only, and not to the Module. This means that both need to register the fixtures independently.

Deprecations (removal in next major release)

  • #10819: Added a deprecation warning for class-scoped fixtures defined as instance methods (without @classmethod). Such fixtures set attributes on a different instance than the test methods use, leading to unexpected behavior. Use @classmethod decorator instead -- by yastcher.

    See 10819 and 14011.

  • #12882: Calling request.getfixturevalue() <pytest.FixtureRequest.getfixturevalue> during teardown to request a fixture that was not already requested is now deprecated and will become an error in pytest 10.

    See dynamic-fixture-request-during-teardown for details.

  • #13409: Using non-~collections.abc.Collection iterables (such as generators, iterators, or custom iterable objects) for the argvalues parameter in @pytest.mark.parametrize <pytest.mark.parametrize ref> and metafunc.parametrize <pytest.Metafunc.parametrize> is now deprecated.

    These iterables get exhausted after the first iteration, leading to tests getting unexpectedly skipped in cases such as running pytest.main() multiple times, using class-level parametrize decorators, or collecting tests multiple times.

    See parametrize-iterators for details and suggestions.

  • #13946: The private config.inicfg attribute is now deprecated. Use config.getini() <pytest.Config.getini> to access configuration values instead.

    See config-inicfg for more details.

  • #14004: Passing baseid to ~pytest.FixtureDef or nodeid strings to fixture registration APIs is now deprecated. These are internal pytest APIs that are used by some plugins.

... (truncated)

Commits
  • cf470ec Prepare release version 9.1.1
  • e0c8ce6 Merge pull request #14625 from pytest-dev/patchback/backports/9.1.x/a07c31a97...
  • 1b82d16 Merge pull request #14624 from pytest-dev/patchback/backports/9.1.x/b375b79ec...
  • 501c4bc Merge pull request #14596 from bluetech/doc-classmethod
  • b61f588 Merge pull request #14622 from chrisburr/fix-14608-initial-conftest-test-subdir
  • 9a567e0 [automated] Update plugin list (#14617) (#14618)
  • ef8b299 Merge pull request #14620 from pytest-dev/patchback/backports/9.1.x/680f9f3ed...
  • 66abd07 Merge pull request #14220 from bysiber/fix-stale-iexp-raisesgroup
  • 79fbf93 Merge pull request #14612 from pytest-dev/patchback/backports/9.1.x/974ed48b6...
  • 0d312eb Merge pull request #14611 from bluetech/parametrize-argvalues-typing
  • Additional commits viewable in compare view

Updates responses from 0.25.8 to 0.26.3

Release notes

Sourced from responses's releases.

0.26.3

  • Added a keep_headers argument to _recorder.record and Recorder.dump_to_file to preserve named headers (for example Date) that are otherwise stripped as verbose defaults, so a signed response can be recorded and later verified. Matching is case-insensitive. See #763
  • Fixed the element type exposed by CallList so static type checkers infer Call values when iterating, indexing, or filtering recorded calls. See #722
  • Fixed query_string_matcher (and the query matching auto-applied to a registered URL's own query string) discarding blank-valued query params (b=), which caused requests with an extra or missing blank param to match incorrectly. See #804
  • Fixed fragment_identifier_matcher treating opaque fragments (those without =, e.g. /users/5) as always equal, so a required fragment matched a different one or none at all. See #806

0.26.2

  • Default headers (such as Content-Type, Date and Server) are now stripped from recorded files regardless of header name case. Previously, responses recorded from servers that send lowercase header names (for example over HTTP/2) kept these redundant headers in the generated file.
  • Fixed query_param_matcher mutating the caller's params dict when numeric values are provided. See #801

0.26.1

  • Added Spanish translation of the README (README.es.rst)
  • When both content_type and headers['content-type'] are in a response mock file, content_type is now used.
  • Added strict_match to urlencoded_params_matcher, enabling partial request parameter matching.

0.26.0

  • When using assert_all_requests_are_fired=True, assertions about unfired requests are now raised even when an exception occurs in the context manager or decorated function. Previously, these assertions were suppressed when exceptions occurred. This new behavior provides valuable debugging context about which mocked requests were or weren't called.
  • Consider the Retry-After header when handling retries
Changelog

Sourced from responses's changelog.

0.26.3

  • Added a keep_headers argument to _recorder.record and Recorder.dump_to_file to preserve named headers (for example Date) that are otherwise stripped as verbose defaults, so a signed response can be recorded and later verified. Matching is case-insensitive. See #763
  • Fixed the element type exposed by CallList so static type checkers infer Call values when iterating, indexing, or filtering recorded calls. See #722
  • Fixed query_string_matcher (and the query matching auto-applied to a registered URL's own query string) discarding blank-valued query params (b=), which caused requests with an extra or missing blank param to match incorrectly. See #804
  • Fixed fragment_identifier_matcher treating opaque fragments (those without =, e.g. /users/5) as always equal, so a required fragment matched a different one or none at all. See #806
  • Fixed non-strict json_params_matcher raising TypeError when an actual nested object is compared with an expected scalar value.

0.26.2

  • Default headers (such as Content-Type, Date and Server) are now stripped from recorded files regardless of header name case. Previously, responses recorded from servers that send lowercase header names (for example over HTTP/2) kept these redundant headers in the generated file.
  • Fixed query_param_matcher mutating the caller's params dict when numeric values are provided. See #801

0.26.1

  • Added Spanish translation of the README (README.es.rst)
  • When both content_type and headers['content-type'] are in a response mock file, content_type is now used.
  • Added strict_match to urlencoded_params_matcher, enabling partial request parameter matching.

0.26.0

  • When using assert_all_requests_are_fired=True, assertions about unfired requests are now raised even when an exception occurs in the context manager or decorated function. Previously, these assertions were suppressed when exceptions occurred. This new behavior provides valuable debugging context about which mocked requests were or weren't called.
  • Consider the Retry-After header when handling retries
Commits
  • cb13954 release: 0.26.3
  • f30df24 Merge pull request #809 from golikovichev/fix/763-recorder-keep-headers
  • 5c074b9 Add keep_headers to the recorder to preserve named default headers
  • 2827d43 fix: type CallList as a sequence of calls (#807)
  • 2af69cb fix: compare opaque fragment identifiers verbatim (#806)
  • da2c5d1 fix: keep blank-valued query params significant in query_string_matcher (#804)
  • 983a497 Merge branch 'release/0.26.2'
  • 31d28eb release: 0.26.2
  • 6fb610d Fix CHANGES (#802)
  • aae1d47 Set license format to SPDX identifier in setup.py (#803)
  • Additional commits viewable in compare view

Updates types-simplejson from 3.20.0.20250822 to 4.1.0.20260724

Commits

Updates types-requests from 2.32.4.20250809 to 2.33.0.20260906

Commits

Updates types-pyyaml from 6.0.12.20250822 to 6.0.12.20260906

Commits

Updates types-python-dateutil from 2.9.0.20250822 to 2.9.0.20260807

Commits

Updates pytest-mock from 3.15.0 to 3.16.0

Release notes

Sourced from pytest-mock's releases.

v3.16.0

2026-09-27

  • #604: Fixed duplicate_iterators=True for async functions spied with mocker.spy.
  • #611: Fixed async mock assertion introspection to use awaited arguments instead of the latest call's arguments.
  • #606: mocker.resetall(return_value=True, side_effect=True) now also applies to non-callable mocks, such as those returned by mocker.create_autospec(SomeClass, instance=True). Previously both arguments were silently ignored for them.
  • #547: Added SpyType for annotating mocker.spy results.
  • Dropped support for EOL Python 3.9.
  • #147: Removed handling of RuntimeError: stop called on unstarted patcher, which can no longer occur in the supported Python versions.
  • Added support for Python 3.15.

v3.15.1

2025-09-16

  • #529: Fixed itertools._tee object has no attribute error -- now duplicate_iterators=True must be passed to mocker.spy to duplicate iterators.
Changelog

Sourced from pytest-mock's changelog.

3.16.0

2026-09-27

  • [#604](https://github.com/pytest-dev/pytest-mock/issues/604) <https://github.com/pytest-dev/pytest-mock/pull/604>_: Fixed duplicate_iterators=True for async functions spied with mocker.spy.
  • [#611](https://github.com/pytest-dev/pytest-mock/issues/611) <https://github.com/pytest-dev/pytest-mock/pull/611>_: Fixed async mock assertion introspection to use awaited arguments instead of the latest call's arguments.
  • [#606](https://github.com/pytest-dev/pytest-mock/issues/606) <https://github.com/pytest-dev/pytest-mock/pull/606>_: mocker.resetall(return_value=True, side_effect=True) now also applies to non-callable mocks, such as those returned by mocker.create_autospec(SomeClass, instance=True). Previously both arguments were silently ignored for them.
  • [#547](https://github.com/pytest-dev/pytest-mock/issues/547) <https://github.com/pytest-dev/pytest-mock/issues/547>_: Added SpyType for annotating mocker.spy results.
  • Dropped support for EOL Python 3.9.
  • [#147](https://github.com/pytest-dev/pytest-mock/issues/147) <https://github.com/pytest-dev/pytest-mock/issues/147>_: Removed handling of RuntimeError: stop called on unstarted patcher, which can no longer occur in the supported Python versions.
  • Added support for Python 3.15.

3.15.1

2025-09-16

  • [#529](https://github.com/pytest-dev/pytest-mock/issues/529) <https://github.com/pytest-dev/pytest-mock/issues/529>_: Fixed itertools._tee object has no attribute error -- now duplicate_iterators=True must be passed to mocker.spy to duplicate iterators.
Commits

Updates types-cachetools from 6.2.0.20250827 to 7.0.0.20260713

Commits

Updates types-pytz from 2025.2.0.20250809 to 2026.4.0.20260926

Commits

Updates playwright from 1.55.0 to 1.63.0

Release notes

Sourced from playwright's releases.

v1.63.0

🪟 Locate across frames

page.frame_locator() and frame.frame_locator() called without a selector search in any frame of the subtree, so you no longer need to locate the iframe first:

# Finds the button in any frame on the page.
page.frame_locator().get_by_role("button").click()

The rest of the locator resolves inside a single frame, just like a regular locator, and an error is thrown when it matches elements in several frames.

👁️ Visible-only locators

New locator.visible returns a locator that matches only visible elements. It is the recommended replacement for the :visible CSS pseudo-class:

page.locator("button").visible.click()

🖼️ Aria and screen snapshots in traces

New aria_snapshots and screen_snapshots options of tracing.start() capture an aria snapshot and a screenshot of the page on every action:

context.tracing.start(snapshots=True, aria_snapshots=True, screen_snapshots=True)

With aria and screen snapshots recorded, the new Display Aria mode in the trace viewer shows the action screenshot side by side with the aria snapshot, and hovering an aria node highlights it on the screenshot.

New APIs

Browser and Context

Command line

  • playwright install --no-remove keeps the browsers of other Playwright installations instead of removing them.
  • playwright codegen --http-credentials records against pages behind HTTP authentication.

Announcements

  • ⚠️ Ubuntu 20.04 is not supported anymore.
  • 🐧 On Linux arm64, Playwright now downloads the Chrome for Testing build of Chromium, the same build used on all other platforms.

... (truncated)

Commits
  • 8cb967b cherry-pick(#3200): devops(docker): move docker publishing to Azure Pipelines
  • ab18c77 chore: roll Playwright to 1.63.0 (#3198)
  • 0e66a09 devops(pipeline): resolve pip and npm packages from DevDiv_PublicPackages fee...
  • 010a9cc Pin GitHub Actions to full-length commit SHAs (#3176)
  • 154f67c fix(sync): wait for initialize before leaving enter (#3168)
  • 4af2fc6 chore: roll Playwright to 1.62.1 (#3169)
  • 4d2e058 fix(connection): register protocol callback only after successful send (

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python-dev Used for Dependabot dev dependencies labels Oct 1, 2026
@dependabot
dependabot Bot requested a review from a team as a code owner October 1, 2026 07:12
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python-dev Used for Dependabot dev dependencies labels Oct 1, 2026
…dates

Bumps the development-dependencies group with 19 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [pytest-cov](https://github.com/pytest-dev/pytest-cov) | `7.0.0` | `7.1.0` |
| [jsonschema](https://github.com/python-jsonschema/jsonschema) | `4.25.1` | `4.26.0` |
| [beautifulsoup4](https://www.crummy.com/software/BeautifulSoup/bs4/) | `4.13.5` | `4.15.0` |
| [moto](https://github.com/getmoto/moto) | `5.1.11` | `5.2.3` |
| [fakeredis](https://github.com/cunla/fakeredis-py) | `2.31.1` | `2.38.0` |
| [mypy](https://github.com/python/mypy) | `1.17.1` | `2.3.1` |
| [pytest](https://github.com/pytest-dev/pytest) | `9.0.3` | `9.1.1` |
| [responses](https://github.com/getsentry/responses) | `0.25.8` | `0.26.3` |
| [types-simplejson](https://github.com/python/typeshed) | `3.20.0.20250822` | `4.1.0.20260724` |
| [types-requests](https://github.com/python/typeshed) | `2.32.4.20250809` | `2.33.0.20260906` |
| [types-pyyaml](https://github.com/python/typeshed) | `6.0.12.20250822` | `6.0.12.20260906` |
| [types-python-dateutil](https://github.com/python/typeshed) | `2.9.0.20250822` | `2.9.0.20260807` |
| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.15.0` | `3.16.0` |
| [types-cachetools](https://github.com/python/typeshed) | `6.2.0.20250827` | `7.0.0.20260713` |
| [types-pytz](https://github.com/python/typeshed) | `2025.2.0.20250809` | `2026.4.0.20260926` |
| [playwright](https://github.com/microsoft/playwright-python) | `1.55.0` | `1.63.0` |
| [black](https://github.com/psf/black) | `26.3.1` | `26.5.1` |
| [djlint](https://github.com/djlint/djLint) | `1.36.4` | `1.46.3` |
| [ruff](https://github.com/astral-sh/ruff) | `0.14.13` | `0.16.9` |



Updates `pytest-cov` from 7.0.0 to 7.1.0
- [Changelog](https://github.com/pytest-dev/pytest-cov/blob/master/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-cov@v7.0.0...v7.1.0)

Updates `jsonschema` from 4.25.1 to 4.26.0
- [Release notes](https://github.com/python-jsonschema/jsonschema/releases)
- [Changelog](https://github.com/python-jsonschema/jsonschema/blob/main/CHANGELOG.rst)
- [Commits](python-jsonschema/jsonschema@v4.25.1...v4.26.0)

Updates `beautifulsoup4` from 4.13.5 to 4.15.0

Updates `moto` from 5.1.11 to 5.2.3
- [Release notes](https://github.com/getmoto/moto/releases)
- [Changelog](https://github.com/getmoto/moto/blob/master/CHANGELOG.md)
- [Commits](getmoto/moto@5.1.11...5.2.3)

Updates `fakeredis` from 2.31.1 to 2.38.0
- [Release notes](https://github.com/cunla/fakeredis-py/releases)
- [Commits](cunla/fakeredis-py@v2.31.1...v2.38.0)

Updates `mypy` from 1.17.1 to 2.3.1
- [Changelog](https://github.com/python/mypy/blob/master/CHANGELOG.md)
- [Commits](python/mypy@v1.17.1...v2.3.1)

Updates `pytest` from 9.0.3 to 9.1.1
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.0.3...9.1.1)

Updates `responses` from 0.25.8 to 0.26.3
- [Release notes](https://github.com/getsentry/responses/releases)
- [Changelog](https://github.com/getsentry/responses/blob/master/CHANGES)
- [Commits](getsentry/responses@0.25.8...0.26.3)

Updates `types-simplejson` from 3.20.0.20250822 to 4.1.0.20260724
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-requests` from 2.32.4.20250809 to 2.33.0.20260906
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-pyyaml` from 6.0.12.20250822 to 6.0.12.20260906
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-python-dateutil` from 2.9.0.20250822 to 2.9.0.20260807
- [Commits](https://github.com/python/typeshed/commits)

Updates `pytest-mock` from 3.15.0 to 3.16.0
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-mock@v3.15.0...v3.16.0)

Updates `types-cachetools` from 6.2.0.20250827 to 7.0.0.20260713
- [Commits](https://github.com/python/typeshed/commits)

Updates `types-pytz` from 2025.2.0.20250809 to 2026.4.0.20260926
- [Commits](https://github.com/python/typeshed/commits)

Updates `playwright` from 1.55.0 to 1.63.0
- [Release notes](https://github.com/microsoft/playwright-python/releases)
- [Commits](microsoft/playwright-python@v1.55.0...v1.63.0)

Updates `black` from 26.3.1 to 26.5.1
- [Release notes](https://github.com/psf/black/releases)
- [Changelog](https://github.com/psf/black/blob/main/CHANGES.md)
- [Commits](psf/black@26.3.1...26.5.1)

Updates `djlint` from 1.36.4 to 1.46.3
- [Release notes](https://github.com/djlint/djLint/releases)
- [Changelog](https://github.com/djlint/djLint/blob/master/CHANGELOG.md)
- [Commits](djlint/djLint@v1.36.4...v1.46.3)

Updates `ruff` from 0.14.13 to 0.16.9
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.14.13...0.16.9)

---
updated-dependencies:
- dependency-name: beautifulsoup4
  dependency-version: 4.15.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: black
  dependency-version: 26.5.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: djlint
  dependency-version: 1.46.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: fakeredis
  dependency-version: 2.38.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: jsonschema
  dependency-version: 4.26.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: moto
  dependency-version: 5.2.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: mypy
  dependency-version: 2.3.1
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: playwright
  dependency-version: 1.63.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: pytest
  dependency-version: 9.1.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: pytest-cov
  dependency-version: 7.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: pytest-mock
  dependency-version: 3.16.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: responses
  dependency-version: 0.26.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: ruff
  dependency-version: 0.16.9
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: types-cachetools
  dependency-version: 7.0.0.20260713
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: types-python-dateutil
  dependency-version: 2.9.0.20260807
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: types-pytz
  dependency-version: 2026.4.0.20260926
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
- dependency-name: types-pyyaml
  dependency-version: 6.0.12.20260906
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: development-dependencies
- dependency-name: types-requests
  dependency-version: 2.33.0.20260906
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: development-dependencies
- dependency-name: types-simplejson
  dependency-version: 4.1.0.20260724
  dependency-type: direct:development
  update-type: version-update:semver-major
  dependency-group: development-dependencies
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/development-dependencies-ab4d935243 branch from 212d77e to d118d63 Compare October 2, 2026 09:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python-dev Used for Dependabot dev dependencies

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants