aio-libs/multidict (multidict)
### [`v6.0.5`](https://togithub.com/aio-libs/multidict/releases/tag/v6.0.5): 6.0.5
[Compare Source](https://togithub.com/aio-libs/multidict/compare/v6.0.4...v6.0.5)
## 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:*
[#862](https://togithub.com/aio-libs/multidict/issues/862), [#864](https://togithub.com/aio-libs/multidict/issues/864), [#868](https://togithub.com/aio-libs/multidict/issues/868), [#898](https://togithub.com/aio-libs/multidict/issues/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 [#926](https://togithub.com/aio-libs/multidict/issues/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:*
[#862](https://togithub.com/aio-libs/multidict/issues/862), [#909](https://togithub.com/aio-libs/multidict/issues/909), [#926](https://togithub.com/aio-libs/multidict/issues/926), [#929](https://togithub.com/aio-libs/multidict/issues/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:*
[#927](https://togithub.com/aio-libs/multidict/issues/927).
## Improved documentation
- On the `Contributing docs `\_ page,
a link to the `Towncrier philosophy` has been fixed.
*Related issues and pull requests on GitHub:*
[#911](https://togithub.com/aio-libs/multidict/issues/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:*
[#802](https://togithub.com/aio-libs/multidict/issues/802).
- Declared Python 3.12 supported officially in the
distribution package metadata -- by :user:`hugovk`.
*Related issues and pull requests on GitHub:*
[#877](https://togithub.com/aio-libs/multidict/issues/877).
## Contributor-facing changes
- The test framework has been refactored. In the previous state, the circular
imports reported in [#837](https://togithub.com/aio-libs/multidict/issues/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:*
[#98](https://togithub.com/aio-libs/multidict/issues/98), [#837](https://togithub.com/aio-libs/multidict/issues/837), [#915](https://togithub.com/aio-libs/multidict/issues/915).
- Updated the test pins lockfile used in the
`cibuildwheel` test stage -- by :user:`hoodmane`.
*Related issues and pull requests on GitHub:*
[#827](https://togithub.com/aio-libs/multidict/issues/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:*
[#828](https://togithub.com/aio-libs/multidict/issues/828).
- An experimental Python 3.13 job now runs in the CI
\-- :user:`webknjaz`.
*Related issues and pull requests on GitHub:*
[#920](https://togithub.com/aio-libs/multidict/issues/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:*
[#936](https://togithub.com/aio-libs/multidict/issues/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:*
[#937](https://togithub.com/aio-libs/multidict/issues/937).
***
Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
6.0.4
->6.0.5
Release Notes
aio-libs/multidict (multidict)
### [`v6.0.5`](https://togithub.com/aio-libs/multidict/releases/tag/v6.0.5): 6.0.5 [Compare Source](https://togithub.com/aio-libs/multidict/compare/v6.0.4...v6.0.5) ## 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:* [#862](https://togithub.com/aio-libs/multidict/issues/862), [#864](https://togithub.com/aio-libs/multidict/issues/864), [#868](https://togithub.com/aio-libs/multidict/issues/868), [#898](https://togithub.com/aio-libs/multidict/issues/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 [#926](https://togithub.com/aio-libs/multidict/issues/926). It also fixes a segmentation fault crash caused by passing keyword arguments to :py:meth:`MultiDict.getall()Configuration
π Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
π¦ Automerge: Enabled.
β» Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
π Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.