Skip to content

Update dependency multidict to v6.6.3 #27

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Sep 10, 2024

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
multidict ==6.0.5 -> ==6.6.3 age adoption passing confidence

Release Notes

aio-libs/multidict (multidict)

v6.6.3

Compare Source

=====

(2025-06-30)

Bug fixes

  • Fixed inconsistencies generated by the C implementation of _md_shrink() which might later lead to assertion failures and crash -- by :user:Romain-Geissler-1A.

    Related issues and pull requests on GitHub:
    :issue:1229.


v6.6.2

Compare Source

=====

(2025-06-28)

Bug fixes

  • Fixed a memory corruption issue in the C implementation of _md_shrink() that could lead to segmentation faults and data loss when items were deleted from a :class:~multidict.MultiDict. The issue was an edge case in the pointer arithmetic during the compaction phase -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    :issue:1221, :issue:1222.

  • Fixed format string compilation errors in debug builds on 32-bit platforms by using portable %zd format specifiers for Py_ssize_t values instead of %ld -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    :issue:1225, :issue:1226.

Packaging updates and notes for downstreams

  • Re-enabled 32-bit Linux wheel builds that were disabled by default in cibuildwheel 3.0.0 -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    :issue:1225, :issue:1227.


v6.6.1

Compare Source

=====

(2025-06-28)

Bug fixes

  • If :meth:multidict.MultiDict.extend, :meth:multidict.MultiDict.merge, or :meth:multidict.MultiDict.update raises an exception, now the multidict internal state is correctly restored.
    Patch by :user:asvetlov.

    Related issues and pull requests on GitHub:
    :issue:1215.

Contributor-facing changes

  • Fixed setuptools deprecation warning about the license specification -- by :user:asvetlov.

    Related issues and pull requests on GitHub:
    :issue:1216.

  • Fix compiler warnings and convert them to errors -- by :user:asvetlov.

    Related issues and pull requests on GitHub:
    :issue:1217.


v6.6.0

Compare Source

=====

(2025-06-27)

Features

  • Added :meth:multidict.MultiDict.merge which copies all items from arguments if its key
    not exist in the dictionary -- by :user:asvetlov.

    Related issues and pull requests on GitHub:
    :issue:292.

  • Stopped reallocating memory for the internal htkeys_t structure when inserting new items if the
    multidict has deleted items and it could be collapsed in-place. Removal of
    malloc()/free() improves the performance slightly.

    The change affects C implementation only, pure Python code is not changed.

    Patch by :user:asvetlov.

    Related issues and pull requests on GitHub:
    :issue:1200.

  • C implementation of :class:multidict.MultiDict.getall now is slightly faster if it returns nothing -- by :user:asvetlov.

    Related issues and pull requests on GitHub:
    :issue:1212.

Improved documentation

  • Replaced docstring for :meth:multidict.MultiDict.update to don't use RST/markdown markup.

    Related issues and pull requests on GitHub:
    :issue:1203.

  • Improved documentation for :meth:multidict.MultiDict.extend and :meth:multidict.MultiDict.update -- by :user:asvetlov.

    Related issues and pull requests on GitHub:
    :issue:1205.

Contributor-facing changes

  • When building wheels, the source distribution is now passed directly
    to the cibuildwheel invocation -- by :user:webknjaz.

    Related issues and pull requests on GitHub:
    :issue:1199.

  • Set up PYTHONHASHSEED for benchmarks execution to make measured times stable -- by :user:asvetlov.

    Related issues and pull requests on GitHub:
    :issue:1202.


v6.5.1

Compare Source

=====

(2025-06-24)

Bug fixes

  • Fixed a bug in C implementation when multidict is resized and it has deleted slots.

    The bug was introduced by multidict 6.5.0 release.

    Patch by :user:asvetlov.

    Related issues and pull requests on GitHub:
    :issue:1195.

Contributor-facing changes

  • A pair of code formatters for Python and C have been configured in the pre-commit tool.

    Related issues and pull requests on GitHub:
    :issue:1123.

  • Shorted fixture parametrization ids.

    For example, test_keys_view_xor[case-insensitive-pure-python-module] becomes test_keys_view_xor[ci-py] -- by :user:asvetlov.

    Related issues and pull requests on GitHub:
    :issue:1192.

  • The :file:reusable-cibuildwheel.yml workflow has been refactored to
    be more generic and :file:ci-cd.yml now holds all the configuration
    toggles -- by :user:webknjaz.

    Related issues and pull requests on GitHub:
    :issue:1193.


v6.5.0

Compare Source

=====

(2025-06-17)

.. note::

The release was yanked because of :issue:1195, multidict 6.5.1 should be used
instead.

Features

  • Replace internal implementation from an array of items to hash table.
    algorithmic complexity for lookups is switched from O(N) to O(1).

    The hash table is very similar to :class:dict from CPython but it allows keys duplication.

    The benchmark shows 25-50% boost for single lookups, x2-x3 for bulk updates, and x20 for
    some multidict view operations. The gain is not for free:
    :class:~multidict.MultiDict.add and :class:~multidict.MultiDict.extend are 25-50%
    slower now. We consider it as acceptable because the lookup is much more common
    operation that addition for the library domain.

    Related issues and pull requests on GitHub:
    :issue:1128.

Contributor-facing changes

  • Builds have been added for arm64 Windows
    wheels and the reusable-build-wheel.yml
    template has been modified to allow for
    an os value (windows-11-arm) which
    does not end with the -latest postfix.

    Related issues and pull requests on GitHub:
    :issue:1167.


v6.4.4

Compare Source

=====

(2025-05-19)

Bug fixes

  • Fixed a segmentation fault when calling :py:meth:multidict.MultiDict.setdefault with a single argument -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    :issue:1160.

  • Fixed a segmentation fault when attempting to directly instantiate view objects
    (multidict._ItemsView, multidict._KeysView, multidict._ValuesView) -- by :user:bdraco.

    View objects now raise a proper :exc:TypeError with the message "cannot create '...' instances directly"
    when direct instantiation is attempted.

    View objects should only be created through the proper methods: :py:meth:multidict.MultiDict.items,
    :py:meth:multidict.MultiDict.keys, and :py:meth:multidict.MultiDict.values.

    Related issues and pull requests on GitHub:
    :issue:1164.

Miscellaneous internal changes

  • :class:multidict.MultiDictProxy was refactored to rely only on
    :class:multidict.MultiDict public interface and don't touch any implementation
    details.

    Related issues and pull requests on GitHub:
    :issue:1150.

  • Multidict views were refactored to rely only on
    :class:multidict.MultiDict API and don't touch any implementation
    details.

    Related issues and pull requests on GitHub:
    :issue:1152.

  • Dropped internal _Impl class from pure Python implementation, both pure Python and C
    Extension follows the same design internally now.

    Related issues and pull requests on GitHub:
    :issue:1153.


v6.4.3

Compare Source

=====

(2025-04-10)

Bug fixes

  • Fixed building the library in debug mode.

    Related issues and pull requests on GitHub:
    :issue:1144.

  • Fixed custom PyType_GetModuleByDef() when non-heap type object was passed.

    Related issues and pull requests on GitHub:
    :issue:1147.

Packaging updates and notes for downstreams

  • Added the ability to build in debug mode by setting :envvar:MULTIDICT_DEBUG_BUILD in the environment -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    :issue:1145.


v6.4.2

Compare Source

v6.4.1

Compare Source

=====

(2025-04-09)

No significant changes.


v6.4.0

Compare Source

=====

(2025-04-09)

Bug fixes

  • Fixed a memory leak creating new :class:~multidict.istr objects -- by :user:bdraco.

    The leak was introduced in 6.3.0

    Related issues and pull requests on GitHub:
    :issue:1133.

  • Fixed reference counting when calling :py:meth:multidict.MultiDict.update -- by :user:bdraco.

    The leak was introduced in 4.4.0

    Related issues and pull requests on GitHub:
    :issue:1135.

Features

  • Switched C Extension to use heap types and the module state.

    Related issues and pull requests on GitHub:
    :issue:1125.

  • Started building armv7l wheels -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    :issue:1127.


v6.3.2

Compare Source

v6.3.1

Compare Source

=====

(2025-04-01)

Bug fixes

  • Fixed keys not becoming case-insensitive when :class:multidict.CIMultiDict is created by passing in a :class:multidict.MultiDict -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    :issue:1112.

  • Fixed the pure Python version mutating the original :class:multidict.MultiDict when creating a new :class:multidict.CIMultiDict from an existing one when keyword arguments are also passed -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    :issue:1113.

  • Prevented crashing with a segfault when :func:repr is called for recursive multidicts and their proxies and views.

    Related issues and pull requests on GitHub:
    :issue:1115.


v6.3.0

Compare Source

v6.2.0

Compare Source

v6.1.0

Compare Source

==================

Bug fixes

  • Covered the unreachable code path in
    multidict._multidict_base._abc_itemsview_register()
    with typing -- by :user:skinnyBat.

    Related issues and pull requests on GitHub:
    :issue:928.

Features

  • Added support for Python 3.13 -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    :issue:1002.

Removals and backward incompatible breaking changes

  • Removed Python 3.7 support -- by :user:bdraco.

    Related issues and pull requests on GitHub:
    :issue:997.

Contributor-facing changes

  • Added tests to have full code coverage of the
    multidict._multidict_base._viewbaseset_richcmp() function
    -- by :user:skinnyBat.

    Related issues and pull requests on GitHub:
    :issue:928.

  • The deprecated <https://hynek.me/til/set-output-deprecation-github-actions/>_
    ::set-output workflow command has been replaced
    by the $GITHUB_OUTPUT environment variable
    in the GitHub Actions CI/CD workflow definition.

    Related issues and pull requests on GitHub:
    :issue:940.

  • codecov-action <https://github.com/codecov/codecov-action>_
    has been temporarily downgraded to v3
    in the GitHub Actions CI/CD workflow definitions
    in order to fix uploading coverage to Codecov_.
    See this issue <https://github.com/codecov/codecov-action/issues/1252>_
    for more details.

    .. _Codecov: https://codecov.io/gh/aio-libs/multidict?flags\[]=pytest

    Related issues and pull requests on GitHub:
    :issue:941.

  • In the GitHub Actions CI/CD workflow definition,
    the Get pip cache dir step has been fixed for
    Windows runners by adding shell: bash.
    See actions/runner#2224 <https://github.com/actions/runner/issues/2224>_
    for more details.

    Related issues and pull requests on GitHub:
    :issue:942.

  • Interpolation of the pip cache keys has been
    fixed by adding missing $ syntax
    in the GitHub Actions CI/CD workflow definition.

    Related issues and pull requests on GitHub:
    :issue:943.



Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/multidict-6.x branch from 7de6b10 to 9e55b37 Compare March 17, 2025 18:54
@renovate renovate bot changed the title Update dependency multidict to v6.1.0 Update dependency multidict to v6.2.0 Mar 17, 2025
@renovate renovate bot changed the title Update dependency multidict to v6.2.0 Update dependency multidict to v6.3.0 Mar 31, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from 9e55b37 to bb13ba4 Compare March 31, 2025 22:06
@renovate renovate bot changed the title Update dependency multidict to v6.3.0 Update dependency multidict to v6.3.1 Apr 2, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from bb13ba4 to 60b1705 Compare April 2, 2025 01:18
@renovate renovate bot changed the title Update dependency multidict to v6.3.1 Update dependency multidict to v6.2.0 Apr 2, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from 60b1705 to 7455c9e Compare April 2, 2025 18:43
@renovate renovate bot changed the title Update dependency multidict to v6.2.0 Update dependency multidict to v6.3.2 Apr 3, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from 7455c9e to 1b3d030 Compare April 3, 2025 21:52
@renovate renovate bot changed the title Update dependency multidict to v6.3.2 Update dependency multidict to v6.2.0 Apr 8, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch 2 times, most recently from c3e7c7a to aff1110 Compare April 9, 2025 19:32
@renovate renovate bot changed the title Update dependency multidict to v6.2.0 Update dependency multidict to v6.4.0 Apr 9, 2025
@renovate renovate bot changed the title Update dependency multidict to v6.4.0 Update dependency multidict to v6.4.2 Apr 9, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch 2 times, most recently from 1319fa5 to 135798a Compare April 10, 2025 22:36
@renovate renovate bot changed the title Update dependency multidict to v6.4.2 Update dependency multidict to v6.4.3 Apr 10, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from 135798a to f363d1e Compare May 19, 2025 20:50
@renovate renovate bot changed the title Update dependency multidict to v6.4.3 Update dependency multidict to v6.4.4 May 19, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from f363d1e to aba97bc Compare June 17, 2025 19:25
@renovate renovate bot changed the title Update dependency multidict to v6.4.4 Update dependency multidict to v6.5.0 Jun 17, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from aba97bc to 5d91b55 Compare June 24, 2025 22:45
@renovate renovate bot changed the title Update dependency multidict to v6.5.0 Update dependency multidict to v6.5.1 Jun 24, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from 5d91b55 to c3ed436 Compare June 27, 2025 10:34
@renovate renovate bot changed the title Update dependency multidict to v6.5.1 Update dependency multidict to v6.6.0 Jun 27, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from c3ed436 to 0aabb9d Compare June 28, 2025 13:05
@renovate renovate bot changed the title Update dependency multidict to v6.6.0 Update dependency multidict to v6.5.1 Jun 28, 2025
@renovate renovate bot changed the title Update dependency multidict to v6.5.1 Update dependency multidict to v6.6.2 Jun 28, 2025
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from 0aabb9d to 0eec5d9 Compare June 28, 2025 16:29
@renovate renovate bot force-pushed the renovate/multidict-6.x branch from 0eec5d9 to 5d6ae40 Compare June 30, 2025 16:15
@renovate renovate bot changed the title Update dependency multidict to v6.6.2 Update dependency multidict to v6.6.3 Jun 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants