diff --git a/CHANGES.rst b/CHANGES.rst index 66d57471..b6255209 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -14,6 +14,191 @@ Changelog .. towncrier release notes start +6.0.5 (2024-02-01) +================== + +Bug fixes +--------- + +- Upgraded the C-API macros that have been deprecated in Python 3.9 + and later removed in 3.13 -- by :user:`iemelyanov`. + + + *Related issues and pull requests on GitHub:* + :issue:`862`, :issue:`864`, :issue:`868`, :issue:`898`. + + + +- Reverted to using the public argument parsing API + :c:func:`PyArg_ParseTupleAndKeywords` under Python 3.12 + -- by :user:`charles-dyfis-net` and :user:`webknjaz`. + + The effect is that this change prevents build failures with + clang 16.9.6 and gcc-14 reported in :issue:`926`. It also + fixes a segmentation fault crash caused by passing keyword + arguments to :py:meth:`MultiDict.getall() + ` discovered by :user:`jonaslb` + and :user:`hroncok` while examining the problem. + + + *Related issues and pull requests on GitHub:* + :issue:`862`, :issue:`909`, :issue:`926`, :issue:`929`. + + + +- Fixed a ``SystemError: null argument to internal routine`` error on + a ``MultiDict.items().isdisjoint()`` call when using C Extensions. + + + *Related issues and pull requests on GitHub:* + :issue:`927`. + + + + +Improved documentation +---------------------- + +- On the `Contributing docs `_ page, + a link to the ``Towncrier philosophy`` has been fixed. + + + *Related issues and pull requests on GitHub:* + :issue:`911`. + + + + +Packaging updates and notes for downstreams +------------------------------------------- + +- Stopped marking all files as installable package data + -- by :user:`webknjaz`. + + This change helps ``setuptools`` understand that C-headers are + not to be installed under :file:`lib/python3.{x}/site-packages/`. + + + + *Related commits on GitHub:* + :commit:`31e1170`. + + +- Started publishing pure-python wheels to be installed + as a fallback -- by :user:`webknjaz`. + + + + *Related commits on GitHub:* + :commit:`7ba0e72`. + + +- Switched from ``setuptools``' legacy backend (``setuptools.build_meta:__legacy__``) + to the modern one (``setuptools.build_meta``) by actually specifying the + the ``[build-system] build-backend`` option in :file:`pyproject.toml` + -- by :user:`Jackenmen`. + + + *Related issues and pull requests on GitHub:* + :issue:`802`. + + + +- Declared Python 3.12 supported officially in the + distribution package metadata -- by :user:`hugovk`. + + + *Related issues and pull requests on GitHub:* + :issue:`877`. + + + + +Contributor-facing changes +-------------------------- + +- The test framework has been refactored. In the previous state, the circular + imports reported in :issue:`837` caused the C-extension tests to be skipped. + + Now, there is a set of the ``pytest`` fixtures that is set up in a parametrized + manner allowing to have a consistent way of accessing mirrored ``multidict`` + implementations across all the tests. + + This change also implemented a pair of CLI flags (``--c-extensions`` / + ``--no-c-extensions``) that allow to explicitly request deselecting the tests + running against the C-extension. + + -- by :user:`webknjaz`. + + + *Related issues and pull requests on GitHub:* + :issue:`98`, :issue:`837`, :issue:`915`. + + + +- Updated the test pins lockfile used in the + ``cibuildwheel`` test stage -- by :user:`hoodmane`. + + + *Related issues and pull requests on GitHub:* + :issue:`827`. + + + +- Added an explicit ``void`` for arguments in C-function signatures + which addresses the following compiler warning: + + .. code-block:: console + + warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] + + -- by :user:`hoodmane` + + + *Related issues and pull requests on GitHub:* + :issue:`828`. + + + +- An experimental Python 3.13 job now runs in the CI + -- :user:`webknjaz`. + + + *Related issues and pull requests on GitHub:* + :issue:`920`. + + + +- Added test coverage for the :ref:`and `, :ref:`or + `, :py:obj:`sub `, and + :py:obj:`xor ` operators in the + :file:`multidict/_multidict_base.py` module. It also covers + :py:data:`NotImplemented` and + ":py:class:`~typing.Iterable`-but-not-:py:class:`~typing.Set`" + cases there. + + -- by :user:`a5r0n` + + + *Related issues and pull requests on GitHub:* + :issue:`936`. + + + +- The version of pytest is now capped below 8, when running MyPy + against Python 3.7. This pytest release dropped support for + said runtime. + + + *Related issues and pull requests on GitHub:* + :issue:`937`. + + + + +---- + + 6.0.4 (2022-12-24) ================== diff --git a/CHANGES/31e1170.packaging.rst b/CHANGES/31e1170.packaging.rst deleted file mode 100644 index 119bd4f0..00000000 --- a/CHANGES/31e1170.packaging.rst +++ /dev/null @@ -1,5 +0,0 @@ -Stopped marking all files as installable package data --- by :user:`webknjaz`. - -This change helps ``setuptools`` understand that C-headers are -not to be installed under :file:`lib/python3.{x}/site-packages/`. diff --git a/CHANGES/7ba0e72.packaging.rst b/CHANGES/7ba0e72.packaging.rst deleted file mode 100644 index c77c0f67..00000000 --- a/CHANGES/7ba0e72.packaging.rst +++ /dev/null @@ -1,2 +0,0 @@ -Started publishing pure-python wheels to be installed -as a fallback -- by :user:`webknjaz`. diff --git a/CHANGES/802.packaging.rst b/CHANGES/802.packaging.rst deleted file mode 100644 index b803d21c..00000000 --- a/CHANGES/802.packaging.rst +++ /dev/null @@ -1,4 +0,0 @@ -Switched from ``setuptools``' legacy backend (``setuptools.build_meta:__legacy__``) -to the modern one (``setuptools.build_meta``) by actually specifying the -the ``[build-system] build-backend`` option in :file:`pyproject.toml` --- by :user:`Jackenmen`. diff --git a/CHANGES/827.contrib.rst b/CHANGES/827.contrib.rst deleted file mode 100644 index d37ea117..00000000 --- a/CHANGES/827.contrib.rst +++ /dev/null @@ -1,2 +0,0 @@ -Updated the test pins lockfile used in the -``cibuildwheel`` test stage -- by :user:`hoodmane`. diff --git a/CHANGES/828.contrib.rst b/CHANGES/828.contrib.rst deleted file mode 100644 index 2632e285..00000000 --- a/CHANGES/828.contrib.rst +++ /dev/null @@ -1,8 +0,0 @@ -Added an explicit ``void`` for arguments in C-function signatures -which addresses the following compiler warning: - -.. code-block:: console - - warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes] - --- by :user:`hoodmane` diff --git a/CHANGES/837.contrib.rst b/CHANGES/837.contrib.rst deleted file mode 120000 index 845b046c..00000000 --- a/CHANGES/837.contrib.rst +++ /dev/null @@ -1 +0,0 @@ -915.contrib.rst \ No newline at end of file diff --git a/CHANGES/862.bugfix.1.rst b/CHANGES/862.bugfix.1.rst deleted file mode 120000 index 1dad3117..00000000 --- a/CHANGES/862.bugfix.1.rst +++ /dev/null @@ -1 +0,0 @@ -909.bugfix.rst \ No newline at end of file diff --git a/CHANGES/862.bugfix.rst b/CHANGES/862.bugfix.rst deleted file mode 120000 index b47fb3b9..00000000 --- a/CHANGES/862.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -864.bugfix.rst \ No newline at end of file diff --git a/CHANGES/864.bugfix.rst b/CHANGES/864.bugfix.rst deleted file mode 100644 index 86637b8f..00000000 --- a/CHANGES/864.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -Upgraded the C-API macros that have been deprecated in Python 3.9 -and later removed in 3.13 -- by :user:`iemelyanov`. diff --git a/CHANGES/868.bugfix.rst b/CHANGES/868.bugfix.rst deleted file mode 120000 index b47fb3b9..00000000 --- a/CHANGES/868.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -864.bugfix.rst \ No newline at end of file diff --git a/CHANGES/877.packaging.rst b/CHANGES/877.packaging.rst deleted file mode 100644 index 93b3bb31..00000000 --- a/CHANGES/877.packaging.rst +++ /dev/null @@ -1,2 +0,0 @@ -Declared Python 3.12 supported officially in the -distribution package metadata -- by :user:`hugovk`. diff --git a/CHANGES/898.bugfix.rst b/CHANGES/898.bugfix.rst deleted file mode 120000 index b47fb3b9..00000000 --- a/CHANGES/898.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -864.bugfix.rst \ No newline at end of file diff --git a/CHANGES/909.bugfix.rst b/CHANGES/909.bugfix.rst deleted file mode 100644 index 6cb8fc0c..00000000 --- a/CHANGES/909.bugfix.rst +++ /dev/null @@ -1,10 +0,0 @@ -Reverted to using the public argument parsing API -:c:func:`PyArg_ParseTupleAndKeywords` under Python 3.12 --- by :user:`charles-dyfis-net` and :user:`webknjaz`. - -The effect is that this change prevents build failures with -clang 16.9.6 and gcc-14 reported in :issue:`926`. It also -fixes a segmentation fault crash caused by passing keyword -arguments to :py:meth:`MultiDict.getall() -` discovered by :user:`jonaslb` -and :user:`hroncok` while examining the problem. diff --git a/CHANGES/911.doc.rst b/CHANGES/911.doc.rst deleted file mode 100644 index 14cab48c..00000000 --- a/CHANGES/911.doc.rst +++ /dev/null @@ -1,2 +0,0 @@ -On the `Contributing docs `_ page, -a link to the ``Towncrier philosophy`` has been fixed. diff --git a/CHANGES/915.contrib.rst b/CHANGES/915.contrib.rst deleted file mode 100644 index 2fbaf2ff..00000000 --- a/CHANGES/915.contrib.rst +++ /dev/null @@ -1,12 +0,0 @@ -The test framework has been refactored. In the previous state, the circular -imports reported in :issue:`837` caused the C-extension tests to be skipped. - -Now, there is a set of the ``pytest`` fixtures that is set up in a parametrized -manner allowing to have a consistent way of accessing mirrored ``multidict`` -implementations across all the tests. - -This change also implemented a pair of CLI flags (``--c-extensions`` / -``--no-c-extensions``) that allow to explicitly request deselecting the tests -running against the C-extension. - --- by :user:`webknjaz`. diff --git a/CHANGES/920.contrib.rst b/CHANGES/920.contrib.rst deleted file mode 100644 index e9928b69..00000000 --- a/CHANGES/920.contrib.rst +++ /dev/null @@ -1,2 +0,0 @@ -An experimental Python 3.13 job now runs in the CI --- :user:`webknjaz`. diff --git a/CHANGES/926.bugfix.rst b/CHANGES/926.bugfix.rst deleted file mode 120000 index 1dad3117..00000000 --- a/CHANGES/926.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -909.bugfix.rst \ No newline at end of file diff --git a/CHANGES/927.bugfix.rst b/CHANGES/927.bugfix.rst deleted file mode 100644 index 884a735d..00000000 --- a/CHANGES/927.bugfix.rst +++ /dev/null @@ -1,2 +0,0 @@ -Fixed a ``SystemError: null argument to internal routine`` error on -a ``MultiDict.items().isdisjoint()`` call when using C Extensions. diff --git a/CHANGES/929.bugfix.rst b/CHANGES/929.bugfix.rst deleted file mode 120000 index 1dad3117..00000000 --- a/CHANGES/929.bugfix.rst +++ /dev/null @@ -1 +0,0 @@ -909.bugfix.rst \ No newline at end of file diff --git a/CHANGES/936.contrib.rst b/CHANGES/936.contrib.rst deleted file mode 100644 index 832f09d1..00000000 --- a/CHANGES/936.contrib.rst +++ /dev/null @@ -1,9 +0,0 @@ -Added test coverage for the :ref:`and `, :ref:`or -`, :py:obj:`sub `, and -:py:obj:`xor ` operators in the -:file:`multidict/_multidict_base.py` module. It also covers -:py:data:`NotImplemented` and -":py:class:`~typing.Iterable`-but-not-:py:class:`~typing.Set`" -cases there. - --- by :user:`a5r0n` \ No newline at end of file diff --git a/CHANGES/937.contrib.rst b/CHANGES/937.contrib.rst deleted file mode 100644 index da8c5a29..00000000 --- a/CHANGES/937.contrib.rst +++ /dev/null @@ -1,3 +0,0 @@ -The version of pytest is now capped below 8, when running MyPy -against Python 3.7. This pytest release dropped support for -said runtime. diff --git a/CHANGES/98.contrib.rst b/CHANGES/98.contrib.rst deleted file mode 120000 index 845b046c..00000000 --- a/CHANGES/98.contrib.rst +++ /dev/null @@ -1 +0,0 @@ -915.contrib.rst \ No newline at end of file diff --git a/multidict/__init__.py b/multidict/__init__.py index b2089a18..23142eea 100644 --- a/multidict/__init__.py +++ b/multidict/__init__.py @@ -20,7 +20,7 @@ "getversion", ) -__version__ = "6.0.5.dev0" +__version__ = "6.0.5" try: