Skip to content

Bump multidict from 6.2.0 to 6.3.2#1492

Merged
github-actions[bot] merged 1 commit intomasterfrom
dependabot/pip/multidict-6.3.1
Apr 4, 2025
Merged

Bump multidict from 6.2.0 to 6.3.2#1492
github-actions[bot] merged 1 commit intomasterfrom
dependabot/pip/multidict-6.3.1

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Apr 2, 2025

Bumps multidict from 6.2.0 to 6.3.1.

Release notes

Sourced from multidict's releases.

6.3.1

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: #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: #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: #1115.


6.3.0

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: #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: #1097.

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

    Related issues and pull requests on GitHub: #1100.

Features

... (truncated)

Changelog

Sourced from multidict's changelog.

6.3.1

(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.


6.3.0

(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:

... (truncated)

Commits
  • e442d73 Release 6.3.1 (#1118)
  • 8b8e06b Fix creating CIMultiDict from MultiDict not making keys case-insentive (#1112)
  • 41cbc0d Prevent crash with a segfault on recursive repr calls (#1115)
  • a9d54d7 Fix pure Python version mutating existing MultiDict when creating along with ...
  • 43f3efd Update benchmarks to use Python 3.13 (#1110)
  • 93482a8 Release 6.3.0 (#1109)
  • 5d022e9 Properly support set operations for case insensitive multidict views (#1038)
  • 675c4ae Benchmarks for ItemsView (#1108)
  • b5d9bd1 Add benchmarks for iterating multidict (#1107)
  • 1ba64e7 Run benchmark against all multidict implementations (#1106)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

@dependabot dependabot bot added the dependencies Pull requests that update a dependency file label Apr 2, 2025
@github-actions github-actions bot enabled auto-merge (squash) April 2, 2025 11:07
@codspeed-hq
Copy link

codspeed-hq bot commented Apr 2, 2025

CodSpeed Performance Report

Merging #1492 will degrade performances by 11.73%

Comparing dependabot/pip/multidict-6.3.1 (8dc1ae7) with master (7129844)

Summary

❌ 1 (👁 1) regressions
✅ 98 untouched benchmarks

Benchmarks breakdown

Benchmark BASE HEAD Change
👁 test_update_query_string 667.2 µs 755.9 µs -11.73%

bdraco added a commit that referenced this pull request Apr 3, 2025
When looking at the performance regression in #1492,
I noticed that much of the time was spent in parse_qsl,
however we do not need all the complexity of parse_sql
since we use a very limited subset of the functionality.

We can write a faster version using the unquoter built-in
to yarl with very little code.
@bdraco
Copy link
Member

bdraco commented Apr 3, 2025

@dependabot recreate

Bumps [multidict](https://github.com/aio-libs/multidict) from 6.2.0 to 6.3.1.
- [Release notes](https://github.com/aio-libs/multidict/releases)
- [Changelog](https://github.com/aio-libs/multidict/blob/master/CHANGES.rst)
- [Commits](aio-libs/multidict@v6.2.0...v6.3.1)

---
updated-dependencies:
- dependency-name: multidict
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot force-pushed the dependabot/pip/multidict-6.3.1 branch from 941b3c3 to 8dc1ae7 Compare April 3, 2025 19:57
@bdraco bdraco changed the title Bump multidict from 6.2.0 to 6.3.1 Bump multidict from 6.2.0 to 6.3.2 Apr 3, 2025
@github-actions github-actions bot merged commit f73f47e into master Apr 4, 2025
48 of 50 checks passed
@github-actions github-actions bot deleted the dependabot/pip/multidict-6.3.1 branch April 4, 2025 08:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant