Skip to content

Bump the python-tools group across 1 directory with 11 updates - #314

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/requirements/python-tools-ce37026923
Open

dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/requirements/python-tools-ce37026923

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 23, 2026

Copy link
Copy Markdown

Bumps the python-tools group with 11 updates in the /requirements directory:

Package From To
hypothesis 6.168.5 6.170.4
playwright 1.63.0 1.64.0
ruff 0.16.10 0.17.1
aiohttp 3.14.4 3.14.5
fastapi 0.142.2 0.150.0
flask-socketio 5.6.1 5.7.0
httpx2 2.13.1 2.15.1
orjson 3.12.0 3.13.0
websockets 17.2 17.3
mkdocstrings 1.0.6 1.0.8
mkdocstrings-python 2.0.9 2.0.10

Updates hypothesis from 6.168.5 to 6.170.4

Commits
  • 3352fe0 Bump hypothesis version to 6.170.4 and update changelog
  • ccb592e Merge pull request #4915 from jorenham/typing/_settings/coverage
  • 74a7906 Merge remote-tracking branch 'upstream/master' into pr-4915
  • 5378001 Bump hypothesis version to 6.170.3 and update changelog
  • 93c67c8 Pin max_examples in mixed-alphabet one_of regression test
  • 49ba6fc Merge branch 'master' into typing/_settings/coverage
  • 6df93f9 oops
  • 2e26f0b Merge pull request #4914 from Liam-DeVoe/fix-shrinker-invalid-sort-key
  • cafbf4e fix mypy error on settings._database
  • 9634e04 retrigger ci
  • Additional commits viewable in compare view

Updates playwright from 1.63.0 to 1.64.0

Release notes

Sourced from playwright's releases.

v1.64.0

🧰 WebMCP

New page.webmcp and frame.webmcp give access to the tools that a page registers through the experimental WebMCP browser API, so you can test them like any other part of your app:

browser = chromium.launch(args=["--enable-features=WebMCP"])
page = browser.new_page()
page.goto("https://example.com")
for tool in page.webmcp.tools():
print(tool["name"], tool["description"])
result = page.webmcp.call_tool("add", {"a": 2, "b": 40})
print(result["content"][0]["text"])  # "42"

Playwright MCP also supports WebMCP by default, with page-defined tools offered to the agent as webmcp_<tool>. Pass --no-webmcp to opt out.

playwright-cli exposes them as well:

playwright-cli webmcp-list
playwright-cli webmcp-call search_catalog --params '{"query":"cats"}'

🎬 Better videos

Videos can now be recorded at a custom frame rate, and the decorations for actions are styled with plain CSS:

page.screencast.start(path="video.webm", size={"width": 1920, "height": 1080}, fps=60)
page.screencast.show_actions(
    style={
        "point": "width: 20px; height: 20px; border-radius: 50%; background: red",
        "highlight": "outline: 2px solid [#333](https://github.com/microsoft/playwright-python/issues/333); background: rgba(0, 128, 255, .15)",
        "title": "font-size: 16px",
    }
)
  • New record_video_fps option and new fps option in screencast.start(). Firefox and WebKit currently capture up to 25 frames per second.
  • New style option takes CSS declarations for the point marker, the target highlight and the action title. It replaces the font_size option, which is now deprecated.
  • The cursor stays visible at the last action point, survives navigations and travels along a natural, eased path.
  • Videos are encoded with VP9 instead of VP8, which takes less CPU and produces smaller files of the same or better quality.

... (truncated)

Commits
  • 387a8a9 cherry-pick(#3252): devops: publish to PyPI from GitHub Actions with trusted ...
  • 71d2a17 chore: roll Playwright to v1.64.0 (#3251)
  • d566fc5 fix(fetch): JSON-stringify NaN and Infinity string data (#3249)
  • 2959d19 docs(skills): add a skill to prepare a release (#3250)
  • 5313ac2 fix(network): keep blank values in Request.post_data_json for form bodies (#3...
  • 9d8c50f chore(codegen): use alphabetical order in the generated API (#3242)
  • 478282f chore(codegen): generate the public TypedDicts from the docs (#3247)
  • b8b7155 fix: raise Error instead of assert for user input validation (#3245)
  • 1de5d37 fix(network): do not add missing headers when looking them up (#3246)
  • 222a2e0 chore(codegen): type _impl_obj in the generated API (#3241)
  • Additional commits viewable in compare view

Updates ruff from 0.16.10 to 0.17.1

Release notes

Sourced from ruff's releases.

0.17.1

Release Notes

Released on 2026-10-15.

Preview features

  • [pycodestyle] Don't treat None, True, or False as keywords (E271-E274) (#29322)

Bug fixes

  • Fix dedent with multiple leading comments (#29382)
  • [flake8-pyi] Detect legacy positional-only parameters in __new__ methods (PYI063) (#28502)
  • [flake8-pyi] Fix false positives on quoted annotations (PYI036) (#29274)
  • [perflint] Avoid invalid comprehension suggestions (PERF401, PERF403) (#29366)

Rule changes

  • Treat more collections and weakref containers as mutable (#29213)

Documentation

  • [flake8-import-conventions] Update default and example aliases (#29333)

Contributors

Install ruff 0.17.1

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://releases.astral.sh/github/ruff/releases/download/0.17.1/ruff-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://releases.astral.sh/github/ruff/releases/download/0.17.1/ruff-installer.ps1 | iex"

Download ruff 0.17.1

| File | Platform | Checksum |

... (truncated)

Changelog

Sourced from ruff's changelog.

0.17.1

Released on 2026-10-15.

Preview features

  • [pycodestyle] Don't treat None, True, or False as keywords (E271-E274) (#29322)

Bug fixes

  • Fix dedent with multiple leading comments (#29382)
  • [flake8-pyi] Detect legacy positional-only parameters in __new__ methods (PYI063) (#28502)
  • [flake8-pyi] Fix false positives on quoted annotations (PYI036) (#29274)
  • [perflint] Avoid invalid comprehension suggestions (PERF401, PERF403) (#29366)

Rule changes

  • Treat more collections and weakref containers as mutable (#29213)

Documentation

  • [flake8-import-conventions] Update default and example aliases (#29333)

Contributors

0.17.0

Released on 2026-10-09.

The executables in our macOS and Windows release archives and ruff wheels are now code-signed. macOS executables are signed with an Apple Developer ID certificate and notarized by Apple. Windows executables have timestamped Authenticode signatures from Azure Artifact Signing. This enables verification of the release publisher and binary integrity, supports publisher-based allowlisting, and should reduce security warnings and antivirus false positives.

Breaking changes

  • Update the default and latest Python versions for 3.15 (#28792)

    Ruff now defaults to Python 3.11 instead of 3.10 when no Python version is configured through target-version or requires-python. When checking for syntax errors without a configured Python version, Ruff now defaults to Python 3.15

... (truncated)

Commits
  • 4683270 Bump version to 0.17.1 (#29420)
  • 3514027 [ty] Update typing conformance suite pin (#29417)
  • 8294556 Update referenced PR security-review workflow (#29237)
  • d1e1b1f [ty] Preserve recursive aliases when rebuilding intersections (#29057)
  • 9352615 [perflint] Avoid invalid comprehension suggestions (PERF401, PERF403) (...
  • 83a3afc Fix dedent with multiple leading comments (#29382)
  • b42a873 [ty] Clarify object attribute write-contract rationale (#29384)
  • d01678e [ty] Clarify object attribute write-contract rationale (#29384)
  • 355b42a [ty] Avoid writable override contracts from object (#29373)
  • e26e6d2 [ty] Collect intersection inference through constraint relations (#28677)
  • Additional commits viewable in compare view

Updates aiohttp from 3.14.4 to 3.14.5
Updates fastapi from 0.142.2 to 0.150.0

Release notes

Sourced from fastapi's releases.

0.150.0

When no file is selected, browsers submit a file part with an empty filename and empty content. FastAPI now treats this as missing: required file fields return a validation error, and fields with defaults or default factories use them. Unselected inputs are ignored in lists of files. Named zero-byte files are still accepted.

Breaking Changes

0.149.0

Browsers submit empty text inputs as empty strings (""). FastAPI now treats empty scalar form values as missing in form models, matching individual Form parameters. Required fields return a validation error. Fields with defaults or default factories use them and remain unset in model_dump(exclude_unset=True).

Empty strings inside lists are preserved. Omitted boolean form fields still become False. JSON requests and direct Pydantic validation are unchanged.

Breaking Changes

0.148.0

Defaults for omitted Query, Header, Cookie, and Form parameters and model fields are no longer treated as user input. Defaults are not validated unless validate_default=True is enabled. If you rely on validators running for omitted values, enable default validation with Field(validate_default=True) for model fields or, for example, Query(validate_default=True) for individual parameters. Body(validate_default=True) is now honored too.

For parameter models, applying a default no longer marks a field as explicitly set, so model_dump(exclude_unset=True) excludes it. Default factories run once, and validation errors no longer include injected defaults in input.

Omitted boolean form fields still become False and count as explicitly set.

Breaking Changes

0.147.0

Omitted bool and bool | None form fields are now interpreted as False, matching unchecked HTML checkboxes. This applies to individual Form parameters and form models, including required fields and fields with defaults of True or None. The inferred value is considered explicitly set, including in model_dump(exclude_unset=True).

JSON requests and direct Pydantic validation are unchanged. See Boolean Form Fields.

Breaking Changes

Internal

  • ✅ Add tests for parameter defaults, nullability, and browser form behavior. PR #14829 by @​YuriiMotov.

0.146.0

The root_path parameter in FastAPI() is deprecated. Configure the server with fastapi run --root-path /api/v1 instead.

Breaking Changes

0.145.0

Breaking Changes

... (truncated)

Commits

Updates flask-socketio from 5.6.1 to 5.7.0

Updates httpx2 from 2.13.1 to 2.15.1

Release notes

Sourced from httpx2's releases.

v2.15.1

Highlights

🔒 Flat CPU usage for long-lived clients on Linux

On Linux, the default SSL context is now configured once instead of on every handshake (#1253). With OpenSSL older than 3.4, each handshake added a duplicate certificate lookup path, so CPU usage per request grew over the lifetime of a reused client. Certificate verification is unchanged, and Windows and macOS still use truststore.

httpx2

Fixed

  • Configure the default SSL context once on Linux, instead of on every handshake. With OpenSSL older than 3.4, CPU usage grew over the lifetime of a reused client (#1253).

httpcore2

Fixed

  • Configure the default SSL context once on Linux, instead of on every handshake. With OpenSSL older than 3.4, CPU usage grew over the lifetime of a reused client (#1253).

Full Changelog: pydantic/httpx2@v2.15.0...v2.15.1

v2.15.0

Highlights

🐍 Python 3.11+ required

httpx2 and httpcore2 no longer support Python 3.10 (#1274). There are no other changes in this release.

httpx2

Removed

  • Drop support for Python 3.10 (#1274).

httpcore2

Removed

  • Drop support for Python 3.10 (#1274).

Full Changelog: pydantic/httpx2@v2.14.0...v2.15.0

v2.14.0

Highlights

🌐 CIDR ranges in NO_PROXY

NO_PROXY and mounts now match IP CIDR ranges like 192.168.0.0/16 and [fe80::]/10, so any address in the range bypasses the proxy (#1165). Bracketed IPv6 addresses like [::1]:8080 are accepted, and unparseable NO_PROXY entries are ignored instead of failing client creation (#1267).

🔐 FIPS-enforced Python support

... (truncated)

Changelog

Sourced from httpx2's changelog.

2.15.1 (October 19th, 2026)

Fixed

  • Configure the default SSL context once on Linux, instead of on every handshake. With OpenSSL older than 3.4, CPU usage grew over the lifetime of a reused client. (#1253)

2.15.0 (October 19th, 2026)

Removed

  • Drop support for Python 3.10. (#1274)

2.14.0 (October 18th, 2026)

Added

  • Match IP CIDR ranges, like 192.168.0.0/16 and [fe80::]/10, in NO_PROXY and mounts. Requests to any address in the range now bypass the proxy; previously only the network address itself did. (#1165)
  • Accept bracketed IPv6 addresses, like [::1] and [::1]:8080, in NO_PROXY. (#1267)

Changed

  • Raise InvalidURL for a mounts key with an IP host followed by anything other than a valid CIDR prefix, like all://10.0.0.0/33. (#1165)

Fixed

  • Ignore NO_PROXY entries that cannot be parsed, instead of raising InvalidURL when the client is created. (#1267)
  • Import httpx2 on FIPS-enforced Python builds without hashlib.md5. DigestAuth raises ProtocolError when the server asks for an unavailable algorithm. (#1130)
  • Handle reads after an ASGI WebSocket app shuts down, instead of leaking anyio exceptions. (#1233)
  • Stop the sync WebSocket session from hanging on exit when its event queue is full. (#1123)
Commits

Updates orjson from 3.12.0 to 3.13.0

Release notes

Sourced from orjson's releases.

3.13.0

Changed

  • No longer publish PyPI wheels for Windows x86/i686.

Added

  • Serialize new Python 3.15 built-in type frozendict identical to dict (PEP 814).
Changelog

Sourced from orjson's changelog.

3.13.0 - 2026-08-17

Changed

  • No longer publish PyPI wheels for Windows x86/i686.

Added

  • Serialize new Python 3.15 built-in type frozendict identical to dict (PEP 814).
Commits

Updates websockets from 17.2 to 17.3

Release notes

Sourced from websockets's releases.

17.3

See https://websockets.readthedocs.io/en/stable/project/changelog.html for details.

Commits
  • 86a1ad5 Release version 17.3.
  • 5cc46ca Bump pypa/cibuildwheel from 4.2.1 to 4.3.1
  • f6702a5 Deindent more test assertions.
  • 7fe5d60 Deindent assertions on raised exceptions.
  • 8549c24 Support arbitrary data in basic auth credentials.
  • a8a898b Support UTF-8 passwords in server basic auth.
  • bc17da4 Parse integers strictly in the HTTP protocol.
  • 7f56717 Increase timeout for running tests.
  • 47e2926 Simplify issue template and fix typo.
  • 77875e1 Fix intermittent errors on free-threaded Python.
  • Additional commits viewable in compare view

Updates mkdocstrings from 1.0.6 to 1.0.8

Release notes

Sourced from mkdocstrings's releases.

1.0.8

1.0.8 - 2026-10-19

Compare with 1.0.7

Bug Fixes

1.0.7

1.0.7 - 2026-10-10

Compare with 1.0.6

Build

  • Drop support for Python 3.10 (2c2cbb1 by Timothée Mazzucotelli).

Bug Fixes

Changelog

Sourced from mkdocstrings's changelog.

1.0.8 - 2026-10-19

Compare with 1.0.7

Bug Fixes

1.0.7 - 2026-10-10

Compare with 1.0.6

Build

  • Drop support for Python 3.10 (2c2cbb1 by Timothée Mazzucotelli).

Bug Fixes

Commits
  • df77e42 chore: Prepare release 1.0.8
  • cbc4590 chore: Stop testing on Python 3.10
  • f402d2c fix: Prefix code anchor/span IDs to avoid collisions
  • e9538c4 docs: Link the VBA handler to its published documentation
  • 79eefbc chore: Prepare release 1.0.7
  • 2c2cbb1 build: Drop support for Python 3.10
  • 7275d14 chore: Lint
  • ff510f2 fix: Support pymdownx 12.2
  • 8b635eb chore: Template upgrade
  • e0cf0ed chore: Template upgrade
  • Additional commits viewable in compare view

Updates mkdocstrings-python from 2.0.9 to 2.0.10

Release notes

Sourced from mkdocstrings-python's releases.

2.0.10

2.0.10 - 2026-10-19

Compare with 2.0.9

Build

  • Drop support for Python 3.10 (aad7fc6 by Timothée Mazzucotelli).

Bug Fixes

  • Prefix code anchor/span IDs in signatures to avoid collisions (35cde4c by Timothée Mazzucotelli). Issue-200
Changelog

Sourced from mkdocstrings-python's changelog.

2.0.10 - 2026-10-19

Compare with 2.0.9

Build

  • Drop support for Python 3.10 (aad7fc6 by Timothée Mazzucotelli).

Bug Fixes

  • Prefix code anchor/span IDs in signatures to avoid collisions (35cde4c by Timothée Mazzucotelli). Issue-200
Commits
  • f561c84 chore: Prepare release 2.0.10
  • aad7fc6 build: Drop support for Python 3.10
  • 35cde4c fix: Prefix code anchor/span IDs in signatures to avoid collisions
  • See full diff in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

---
updated-dependencies:
- dependency-name: hypothesis
  dependency-version: 6.170.4
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-tools
- dependency-name: playwright
  dependency-version: 1.64.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-tools
- dependency-name: ruff
  dependency-version: 0.17.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-tools
- dependency-name: aiohttp
  dependency-version: 3.14.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-tools
- dependency-name: fastapi
  dependency-version: 0.150.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-tools
- dependency-name: flask-socketio
  dependency-version: 5.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-tools
- dependency-name: httpx2
  dependency-version: 2.15.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-tools
- dependency-name: orjson
  dependency-version: 3.13.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-tools
- dependency-name: websockets
  dependency-version: '17.3'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-tools
- dependency-name: mkdocstrings
  dependency-version: 1.0.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-tools
- dependency-name: mkdocstrings-python
  dependency-version: 2.0.10
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-tools
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Oct 23, 2026

This branch has not been deployed

No deployments
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 Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants