Skip to content

chore: exclude multidict 7.2.0, which breaks Litestar headers - #13

Merged
lesnik512 merged 1 commit into
mainfrom
fix/exclude-multidict-7.2.0
Oct 24, 2026
Merged

lesnik512 merged 1 commit into
mainfrom
fix/exclude-multidict-7.2.0

Conversation

@lesnik512

Copy link
Copy Markdown
Member

multidict 7.2.0 made CIMultiDictProxy.__new__() require the proxied multidict. Litestar's Headers subclass takes the raw ASGI header list and converts it in __init__, so on 7.2.0 every Litestar request fails with a TypeError while reading headers. That is what broke the 9 tests in tests/test_litestar.py in the scheduled dependency check.

This adds multidict!=7.2.0 to [tool.uv] constraint-dependencies. The constraint applies to this repo's lock and CI only, and the published package metadata stays the same. Because it excludes one version, a fixed release will resolve without another change here.

I checked the versions locally. The Litestar tests pass with multidict 7.0.0 on litestar 2.24.0 and 2.25.0, and with 7.1.0 on 2.25.0. They fail with 7.2.0 on both litestar versions. With the constraint, just lint-ci and just test-ci pass (89 tests, 100% coverage). The floors job steps resolve multidict 7.1.0 and pass on litestar 2.19.0.

Remove the constraint once a multidict release fixes aio-libs/multidict#1824.

Closes #11

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.

Scheduled dependency check failed 7.2.0: CIMultiDictProxy subclasses that convert their argument in __init__ now raise TypeError

1 participant