Skip to content

Update dependency multidict to v6.4.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.4.3 age adoption passing confidence

Release Notes

aio-libs/multidict (multidict)

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

=====

(2025-04-09)

Bug fixes

  • Fixed a segmentation fault when creating subclassed :py:class:~multidict.MultiDict objects on Python < 3.11 -- by :user:bdraco.

    The problem first appeared in 6.4.0

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


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

=====

(2025-04-03)

Bug fixes

  • Resolved a memory leak by ensuring proper reference count decrementation -- by :user:asvetlov and :user:bdraco.

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


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

=====

(2025-03-31)

Bug fixes

  • Set operations for KeysView and ItemsView of case-insensitive multidicts and their proxies are processed in case-insensitive manner.

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

  • Rewrote :class:multidict.CIMultiDict and it proxy to always return
    :class:multidict.istr keys. istr is derived from :class:str,
    thus the change is backward compatible.

    The performance boost is about 15% for some operations for C Extension,
    pure Python implementation have got a visible (15% - 230%) speedup as well.

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

  • Fixed a crash when extending a multidict from multidict proxy if C Extensions were used.

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

Features

  • Implemented a custom parser for METH_FASTCALL | METH_KEYWORDS protocol
    -- by :user:asvetlov.

    The patch re-enables fast call protocol in the :py:mod:multidict C Extension.

    Speedup is about 25%-30% for the library benchmarks for Python 3.12+.

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

  • The C-extension no longer pre-allocates a Python exception object in
    lookup-related methods of :py:class:~multidict.MultiDict when the
    passed-in key is not found but default value is provided.

    Namely, this affects :py:meth:MultiDict.getone() <multidict.MultiDict.getone>, :py:meth:MultiDict.getall() <multidict.MultiDict.getall>, :py:meth:MultiDict.get() <multidict.MultiDict.get>, :py:meth:MultiDict.pop() <multidict.MultiDict.pop>, :py:meth:MultiDict.popone() <multidict.MultiDict.popone>, and :py:meth:MultiDict.popall() <multidict.MultiDict.popall>.

    Additionally, the :py:class:~multidict.MultiDict comparison with
    regular :py:class:dict\ ionaries is now about 60% faster
    on Python 3.13+ in the fallback-to-default case.

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

  • Implemented __repr__() for C Extension classes in C.

    The speedup is about 2.5 times.

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

  • Made C version of :class:multidict.istr pickleable.

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

  • Optimized multidict creation and extending / updating if C Extensions are used.

    The speedup is between 25% and 70% depending on the usage scenario.

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

  • :meth:multidict.MultiDict.popitem is changed to remove
    the latest entry instead of the first.

    It gives O(1) amortized complexity.

    The standard :meth:dict.popitem removes the last entry also.

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

Contributor-facing changes

  • Started running benchmarks for the pure Python implementation in addition to the C implementation -- by :user:bdraco.

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

  • The the project-wide Codecov_ metric is no longer reported
    via GitHub Checks API. The combined value is not very useful
    because one of the sources (MyPy) cannot reach 100% with the
    current state of the ecosystem. We may want to reconsider in
    the future. Instead, we now have two separate
    “runtime coverage” metrics for library code and tests.
    They are to be kept at 100% at all times.
    And the “type coverage” metric will remain advisory, at a
    lower threshold.

    The default patch metric check is renamed to “runtime”
    to better reflect its semantics. This one will also require
    100% coverage.
    Another “typing” patch coverage metric is now reported
    alongside it. It's considered advisory, just like its
    project counterpart.

    When looking at Codecov_, one will likely want to look at
    MyPy and pytest flags separately. It is usually best to
    avoid looking at the PR pages that sometimes display
    combined coverage incorrectly.

    The change additionally disables the deprecated GitHub
    Annotations integration in Codecov_.

    Finally, the badge coloring range now starts at 100%.

    .. image:: https://codecov.io/gh/aio-libs/multidict/branch/master/graph/badge.svg?flag=pytest
    :target: https://codecov.io/gh/aio-libs/multidict?flags\[]=pytest
    :alt: Coverage metrics

    -- by :user:webknjaz

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

Miscellaneous internal changes

  • Synchronized :file:pythoncapi_compat.h with the latest available version.

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

  • Moved registering ABCs for C Extension classes from C to Python.

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

  • Refactored the internal pair_list implementation.

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

  • Implemented views comparison and disjoints in C instead of Python helpers.

    The performance boost is about 40%.

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


v6.2.0

Compare Source

======

(2025-03-17)

Bug fixes

  • Fixed in checks throwing an exception instead of returning :data:False when testing non-strings.

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

  • Fixed a leak when the last accessed module in PyInit__multidict() init is not released.

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

Features

  • Implemented support for the free-threaded build of CPython 3.13 -- by :user:lysnikolaou.

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

Packaging updates and notes for downstreams

  • Started publishing wheels made for the free-threaded build of CPython 3.13 -- by :user:lysnikolaou.

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

Miscellaneous internal changes

  • Used stricter typing across the code base, resulting in improved typing accuracy across multidict classes.
    Funded by an NLnet grant.

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


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 from aff1110 to 1319fa5 Compare April 9, 2025 23:50
@renovate renovate bot force-pushed the renovate/multidict-6.x branch 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
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