Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Sep 2, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
yarl 1.9.4 -> 1.9.7 age adoption passing confidence

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 - "before 2am" (UTC), Automerge - At any time (no schedule defined).

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


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot added dependencies Upgrade or downgrade of project dependencies. no-stale This issue or PR is exempted from the stable bot. python labels Sep 2, 2024
@codecov-commenter
Copy link

codecov-commenter commented Sep 2, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 100.00%. Comparing base (cd46165) to head (14e95e6).

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #362   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            7         7           
  Lines          761       761           
  Branches        90        90           
=========================================
  Hits           761       761           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@renovate renovate bot force-pushed the renovate/yarl-1.x-lockfile branch from 6956084 to 14e95e6 Compare September 2, 2024 04:37
@sonarqubecloud
Copy link

sonarqubecloud bot commented Sep 2, 2024

@renovate renovate bot merged commit 2a7751b into main Sep 2, 2024
@renovate renovate bot deleted the renovate/yarl-1.x-lockfile branch September 2, 2024 08:21
@github-actions github-actions bot locked and limited conversation to collaborators Sep 3, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

dependencies Upgrade or downgrade of project dependencies. no-stale This issue or PR is exempted from the stable bot. python

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants