Bug fixes
-
Started raising :py:exc:
TypeErrorwhen a string value is passed into
:py:meth:~yarl.URL.buildas theportargument -- by :user:commonism.Previously the empty string as port would create malformed URLs when rendered as string representations. (#883)
Packaging updates and notes for downstreams
-
The leading
--has been dropped from the :pep:517in-tree build
backend config setting names.--pure-pythonis now justpure-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(#963)
Contributor-facing changes
-
A step-by-step :doc:
Release Guide <contributing/release_guide>guide has
been added, describing how to release yarl -- by :user:webknjaz.This is primarily targeting maintainers. (#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, which requires an environment variable
YARL_CYTHON_TRACING=1to be set:.. code-block:: console
$ YARL_CYTHON_TRACING=1 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. (#961) -
It is now possible to request line tracing in Cython builds using the
with-cython-tracing:pep:517config 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=trueFor editable installs, this setting is on by default. Otherwise, it's
off unless requested explicitly. (#962)