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:
==3.11.14
->==3.11.16
==6.1.0
->==6.3.2
==4.3.6
->==4.3.7
==0.3.0
->==0.3.1
==4.12.2
->==4.13.1
==1.18.3
->==1.19.0
Release Notes
aio-libs/aiohttp (aiohttp)
v3.11.16
Compare Source
====================
Bug fixes
Replaced deprecated
asyncio.iscoroutinefunction
with its counterpart frominspect
-- by :user:
layday
.Related issues and pull requests on GitHub:
:issue:
10634
.Fixed :class:
multidict.CIMultiDict
being mutated when passed to :class:aiohttp.web.Response
-- by :user:bdraco
.Related issues and pull requests on GitHub:
:issue:
10672
.v3.11.15
Compare Source
====================
Bug fixes
Reverted explicitly closing sockets if an exception is raised during
create_connection
-- by :user:bdraco
.This change originally appeared in aiohttp 3.11.13
Related issues and pull requests on GitHub:
:issue:
10464
, :issue:10617
, :issue:10656
.Miscellaneous internal changes
Improved performance of WebSocket buffer handling -- by :user:
bdraco
.Related issues and pull requests on GitHub:
:issue:
10601
.Improved performance of serializing headers -- by :user:
bdraco
.Related issues and pull requests on GitHub:
:issue:
10625
.aio-libs/multidict (multidict)
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
andItemsView
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 thepassed-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 withregular :py:class:
dict
\ ionaries is now about 60% fasteron 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 removethe 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
.tox-dev/platformdirs (platformdirs)
v4.3.7
Compare Source
What's Changed
Full Changelog: tox-dev/platformdirs@4.3.6...4.3.7
aio-libs/propcache (propcache)
v0.3.1
Compare Source
=====
(2025-03-25)
Bug fixes
Improved typing annotations, fixing some type errors under correct usage
and improving typing robustness generally -- by :user:
Dreamsorcerer
.Related issues and pull requests on GitHub:
:issue:
103
.python/typing_extensions (typing_extensions)
v4.13.1
Compare Source
Bugfixes:
TypeError
when usingConcatenate
.Patch by Daraan.
TypeError
when usingevaluate_forward_ref
on Python 3.10.1-2 and 3.9.8-10.Patch by Daraan.
v4.13.0
Compare Source
No user-facing changes since 4.13.0rc1.
aio-libs/yarl (yarl)
v1.19.0
Compare Source
======
(2025-04-05)
Bug fixes
Fixed entire name being re-encoded when using :py:meth:
yarl.URL.with_suffix
-- by :user:NTFSvolume
.Related issues and pull requests on GitHub:
:issue:
1468
.Features
Started building armv7l wheels for manylinux -- by :user:
bdraco
.Related issues and pull requests on GitHub:
:issue:
1495
.Contributor-facing changes
GitHub Actions CI/CD is now configured to manage caching pip-ecosystem
dependencies using
re-actors/cache-python-deps
_ -- an action by:user:
webknjaz
that takes into account ABI stability and the exactversion of Python runtime.
.. _
re-actors/cache-python-deps
:https://github.com/marketplace/actions/cache-python-deps
Related issues and pull requests on GitHub:
:issue:
1471
.Increased minimum
propcache
_ version to 0.2.1 to fix failing tests -- by :user:bdraco
... _
propcache
:https://github.com/aio-libs/propcache
Related issues and pull requests on GitHub:
:issue:
1479
.Added all hidden folders to pytest's
norecursedirs
to prevent itfrom trying to collect tests there -- by :user:
lysnikolaou
.Related issues and pull requests on GitHub:
:issue:
1480
.Miscellaneous internal changes
Improved accuracy of type annotations -- by :user:
Dreamsorcerer
.Related issues and pull requests on GitHub:
:issue:
1484
.Improved performance of parsing query strings -- by :user:
bdraco
.Related issues and pull requests on GitHub:
:issue:
1493
, :issue:1497
.Improved performance of the C unquoter -- by :user:
bdraco
.Related issues and pull requests on GitHub:
:issue:
1496
, :issue:1498
.Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR was generated by Mend Renovate. View the repository job log.