-
Notifications
You must be signed in to change notification settings - Fork 0
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
renovate
wants to merge
1
commit into
main
Choose a base branch
from
renovate/multidict-6.x
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7de6b10
to
9e55b37
Compare
9e55b37
to
bb13ba4
Compare
bb13ba4
to
60b1705
Compare
60b1705
to
7455c9e
Compare
7455c9e
to
1b3d030
Compare
c3e7c7a
to
aff1110
Compare
1319fa5
to
135798a
Compare
135798a
to
f363d1e
Compare
f363d1e
to
aba97bc
Compare
aba97bc
to
5d91b55
Compare
5d91b55
to
c3ed436
Compare
c3ed436
to
0aabb9d
Compare
0aabb9d
to
0eec5d9
Compare
0eec5d9
to
5d6ae40
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
None yet
0 participants
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==6.0.5
->==6.6.3
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 forPy_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 keynot 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 themultidict 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]
becomestest_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 tobe more generic and :file:
ci-cd.yml
now holds all the configurationtoggles -- 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 usedinstead.
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
) whichdoes 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 implementationdetails.
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 implementationdetails.
Related issues and pull requests on GitHub:
:issue:
1152
.Dropped internal
_Impl
class from pure Python implementation, both pure Python and CExtension 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 replacedby the
$GITHUB_OUTPUT
environment variablein 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 forWindows 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 beenfixed by adding missing
$
syntaxin 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.
This PR was generated by Mend Renovate. View the repository job log.