Skip to content

Update all dependencies - #222

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/all

Conversation

@renovate

@renovate renovate Bot commented Sep 1, 2026 •

Copy link
Copy Markdown
Contributor

Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Type Update Change Age Confidence
abravalheri/validate-pyproject repository minor 0.26 → v0.27 age confidence
allure-framework/allure-action action minor v0.9.0 → v0.12.0 age confidence
allure-pytest (source) project.dependencies patch ==2.16.0 → ==2.16.2 age confidence
astral-sh/ruff-pre-commit repository minor v0.16.4 → v0.17.3 age confidence
astral-sh/setup-uv action minor v10.0.1 → v10.3.2 age confidence
mcr.microsoft.com/playwright container minor v1.62.1 → v1.64.1 age confidence
playwright (changelog) project.dependencies minor ==1.62.0 → ==1.64.1 age confidence
pre-commit dependency-groups minor ==4.6.2 → ==4.7.0 age confidence
pytest (changelog) project.dependencies minor ==9.1.1 → ==9.2.0 age confidence
pytest-playwright project.dependencies minor ==0.9.0 → ==0.10.0 age confidence
python-jsonschema/check-jsonschema repository minor 0.38.0 → 0.39.0 age confidence
ruff (source, changelog) dependency-groups minor ==0.16.4 → ==0.17.3 age confidence

Note: The pre-commit manager in Renovate is not supported by the pre-commit maintainers or community. Please do not report any problems there, instead create a Discussion in the Renovate repository if you have any questions.


Release Notes

abravalheri/validate-pyproject

v0.27

Compare Source

What's Changed

New Contributors

Full Changelog: abravalheri/validate-pyproject@0.26...v0.26

allure-framework/allure-action

v0.12.0

Compare Source

What's Changed

⬆️ Dependency Updates

Full Changelog: allure-framework/allure-action@v0.11.3...v0.12.0

v0.11.3

Compare Source

What's Changed

👻 Internal changes

Full Changelog: allure-framework/allure-action@v0.11.2...v0.11.3

v0.11.2

Compare Source

What's Changed

👻 Internal changes

Full Changelog: allure-framework/allure-action@v0.11.1...v0.11.2

v0.11.1

Compare Source

What's Changed

⬆️ Dependency Updates
👻 Internal changes

New Contributors

Full Changelog: allure-framework/allure-action@v0.11.0...v0.11.1

v0.11.0

Compare Source

What's Changed

🔬 Improvements
⬆️ Dependency Updates
👻 Internal changes

Full Changelog: allure-framework/allure-action@v0.10.3...v0.11.0

v0.10.3

Compare Source

What's Changed

👻 Internal changes

Full Changelog: allure-framework/allure-action@v0.10.2...v0.10.3

v0.10.2

Compare Source

What's Changed

👻 Internal changes

Full Changelog: allure-framework/allure-action@v0.10.1...v0.10.2

v0.10.1

Compare Source

What's Changed

🔬 Improvements
⬆️ Dependency Updates
👻 Internal changes

Full Changelog: allure-framework/allure-action@v0.10.0...v0.10.1

v0.10.0

Compare Source

What's Changed

🔬 Improvements
⬆️ Dependency Updates
👻 Internal changes

Full Changelog: allure-framework/allure-action@v0.9.0...v0.10.0

allure-framework/allure-python (allure-pytest)

v2.16.2

Compare Source

🐞 Bug Fixes

👀 Links

Commits since 2.16.1

v2.16.1

Compare Source

👀 Links

Commits since 2.16.0

astral-sh/ruff-pre-commit

v0.17.3

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.17.3

v0.17.2

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.17.2

v0.17.1

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.17.1

v0.17.0

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.17.0

v0.16.10

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.16.10

v0.16.9

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.16.9

v0.16.8

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.16.8

v0.16.7

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.16.7

v0.16.6

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.16.6

v0.16.5

Compare Source

See: https://github.com/astral-sh/ruff/releases/tag/0.16.5

astral-sh/setup-uv

v10.3.2: 🌈 update known checksums for 0.13.5

Compare Source

Changes

🧰 Maintenance

📚 Documentation

v10.3.1: 🌈 preserve cache error class names in save-cache bundle

Compare Source

Changes

This release includes a fix so that multiple concurrent workflows trying to upload the same cache no longer warn

##[warning]Failed to save: Unable to reserve cache with key ..., another job may be creating this cache.

🐛 Bug fixes
🧰 Maintenance
📚 Documentation
⬆️ Dependency updates

v10.3.0: 🌈 Add Python architecture selection

Compare Source

Changes

This release adds the python-arch input to select a Python architecture independently of the Python version. With uv 0.13.0 or later, set python-arch: x86_64 to use x64 Python on Windows ARM64 runners.

It also includes embedded checksums for uv releases through 0.13.0.

🚀 Enhancements

🧰 Maintenance

⬆️ Dependency updates

v10.2.0: 🌈 Disable automatic cache saves for merge queues

Compare Source

Changes

This release contains the known-checksum of the most recent uv releases and also disabled the uploading(saving) of the cache when in a merge queue since theses caches would almost never be used.

🚀 Enhancements
🧰 Maintenance
📚 Documentation
⬆️ Dependency updates

v10.1.0: 🌈 New output python-runtime-idand respect NO_PROXY

Compare Source

Changes

This release adds more bheind the scene security improvements and also 2 small improvements.

NO_PROXY

This action now respects no_proxy/NO_PROXY environment variables which were previously ignored.

New output python-runtime-id

The new output python-runtime-id can be used to know which python version exactly was installed if you use activate-environment. See pyca/cryptography#15572 (comment) for details on why this can be useful.

🐛 Bug fixes
🚀 Enhancements
🧰 Maintenance
📚 Documentation
⬆️ Dependency updates
Microsoft/playwright-python (playwright)

v1.64.1

Compare Source

Highlights

microsoft#3283 - chore: roll Node.js to 24.22.1

The bundled Node.js 24.22.1 is a security release that distrusts the compromised eMudhra intermediate CAs. The driver uses Node's CA store for its own TLS connections, for example connect_over_cdp to a wss:// endpoint.

Browser Versions

  • Chromium 156.0.8078.4
  • Mozilla Firefox 157.0
  • WebKit 27.2

This version was also tested against the following stable channels:

  • Google Chrome 155
  • Microsoft Edge 155

v1.64.0

Compare Source

🧰 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 #&#8203;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.
  • All video options are also available in Playwright MCP and playwright-cli.

🪆 Locator.within()

New locator.within() combines two locators that you already have, reading in the natural order —
"this button, within that dialog":

save_button = page.get_by_role("button", name="Save")
dialog = page.get_by_test_id("settings-dialog")

save_button.within(dialog).click()

Relative locators such as locator.nth() or locator.first are resolved inside each parent
separately, which makes column-like queries straightforward:

# The third cell of every row, not the third cell in the table.
third_column = page.get_by_role("cell").nth(2).within(page.get_by_role("row"))
expect(third_column).to_have_text(["Apple", "Banana", "Cherry"])

New APIs

Breaking Changes ⚠️

Browser Versions

  • Chromium 156.0.8078.4
  • Mozilla Firefox 157.0
  • WebKit 27.2

This version was also tested against the following stable channels:

  • Google Chrome 155
  • Microsoft Edge 155

v1.63.0

Compare Source

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

Browser Versions

  • Chromium 153.0.8010.12
  • Mozilla Firefox 155.0
  • WebKit 26.6

This version was also tested against the following stable channels:

  • Google Chrome 153
  • Microsoft Edge 153
pre-commit/pre-commit (pre-commit)

v4.7.0

Compare Source

==================

Fixes
pytest-dev/pytest (pytest)

v9.2.0

Compare Source

pytest 9.2.0 (2026-10-27)

Removals and backward incompatible breaking changes

  • #​14716: -c now raises a usage error for a path that does not exist, is a directory, or is in a format pytest has no loader for. Such paths were previously either ignored or reported as an unhandled FileNotFoundError.

  • #​8593: The indirect, ids and scope arguments of Metafunc.parametrize() <pytest.Metafunc.parametrize> -- and therefore of @pytest.mark.parametrize <pytest.mark.parametrize ref> -- are now keyword-only.

    Passing them positionally was a common source of confusing errors, e.g. parametrize("arg1", "arg2", [(1, 2)]) made the argvalues land in indirect and failed with indirect fixture '(1, 2)' doesn't exist; such mistakes now fail with an understandable TypeError. The type annotations have always declared these arguments as keyword-only.

  • #​993: Plugin import failures at startup are now reported and classified instead of escaping as a raw traceback with the accidental exit code 1:

    • a plugin that cannot be found -- via -p, pytest_plugins or PYTEST_PLUGINS -- exits with pytest.ExitCode USAGE_ERROR (4), like a conftest.py that fails to import;
    • a plugin that is found but raises while importing -- including a broken pytest11 entry point or a missing plugin dependency -- exits with pytest.ExitCode INTERNAL_ERROR (3), with the traceback preserved.

    pytest.main now returns these codes instead of raising ImportError. Also fixed an IndexError from pytest's own internals when the plugin raised an exception with no arguments.

Deprecations (removal in next major release)

  • #​14742: The private _pytest.python.CallSpec2 name has been renamed to CallSpec.
    The old CallSpec2 alias remains available for now and will be removed in pytest 10 or 11.

  • #​14755: Schedule yield_fixture decorator for removal in pytest 10 or 11.

  • #​14774: Similarly to the deprecation of class-scoped fixtures defined as instance methods in pytest 9.1,
    all higher-scoped fixtures (module, package, and session) defined
    as instance methods are now deprecated.

    They suffer from the same issue the original deprecation only fixed for
    class-scoped fixtures, see 10819 and 14011.

  • #​14808: Passing a non-string value to a string-typed ini option now emits a pytest.PytestRemovedIn10Warning. This affects [tool.pytest.ini_options] in pyproject.toml. In pytest 10 this will raise a TypeError, matching the behavior of the corresponding TOML config path.

  • #​7323: Passing bytes to TerminalReporter.write_line() is now deprecated, pass a str instead.

New features

  • #​14743: Full diff: now contains a legend explaining the + & - symbols in diff output.
  • #​2781: When strict_markers is enabled, marker names used in -m expressions are now validated against registered markers.
  • #​6881: Added the parametrize_long_str_id_strategy configuration option to control how long str/bytes parameter values are handled in auto-generated test IDs. Explicit IDs set via ids=[...] or pytest.param(..., id=...) are not affected. Available strategies: short (default, values over 100 chars fall back to argname+index), sha256 (SHA-256 hex digest), legacy (keep full value), and disallow (error requesting explicit IDs).

Improvements in existing functionality

  • #​10745: A RecursionError whose recursion origin cannot be located now shows only the
    first and last 10 stack frames, matching what pytest already did when locating
    the origin failed outright. Previously the full traceback -- often around a
    thousand near-identical frames -- was rendered, which was both slow and
    unreadable. Pass --full-trace to see every frame.

  • #​10745: The line numbers of a module's statements are now computed once per traceback
    instead of once per traceback entry, which noticeably speeds up rendering
    failures raised from large test modules.

  • #​11418: The cached rewritten modules in __pycache__ are now invalidated by a hash of
    the source instead of its modification time, using the checked-hash pyc format
    from 552.

    Timestamps make the cache useless wherever source files get fresh modification
    times, most notably in CI: a checkout gives every file a new mtime, so a
    restored cache is discarded in full and every test module is rewritten again.
    Hashing the source costs roughly 15 microseconds per file and makes the cache
    survive that.

    Existing timestamp based caches are ignored and rewritten once.

  • #​12624: The pytest_plugins variable and the PYTEST_PLUGINS environment variable now also accept entry point names of installed plugins (e.g. xdist), in addition to importable module names, matching the behavior of the -p command-line option.

    As part of this change, plugins specified by entry point name through these mechanisms are now also listed in the plugins: line of the terminal header (12615).

    Based on the original implementation by Marcel Telka in 12616.

  • #​12697: Warnings emitted while importing plugins through -p, PYTEST_PLUGINS, or entry point autoloading are now captured, filtered, and reported like other warnings.

  • #​12860: Assertion diffs for dict.items() and dict.keys() comparisons (>=, <=, >, <, ==) now show which items are missing, the same way set comparisons do.

  • #​13354: Node.get_closest_marker <_pytest.nodes.Node.get_closest_marker> now also accepts a ~pytest.MarkDecorator as its default, for example item.get_closest_marker("foo", pytest.mark.foo(1)), and returns the wrapped ~pytest.Mark.

    Previously the only way to build a default was to instantiate ~pytest.Mark directly, which is private and warns.

  • #​13369: Improved the error from pytest.RunResult.assert_outcomes when a plugin changes or removes pytest's standard terminal summary, and documented how to isolate output-changing plugins.

  • #​13431: Exposed pytest.ParameterSet as the type of the return value of pytest.param().
    This can be used in type annotations and isinstance checks.

  • #​13564: Issue a warning when fixtures are wrapped with a decorator that prevents
    correct discovery, including @classmethod above @pytest.fixture and
    @staticmethod above @pytest.fixture. Put @pytest.fixture above
    those decorators on test classes.

  • #​14164: Exposed pytest.Approx as the type of the return value of pytest.approx().
    This can be used in type annotations and isinstance checks.

  • #​14463: Assertion diffs for mappings now match up keys the way the compared mappings match them themselves.

    Key comparison goes through the mappings' key views instead of plain sets of their keys, so a mapping
    with its own notion of key equivalence, such as case-insensitive header mappings, no longer
    reports its common keys as missing on either side.

  • #​14523: Large assertion comparison diffs are now built lazily and capped to the
    truncation budget, so a huge diff is no longer formatted in full just to
    be truncated. As a consequence, the truncation footer no longer
    reports the exact number of hidden lines.

  • #​14687: The default fd-level output capturing (--capture=fd) now skips reading the capture buffer for tests which produce no output, reducing per-test overhead in large test suites.

  • #​14724: --no-summary now only applies directly to pytest's own summary.

    The flag no longer skips the pytest_terminal_summary hook, so third-party
    plugins (for example coverage) can still write their terminal summaries.

  • #​14751: parser.addini <pytest.Parser.addini> now also accepts type expressions for its type argument, in addition to the existing string tags: the plain Python types str, bool, int, float, a Literal of strings, and unions of these (for example int | str or int | Literal["auto"]).

  • #​14754: pytest.approx() now rejects infinite relative tolerances for datetime.timedelta values with a clear ValueError instead of raising OverflowError.

  • #​14791: The junit_family, junit_logging, junit_duration_report, console_output_style, empty_parameter_set_mark, assertion_text_diff_style and tmp_path_retention_policy configuration options are now registered with the set of values they accept: an invalid value now fails with a clean usage error instead of being silently ignored or crashing later, and pytest --help lists the accepted values.

    config.getini <pytest.Config.getini> now raises pytest.UsageError instead of TypeError or ValueError when the value read from the configuration file does not match the registered type, so a bad value is always reported as a short usage error message instead of an internal error traceback. Asking for an option name that was never registered still raises ValueError.

  • #​15006: pytest.approx now emits pytest.PytestApproxDecimalToleranceWarning when a rel or abs tolerance is given as a float that cannot be represented exactly for a ~decimal.Decimal comparison, since such a tolerance is widened to the float's exact binary value.

  • #​14675, #​14953, #​15153, #​15132: The truncation_limit_lines, truncation_limit_chars, max_warnings, verbosity_assertions, verbosity_test_cases, verbosity_subtests, tmp_path_retention_count, log_level, log_cli_level, log_file_level,log_auto_indent and faulthandler_timeout configuration options now accept native integer (and, for log_auto_indent, boolean) values in TOML configuration files, while still accepting strings for backward compatibility.
    log_file_mode now reports invalid values as a usage error.

  • #​15254: tmp_path and TempPathFactory.mktemp <pytest.TempPathFactory.mktemp> no longer list the whole base temporary directory on every call, which made sessions with many temporary directories quadratically slow. Numbers are now handed out from a per-prefix counter, skipping names that already exist.

  • #​4569: Node.add_marker <_pytest.nodes.Node.add_marker> now stores a ~pytest.Mark in node.keywords, matching what marks applied during collection store. Previously it stored a ~pytest.MarkDecorator.

  • #​9436: Avoided formatting tracebacks for tests marked with xfail(run=False).

Bug fixes

  • #​10128: Configured warning filters now apply to warnings emitted by pytest_configure hooks.

  • #​10210: pytest.approx now raises a TypeError for any nested container, not
    only for one of the same type as its parent. Previously approx([{"k": 1}])
    and approx({"k": [1]}) were accepted and then compared unequal to every
    value, silently ignoring the tolerance, while approx([[1]]) correctly
    reported that nesting is unsupported.

  • #​10644: monkeypatch.setattr() no longer leaves a new entry in the instance __dict__ when it patches an attribute that the instance inherits from its class.

    Previously undo() assigned the inherited value onto the instance, which shadowed the class attribute -- permanently freezing the result for descriptors that resolve dynamically.

  • #​1139: Fixed tracebacks showing ??? instead of source lines for code compiled with a filename relative to a directory other than the current working directory -- e.g. compiled Cython modules, when running pytest from a subdirectory of the project root.
    The source l

[!IMPORTANT]
✂ PR body was truncated to here.

@github-actions

github-actions Bot commented Sep 1, 2026 •

Copy link
Copy Markdown

Allure Report Summary

     Environment Duration Stats New Flaky Retry
     All tests 206ms Passed tests⁠ 1 1 0 0

@renovate renovate Bot changed the title Update all dependencies to v0.16.5 Update all dependencies to v0.16.6 Sep 3, 2026
@renovate renovate Bot changed the title Update all dependencies to v0.16.6 Update all dependencies Sep 5, 2026
@renovate renovate Bot changed the title Update all dependencies Update all dependencies to v0.16.6 Sep 5, 2026
@renovate renovate Bot changed the title Update all dependencies to v0.16.6 Update all dependencies Sep 5, 2026
@renovate renovate Bot changed the title Update all dependencies Update all dependencies to v0.16.6 Sep 6, 2026
@renovate renovate Bot changed the title Update all dependencies to v0.16.6 Update all dependencies Sep 6, 2026
@renovate renovate Bot changed the title Update all dependencies Update all dependencies to v0.16.6 Sep 6, 2026
@renovate renovate Bot changed the title Update all dependencies to v0.16.6 Update all dependencies Sep 7, 2026
@renovate renovate Bot changed the title Update all dependencies Update all dependencies to v0.16.6 Sep 7, 2026

This branch was successfully deployed

1 active deployment
github-pages — 167bd9fa Deployed Oct 28, 2026 by renovate[bot] via deploy_pages #545
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants