We’ve just uploaded mypy 1.12 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 Python 3.12 Syntax for Generics (PEP 695)
Support for the new type parameter syntax introduced in Python 3.12 is now enabled by default,
documented, and no longer experimental. It was available through a feature flag in
mypy 1.11 as an experimental feature.
This example demonstrates the new syntax:
# Generic function
def f[T](https://github.com/python/mypy/blob/master/x: T) -> T: ...
reveal_type(f(1)) # Revealed type is 'int'
Generic class
class C[T]:
def init(self, x: T) -> None:
self.x = x
c = C('a')
reveal_type(c.x) # Revealed type is 'str'
Black is now officially tested with Python 3.13 and provides Python 3.13
mypyc-compiled wheels. (#4436) (#4449)
Black will issue an error when used with Python 3.12.5, due to an upstream memory
safety issue in Python 3.12.5 that can cause Black's AST safety checks to fail. Please
use Python 3.12.6 or Python 3.12.4 instead. (#4447)
Black no longer supports running with Python 3.8 (#4452)
Stable style
Fix crashes involving comments in parenthesised return types or X | Y style unions.
(#4453)
Fix skipping Jupyter cells with unknown %% magic (#4462)
Preview style
Fix type annotation spacing between * and more complex type variable tuple (i.e. def fn(*args: *tuple[*Ts, T]) -> None: pass) (#4440)
Caching
Fix bug where the cache was shared between runs with and without --unstable (#4466)
Packaging
Upgrade version of mypyc used to 1.12 beta (#4450) (#4449)
blackd now requires a newer version of aiohttp. (#4451)
Output
Added Python target version information on parse error (#4378)
Add information about Black version to internal error messages (#4457)
Black is now officially tested with Python 3.13 and provides Python 3.13
mypyc-compiled wheels. (#4436) (#4449)
Black will issue an error when used with Python 3.12.5, due to an upstream memory
safety issue in Python 3.12.5 that can cause Black's AST safety checks to fail. Please
use Python 3.12.6 or Python 3.12.4 instead. (#4447)
Black no longer supports running with Python 3.8 (#4452)
Stable style
Fix crashes involving comments in parenthesised return types or X | Y style unions.
(#4453)
Fix skipping Jupyter cells with unknown %% magic (#4462)
Preview style
Fix type annotation spacing between * and more complex type variable tuple (i.e. def fn(*args: *tuple[*Ts, T]) -> None: pass) (#4440)
Caching
Fix bug where the cache was shared between runs with and without --unstable (#4466)
Packaging
Upgrade version of mypyc used to 1.12 beta (#4450) (#4449)
blackd now requires a newer version of aiohttp. (#4451)
Output
Added Python target version information on parse error (#4378)
Add information about Black version to internal error messages (#4457)
- Implement dependency group support as defined in :pep:`735` - see :ref:`dependency_groups` - by :user:`gaborbernat`. (:issue:`3408`)
v4.21.2 (2024-10-03)
Bugfixes - 4.21.2
Include tox.toml in sdist archives to fix test failures resulting from its lack.
by :user:mgorny (:issue:3389)
v4.21.1 (2024-10-02)
Bugfixes - 4.21.1
- Fix error when using ``requires`` within a TOML configuration file - by :user:`gaborbernat`. (:issue:`3386`)
- Fix error when using ``deps`` within a TOML configuration file - by :user:`gaborbernat`. (:issue:`3387`)
- Multiple fixes for the TOML configuration by :user:`gaborbernat`.:
Do not fail when there is an empty command within commands.
Allow references for set_env by accepting list of dictionaries for it.
Do not try to be smart about reference unrolling, instead allow the user to control it via the extend flag,
available both for posargs and ref replacements.
The ref replacements raw key has been renamed to of. (:issue:3388)
v4.21.0 (2024-09-30)
Features - 4.21.0
Native TOML configuration support - by :user:gaborbernat. (:issue:999)
Improved Documentation - 4.21.0
- Update Loader docs - by :user:ziima (:issue:`3352`)
v4.20.0 (2024-09-18)
Features - 4.20.0
- Separate the list dependencies functionality to a separate abstract class allowing code reuse in plugins (such as
``tox-uv``) - by :gaborbernat`. (:issue:`3347`)
v4.19.0 (2024-09-17)
</tr></table>
</code></pre>
</blockquote>
<p>... (truncated)</p>
</details>
<details>
<summary>Commits</summary>
<ul>
<li><a href="https://github.com/tox-dev/tox/commit/b912cb2383c3b8e6e3fb09c80b774f4bf4c29bc0"><code>b912cb2</code></a> release 4.22.0</li>
<li><a href="https://github.com/tox-dev/tox/commit/568b90f041b4f3ec05bbcf9fbcd6c51e87a8e6ed"><code>568b90f</code></a> Add dependency-groups support (PEP-735) (<a href="https://redirect.github.com/tox-dev/tox/issues/3409">#3409</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/f919d0d0d512a755f0f85af540ed75f73140a685"><code>f919d0d</code></a> Expose type checking dependencies into an extra (<a href="https://redirect.github.com/tox-dev/tox/issues/3404">#3404</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/7c0e3eda9787fe9bcc134dfe21d6d9b604cf7ef1"><code>7c0e3ed</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/tox-dev/tox/issues/3406">#3406</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/6db3730e0bf8de7a09d9e3328c24ff4e26474757"><code>6db3730</code></a> Fix the fix environment definition (<a href="https://redirect.github.com/tox-dev/tox/issues/3407">#3407</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/2bf065a7979f98a0c7181b667d566622c68d0567"><code>2bf065a</code></a> Bump pypa/gh-action-pypi-publish from 1.10.2 to 1.10.3 (<a href="https://redirect.github.com/tox-dev/tox/issues/3392">#3392</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/eb599af235f88c8853e39f5b76b1079b83818255"><code>eb599af</code></a> [pre-commit.ci] pre-commit autoupdate (<a href="https://redirect.github.com/tox-dev/tox/issues/3395">#3395</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/c953f4f4ba1e0e7a69de1ecea94e4bdb5a797ac1"><code>c953f4f</code></a> release 4.21.2</li>
<li><a href="https://github.com/tox-dev/tox/commit/3ab1d3e559ebea0dac8ae34262158c7234e44997"><code>3ab1d3e</code></a> Update sdist rules to include <code>tox.toml</code> (<a href="https://redirect.github.com/tox-dev/tox/issues/3389">#3389</a>) (<a href="https://redirect.github.com/tox-dev/tox/issues/3390">#3390</a>)</li>
<li><a href="https://github.com/tox-dev/tox/commit/172a952f2acf66cfab69558325217a52b387446a"><code>172a952</code></a> Fix user guide typo</li>
<li>Additional commits viewable in <a href="https://github.com/tox-dev/tox/compare/4.20.0...4.22.0">compare view</a></li>
</ul>
</details>
<br />
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.
[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)
---
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Updates the requirements on mypy, black, ruff, tox and pre-commit to permit the latest version. Updates
mypy
from 1.11.2 to 1.12.0Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
f2a39b1
Update version to 1.12.0b4ec37a
Add one more 1.12 changelog item (#17936)cc1c679
Better handling of generic functions in partial plugin (#17925)d65a013
Add latest 1.12 changes to changelog (#17921)2e38965
Fix union callees with functools.partial (#17903)c5d3673
Document ReadOnly (PEP 705) (#17905)964a7a5
Make ReadOnly TypedDict items covariant (#17904)24bfb34
Include CHANGELOG.md in sdists (#17882)21d46ed
documentation for TypeIs (#17821)c692943
Improvements to functools.partial of types (#17898)Updates
black
from 24.8.0 to 24.10.0Release notes
Sourced from black's releases.
Changelog
Sourced from black's changelog.
Commits
1b2427a
Prepare release 24.10.0 (#4471)a22b1eb
Add mypyc 3.13 wheel build (#4449)b7d0e72
Bump AndreMiras/coveralls-python-action from 65c1672f0b8a201702d86c81b79187df...f1a2f92
Include --unstable in cache key (#4466)8d9d18c
Fix skipping Jupyter cells with unknown %% magic (#4462)bbfdba3
Fix docs CI: use venv for uv to fix 'failed to create directory' (#4460)8fb2add
Use builtin generics (#4458)2a45cec
Fix crashes with comments in parentheses (#4453)b4d6d86
Drop Python 3.8 support (#4452)ac018c1
Require newer aiohttp for blackd (#4451)Updates
ruff
from 0.6.8 to 0.6.9Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
Commits
975be9c
Bump version to 0.6.9 (#13624)99e4566
MarkFURB118
fix as unsafe (#13613)7ad07c2
Addallow-unused-imports
setting forunused-import
rule (F401
) (#13601)4aefe52
Support ruff discovery in pip build environments (#13591)cc1f766
Preserve trivia (i.e. comments) in PLR5501 (#13573)fdd0a22
Move to maintained mirror of prettier (#13592)3728d5b
[pyupgrade
] Fix UP043 to apply tocollections.abc.Generator
and `collecti...7e3894f
Avoid short circuitingB017
for multiple context managers (#13609)c3b40da
Use backticks for code in red-knot messages (#13599)ef45185
Allow users to provide custom diagnostic messages when unwrapping calls (#13597)Updates
tox
to 4.22.0Changelog
Sourced from tox's changelog.