⬆️ Update dependency yarl to v1.9.7 #50

Merged
sebclem merged 1 commits from renovate/yarl-1.x into main 2024-09-03 09:46:24 +02:00
Collaborator

This PR contains the following updates:

Package Update Change
yarl patch ==1.9.4 -> ==1.9.7

Release Notes

aio-libs/yarl (yarl)

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 PR becomes conflicted, or you tick the rebase/retry checkbox.

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


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

This PR has been generated by Renovate Bot.

This PR contains the following updates: | Package | Update | Change | |---|---|---| | [yarl](https://github.com/aio-libs/yarl) | patch | `==1.9.4` -> `==1.9.7` | --- ### Release Notes <details> <summary>aio-libs/yarl (yarl)</summary> ### [`v1.9.7`](https://github.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#197) [Compare Source](https://github.com/aio-libs/yarl/compare/v1.9.6...v1.9.7) \===== *(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`](https://github.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#196) [Compare Source](https://github.com/aio-libs/yarl/compare/v1.9.5...v1.9.6) \===== *(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`](https://github.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#195) [Compare Source](https://github.com/aio-libs/yarl/compare/v1.9.4...v1.9.5) \===== *(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`. *** </details> --- ### 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 PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
renovate-bot added 1 commit 2024-09-01 03:05:09 +02:00
⬆️ Update dependency yarl to v1.9.6
All checks were successful
ci / docker (pull_request) Successful in 37s
eeafa45b03
renovate-bot force-pushed renovate/yarl-1.x from eeafa45b03 to 951793bf7f 2024-09-02 03:09:41 +02:00 Compare
renovate-bot changed title from ⬆️ Update dependency yarl to v1.9.6 to ⬆️ Update dependency yarl to v1.9.7 2024-09-02 03:09:43 +02:00
sebclem merged commit a7de73957a into main 2024-09-03 09:46:24 +02:00
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: sebclem/pixivcord#50
No description provided.