Skip to content

Commit

Permalink
⇪ 📦 Release v6.0.5
Browse files Browse the repository at this point in the history
  • Loading branch information
webknjaz committed Feb 1, 2024
1 parent ed825c8 commit a9b281b
Show file tree
Hide file tree
Showing 24 changed files with 186 additions and 74 deletions.
185 changes: 185 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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()
<multidict.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 <https://github.com/aio-libs/multidict/blob/master/CHANGES/README.rst>`_ 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 <python:and>`, :ref:`or
<python:or>`, :py:obj:`sub <python:object.__sub__>`, and
:py:obj:`xor <python:object.__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)
==================

Expand Down
5 changes: 0 additions & 5 deletions CHANGES/31e1170.packaging.rst

This file was deleted.

2 changes: 0 additions & 2 deletions CHANGES/7ba0e72.packaging.rst

This file was deleted.

4 changes: 0 additions & 4 deletions CHANGES/802.packaging.rst

This file was deleted.

2 changes: 0 additions & 2 deletions CHANGES/827.contrib.rst

This file was deleted.

8 changes: 0 additions & 8 deletions CHANGES/828.contrib.rst

This file was deleted.

1 change: 0 additions & 1 deletion CHANGES/837.contrib.rst

This file was deleted.

1 change: 0 additions & 1 deletion CHANGES/862.bugfix.1.rst

This file was deleted.

1 change: 0 additions & 1 deletion CHANGES/862.bugfix.rst

This file was deleted.

2 changes: 0 additions & 2 deletions CHANGES/864.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion CHANGES/868.bugfix.rst

This file was deleted.

2 changes: 0 additions & 2 deletions CHANGES/877.packaging.rst

This file was deleted.

1 change: 0 additions & 1 deletion CHANGES/898.bugfix.rst

This file was deleted.

10 changes: 0 additions & 10 deletions CHANGES/909.bugfix.rst

This file was deleted.

2 changes: 0 additions & 2 deletions CHANGES/911.doc.rst

This file was deleted.

12 changes: 0 additions & 12 deletions CHANGES/915.contrib.rst

This file was deleted.

2 changes: 0 additions & 2 deletions CHANGES/920.contrib.rst

This file was deleted.

1 change: 0 additions & 1 deletion CHANGES/926.bugfix.rst

This file was deleted.

2 changes: 0 additions & 2 deletions CHANGES/927.bugfix.rst

This file was deleted.

1 change: 0 additions & 1 deletion CHANGES/929.bugfix.rst

This file was deleted.

9 changes: 0 additions & 9 deletions CHANGES/936.contrib.rst

This file was deleted.

3 changes: 0 additions & 3 deletions CHANGES/937.contrib.rst

This file was deleted.

1 change: 0 additions & 1 deletion CHANGES/98.contrib.rst

This file was deleted.

2 changes: 1 addition & 1 deletion multidict/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
"getversion",
)

__version__ = "6.0.5.dev0"
__version__ = "6.0.5"


try:
Expand Down

0 comments on commit a9b281b

Please sign in to comment.