Repository navigation
Update all dependencies - #222
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 3, 2026 23:07
6311a3f to
84770df
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 5, 2026 02:40
84770df to
fb8442e
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 5, 2026 06:11
fb8442e to
2275cd9
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 5, 2026 08:38
2275cd9 to
357595a
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 6, 2026 01:44
357595a to
e777864
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 6, 2026 04:39
e777864 to
05f7ed3
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 6, 2026 22:24
05f7ed3 to
efc1e98
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 7, 2026 00:49
efc1e98 to
918ea25
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 7, 2026 05:25
918ea25 to
376d55e
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 16, 2026 19:27
18b218c to
41418a9
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 18, 2026 23:50
41418a9 to
f6c0965
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 21, 2026 12:12
f6c0965 to
6a3cd8c
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 21, 2026 21:55
6a3cd8c to
e99c9c0
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 23, 2026 03:14
e99c9c0 to
fcfbf88
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 24, 2026 03:05
fcfbf88 to
7fd291f
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 24, 2026 22:29
7fd291f to
abb4c76
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
September 29, 2026 16:51
abb4c76 to
703cf1f
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
October 1, 2026 19:28
703cf1f to
4c4cb9e
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
October 8, 2026 10:58
4c4cb9e to
ecb6440
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
October 9, 2026 01:26
ecb6440 to
eed5286
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
October 9, 2026 20:02
eed5286 to
b907266
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
October 10, 2026 02:01
b907266 to
7f8f9fe
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
October 13, 2026 02:25
7f8f9fe to
e27ce69
Compare
renovate
Bot
force-pushed
the
renovate/all
branch
from
October 14, 2026 02:47
e27ce69 to
a6c1f34
Compare
This branch was successfully deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Note
This PR body was truncated due to platform limits.
This PR contains the following updates:
0.26→v0.27v0.9.0→v0.12.0==2.16.0→==2.16.2v0.16.4→v0.17.3v10.0.1→v10.3.2v1.62.1→v1.64.1==1.62.0→==1.64.1==4.6.2→==4.7.0==9.1.1→==9.2.0==0.9.0→==0.10.00.38.0→0.39.0==0.16.4→==0.17.3Note: The
pre-commitmanager in Renovate is not supported by thepre-commitmaintainers 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.27Compare Source
What's Changed
New Contributors
Full Changelog: abravalheri/validate-pyproject@0.26...v0.26
allure-framework/allure-action
v0.12.0Compare Source
What's Changed
⬆️ Dependency Updates
Full Changelog: allure-framework/allure-action@v0.11.3...v0.12.0
v0.11.3Compare Source
What's Changed
👻 Internal changes
Full Changelog: allure-framework/allure-action@v0.11.2...v0.11.3
v0.11.2Compare Source
What's Changed
👻 Internal changes
Full Changelog: allure-framework/allure-action@v0.11.1...v0.11.2
v0.11.1Compare Source
What's Changed
⬆️ Dependency Updates
👻 Internal changes
New Contributors
Full Changelog: allure-framework/allure-action@v0.11.0...v0.11.1
v0.11.0Compare Source
What's Changed
🔬 Improvements
⬆️ Dependency Updates
👻 Internal changes
Full Changelog: allure-framework/allure-action@v0.10.3...v0.11.0
v0.10.3Compare Source
What's Changed
👻 Internal changes
Full Changelog: allure-framework/allure-action@v0.10.2...v0.10.3
v0.10.2Compare Source
What's Changed
👻 Internal changes
Full Changelog: allure-framework/allure-action@v0.10.1...v0.10.2
v0.10.1Compare Source
What's Changed
🔬 Improvements
⬆️ Dependency Updates
👻 Internal changes
Full Changelog: allure-framework/allure-action@v0.10.0...v0.10.1
v0.10.0Compare 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.2Compare Source
🐞 Bug Fixes
👀 Links
Commits since 2.16.1
v2.16.1Compare Source
👀 Links
Commits since 2.16.0
astral-sh/ruff-pre-commit
v0.17.3Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.17.3
v0.17.2Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.17.2
v0.17.1Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.17.1
v0.17.0Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.17.0
v0.16.10Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.16.10
v0.16.9Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.16.9
v0.16.8Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.16.8
v0.16.7Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.16.7
v0.16.6Compare Source
See: https://github.com/astral-sh/ruff/releases/tag/0.16.6
v0.16.5Compare 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.5Compare Source
Changes
🧰 Maintenance
📚 Documentation
v10.3.1: 🌈 preserve cache error class names in save-cache bundleCompare 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 selectionCompare Source
Changes
This release adds the
python-archinput to select a Python architecture independently of the Python version. Withuv0.13.0 or later, setpython-arch: x86_64to use x64 Python on Windows ARM64 runners.It also includes embedded checksums for
uvreleases through 0.13.0.🚀 Enhancements
python-archsupport @zanieb (#1079)🧰 Maintenance
⬆️ Dependency updates
v10.2.0: 🌈 Disable automatic cache saves for merge queuesCompare 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 outputpython-runtime-idand respect NO_PROXYCompare 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_PROXYenvironment variables which were previously ignored.New output
python-runtime-idThe new output
python-runtime-idcan be used to know which python version exactly was installed if you useactivate-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.1Compare 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_cdpto awss://endpoint.Browser Versions
This version was also tested against the following stable channels:
v1.64.0Compare 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:
Playwright MCP also supports WebMCP by default, with page-defined tools offered to the agent as
webmcp_<tool>. Pass--no-webmcpto opt out.playwright-cliexposes 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:
record_video_fpsoption and newfpsoption inscreencast.start(). Firefox and WebKit currently capture up to 25 frames per second.
styleoption takes CSS declarations for thepointmarker, the targethighlightand the actiontitle. It replaces thefont_sizeoption, which is now deprecated.quality.
playwright-cli.🪆 Locator.within()
New locator.within() combines two locators that you already have, reading in the natural order —
"this button, within that dialog":
Relative locators such as locator.nth() or locator.first are resolved inside each parent
separately, which makes column-like queries straightforward:
New APIs
New page.get_by_ref() locates an element by its aria ref, such as
e2, reported by page.aria_snapshot() in the"ai"mode.New option
include_shadowin page.content() and frame.content() serializes open shadow roots as declarative shadow DOM.New option
sign_countsets the initial signature counter of a virtual credential. credentials.create() and credentials.get() return the currentsign_count, and it is saved and restored together with the credentials in the storage state.New api_request_context.add_cookies(), api_request_context.cookies() and api_request_context.clear_cookies() manage cookies of a request context, mirroring the BrowserContext methods:
Breaking Changes⚠️
visibility: hidden, are now considered hidden by actions, locator.is_visible() and expect(locator).to_be_visible().Browser Versions
This version was also tested against the following stable channels:
v1.63.0Compare 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:
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
:visibleCSS pseudo-class:🖼️ Aria and screen snapshots in traces
New
aria_snapshotsandscreen_snapshotsoptions oftracing.start() capture an aria snapshot and a screenshot of the page on every action:
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
http_credentialsnow also accepts an array of credentials. The first entry matching the request origin is used, and entries without an origin match any request.opfsincludes the origin private file system in the storage state, so it can be persisted and restored into later contexts.Command line
playwright install --no-removekeeps the browsers of other Playwright installations instead of removing them.playwright codegen --http-credentialsrecords against pages behind HTTP authentication.Announcements
Browser Versions
This version was also tested against the following stable channels:
pre-commit/pre-commit (pre-commit)
v4.7.0Compare Source
==================
Fixes
language: nodehooks during commit with-aor inside a submodule.pytest-dev/pytest (pytest)
v9.2.0Compare Source
pytest 9.2.0 (2026-10-27)
Removals and backward incompatible breaking changes
#14716:
-cnow 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 unhandledFileNotFoundError.#8593: The
indirect,idsandscopearguments ofMetafunc.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 inindirectand failed withindirect fixture '(1, 2)' doesn't exist; such mistakes now fail with an understandableTypeError. 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:-p,pytest_pluginsorPYTEST_PLUGINS-- exits withpytest.ExitCodeUSAGE_ERROR(4), like aconftest.pythat fails to import;pytest11entry point or a missing plugin dependency -- exits withpytest.ExitCodeINTERNAL_ERROR(3), with the traceback preserved.pytest.mainnow returns these codes instead of raisingImportError. Also fixed anIndexErrorfrom pytest's own internals when the plugin raised an exception with no arguments.Deprecations (removal in next major release)
#14742: The private
_pytest.python.CallSpec2name has been renamed toCallSpec.The old
CallSpec2alias 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, andsession) definedas instance methods are now deprecated.
They suffer from the same issue the original deprecation only fixed for
class-scoped fixtures, see
10819and14011.#14808: Passing a non-string value to a
string-typed ini option now emits apytest.PytestRemovedIn10Warning. This affects[tool.pytest.ini_options]inpyproject.toml. In pytest 10 this will raise aTypeError, matching the behavior of the corresponding TOML config path.#7323: Passing
bytestoTerminalReporter.write_line()is now deprecated, pass astrinstead.New features
strict_markersis enabled, marker names used in-mexpressions are now validated against registered markers.parametrize_long_str_id_strategyconfiguration option to control how longstr/bytesparameter values are handled in auto-generated test IDs. Explicit IDs set viaids=[...]orpytest.param(..., id=...)are not affected. Available strategies:short(default, values over 100 chars fall back toargname+index),sha256(SHA-256 hex digest),legacy(keep full value), anddisallow(error requesting explicit IDs).Improvements in existing functionality
#10745: A
RecursionErrorwhose recursion origin cannot be located now shows only thefirst 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-traceto 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 ofthe 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_pluginsvariable and thePYTEST_PLUGINSenvironment variable now also accept entry point names of installed plugins (e.g.xdist), in addition to importable module names, matching the behavior of the-pcommand-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()anddict.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.MarkDecoratoras itsdefault, for exampleitem.get_closest_marker("foo", pytest.mark.foo(1)), and returns the wrapped~pytest.Mark.Previously the only way to build a
defaultwas to instantiate~pytest.Markdirectly, which is private and warns.#13369: Improved the error from
pytest.RunResult.assert_outcomeswhen a plugin changes or removes pytest's standard terminal summary, and documented how to isolate output-changing plugins.#13431: Exposed
pytest.ParameterSetas the type of the return value ofpytest.param().This can be used in type annotations and
isinstancechecks.#13564: Issue a warning when fixtures are wrapped with a decorator that prevents
correct discovery, including
@classmethodabove@pytest.fixtureand@staticmethodabove@pytest.fixture. Put@pytest.fixtureabovethose decorators on test classes.
#14164: Exposed
pytest.Approxas the type of the return value ofpytest.approx().This can be used in type annotations and
isinstancechecks.#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-summarynow only applies directly to pytest's own summary.The flag no longer skips the
pytest_terminal_summaryhook, so third-partyplugins (for example coverage) can still write their terminal summaries.
#14751:
parser.addini <pytest.Parser.addini>now also accepts type expressions for itstypeargument, in addition to the existing string tags: the plain Python typesstr,bool,int,float, aLiteralof strings, and unions of these (for exampleint | strorint | Literal["auto"]).#14754:
pytest.approx()now rejects infinite relative tolerances fordatetime.timedeltavalues with a clearValueErrorinstead of raisingOverflowError.#14791: The
junit_family,junit_logging,junit_duration_report,console_output_style,empty_parameter_set_mark,assertion_text_diff_styleandtmp_path_retention_policyconfiguration 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, andpytest --helplists the accepted values.config.getini <pytest.Config.getini>now raisespytest.UsageErrorinstead ofTypeErrororValueErrorwhen 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 raisesValueError.#15006:
pytest.approxnow emitspytest.PytestApproxDecimalToleranceWarningwhen arelorabstolerance is given as afloatthat cannot be represented exactly for a~decimal.Decimalcomparison, 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_indentandfaulthandler_timeoutconfiguration options now accept native integer (and, forlog_auto_indent, boolean) values in TOML configuration files, while still accepting strings for backward compatibility.log_file_modenow reports invalid values as a usage error.#15254:
tmp_pathandTempPathFactory.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.Markinnode.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_configurehooks.#10210:
pytest.approxnow raises aTypeErrorfor any nested container, notonly for one of the same type as its parent. Previously
approx([{"k": 1}])and
approx({"k": [1]})were accepted and then compared unequal to everyvalue, silently ignoring the tolerance, while
approx([[1]])correctlyreported 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