[!WARNING]
Some dependencies could not be looked up. Check the warning logs for more information.
Release Notes
aio-libs/yarl (yarl)
### [`v1.9.4`](https://togithub.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#194-2023-12-06)
[Compare Source](https://togithub.com/aio-libs/yarl/compare/v1.9.3...v1.9.4)
\==================
## Bug fixes
- Started raising :py:exc:`TypeError` when a string value is passed into
:py:meth:`~yarl.URL.build` as the `port` argument -- by :user:`commonism`.
Previously the empty string as port would create malformed URLs when rendered as string representations. (:issue:`883`)
## Packaging updates and notes for downstreams
- The leading `--` has been dropped from the :pep:`517` in-tree build
backend config setting names. `--pure-python` is now just `pure-python`
\-- by :user:`webknjaz`.
The usage now looks as follows:
.. code-block:: console
$ python -m build \
--config-setting=pure-python=true \
--config-setting=with-cython-tracing=true
(:issue:`963`)
## Contributor-facing changes
- A step-by-step :doc:`Release Guide ` guide has
been added, describing how to release *yarl* -- by :user:`webknjaz`.
This is primarily targeting maintainers. (:issue:`960`)
- Coverage collection has been implemented for the Cython modules
\-- by :user:`webknjaz`.
It will also be reported to Codecov from any non-release CI jobs.
To measure coverage in a development environment, *yarl* can be
installed in editable mode:
.. code-block:: console
$ python -Im pip install -e .
Editable install produces C-files required for the Cython coverage
plugin to map the measurements back to the PYX-files.
:issue:`961`
- It is now possible to request line tracing in Cython builds using the
`with-cython-tracing` :pep:`517` config setting
\-- :user:`webknjaz`.
This can be used in CI and development environment to measure coverage
on Cython modules, but is not normally useful to the end-users or
downstream packagers.
Here's a usage example:
.. code-block:: console
$ python -Im pip install . --config-settings=with-cython-tracing=true
For editable installs, this setting is on by default. Otherwise, it's
off unless requested explicitly.
The following produces C-files required for the Cython coverage
plugin to map the measurements back to the PYX-files:
.. code-block:: console
$ python -Im pip install -e .
Alternatively, the `YARL_CYTHON_TRACING=1` environment variable
can be set to do the same as the :pep:`517` config setting.
:issue:`962`
### [`v1.9.3`](https://togithub.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#193-2023-11-20)
[Compare Source](https://togithub.com/aio-libs/yarl/compare/v1.9.2...v1.9.3)
\==================
## Bug fixes
- Stopped dropping trailing slashes in :py:meth:`~yarl.URL.joinpath` -- by :user:`gmacon`. (:issue:`862`, :issue:`866`)
- Started accepting string subclasses in `__truediv__()` operations (`URL / segment`) -- by :user:`mjpieters`. (:issue:`871`, :issue:`884`)
- Fixed the human representation of URLs with square brackets in usernames and passwords -- by :user:`mjpieters`. (:issue:`876`, :issue:`882`)
- Updated type hints to include `URL.missing_port()`, `URL.__bytes__()`
and the `encoding` argument to :py:meth:`~yarl.URL.joinpath`
\-- by :user:`mjpieters`. (:issue:`891`)
## Packaging updates and notes for downstreams
- Integrated Cython 3 to enable building *yarl* under Python 3.12 -- by :user:`mjpieters`. (:issue:`829`, :issue:`881`)
- Declared modern `setuptools.build_meta` as the :pep:`517` build
backend in :file:`pyproject.toml` explicitly -- by :user:`webknjaz`. (:issue:`886`)
- Converted most of the packaging setup into a declarative :file:`setup.cfg`
config -- by :user:`webknjaz`. (:issue:`890`)
- The packaging is replaced from an old-fashioned :file:`setup.py` to an
in-tree :pep:`517` build backend -- by :user:`webknjaz`.
Whenever the end-users or downstream packagers need to build `yarl` from
source (a Git checkout or an sdist), they may pass a `config_settings`
flag `--pure-python`. If this flag is not set, a C-extension will be built
and included into the distribution.
Here is how this can be done with `pip`:
.. code-block:: console
$ python -m pip install . --config-settings=--pure-python=false
This will also work with `-e | --editable`.
The same can be achieved via `pypa/build`:
.. code-block:: console
$ python -m build --config-setting=--pure-python=false
Adding `-w | --wheel` can force `pypa/build` produce a wheel from source
directly, as opposed to building an `sdist` and then building from it. (:issue:`893`)
.. attention::
v1.9.3 was the only version using the `--pure-python` setting name.
Later versions dropped the `--` prefix, making it just `pure-python`.
- Declared Python 3.12 supported officially in the distribution package metadata
\-- by :user:`edgarrmondragon`. (:issue:`942`)
## Contributor-facing changes
- A regression test for no-host URLs was added per :issue:`821`
and :rfc:`3986` -- by :user:`kenballus`. (:issue:`821`, :issue:`822`)
- Started testing *yarl* against Python 3.12 in CI -- by :user:`mjpieters`. (:issue:`881`)
- All Python 3.12 jobs are now marked as required to pass in CI
\-- by :user:`edgarrmondragon`. (:issue:`942`)
- MyST is now integrated in Sphinx -- by :user:`webknjaz`.
This allows the contributors to author new documents in Markdown
when they have difficulties with going straight RST. (:issue:`953`)
### [`v1.9.2`](https://togithub.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#192-2023-04-25)
[Compare Source](https://togithub.com/aio-libs/yarl/compare/v1.9.1...v1.9.2)
\==================
## Bugfixes
- Fix regression with `__truediv__` and absolute URLs with empty paths causing the raw path to lack the leading `/`.
(`#854 `\_)
### [`v1.9.1`](https://togithub.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#191-2023-04-21)
[Compare Source](https://togithub.com/aio-libs/yarl/compare/v1.8.2...v1.9.1)
\==================
## Bugfixes
- Marked tests that fail on older Python patch releases (< 3.7.10, < 3.8.8 and < 3.9.2) as expected to fail due to missing a security fix for CVE-2021-23336. (`#850 `\_)
### [`v1.8.2`](https://togithub.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#182-2022-12-03)
[Compare Source](https://togithub.com/aio-libs/yarl/compare/v1.8.1...v1.8.2)
\==================
This is the first release that started shipping wheels for Python 3.11.
### [`v1.8.1`](https://togithub.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#181-2022-08-01)
[Compare Source](https://togithub.com/aio-libs/yarl/compare/v1.8.0...v1.8.1)
\==================
## Misc
- `#694 `*, `#699 `*, `#700 `*, `#701 `*, `#702 `*, `#703 `*, `#739 `\_
### [`v1.8.0`](https://togithub.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#180-2022-08-01)
[Compare Source](https://togithub.com/aio-libs/yarl/compare/v1.7.2...v1.8.0)
\==================
## Features
- Added `URL.raw_suffix`, `URL.suffix`, `URL.raw_suffixes`, `URL.suffixes`, `URL.with_suffix`. (`#613 `\_)
## Improved Documentation
- Fixed broken internal references to :meth:`~URL.human_repr`. (`#665 `\_)
- Fixed broken external references to :doc:`multidict:index` docs. (`#665 `\_)
## Deprecations and Removals
- Dropped Python 3.6 support. (`#672 `\_)
## Misc
- `#646 `*, `#699 `*, `#701 `\_
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 Mend Renovate. View repository job log here.
This PR contains the following updates:
==1.7.2
->==1.9.4
Release Notes
aio-libs/yarl (yarl)
### [`v1.9.4`](https://togithub.com/aio-libs/yarl/blob/HEAD/CHANGES.rst#194-2023-12-06) [Compare Source](https://togithub.com/aio-libs/yarl/compare/v1.9.3...v1.9.4) \================== ## Bug fixes - Started raising :py:exc:`TypeError` when a string value is passed into :py:meth:`~yarl.URL.build` as the `port` argument -- by :user:`commonism`. Previously the empty string as port would create malformed URLs when rendered as string representations. (:issue:`883`) ## Packaging updates and notes for downstreams - The leading `--` has been dropped from the :pep:`517` in-tree build backend config setting names. `--pure-python` is now just `pure-python` \-- by :user:`webknjaz`. The usage now looks as follows: .. code-block:: console $ python -m build \ --config-setting=pure-python=true \ --config-setting=with-cython-tracing=true (:issue:`963`) ## Contributor-facing changes - A step-by-step :doc:`Release GuideConfiguration
📅 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.
This PR has been generated by Mend Renovate. View repository job log here.