You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Updated type hints to include URL.missing_port(), URL.__bytes__() and the encoding argument to yarl.URL.joinpath() -- by @mjpieters. (Update type hints #891)
Replaced the packaging is replaced from an old-fashioned setup.py to an in-tree :pep:517 build backend -- by @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.
This allows the contributors to author new documents in Markdown when they have difficulties with going straight RST. (📝🎨 Integrate MyST in Sphinx docs #953)
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
🐛 Bug fixes
yarl.URL.joinpath()
-- by @gmacon. (Another regression in URL join behavior #862, Keep a trailing slash in URL.joinpath #866)__truediv__()
operations (URL / segment
) -- by @mjpieters. (TypeError on URL join with enum.StrEnum classes for yarl==1.9.1+ #871, Allow string subclasses in truediv operations #884)URL.missing_port()
,URL.__bytes__()
and theencoding
argument toyarl.URL.joinpath()
-- by @mjpieters. (Update type hints #891)📦 Packaging updates and notes for downstreams
Integrated Cython 3 to enable building yarl under Python 3.12 -- by @mjpieters. (Python 3.12: ‘PyLongObject’ {aka ‘struct _longobject’} has no member named ‘ob_digit’ #829, Python 3.12 compatibility #881)
Added the changelog URL to the dist metadata -- by @scop. (Add changelog project URL for PyPI #877)
Declared modern
setuptools.build_meta
as the :pep:517
build backend inpyproject.toml
explicitly -- by @webknjaz. (🎨 Explicitly use setuptools PEP 517 build backend #886)Converted most of the packaging setup into a declarative
setup.cfg
config -- by @webknjaz. (📦🎨 Move package attrs to declarative config #890)Replaced the packaging is replaced from an old-fashioned
setup.py
to an in-tree :pep:517
build backend -- by @webknjaz.Whenever the end-users or downstream packagers need to build
yarl
from source (a Git checkout or an sdist), they may pass aconfig_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
:$ python -m pip install . --config-settings=--pure-python=
This will also work with
-e | --editable
.The same can be achieved via
pypa/build
:$ python -m build --config-setting=--pure-python=
Adding
-w | --wheel
can forcepypa/build
produce a wheel from source directly, as opposed to building ansdist
and then building from it. (📦 Move packaging to PEP 517 in-tree backend #893)Declared Python 3.12 supported officially in the distribution package metadata -- by @edgarrmondragon. (feat: Support Python 3.12 #942)
🛠️ Contributor-facing changes
A regression test for no-host URLs was added per Incorrect handling of empty host in absolute URL #821 and RFC 3986 -- by @kenballus. (Incorrect handling of empty host in absolute URL #821, Add test for empty host #821 #822)
Started testing yarl against Python 3.12 in CI -- by @mjpieters. (Python 3.12 compatibility #881)
All Python 3.12 jobs are now marked as required to pass in CI -- by @edgarrmondragon. (feat: Support Python 3.12 #942)
MyST is now integrated in Sphinx -- by @webknjaz.
This allows the contributors to author new documents in Markdown when they have difficulties with going straight RST. (📝🎨 Integrate MyST in Sphinx docs #953)
💪 New Contributors
🪞 Full Diff: v1.9.2...v1.9.3
This is a discussion about the release v1.9.3.
Beta Was this translation helpful? Give feedback.
All reactions