Sourced from mypy's changelog.
Mypy Release Notes
Next Release
Drop Support for Python 3.9
Mypy no longer supports running with Python 3.9, which has reached end-of-life. When running mypy with Python 3.10+, it is still possible to type check code that needs to support Python 3.9 with the
--python-version 3.9argument. Support for this will be dropped in the first half of 2026!Contributed by Marc Mueller (PR 20156).
Mypy 1.19
We’ve just uploaded mypy 1.19.0 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 mypyYou can read the full documentation for this release on Read the Docs.
Python 3.9 Support Ending Soon
This is the last mypy feature release that supports Python 3.9, which reached end of life in October 2025.
Performance Improvements
- Switch to a more dynamic SCC processing logic (Ivan Levkivskyi, PR 20053)
- Speed up type aliases (Ivan Levkivskyi, PR 19810)
Fixed‑Format Cache Improvements
Mypy uses a cache by default to speed up incremental runs by reusing partial results from earlier runs. Mypy 1.18 added a new binary fixed-format cache representation as an experimental feature. The feature is no longer experimental, and we are planning to enable it by default in a future mypy release (possibly 1.20), since it's faster and uses less space than the original, JSON-based cache format. Use
--fixed-format-cacheto enable the fixed-format cache.Mypy now has an extra dependency on the
librtPyPI package, as it's needed for cache serialization and deserialization.Mypy ships with a tool to convert fixed-format cache files to the old JSON format. Example of how to use this:
$ python -m mypy.exportjson .mypy_cache/.../my_module.data.ff
... (truncated)
0f068c9
Remove +dev6d5cf52
Various updates to 1.19 changelog (#20304)3c81308
Add draft version of 1.19 release notes (#20296)1999a20
[mypyc] librt base64: use existing SIMD CPU dispatch by customizing
build fla...1b94fbb
[mypyc] Fix vtable pointer with inherited dunder new (#20302)13369cb
[mypyc] Fix crash on super in generator (#20291)a087a58
Update import map when new modules added (#20271)35e843c
[mypyc] Add efficient librt.base64.b64decode (#20263)094f66d
[mypyc] Add repr to AssignmentTarget subclasses (#20258)0738db3
Do not push partial types to the binder (#20202)c734212
v3.5.0d64e0cc
Merge pull request #158
from asottile/key-value-map641559f
add KeyValueMap82e2f93
Merge pull request #157
from asottile/pre-commit-ci-update-config69cd020
[pre-commit.ci] pre-commit autoupdate5ccc4d4
Merge pull request #156
from asottile/pre-commit-ci-update-config2e7ffe5
[pre-commit.ci] pre-commit autoupdateef78499
Merge pull request #155
from asottile/all-repos_autofix_all-repos-manualb34b882
py310+724a279
Merge pull request #154
from asottile/pre-commit-ci-update-configSourced from pip-tools's releases.
v7.5.2
2025-11-11
Bug fixes
Fixed
pip-compileto handle relative path includes which are not subpaths of the current working directory -- by@sirosen.Using
--upgrade-packageand dynamically building project metadata no longer causes anAttributeErrorwhen pip encounters an error during the build -- by@Epic_Wink and@tusharsadhwani.PRs and issues: #2258
Features
Test and declare Python 3.13 support -- by
@jayaddison(for OpenCulinary).PRs and issues: #2251
pip-tools is now compatible with pip 25.3 -- by
@shifqu.Packaging updates and notes for downstreams
pip-toolsnow supports installation from git archives by providingsetuptools-scmwith.git_archival.txtdata.PRs and issues: #2225
Contributor-facing changes
The change log entry bot has been explicitly configured to stop requiring news fragments in pull requests having the
bot:chronographer:skiplabel set -- by@sirosenand@webknjaz.It was also set up to reference our change log authoring document from the GitHub Checks pages. And the reported check name is now set to
Change log entry.PRs and issues: #2201
The CI is now set up to invoke failed tests again with maximum level of detail -- by
@webknjaz.The change is aimed at helping troubleshoot failures that might be difficult to reproduce locally.
PRs and issues: #2254
The integration with Codecov has been updated to ensure that reports are uploaded to the service even on failures -- by
@webknjaz.GitHub Actions is now configured to also send an explicit notification to Codecov about the completion of previously initiated uploads.
... (truncated)
Sourced from pip-tools's changelog.
v7.5.2
2025-11-11
Bug fixes
Fixed
pip-compileto handle relative path includes which are not subpaths of the current working directory -- by {user}sirosen.PRs and issues: {issue}
2231, {issue}2260Using
--upgrade-packageand dynamically building project metadata no longer causes an {exc}AttributeErrorwhen pip encounters an error during the build -- by {user}Epic_Winkand {user}tusharsadhwani.PRs and issues: {issue}
2258Features
Test and declare Python 3.13 support -- by {user}
jayaddison(for OpenCulinary).PRs and issues: {issue}
2251pip-tools is now compatible with pip 25.3 -- by {user}
shifqu.PRs and issues: {issue}
2252, {issue}2253Packaging updates and notes for downstreams
pip-toolsnow supports installation from git archives by providingsetuptools-scmwith.git_archival.txtdata.PRs and issues: {issue}
2225Contributor-facing changes
The change log entry bot has been explicitly configured to stop requiring news fragments in pull requests having the
bot:chronographer:skiplabel set -- by {user}sirosenand {user}webknjaz.It was also set up to reference our change log authoring document from the GitHub Checks pages. And the reported check name is now set to
Change log entry.PRs and issues: {issue}
2201The CI is now set up to invoke failed tests again with maximum level of detail -- by {user}
webknjaz.
... (truncated)
eb9606f
Merge pull request #2270
from sirosen/release-7.5.22cbb933
Update changelog for version 7.5.2d33539c
Merge pull request #2253
from shifqu/fix/remove-opt-pep51743e1159
Apply suggestions from code reviewb7e8f9b
changelog: add news fragment for towncrier88f2761
tests: lower required coverage for py38 to 98%608c47b
feat: add deprecation warnings in cli and sync43952fc
tests: ensure tox pipsupported uses pip 25.3bfa96b5
tests: provide minimal_wheels_path as a fixture10a4b44
fix: remove deprecated options from resolver and
install_requirementSourced from exceptiongroup's releases.
1.3.1
- Fixed
AttributeError: 'TracebackException' object has no attribute 'exceptions'when formatting unpickled TBEs from another Python process which did not apply theexceptiongrouppatches (#144)
Sourced from exceptiongroup's changelog.
Version history
This library adheres to
Semantic Versioning 2.0 <http://semver.org/>_.1.3.1
- Fixed
AttributeError: 'TracebackException' object has no attribute 'exceptions'when formatting unpickled TBEs from another Python process which did not apply theexceptiongrouppatches ([#144](https://github.com/agronholm/exceptiongroup/issues/144) <https://github.com/agronholm/exceptiongroup/issues/144>_)1.3.0
- Added
**kwargsto function and method signatures as appropriate to match the signatures in the standard library- In line with the stdlib typings in typeshed, updated
(Base)ExceptionGroupgeneric types to define defaults for their generic arguments (defaulting toBaseExceptionGroup[BaseException]andExceptionGroup[Exception]) (PR by@mikenerone)- Changed
BaseExceptionGroup.__init__()to directly callBaseException.__init__()instead of the superclass__init__()in order to emulate the CPython behavior (broken or not) (PR by@cfbolz)- Changed the
exceptionsattribute to always return the same tuple of exceptions, created from the original exceptions sequence passed toBaseExceptionGroupto match CPython behavior ([#143](https://github.com/agronholm/exceptiongroup/issues/143) <https://github.com/agronholm/exceptiongroup/issues/143>_)1.2.2
- Removed an
assertinexceptiongroup._formattingthat caused compatibility issues with Sentry ([#123](https://github.com/agronholm/exceptiongroup/issues/123) <https://github.com/agronholm/exceptiongroup/issues/123>_)1.2.1
- Updated the copying of
__notes__to match CPython behavior (PR by CF Bolz-Tereick)- Corrected the type annotation of the exception handler callback to accept a
BaseExceptionGroupinstead ofBaseException- Fixed type errors on Python < 3.10 and the type annotation of
suppress()(PR by John Litborn)1.2.0
- Added special monkeypatching if
Apport <https://github.com/canonical/apport>_ has overriddensys.excepthookso it will format exception groups correctly (PR by John Litborn)- Added a backport of
contextlib.suppress()from Python 3.12.1 which also handles suppressing exceptions inside exception groups- Fixed bare
raisein a handler reraising the original naked exception rather than an exception group which is what is raised when you do araisein anexcept*
... (truncated)
ddddb6f
Added the release version49c5e60
Fixed AttributeError when formatting unpickled TBEs from an unpatched
process1be517f
[pre-commit.ci] pre-commit autoupdate (#152)af0ea2f
[pre-commit.ci] pre-commit autoupdate (#149)7c980a8
Removed pin on pyright versionef85336
Fixed typing job not finding Python 3.14080b3f4
Pinned pyright version to fix typeshed related failureac66090
Added Python 3.14 to the test matrixa0da94d
Fixed test failures on Python 3.14Sourced from pypa/cibuildwheel's releases.
v3.3.0
- 🐛 Fix an incompatibility with Docker v29 (#2660)
- ✨ Adds
test-runtimeoption, to customise how tests on simulated/emulated environments are run (#2636)- ✨ Adds support for new
manylinux_2_35images on 32-bit ARMarmv7l, offering better C++20 compatibility (#2656)- ✨
build[uv]is now supported on Android (#2587)- ✨ You can now install extras (such as
uv) with a simple option on the GitHub Action (#2630)- ✨
{project}and{package}placeholders are now supported inrepair-wheel-command(#2589)- 🛠 The versions set with
dependency-versionsno longer constrain packages specified by yourbuild-system.requires. Previously, on platforms other than Linux, the constraints in this option would remain in the environment during the build. This has been tidied up make behaviour more consistent between platforms, and to prevent version conflicts. (#2583)- 🛠 Improve the handling of
test-commandon Android, enabling more options to be passed (#2590)- 📚 Docs improvements (#2618)
Sourced from pypa/cibuildwheel's changelog.
v3.3.0
12 November 2025
- 🐛 Fix an incompatibility with Docker v29 (#2660)
- ✨ Adds
test-runtimeoption, to customise how tests on simulated/emulated environments are run (#2636)- ✨ Adds support for new
manylinux_2_35images on 32-bit ARMarmv7l, offering better C++20 compatibility (#2656)- ✨
build[uv]is now supported on Android (#2587)- ✨ You can now install extras (such as
uv) with a simple option on the GitHub Action (#2630)- ✨
{project}and{package}placeholders are now supported inrepair-wheel-command(#2589)- 🛠 The versions set with
dependency-versionsno longer constrain packages specified by yourbuild-system.requires. Previously, on platforms other than Linux, the constraints in this option would remain in the environment during the build. This has been tidied up make behaviour more consistent between platforms, and to prevent version conflicts. (#2583)- 🛠 Improve the handling of
test-commandon Android, enabling more options to be passed (#2590)- 📚 Docs improvements (#2618)
63fd63b
Bump version: v3.3.0f4fe311
fix: support Docker 29 (#2660)f6c8108
feat: make the {project} placeholder available to
repair-wheel-command (#...ccbae30
feat: support uv with Android (#2587)1337e50
chore: pytest log_level is better than log_cli_level (#2657)720f8e2
feat: add manylinux_2_35 (#2656)4c7f369
[pre-commit.ci] pre-commit autoupdate (#2658)e1baa60
chore: enable more Ruff checks (#2654)1f2f8b2
fix: don't constrain build-system.requires with our
dependency-versions (...8c5b02f
[pre-commit.ci] pre-commit autoupdate (#2648)