* 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
- 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
- update to 1.4.2
* Workaround for missing str.isascii() in Python 3.6
* Distinguish an empty password in URL from a password not provided at all
* Fixed annotations for optional parameters of URL.build
* Use None as default value of user parameter of URL.build
* Enforce building C Accelerated modules when installing from source tarball,
use YARL_NO_EXTENSIONS environment variable for falling back to (slower)
Pure Python implementation
* Fix quoting of plus in path by pure python version
* Don't create a new URL if fragment is unchanged
* Included in error msg the path that produces starting slash forbidden error
* Skip slow IDNA encoding for ASCII-only strings
OBS-URL: https://build.opensuse.org/request/show/769623
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-yarl?expand=0&rev=24
* Fix annotations for query parameter
* An incoming query sequence can have int variables
* Add URL.explicit_port property
* Give a friendlier error when port cant be converted to int
* bool(URL()) now returns False
* Fix annotations for build
* Fix annotations for cached_property
* Accept str subclasses in URL constructor
* Forbid inheritance, replace __init__ with __new__
* Support PEP-561 (provide type hinting marker)
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-yarl?expand=0&rev=22