diff --git a/CHANGES.rst b/CHANGES.rst index 028694482..e7a4197ae 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -10,6 +10,70 @@ .. towncrier release notes start +1.9.3 (2023-11-20) +================== + +Bug fixes +--------- + +- Stopped dropping trailing slashes in :py:meth:`~yarl.URL.joinpath` -- by :user:`mjpieters`. (: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`) +- Replaced 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= + + 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= + + 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`) +- 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`) + + 1.9.2 (2023-04-25) ================== diff --git a/CHANGES/821.contrib.rst b/CHANGES/821.contrib.rst deleted file mode 120000 index 90717ca13..000000000 --- a/CHANGES/821.contrib.rst +++ /dev/null @@ -1 +0,0 @@ -822.contrib.rst \ No newline at end of file diff --git a/CHANGES/822.contrib.rst b/CHANGES/822.contrib.rst deleted file mode 100644 index dffb0ef23..000000000 --- a/CHANGES/822.contrib.rst +++ /dev/null @@ -1,2 +0,0 @@ -A regression test for no-host URLs was added per :issue:`821` -and :rfc:`3986` -- by :user:`kenballus`. diff --git a/CHANGES/829.packaging.rst b/CHANGES/829.packaging.rst deleted file mode 100644 index 17c7a975e..000000000 --- a/CHANGES/829.packaging.rst +++ /dev/null @@ -1 +0,0 @@ -Integrated Cython 3 to enable building *yarl* under Python 3.12 -- by :user:`mjpieters`. diff --git a/CHANGES/862.bugfix.rst b/CHANGES/862.bugfix.rst deleted file mode 100644 index aa7b9d870..000000000 --- a/CHANGES/862.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Stopped dropping trailing slashes in :py:meth:`~yarl.URL.joinpath` -- by :user:`mjpieters`. diff --git a/CHANGES/866.bugfix.rst b/CHANGES/866.bugfix.rst deleted file mode 120000 index 96747281f..000000000 --- a/CHANGES/866.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -862.bugfix.rst \ No newline at end of file diff --git a/CHANGES/871.bugfix.rst b/CHANGES/871.bugfix.rst deleted file mode 100644 index 4252a5d07..000000000 --- a/CHANGES/871.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Started accepting string subclasses in ``__truediv__()`` operations (``URL / segment``) -- by :user:`mjpieters`. diff --git a/CHANGES/876.bugfix.rst b/CHANGES/876.bugfix.rst deleted file mode 100644 index 98421b33f..000000000 --- a/CHANGES/876.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -Fixed the human representation of URLs with square brackets in usernames and passwords -- by :user:`mjpieters`. diff --git a/CHANGES/881.contrib.rst b/CHANGES/881.contrib.rst deleted file mode 100644 index 1760fd3f7..000000000 --- a/CHANGES/881.contrib.rst +++ /dev/null @@ -1 +0,0 @@ -Started testing *yarl* against Python 3.12 in CI -- by :user:`mjpieters`. diff --git a/CHANGES/881.packaging.rst b/CHANGES/881.packaging.rst deleted file mode 120000 index 27d5c22ab..000000000 --- a/CHANGES/881.packaging.rst +++ /dev/null @@ -1 +0,0 @@ -829.packaging.rst \ No newline at end of file diff --git a/CHANGES/882.bugfix.rst b/CHANGES/882.bugfix.rst deleted file mode 120000 index fa5fe2862..000000000 --- a/CHANGES/882.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -876.bugfix.rst \ No newline at end of file diff --git a/CHANGES/884.bugfix.rst b/CHANGES/884.bugfix.rst deleted file mode 120000 index 1f20a7053..000000000 --- a/CHANGES/884.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -871.bugfix.rst \ No newline at end of file diff --git a/CHANGES/886.packaging.rst b/CHANGES/886.packaging.rst deleted file mode 100644 index 65f635231..000000000 --- a/CHANGES/886.packaging.rst +++ /dev/null @@ -1,2 +0,0 @@ -Declared modern ``setuptools.build_meta`` as the :pep:`517` build -backend in :file:`pyproject.toml` explicitly -- by :user:`webknjaz`. diff --git a/CHANGES/890.packaging.rst b/CHANGES/890.packaging.rst deleted file mode 100644 index 4f8e483c3..000000000 --- a/CHANGES/890.packaging.rst +++ /dev/null @@ -1,2 +0,0 @@ -Converted most of the packaging setup into a declarative :file:`setup.cfg` -config -- by :user:`webknjaz`. diff --git a/CHANGES/891.bugfix.rst b/CHANGES/891.bugfix.rst deleted file mode 100644 index 0488df954..000000000 --- a/CHANGES/891.bugfix.rst +++ /dev/null @@ -1,3 +0,0 @@ -Updated type hints to include ``URL.missing_port()``, ``URL.__bytes__()`` -and the ``encoding`` argument to :py:meth:`~yarl.URL.joinpath` --- by :user:`mjpieters`. diff --git a/CHANGES/893.packaging.rst b/CHANGES/893.packaging.rst deleted file mode 100644 index 48a3cafa8..000000000 --- a/CHANGES/893.packaging.rst +++ /dev/null @@ -1,24 +0,0 @@ -Replaced 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= - -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= - -Adding ``-w | --wheel`` can force ``pypa/build`` produce a wheel from source -directly, as opposed to building an ``sdist`` and then building from it. diff --git a/CHANGES/942.contrib.rst b/CHANGES/942.contrib.rst deleted file mode 100644 index 34f426ccd..000000000 --- a/CHANGES/942.contrib.rst +++ /dev/null @@ -1,2 +0,0 @@ -All Python 3.12 jobs are now marked as required to pass in CI --- by :user:`edgarrmondragon`. diff --git a/CHANGES/942.packaging.rst b/CHANGES/942.packaging.rst deleted file mode 100644 index e727d5cd2..000000000 --- a/CHANGES/942.packaging.rst +++ /dev/null @@ -1,2 +0,0 @@ -Declared Python 3.12 supported officially in the distribution package metadata --- by :user:`edgarrmondragon`. diff --git a/CHANGES/953.contrib.rst b/CHANGES/953.contrib.rst deleted file mode 100644 index 3ddc886be..000000000 --- a/CHANGES/953.contrib.rst +++ /dev/null @@ -1,4 +0,0 @@ -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. diff --git a/yarl/__init__.py b/yarl/__init__.py index b92ac79d9..f43aecbc9 100644 --- a/yarl/__init__.py +++ b/yarl/__init__.py @@ -1,5 +1,5 @@ from ._url import URL, cache_clear, cache_configure, cache_info -__version__ = "1.9.2" +__version__ = "1.9.3" __all__ = ("URL", "cache_clear", "cache_configure", "cache_info")