* Fixed uppercase ASCII hosts being rejected by :meth:URL.build()
<yarl.URL.build> and :py:meth:~yarl.URL.with_host -- by :user:bdraco.
* Improved performances of multiple path properties on cache miss --
by :user:bdraco.
1.18.0:
* Added keep_query and keep_fragment flags in the
:py:meth:yarl.URL.with_path, :py:meth:yarl.URL.with_name and
:py:meth:yarl.URL.with_suffix methods, allowing users to
optionally retain the query string and fragment in the resulting
URL when replacing the path -- by :user:paul-nameless.
1.17.2:
* Stopped implicitly allowing the use of Cython pre-release versions when
building the distribution package -- by :user:ajsanchezsanz and
:user:markgreene74.
* Fixed a bug causing :attr:~yarl.URL.port to return the default
port when the given port was zero -- by :user:gmacon.
* Make error messages include details of incorrect type when port is
not int in :py:meth:~yarl.URL.build. -- by :user:Cycloctane.
* Stopped implicitly allowing the use of Cython pre-release versions when
building the distribution package -- by :user:ajsanchezsanz and
:user:markgreene74.
* Improved performance of the :py:meth:~yarl.URL.joinpath method --
by :user:bdraco.
1.17.1:
* Improved performance of many URL methods – by @bdraco.
* Improved performance of passing a dict or str to extend_query() –
by @bdraco.
1.17.0:
* Added host_port_subcomponent which returns the RFC 3986 Section
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-yarl?expand=0&rev=72
- Update to 1.14.0
* Switched to using the :mod:`propcache <propcache.api>`
package for property caching
* Started testing with Hypothesis
* Improved performance of :py:meth:`~yarl.URL.is_default_port`
when no explicit port is set
* Improved performance of converting :class:`~yarl.URL` to
a string when no explicit port is set
* Improved performance of the :py:meth:`~yarl.URL.origin` method
* Improved performance of encoding hosts
- from version 1.13.1
* Improved performance of calling :py:meth:`~yarl.URL.build`
with ``authority``
- from version 1.13.0
* Started rejecting ASCII hostnames with invalid characters. For
host strings that look like authority strings, the exception
message includes advice on what to do instead
* Fixed IPv6 addresses missing brackets when the :class:`~yarl.URL`
was converted to a string
* Added :attr:`~yarl.URL.host_subcomponent` which returns
the :rfc:`3986#section-3.2.2` host subcomponent
- Update BuildRequires from requirements/test.txt
OBS-URL: https://build.opensuse.org/request/show/1206598
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-yarl?expand=0&rev=32
* Switched to using the :mod:`propcache <propcache.api>`
package for property caching
* Started testing with Hypothesis
* Improved performance of :py:meth:`~yarl.URL.is_default_port`
when no explicit port is set
* Improved performance of converting :class:`~yarl.URL` to
a string when no explicit port is set
* Improved performance of the :py:meth:`~yarl.URL.origin` method
* Improved performance of encoding hosts
- from version 1.13.1
* Improved performance of calling :py:meth:`~yarl.URL.build`
with ``authority``
- from version 1.13.0
* Started rejecting ASCII hostnames with invalid characters. For
host strings that look like authority strings, the exception
message includes advice on what to do instead
* Fixed IPv6 addresses missing brackets when the :class:`~yarl.URL`
was converted to a string
* Added :attr:`~yarl.URL.host_subcomponent` which returns
the :rfc:`3986#section-3.2.2` host subcomponent
- Update BuildRequires from requirements/test.txt
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-yarl?expand=0&rev=69
- update to 1.9.4:
* 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.
* Started raising :py:exc:`TypeError` when a string value is
passed into :py:meth:`~yarl.URL.build` as the port argument
* Previously the empty string as port would create malformed
URLs when rendered as string representations. (:issue:`883`)
* 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: $ python -m build \ --config-setting=pure-
python=true \ --config-setting=with-cython-tracing=true
(:issue:`963`)
* 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`.
* 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: $ 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. (:issue:`962`)
- drop reproducible.patch (upstream)
OBS-URL: https://build.opensuse.org/request/show/1138583
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-yarl?expand=0&rev=28
* 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.
* Started raising :py:exc:`TypeError` when a string value is
passed into :py:meth:`~yarl.URL.build` as the port argument
* Previously the empty string as port would create malformed
URLs when rendered as string representations. (:issue:`883`)
* 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: $ python -m build \ --config-setting=pure-
python=true \ --config-setting=with-cython-tracing=true
(:issue:`963`)
* 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`.
* 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: $ 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. (:issue:`962`)
- drop reproducible.patch (upstream)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-yarl?expand=0&rev=60
- update to 1.9.3:
* Stopped dropping trailing slashes in
:py:meth:`~yarl.URL.joinpath`
* Started accepting string subclasses in ``__truediv__()``
operations (``URL / segment``)
* Fixed the human representation of URLs with square brackets
in usernames and passwords
* Updated type hints to include ``URL.missing_port()``,
``URL.__bytes__()`` and the ``encoding`` argument to
:py:meth:`~yarl.URL.joinpath`
* Integrated Cython 3 to enable building *yarl* under Python
3.12
* Declared modern ``setuptools.build_meta`` as the :pep:`517`
build backend in :file:`pyproject.toml` explicitly
* Converted most of the packaging setup into a declarative
:file:`setup.cfg`
* Declared Python 3.12 supported officially in the distribution
package metadata
* A regression test for no-host URLs was added per :issue:`821`
* and :rfc:`3986`
* MyST is now integrated in Sphinx
- drop 882-sq_bracket_in_URL_netloc.patch (upstream)
* Marked tests that fail on older Python patch releases
* Skip a test under Python 3.11.
- Update to version 1.8.2
- needs typing-extensions
* Enforce building C Accelerated modules when installing from source tarball,
use YARL_NO_EXTENSIONS environment variable for falling back to (slower)
OBS-URL: https://build.opensuse.org/request/show/1129244
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-yarl?expand=0&rev=26
* Stopped dropping trailing slashes in
:py:meth:`~yarl.URL.joinpath`
* Started accepting string subclasses in ``__truediv__()``
operations (``URL / segment``)
* Fixed the human representation of URLs with square brackets
in usernames and passwords
* Updated type hints to include ``URL.missing_port()``,
``URL.__bytes__()``
* and the ``encoding`` argument to
:py:meth:`~yarl.URL.joinpath`
* Integrated Cython 3 to enable building *yarl* under Python
3.12
* Declared modern ``setuptools.build_meta`` as the :pep:`517`
build backend in :file:`pyproject.toml` explicitly
* Converted most of the packaging setup into a declarative
:file:`setup.cfg`
* Declared Python 3.12 supported officially in the distribution
package metadata
* 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`)
* MyST is now integrated in Sphinx -- by :user:`webknjaz`.
* Marked tests that fail on older Python patch releases
* Skip a test under Python 3.11.
- Update to version 1.8.2
- needs typing-extensions
* Enforce building C Accelerated modules when installing from source tarball,
use YARL_NO_EXTENSIONS environment variable for falling back to (slower)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-yarl?expand=0&rev=55
- update to 1.6.3:
- No longer loose characters when decoding incorrect percent-sequences (like
``%e2%82%f8``). All non-decodable percent-sequences are now preserved.
- Provide generated ``.c`` files in TarBall distribution.
- ``human_repr()`` now always produces valid representation equivalent to the
original URL (if the original URL is valid).
- Fixed requoting a single percent followed by a percent-encoded character
in the Cython implementation.
- Fix ValueError when decoding ``%`` which is not followed by two hexadecimal
digits.
- Fix decoding ``%`` followed by a space and hexadecimal digit.
- Fix annotation of ``with_query()``/``update_query()`` methods for
``key=[val1, val2]`` case.
OBS-URL: https://build.opensuse.org/request/show/856968
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python-yarl?expand=0&rev=15
- No longer loose characters when decoding incorrect percent-sequences (like
``%e2%82%f8``). All non-decodable percent-sequences are now preserved.
- Provide generated ``.c`` files in TarBall distribution.
- ``human_repr()`` now always produces valid representation equivalent to the
original URL (if the original URL is valid).
- Fixed requoting a single percent followed by a percent-encoded character
in the Cython implementation.
- Fix ValueError when decoding ``%`` which is not followed by two hexadecimal
digits.
- Fix decoding ``%`` followed by a space and hexadecimal digit.
- Fix annotation of ``with_query()``/``update_query()`` methods for
``key=[val1, val2]`` case.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-yarl?expand=0&rev=31
- fix tests
* Convert host to lowercase on URL building. #386
* Allow using mod operator (%) for updating query string (an alias for update_query() method)
* Allow use of sequences such as list and tuple in the values of a mapping
such as dict to represent that a key has many values:
url = URL("http://example.com")
assert url.with_query({"a": [1, 2]}) == URL("http://example.com/?a=1&a=2")
* Support URL.build() with scheme and path (creates a relative URL)
* Cache slow IDNA encode/decode calls
* Add @final / Final type hints
* Support URL authority/raw_authority properties and authority argument
of URL.build() method
* Hide the library implementation details, make the exposed public list very clean
* Fix tests with newer Python (3.7.6, 3.8.1 and 3.9.0+)
* Fix a bug where query component, passed in a form of mapping or sequence,
is unquoted in unexpected way
* Hide Query and QueryVariable type aliases in __init__.pyi, now they
are prefixed with underscore.
* Keep ipv6 brackets after updating port/user/password.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-yarl?expand=0&rev=26