We’ve just uploaded mypy 1.10 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:
python3 -m pip install -U mypy
You can read the full documentation for this release on Read the Docs.
Support TypeIs (PEP 742)
Mypy now supports TypeIs (PEP 742), which allows
functions to narrow the type of a value, similar to isinstance(). Unlike TypeGuard,
TypeIs can narrow in both the if and else branches of an if statement:
Fixed regression (from :pr:8280) with adding Content-Disposition to the form-data
part after appending to writer -- by :user:Dreamsorcerer/:user:Olegt0rr.
Fixed "Unclosed client session" when initialization of
:py:class:~aiohttp.ClientSession fails -- by :user:NewGlad.
Related issues and pull requests on GitHub:
:issue:8253.
Fixed regression (from :pr:8280) with adding Content-Disposition to the form-data
part after appending to writer -- by :user:Dreamsorcerer/:user:Olegt0rr.
Related issues and pull requests on GitHub:
:issue:8332.
Added default Content-Disposition in multipart/form-data responses to avoid broken
form-data responses -- by :user:Dreamsorcerer.
Related issues and pull requests on GitHub:
:issue:8335.
3.9.4 (2024-04-11)
Bug fixes
The asynchronous internals now set the underlying causes
when assigning exceptions to the future objects
-- by :user:webknjaz.
Related issues and pull requests on GitHub:
:issue:8089.
Replaced the packaging is replaced from an old-fashioned :file:setup.py to an
in-tree :pep:517 build backend -- by :user:webknjaz.
Whenever the end-users or downstream packagers need to build frozenlist
from source (a Git checkout or an sdist), they may pass a config_settings
flag pure-python. If this flag is not set, a C-extension will be built
and included into the distribution.
Declared Python 3.12 and PyPy 3.8-3.10 supported officially
in the distribution package metadata.
Related issues and pull requests on GitHub:
:issue:553.
Replaced the packaging is replaced from an old-fashioned :file:setup.py to an
in-tree :pep:517 build backend -- by :user:webknjaz.
Whenever the end-users or downstream packagers need to build frozenlist
from source (a Git checkout or an sdist), they may pass a config_settings
flag pure-python. If this flag is not set, a C-extension will be built
and included into the distribution.
Upgraded the C-API macros that have been deprecated in Python 3.9 and later removed in 3.13 -- by @iemelyanov💰.
Related issues and pull requests on GitHub:#862, #864, #868, #898.
Reverted to using the public argument parsing API PyArg_ParseTupleAndKeywords() under Python 3.12 -- by @charles-dyfis-net💰 and @webknjaz💰.
The effect is that this change prevents build failures with clang 16.9.6 and gcc-14 reported in #926. It also fixes a segmentation fault crash caused by passing keyword arguments to MultiDict.getall() discovered by @jonaslb💰 and @hroncok💰 while examining the problem.
Related issues and pull requests on GitHub:#862, #909, #926, #929.
Fixed a SystemError: null argument to internal routine error on a MultiDict.items().isdisjoint() call when using C Extensions.
Upgraded the C-API macros that have been deprecated in Python 3.9
and later removed in 3.13 -- by :user:iemelyanov.
Related issues and pull requests on GitHub:
:issue:862, :issue:864, :issue:868, :issue:898.
Reverted to using the public argument parsing API
:c:func:PyArg_ParseTupleAndKeywords under Python 3.12
-- by :user:charles-dyfis-net and :user:webknjaz.
The effect is that this change prevents build failures with
clang 16.9.6 and gcc-14 reported in :issue:926. It also
fixes a segmentation fault crash caused by passing keyword
arguments to :py:meth:MultiDict.getall() <multidict.MultiDict.getall> discovered by :user:jonaslb
and :user:hroncok while examining the problem.
Related issues and pull requests on GitHub:
:issue:862, :issue:909, :issue:926, :issue:929.
Fixed a SystemError: null argument to internal routine error on
a MultiDict.items().isdisjoint() call when using C Extensions.
Related issues and pull requests on GitHub:
:issue:927.
Improved documentation
On the Contributing docs <https://github.com/aio-libs/multidict/blob/master/CHANGES/README.rst>_ page,
a link to the Towncrier philosophy has been fixed.
Bumps the all group with 15 updates:
24.4.0
24.4.2
1.9.0
1.10.0
3.9.1
3.9.5
1.4.0
1.4.1
3.6
3.7
6.0.4
6.0.5
2.0.0.20240321
2.0.0.20240423
8.23.0
8.24.0
4.2.0
4.2.1
1.0.0
2.0.2
2.7.0
2.7.1
2.18.1
2.18.2
0.34.0
0.35.0
1.2.1
1.3.0
20.25.3
20.26.0
Updates
black
from 24.4.0 to 24.4.2Release notes
Sourced from black's releases.
Changelog
Sourced from black's changelog.
Commits
3702ba2
Prepare release 24.4.2 (#4335)e4aaa8a
Fix incorrect f-string tokenization (#4332)ba88fc3
Simplify string tokenization regexes (#4331)5683242
New release templatee7fb048
Prepare release 24.4.1 (#4328)3f0f8f1
Support PEP 696 (#4327)2f88085
Github Action: Directly install from repo ifexport-subst
is skipped (#4313)12ce3db
Move changelog entry to right section (#4326)1354be2
Add support to style function definitions with newlines before function stubs...f4b644b
Prevent wrapping of multiline fstrings in parens (#4325)Updates
mypy
from 1.9.0 to 1.10.0Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
3faf0fc
Remove +dev for version for release 1.10a5998d2
Update CHANGELOG.md (#17159)62ea5b0
Various updates to changelog for 1.10 (#17158)2f0864c
Update CHANGELOG.md with draft for release 1.10 (#17150)e1443bb
fix: incorrect returned type of access descriptors on unions of types (#16604)5161ac2
Sync typeshed (#17124)e2fc1f2
Fix crash when expanding invalid Unpack in aCallable
alias (#17028)3ff6e47
Docs: docstrings in checker.py, ast_helpers.py (#16908)732d98e
Fix string formatting for string enums (#16555)8019010
Narrow individual items when matching a tuple to a sequence pattern (#16905)Updates
aiohttp
from 3.9.1 to 3.9.5Release notes
Sourced from aiohttp's releases.
... (truncated)
Changelog
Sourced from aiohttp's changelog.
... (truncated)
Commits
b844d42
Release v3.9.5 (#8340)0415a4c
Patchback/backports/3.9/5fd29467fb63efdfae1ace280cec36b1f8139567/pr 8290 (#8311)f21c6f2
[PR #8335/5a6949da backport][3.9] Add Content-Disposition automatically (#8336)7eecdff
[PR #8332/482e6cdf backport][3.9] Add set_content_disposition test (#8333)82fbe64
[PR #8324/4a8fd08b backport][3.9] Add missing changelogs (#8330)01df7ec
Bump version7917ae2
Merge 3.1b3397c7
Release v3.9.4 (#8201)a7e240a
[PR #8320/9ba9a4e5 backport][3.9] Fix Python parser to mark responses without...2833552
Escape filenames and paths in HTML when generating index pages (#8317) (#8319)Updates
frozenlist
from 1.4.0 to 1.4.1Release notes
Sourced from frozenlist's releases.
... (truncated)
Changelog
Sourced from frozenlist's changelog.
... (truncated)
Commits
457b28e
⇪📦 Bump to v1.4.14998859
📝 Mark "dev" as a known word3d740da
⇪📦 Bump to v1.4.1.dev0d92751c
🧪 Cache pre-commit.com virtualenvs @ CI7394415
🧪🐛 List explicit MyPy coverage.xml paths @ CIa26ba84
🧪 Update codecov action input to pluralfiles
e12ecf6
🧪 Upload MyPy coverage to Codecov59b9a74
🐛🧪 Fix the operator intest_lt
01720b2
🧪 Keep building macosx_x86_64 wheels for testsd9f5e0c
🧪💅 Add a reusable project name var to CI/CDUpdates
idna
from 3.6 to 3.7Release notes
Sourced from idna's releases.
Changelog
Sourced from idna's changelog.
Commits
1d365e1
Release v3.7c1b3154
Merge pull request #172 from kjd/optimize-contextj0394ec7
Merge branch 'master' into optimize-contextjcd58a23
Merge pull request #152 from elliotwutingfeng/dev5beb28b
More efficient resolution of joiner contexts1b12148
Update ossf/scorecard-action to v2.3.1d516b87
Update Github actions/checkout to v4c095c75
Merge branch 'master' into dev60a0a4c
Fix typo in GitHub Actions workflow key5918a0e
Merge branch 'master' into devUpdates
multidict
from 6.0.4 to 6.0.5Release notes
Sourced from multidict's releases.
... (truncated)
Changelog
Sourced from multidict's changelog.
... (truncated)
Commits
a9b281b
⇪ 📦 Release v6.0.5ed825c8
🧪 Download artifacts todist/
@ release job7b04a64
🧪 Normalize issue refs @ release action74840e8
🧪 Pass Codecov token to reusable linters job41c133e
🧪 Bump Codecov action to v4adb1976
📝 Fix return type @ Sphinx config99e435f
📝 Mention bylines in the changelog guidelines736169e
📝 Clarify need to only ref PR @ change note name887846f
📝 Highlight the RST term @ changelog guide8f57f8a
📝 Add a missing comma @ changelog guideUpdates
types-croniter
from 2.0.0.20240321 to 2.0.0.20240423Commits
Updates
ipython
from 8.23.0 to 8.24.0Commits
9d06a30
release 8.24.0fade2b5
Whats new 8.24 (#14419)afae901
Push caching to parent frame, and cache more frames. (#14418)9b13535
Whats new 8.24f68c737
Fix compatibility with pytest 8 (#14413)ffb66ee
Push caching to parent frame, and cache more frames.cdacafd
Fix compatibility with pytest 8f476dd7
DOCS: Clarify emacs details wrt simple_prompt (#14407)55928ae
DOCS: Clarify emacs details wrt simple_promptc3dcfaa
DOCS: update simple_prompt phrasing. (#14404)Updates
platformdirs
from 4.2.0 to 4.2.1Release notes
Sourced from platformdirs's releases.
Commits
9781f05
[pre-commit.ci] pre-commit autoupdate (#276)b44d57d
Allow working without ctypes (#275)89b6b2b
[pre-commit.ci] pre-commit autoupdate (#274)f211ab4
[pre-commit.ci] pre-commit autoupdate (#273)077e11e
[pre-commit.ci] pre-commit autoupdate (#272)c8870a1
[pre-commit.ci] pre-commit autoupdate (#271)7039c66
Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.14 (#270)16f93e2
[pre-commit.ci] pre-commit autoupdate (#266)f9b9d6d
chore: update dead Microsoft's known folders documentation link (#267)1aece7e
chore: various minor fixes (#263)Updates
plette
from 1.0.0 to 2.0.2Commits
8e22327
Remove 2 more left overs of DataView94967bc
Fix leftover DataView1a3b5a5
Bump version to 2.0.05ef7fe6
Merge pull request #57 from sarugaku/validation-using-pure-pythone3fa787
fix: handle tomlkit.items.Float and Integere03c20b
rebase: reapply changes from current branchc886af7
refactor: remove all unused DataView collectionsa766fe1
refactor: migrate lockfiles and pipfiles to DataModelda1c4b6
refactor: replace DataViewMapping with DataModelMapping2903248
cleanup: remove unused imports of DataViewUpdates
pydantic
from 2.7.0 to 2.7.1Release notes
Sourced from pydantic's releases.
Changelog
Sourced from pydantic's changelog.
Commits
2612947
2.7.1 release prep (#9307)2b8efa2
Move TODO regarding pickling to markdown (#9288)73d1049
adds test case for unexpected discriminated union behavior (#9236)c33b925
Change CI to usemacos-13
for Python 3.8 and 3.9 (#9305)82e4664
Fix model json schema with config types (#9287)a0f18e3
Fix bullets in Strict Mode docs (#9296)77b0e1c
Address case where model_construct on a class which defines model_post_init f...6322b24
Fixstrict
application tofunction-after
withuse_enum_values
(#9279)bb857bd
docs(performance): remove section on literal vs enum performance (#9262)3c15a8b
docs: makeTypeAdapter
example PEP-8 compliant (#9268)Updates
pydantic-core
from 2.18.1 to 2.18.2Release notes
Sourced from pydantic-core's releases.
Commits
1cefeae
version bump (#1277)a99729a
fix memory leak with iterable validation (#1271)f537a03
Handle error fromEnum
'smissing
function asValidationError
(#1274)3240277
fix interaction betweenextra != 'ignore'
andfrom_attributes=True
(#1275)91c3541
fix validation of ints with leading unary plus (#1272)4adf47f
support multiple zeros as an int (#1269)Updates
referencing
from 0.34.0 to 0.35.0Release notes
Sourced from referencing's releases.
Changelog
Sourced from referencing's changelog.
Commits
4b51260
Make Registry.contents raise NoSuchResource when needed.1782bd5
Update pre-commit hooks.cc3dc13
Run coverage with 3.123b39075
Merge pull request #144 from python-jsonschema/dependabot/submodules/suite-87...ac76038
Bump suite from71c85d0
to87851a6
0b03af7
Try convincing RTD to use uv.72a1d29
uv and minor workflow tweaksd031bce
Use uv for envs, particularly the requirements env.33a6ccf
Merge pull request #143 from python-jsonschema/pre-commit-ci-update-configd5d0376
[pre-commit.ci] pre-commit autoupdateUpdates
tinycss2
from 1.2.1 to 1.3.0Release notes
Sourced from tinycss2's releases.
Changelog
Sourced from tinycss2's changelog.
Commits
dab0f9a
Merge pull request #57 from Kozea/ruff589d7c0
Mark Python 3.12 as officially supported