Skip to content

6.0.5

Latest
Compare
Choose a tag to compare
@github-actions github-actions released this 01 Feb 20:42
· 35 commits to master since this release
v6.0.5
a9b281b

Bug fixes

  • Upgraded the C-API macros that have been deprecated in Python 3.9 and later removed in 3.13 -- by @iemelyanov💰.

    Related issues and pull requests on GitHub: #862, #864, #868, #898.

  • Reverted to using the public argument parsing API PyArg_ParseTupleAndKeywords() under Python 3.12 -- by @charles-dyfis-net💰 and @webknjaz💰.

    The effect is that this change prevents build failures with clang 16.9.6 and gcc-14 reported in #926. It also fixes a segmentation fault crash caused by passing keyword arguments to MultiDict.getall() discovered by @jonaslb💰 and @hroncok💰 while examining the problem.

    Related issues and pull requests on GitHub: #862, #909, #926, #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.

Improved documentation

  • On the Contributing docs age, a link to the Towncrier philosophy has been fixed.

    Related issues and pull requests on GitHub: #911.

Packaging updates and notes for downstreams

  • Stopped marking all files as installable package data -- by @webknjaz💰.

    This change helps setuptools understand that C-headers are not to be installed under lib/python3.{x}/site-packages/.

    Related commits on GitHub: 31e1170.

  • Started publishing pure-python wheels to be installed as a fallback -- by @webknjaz💰.

    Related commits on GitHub: 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 pyproject.toml -- by @Jackenmen💰.

    Related issues and pull requests on GitHub: #802.

  • Declared Python 3.12 supported officially in the distribution package metadata -- by @hugovk💰.

    Related issues and pull requests on GitHub: #877.

Contributor-facing changes

  • The test framework has been refactored. In the previous state, the circular imports reported in #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 @webknjaz💰

    Related issues and pull requests on GitHub: #98, #837, #915.

  • Updated the test pins lockfile used in the cibuildwheel test stage -- by @hoodmane💰.

    Related issues and pull requests on GitHub: #827.

  • Added an explicit void for arguments in C-function signatures which addresses the following compiler warning:

    warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]

    -- by @hoodmane💰

    Related issues and pull requests on GitHub: #828.

  • An experimental Python 3.13 job now runs in the CI -- @webknjaz💰.

    Related issues and pull requests on GitHub: #920.

  • Added test coverage for the bitwise and, bitwise or, sub, and xor operators in the multidict/_multidict_base.py module. It also covers NotImplemented and "Iterable-but-not-Set" cases there.

    -- by @a5r0n💰

    Related issues and pull requests on GitHub: #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.


Release timing context:

xkcd-2347-dependency