UNCLASSIFIED - NO CUI

Skip to content

Update dependency yarl to v1.11.1

POPs-renovate-tools_03Dec2024 requested to merge renovate/yarl-1.x into development

This MR contains the following updates:

Package Update Change
yarl minor ==1.9.4 -> ==1.11.1

Warning

Some dependencies could not be looked up. Check the warning logs for more information.


Release Notes

aio-libs/yarl (yarl)

v1.11.1

Compare Source

======

(2024-09-09)

Bug fixes

  • Allowed scheme replacement for relative URLs if the scheme does not require a host -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:280, :issue:1138.

  • Allowed empty host for URL schemes other than the special schemes listed in the WHATWG URL spec -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1136.

Features

  • Loosened restriction on integers as query string values to allow classes that implement __int__ -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1139.

Miscellaneous internal changes

  • Improved performance of normalizing paths -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1137.


v1.11.0

Compare Source

======

(2024-09-08)

Features

  • Added :meth:URL.extend_query() <yarl.URL.extend_query> method, which can be used to extend parameters without replacing same named keys -- by :user:bdraco.

    This method was primarily added to replace the inefficient hand rolled method currently used in aiohttp.

    Related issues and pull requests on GitHub: :issue:1128.

Miscellaneous internal changes

  • Improved performance of the Cython cached_property implementation -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1122.

  • Simplified computing ports by removing unnecessary code -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1123.

  • Improved performance of encoding non IPv6 hosts -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1125.

  • Improved performance of :meth:URL.build() <yarl.URL.build> when the path, query string, or fragment is an empty string -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1126.

  • Improved performance of the :meth:URL.update_query() <yarl.URL.update_query> method -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1130.

  • Improved performance of processing query string changes when arguments are :class:str -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1131.


v1.10.0

Compare Source

======

(2024-09-06)

Bug fixes

  • Fixed joining a path when the existing path was empty -- by :user:bdraco.

    A regression in :meth:URL.join() <yarl.URL.join> was introduced in :issue:1082.

    Related issues and pull requests on GitHub: :issue:1118.

Features

  • Added :meth:URL.without_query_params() <yarl.URL.without_query_params> method, to drop some parameters from query string -- by :user:hongquan.

    Related issues and pull requests on GitHub: :issue:774, :issue:898, :issue:1010.

  • The previously protected types _SimpleQuery, _QueryVariable, and _Query are now available for use externally as SimpleQuery, QueryVariable, and Query -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1050, :issue:1113.

Contributor-facing changes

  • Replaced all :class:~typing.Optional with :class:~typing.Union -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1095.

Miscellaneous internal changes

  • Significantly improved performance of parsing the network location -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1112.

  • Added internal types to the cache to prevent future refactoring errors -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1117.


v1.9.11

Compare Source

======

(2024-09-04)

Bug fixes

  • Fixed a :exc:TypeError with MultiDictProxy and Python 3.8 -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1084, :issue:1105, :issue:1107.

Miscellaneous internal changes

  • Improved performance of encoding hosts -- by :user:bdraco.

    Previously, the library would unconditionally try to parse a host as an IP Address. The library now avoids trying to parse a host as an IP Address if the string is not in one of the formats described in :rfc:3986#section-3.2.2.

    Related issues and pull requests on GitHub: :issue:1104.


v1.9.10

Compare Source

======

(2024-09-04)

Bug fixes

Features

  • Added :attr:~yarl.URL.absolute which is now preferred over URL.is_absolute() -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1100.


v1.9.9

Compare Source

=====

(2024-09-04)

Bug fixes

  • Added missing type on :attr:~yarl.URL.port -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1097.


v1.9.8

Compare Source

=====

(2024-09-03)

Features

  • Covered the :class:~yarl.URL object with types -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1084.

  • Cache parsing of IP Addresses when encoding hosts -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1086.

Contributor-facing changes

  • Covered the :class:~yarl.URL object with types -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1084.

Miscellaneous internal changes

  • Improved performance of handling ports -- by :user:bdraco.

    Related issues and pull requests on GitHub: :issue:1081.


v1.9.7

Compare Source

=====

(2024-09-01)

Removals and backward incompatible breaking changes

  • Removed support :rfc:3986#section-3.2.3 port normalization when the scheme is not one of http, https, wss, or ws -- by :user:bdraco.

    Support for port normalization was recently added in :issue:1033 and contained code that would do blocking I/O if the scheme was not one of the four listed above. The code has been removed because this library is intended to be safe for usage with :mod:asyncio.

    Related issues and pull requests on GitHub: :issue:1076.

Miscellaneous internal changes

  • Improved performance of property caching -- by :user:bdraco.

    The reify implementation from aiohttp was adapted to replace the internal cached_property implementation.

    Related issues and pull requests on GitHub: :issue:1070.


v1.9.6

Compare Source

=====

(2024-08-30)

Bug fixes

  • Reverted :rfc:3986 compatible :meth:URL.join() <yarl.URL.join> honoring empty segments which was introduced in :issue:1039.

    This change introduced a regression handling query string parameters with joined URLs. The change was reverted to maintain compatibility with the previous behavior.

    Related issues and pull requests on GitHub: :issue:1067.


v1.9.5

Compare Source

=====

(2024-08-30)

Bug fixes

  • Joining URLs with empty segments has been changed to match :rfc:3986.

    Previously empty segments would be removed from path, breaking use-cases such as

    .. code-block:: python

    URL("https://web.archive.org/web/") / "https://github.com/"

    Now :meth:/ operation <yarl.URL.__truediv__> and :meth:URL.joinpath() <yarl.URL.joinpath> keep empty segments, but do not introduce new empty segments. e.g.

    .. code-block:: python

    URL("https://example.org/") / ""

    does not introduce an empty segment.

    -- by :user:commonism and :user:youtux

    Related issues and pull requests on GitHub: :issue:1026.

  • The default protocol ports of well-known URI schemes are now taken into account during the normalization of the URL string representation in accordance with :rfc:3986#section-3.2.3.

    Specified ports are removed from the :class:str representation of a :class:~yarl.URL if the port matches the scheme's default port -- by :user:commonism.

    Related issues and pull requests on GitHub: :issue:1033.

  • :meth:URL.join() <yarl.URL.join> has been changed to match :rfc:3986 and align with :meth:/ operation <yarl.URL.__truediv__> and :meth:URL.joinpath() <yarl.URL.joinpath> when joining URLs with empty segments. Previously :py:func:urllib.parse.urljoin was used, which has known issues with empty segments (python/cpython#84774 <https://github.com/python/cpython/issues/84774>_).

    Due to the semantics of :meth:URL.join() <yarl.URL.join>, joining an URL with scheme requires making it relative, prefixing with ./.

    .. code-block:: pycon

    URL("https://web.archive.org/web/").join(URL("./https://github.com/aio-libs/yarl")) URL('https://web.archive.org/web/https://github.com/aio-libs/yarl')

    Empty segments are honored in the base as well as the joined part.

    .. code-block:: pycon

    URL("https://web.archive.org/web/https://").join(URL("github.com/aio-libs/yarl")) URL('https://web.archive.org/web/https://github.com/aio-libs/yarl')

    -- by :user:commonism

    Related issues and pull requests on GitHub: :issue:1039.

Removals and backward incompatible breaking changes

  • Stopped decoding %2F (/) in URL.path, as this could lead to code incorrectly treating it as a path separator -- by :user:Dreamsorcerer.

    Related issues and pull requests on GitHub: :issue:1057.

  • Dropped support for Python 3.7 -- by :user:Dreamsorcerer.

    Related issues and pull requests on GitHub: :issue:1016.

Improved documentation

  • On the :doc:Contributing docs <contributing/guidelines> page, a link to the Towncrier philosophy has been fixed.

    Related issues and pull requests on GitHub: :issue:981.

  • The pre-existing :meth:/ magic method <yarl.URL.__truediv__> has been documented in the API reference -- by :user:commonism.

    Related issues and pull requests on GitHub: :issue:1026.

Packaging updates and notes for downstreams

  • A flaw in the logic for copying the project directory into a temporary folder that led to infinite recursion when :envvar:TMPDIR was set to a project subdirectory path. This was happening in Fedora and its downstream due to the use of pyproject-rpm-macros <https://src.fedoraproject.org/rpms/pyproject-rpm-macros>__. It was only reproducible with pip wheel and was not affecting the pyproject-build users.

    -- by :user:hroncok and :user:webknjaz

    Related issues and pull requests on GitHub: :issue:992, :issue:1014.

  • Support Python 3.13 and publish non-free-threaded wheels

    Related issues and pull requests on GitHub: :issue:1054.

Contributor-facing changes

  • The CI/CD setup has been updated to test arm64 wheels under macOS 14, except for Python 3.7 that is unsupported in that environment -- by :user:webknjaz.

    Related issues and pull requests on GitHub: :issue:1015.

  • Removed unused type ignores and casts -- by :user:hauntsaninja.

    Related issues and pull requests on GitHub: :issue:1031.

Miscellaneous internal changes

  • port, scheme, and raw_host are now cached_property -- by :user:bdraco.

    aiohttp accesses these properties quite often, which cause :mod:urllib to build the _hostinfo property every time. port, scheme, and raw_host are now cached properties, which will improve performance.

    Related issues and pull requests on GitHub: :issue:1044, :issue:1058.



Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Merge request reports