chore(deps): update dependency yarl to v1.24.2#112
Open
renovate[bot] wants to merge 1 commit into
Open
Conversation
44bbb7a to
3842d93
Compare
3842d93 to
b8610e6
Compare
b8610e6 to
26075b0
Compare
26075b0 to
1dad744
Compare
1dad744 to
471e247
Compare
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.
This PR contains the following updates:
==1.20.1→==1.24.2Release Notes
aio-libs/yarl (yarl)
v1.24.2Compare Source
=======
(2026-05-19)
Contributor-facing changes
Switched the aarch64 and armv7l wheel builds to GitHub's native ARM
runners. The aarch64 wheels now build without QEMU emulation, and
armv7l runs on aarch64 hosts so its 32-bit ARM execution is far
cheaper than the previous aarch64-on-x86_64 path
-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1724.Restored per-runner native arches in the Windows wheel matrix on tag
releases. The previous
CIBW_ARCHS_WINDOWS=AMD64 ARM64setting madeboth
windows-latestandwindows-11-armcross-compile the otherarch, producing two artifacts with identically-named wheels whose
bytes differed; the deploy job's
download-artifact ... merge-multiplestep tore those writes together, yielding a wheel that PyPI rejected
with
400 Invalid distribution file. ZIP archive not accepted: Mis-matched data sizeduring the 1.24.0 and 1.24.1 releases-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1725.v1.24.1Compare Source
=======
(2026-05-19)
Contributor-facing changes
Allowed re-running the deploy job after a partial release failure: the
Make Releasestep now skips when the GitHub Release already exists,and the PyPI publish step uses
skip-existingso dists that werealready uploaded on a prior attempt do not break the retry
-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1721.v1.24.0Compare Source
=======
(2026-05-19)
Bug fixes
Delayed importing pydantic until it's needed to avoid increased import time -- by :user:
Dreamsorcerer.Related issues and pull requests on GitHub:
:issue:
1607, :issue:1702.Fixed pickling of :class:
~yarl.URLon Python 3.15, whereSplitResultgained a
__getstate__that requires attributes set by__init__.__getstate__now returns the raw 5-tuple instead of aSplitResultbuilt via
tuple.__new__, so pickling no longer touchesSplitResultserialization at all. Pickles produced by older yarl releases (which embed
a
SplitResult) continue to load unchanged-- by :user:
befeleme.Related issues and pull requests on GitHub:
:issue:
1632, :issue:1642, :issue:1687.Fixed a parsing issue where URLs containing text before an opening bracket
in the host component (e.g.
http://127.0.0.1[aa::ff]) were silently acceptedinstead of being rejected as strictly invalid per RFC 3986
-- by :user:
rodrigobnogueira.Related issues and pull requests on GitHub:
:issue:
1654.Raise :exc:
ValueErrorwhen a URL's authority component contains abackslash, which is not a valid character per :rfc:
3986-- by :user:
rodrigobnogueira.Related issues and pull requests on GitHub:
:issue:
1659.Fixed a host-confusion parsing bug where URLs containing multiple bracket
characters in the host component (e.g.
http://[:localhost[]].google:80)were silently parsed as an unintended host. Both
split_url()andsplit_netloc()now raise :exc:ValueErrorwhen more than one[or]is found in the authority, or when[does not appear at the start ofthe host subcomponent, in compliance with :rfc:
3986-- by:user:
rodrigobnogueira.Related issues and pull requests on GitHub:
:issue:
1661.Fixed a parser/serializer inconsistency where percent-encoded characters in
the scheme portion of a URL (e.g.
ht%74p://...) were decoded by therequoter, causing
str()and :py:meth:~yarl.URL.human_reprto emit anabsolute URL with a scheme and host while the parsed properties
(:attr:
~yarl.URL.scheme, :attr:~yarl.URL.host, :attr:~yarl.URL.absolute)reported a relative, hostless URL. The fix preserves the percent-encoding of
the colon (
%3A) in relative paths whenever decoding it would materialize aURL scheme -- by :user:
rodrigobnogueira.Related issues and pull requests on GitHub:
:issue:
1669.Fixed a parsing issue where URLs containing text after the closing bracket
of an IP-literal host (e.g.
http://[::1]allowed.example:1/) were silentlyaccepted and normalized to the bracketed IP address (
http://[::1]:1/),dropping the trailing suffix and changing the effective host identity.
Per RFC 3986, after the closing
]only:followed by a port number orend-of-authority is valid
-- by :user:
rodrigobnogueira.Related issues and pull requests on GitHub:
:issue:
1672.Features
Start building and shipping riscv64 wheels
-- by :user:
justeph.Related issues and pull requests on GitHub:
:issue:
1626.Removals and backward incompatible breaking changes
Dropped support for the experimental free-threaded build of Python 3.13 -- by :user:
ngoldbaum.Related issues and pull requests on GitHub:
:issue:
1667.Improved documentation
Added a note in the :meth:
~yarl.URL.with_querydocumentation explainingthat types implementing
__int__(e.g. :class:~uuid.UUID) areconverted to integers, and advising users to cast to :class:
strwhen thehuman-readable representation is needed -- by :user:
r266-tech.Related issues and pull requests on GitHub:
:issue:
1638, :issue:1645.Contributor-facing changes
Resolved a ruff
ISC004violation in the PEP 517 build backend so thepre-commit
ruff-checkhook passes again-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1674.Renamed the
actions/checkoutdepthinput tofetch-depthin thereusable codspeed workflow so the actionlint pre-commit hook passes and the
intended shallow clone actually takes effect
-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1676.Bumped the pinned
pyupgradepre-commit hook tov3.21.2so it stopscrashing on Python 3.14, which made
tokenize.cookie_rebytes-only-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1677.The type preciseness coverage report generated by
MyPy <https://mypy-lang.org>__ is now uploaded toCoveralls <https://coveralls.io/github/aio-libs/yarl>__ andwill not be included in the
Codecov views <https://app.codecov.io/gh/aio-libs/yarl>__ going forward-- by :user:
webknjaz.Related issues and pull requests on GitHub:
:issue:
1680.Raised the per-matrix-cell timeout of the CI
Testjob from5 to 10 minutes to prevent false failures on slower runners
-- by :user:
aiolibsbot.Related issues and pull requests on GitHub:
:issue:
1683.Added an
AGENTS.mdorientation file at the repository root,covering the pull request template,
CHANGES/news fragmentconventions, draft-PR workflow, and the Cython quoter layout, so
LLM contributors land changes that match project style
-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1685.Documented in :file:
AGENTS.mdthat the coverage gate alsoapplies to test code, so unreachable defensive
raiseguardsand one-sided cleanup branches in tests will fail CI
-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1689.Shrunk the CI wheel-build matrix on pull requests and non-tag pushes by
restricting
CIBW_ARCHS_MACOStoarm64,CIBW_ARCHS_WINDOWStoAMD64, and skipping thewindows-11-armrunner -- the test matrix onlyexercises those architectures, so the previously-built
x86_64macOS andARM64Windows wheels were never installed. Tag releases still build thefull architecture set
-- by :user:
aiolibsbot.Related issues and pull requests on GitHub:
:issue:
1692.Documented the docs spell check (
make doc-spelling) in:file:
AGENTS.mdas a pre-push gate, mirroringaio-libs/multidict#1345 <https://github.com/aio-libs/multidict/pull/1345>__. Thespell checker reads every
CHANGES/*.rstfragment as partof the docs build, so an unknown technical word in a news
fragment fails CI before a human sees the PR
-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1693.Added a
CLAUDE.mdat the repository root that imports:file:
AGENTS.mdvia Claude Code's@-syntax, so theproject's LLM contributor rules load automatically when
working in Claude Code
-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1696.Enforced top-level imports across
yarlandtestsvia the ruffPLC0415rule, wired through a newruff-checkpre-commit hook.Function-scoped imports must now opt in with
# noqa: PLC0415plusa comment explaining the import-time reason. Dropped the
yesqahook, which could not recognize ruff-only codes and stripped the new
noqacomments as stale; a wider migration off flake8 onto ruffwill follow separately
-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1697.Migrated the main tree from standalone
blackandisortpre-commit hooks to
ruff formatand the ruffIlint rule,sharing the existing
[tool.ruff]config inpyproject.toml.ruff-checknow runs with--fixso import-order fixes applyon commit, and the orphan
[isort]block insetup.cfgwasremoved. The
packaging/pep517_backend/subtree keeps its own.ruff.tomland is unaffected-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1698.Switched the
cibuildwheelbuild frontend tobuild[uv]sothat
uvprovisions every build and test virtual environmentin the wheel matrix. Test-dependency installation in particular
drops from a multi-second
pip installper ABI to a roughlysub-second
uvresolve-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1699.Restructured the root :file:
CLAUDE.mdto import contributorcontext from a shared
aio-libslayer(
~/.claude/aio-libs/context.md), a project-specific layer(
~/.claude/aio-libs/yarl/context.md), the in-tree:file:
AGENTS.md, and an optional per-checkout:file:
CLAUDE.local.mdoverride (added to :file:.gitignore),so shared
aio-libsguidance can live outside the repositorywhile project rules continue to load automatically in Claude
Code -- by :user:
aiolibsbot.Related issues and pull requests on GitHub:
:issue:
1700, :issue:1701.Switched CI/CD to
tox-dev/workflow's :file:reusable-tox.ymldriven by an in-tree :file:
tox.ini. Thebuild,metadata-validationandlint(pre-commit,spellcheck-docs,build-docs) jobs all run through thereusable workflow; MyPy coverage uploads to Coveralls from a
post-tox-jobhook-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1711.Switched the CI
testjob fromactions/setup-pythontoastral-sh/setup-uvwithuv pip install. Pre-releaseinterpreters skip the wheel cache so each run resolves freshly
against the current snapshot
-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1715.Switched the
Aiohttpworkflow that runs the aiohttp testsuite against the in-tree yarl checkout from
actions/setup-pythontoastral-sh/setup-uvwithuv pip install-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1716.Switched the
Aiohttpworkflow'smake .developstep toinstall aiohttp's dev env through
uv pipby passingPIP="uv pip"-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1717.v1.23.0Compare Source
======
(2025-12-16)
Features
Added support for
pydantic, the :class:~yarl.URLcould be used as afield type in
pydanticmodels seamlessly.Related issues and pull requests on GitHub:
:issue:
1607.Packaging updates and notes for downstreams
The CI has been set up to notify Codecov about upload completion
-- by :user:
webknjaz.With this, Codecov no longer needs to guess whether it received all
the intended coverage reports or not.
Related issues and pull requests on GitHub:
:issue:
1577.The in-tree build backend allows the end-users appending
CFLAGSandLDFLAGSby setting respective environmentvariables externally.
It additionally sets up default compiler flags to perform
building with maximum optimization in release mode. This
makes the resulting artifacts shipped to PyPI smaller.
When line tracing is requested, the compiler and linker
flags are configured to include as much information as
possible for debugging and coverage tracking. The
development builds are therefore smaller.
-- by :user:
webknjazRelated issues and pull requests on GitHub:
:issue:
1586.The :pep:
517build backend now supports a new configsetting for controlling whether to build the project in-tree
or in a temporary directory. It only affects wheels and is
set up to build in a temporary directory by default. It does
not affect editable wheel builds — they will keep being
built in-tree regardless.
-- by :user:
webknjazHere's an example of using this setting:
.. code-block:: console
$ python -m build
--config-setting=build-inplace=true
Related issues and pull requests on GitHub:
:issue:
1590.Starting this version, when building the wheels is happening
in an automatically created temporary directory, the build
backend makes an effort to normalize the respective file
system path to a deterministic source checkout directory.
-- by :user:
webknjazIt does so by injecting the
-ffile-prefix-mapcompileroption into the
CFLAGSenvironment variable as suggestedby known
reproducible build practices <https://reproducible-builds.org/docs/build-path/>__.The effect is that downstreams will get more reproducible
build results.
Related issues and pull requests on GitHub:
:issue:
1591.Dropped Python 3.9 support; Python 3.10 is the minimal supported Python version
-- by :user:
bdraco.Related issues and pull requests on GitHub:
:issue:
1609.Contributor-facing changes
The deprecated license classifier was removed from :file:
setup.cfg-- by :user:
yegorich.Related issues and pull requests on GitHub:
:issue:
1550.The in-tree build backend allows the end-users appending
CFLAGSandLDFLAGSby setting respective environmentvariables externally.
It additionally sets up default compiler flags to perform
building with maximum optimization in release mode. This
makes the resulting artifacts shipped to PyPI smaller.
When line tracing is requested, the compiler and linker
flags are configured to include as much information as
possible for debugging and coverage tracking. The
development builds are therefore smaller.
-- by :user:
webknjazRelated issues and pull requests on GitHub:
:issue:
1586.The CI has been updated to consistently benchmark optimized
release builds -- by :user:
webknjaz.When the release workflow is triggered, the pre-built wheels
ready to hit PyPI are being tested. Otherwise, the job
builds the project from source, while the rest of the
workflow uses debug builds for line tracing and coverage
collection.
Related issues and pull requests on GitHub:
:issue:
1587.v1.22.0Compare Source
======
(2025-10-05)
Features
Added arm64 Windows wheel builds
-- by :user:
finnagin.Related issues and pull requests on GitHub:
:issue:
1516.v1.21.0Compare Source
======
(2025-10-05)
Contributor-facing changes
The :file:
reusable-cibuildwheel.ymlworkflow has been refactored tobe more generic and :file:
ci-cd.ymlnow holds all the configurationtoggles -- by :user:
webknjaz.Related issues and pull requests on GitHub:
:issue:
1535.When building wheels, the source distribution is now passed directly
to the
cibuildwheelinvocation -- by :user:webknjaz.Related issues and pull requests on GitHub:
:issue:
1536.Added CI for Python 3.14 -- by :user:
kumaraditya303.Related issues and pull requests on GitHub:
:issue:
1560.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.