If you attempt to combine statement coverage data with branch coverage data, coverage.py used to fail with the message "Can't combine arc data with line data" or its reverse, "Can't combine line data with arc data." These messages used internal terminology, making it hard for people to understand the problem. They are now changed to mention "branch coverage data" and "statement coverage data."
Fixed a minor branch coverage problem with wildcard match/case cases using names or guard clauses.
Started testing on 3.13 free-threading (nogil) builds of Python. I'm not claiming full support yet. Closes issue 1799.
If you attempt to combine statement coverage data with branch coverage data,
coverage.py used to fail with the message "Can't combine arc data with line
data" or its reverse, "Can't combine line data with arc data." These
messages used internal terminology, making it hard for people to understand
the problem. They are now changed to mention "branch coverage data" and
"statement coverage data."
Fixed a minor branch coverage problem with wildcard match/case cases using
names or guard clauses.
Started testing on 3.13 free-threading (nogil) builds of Python. I'm not
claiming full support yet. Closes issue 1799_.
Fix error reporting on cached run after uninstallation of third party library (Shantanu, PR 17420)
Acknowledgements
Thanks to all mypy contributors who contributed to this release:
Alex Waygood
Ali Hamdan
Edward Paget
Evgeniy Slobodkin
Hashem
hesam
Hugo van Kemenade
Ihor
James Braza
Jelle Zijlstra
jhance
Jukka Lehtosalo
Loïc Simon
Marc Mueller
Matthieu Devlin
Michael R. Crusoe
Nikita Sobolev
Oskari Lehto
Riccardo Di Maio
Richard Si
roberfi
Roman Solomatin
Sam Xifaras
Shantanu
Spencer Brown
Srinivas Lade
Tamir Duberstein
youkaichao
I’d also like to thank my employer, Dropbox, for supporting mypy development.
Mypy 1.9
We’ve just uploaded mypy 1.9 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.
Breaking Changes
Because the version of typeshed we use in mypy 1.9 doesn't support 3.7, neither does mypy 1.9. (Jared Hance, PR 16883)
... (truncated)
Commits
c28b525 [1.10 backport] Fix error reporting on cached run after uninstallation of thi...
#12355: Fix possible catastrophic performance slowdown on a certain parametrization pattern involving many higher-scoped parameters.
#12367: Fix a regression in pytest 8.2.0 where unittest class instances (a fresh one is created for each test) were not released promptly on test teardown but only on session teardown.
#12381: Fix possible "Directory not empty" crashes arising from concurent cache dir (.pytest_cache) creation. Regressed in pytest 8.2.0.
Improved Documentation
#12290: Updated Sphinx theme to use Furo instead of Flask, enabling Dark mode theme.
#12356: Added a subsection to the documentation for debugging flaky tests to mention
lack of thread safety in pytest as a possible source of flakyness.
#12363: The documentation webpages now links to a canonical version to reduce outdated documentation in search engine results.
Fix regression in v4.12.0 where specialization of certain generics with an overridden __eq__ method would raise errors. Patch by Jelle Zijlstra.
Fix tests so they pass on 3.13.0b2
4.12.1
Preliminary changes for compatibility with the draft implementation
of PEP 649 in Python 3.14. Patch by Jelle Zijlstra.
Fix regression in v4.12.0 where nested Annotated types would cause
TypeError to be raised if the nested Annotated type had unhashable
metadata. Patch by Alex Waygood.
Fix regression in v4.12.0 where specialization of certain
generics with an overridden __eq__ method would raise errors.
Patch by Jelle Zijlstra.
Fix tests so they pass on 3.13.0b2
Release 4.12.1 (June 1, 2024)
Preliminary changes for compatibility with the draft implementation
of PEP 649 in Python 3.14. Patch by Jelle Zijlstra.
Fix regression in v4.12.0 where nested Annotated types would cause
TypeError to be raised if the nested Annotated type had unhashable
metadata. Patch by Alex Waygood.
Adopted the bdist_wheel command from the wheel project -- by :user:agronholm (#1386)
Improve error message when pkg_resources.ZipProvider tries to extract resources with a missing Egg -- by :user:Avasam
Added variables and parameter type annotations to pkg_resources to be nearly on par with typeshed.* -- by :user:Avasam
* Excluding TypeVar and overload. Return types are currently inferred. (#4246)
Migrated Setuptools' own config to pyproject.toml (#4310)
Bugfixes
Prevent a TypeError: 'NoneType' object is not callable when shutil_rmtree is called without an onexc parameter on Python<=3.11 -- by :user:Avasam (#4382)
Replace use of mktemp with can_symlink from the stdlib test suite. (#4403)
Improvement for attr: directives in configuration to handle
more edge cases related to complex package_dir. (#4405)
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 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
Bumps the minor-and-patch group with 12 updates in the / directory:
1.7.8
1.7.9
7.5.3
7.5.4
7.0.0
7.1.0
1.10.0
1.10.1
0.15.0
0.15.2
24.0
24.1
2.11.1
2.12.0
2.7.2
2.8.2
2.18.3
2.20.1
8.2.1
8.2.2
4.12.0
4.12.2
70.0.0
70.2.0
Updates
bandit
from 1.7.8 to 1.7.9Release notes
Sourced from bandit's releases.
Commits
691f465
Supportconfigfile
in.bandit
file (#1052)f1a397e
Bump docker/build-push-action from 5.3.0 to 5.4.0 (#1144)049eba0
Guard against empty call argument list (#1146)ad56c78
[pre-commit.ci] pre-commit autoupdate (#1145)2dd4cb5
[pre-commit.ci] pre-commit autoupdate (#1143)313cae7
Bump docker/login-action from 3.1.0 to 3.2.0 (#1142)3fa1e25
Ensure sarif extra is included as part of doc build (#1139)8b659fb
Add a sponsor section to README (#1137)30cada5
[pre-commit.ci] pre-commit autoupdate (#1135)dbb4161
Updates banner logo so it renders well in dark mode (#1134)Updates
coverage[toml]
from 7.5.3 to 7.5.4Release notes
Sourced from coverage[toml]'s releases.
Changelog
Sourced from coverage[toml]'s changelog.
Commits
22c09c6
docs: sample HTML for 7.5.49e16381
docs: prep for 7.5.4fba9b9e
docs: link issue 1799 from the changelogf124de8
build: no longer download kits to upload them9516cf6
build: hash-pin all actionsc6e0985
build: finish up the publish action4a49458
build: get the latest dist run id for publishingfb15efa
build: pin hashes for publishing actionsc20af95
build: use the correct item: github.event.actionccbab15
build: dump all the github actions dataUpdates
flake8
from 7.0.0 to 7.1.0Commits
65a38c4
Release 7.1.034c97e0
Merge pull request #1939 from PyCQA/new-pycodestyledefd315
latest pycodestyle408d4d6
Merge pull request #1930 from mzagol/patch-1866ad72
Add --extend-exclude to the TOC33e5083
Merge pull request #1923 from Viicos/entry-points-docs6659b21
Fix toctree ordering in indexba0f566
Use explicit external references350f254
Use explicit external references49f52a8
Update documentation regarding entry pointsUpdates
mypy
from 1.10.0 to 1.10.1Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
c28b525
[1.10 backport] Fix error reporting on cached run after uninstallation of thi...Updates
packageurl-python
from 0.15.0 to 0.15.2Changelog
Sourced from packageurl-python's changelog.
Commits
aa217f1
Update GitHub generated Download URL for maximum compatibility #157b744d07
Bump version for v0.15.1 release29dd138
Add an option for exact_match purl QuerySet lookups #118 (#156)18672be
Upgrade virtualenv.pyz to latest versionef3747a
Add changelog entry for Composer support #144ea4ad00
Add support for Composer in purl2url (#144)Updates
packaging
from 24.0 to 24.1Release notes
Sourced from packaging's releases.
Changelog
Sourced from packaging's changelog.
Commits
85442b8
Bump for release3e67fc7
Work aroundplatform.python_version()
returning non PEP 440 compliant versi...32deafe
Bump the github-actions group with 3 updates (#789)e0dda88
Documentmarkers.default_environment()
(#753)cc938f9
Modernise type annotations using FA rules from ruff (#785)757f559
Fix typo in_parser
docstring (#784)ec9f203
Bump the github-actions group with 4 updates (#782)5cbe1e4
Add support for Python 3.13 and drop EOL 3.7 (#783)cb8fd38
pyupgrade/black/isort/flake8 → ruff (#769)e8002b1
Bump for developmentUpdates
pycodestyle
from 2.11.1 to 2.12.0Changelog
Sourced from pycodestyle's changelog.
Commits
6f60985
Release 2.12.05246b9e
Merge pull request #1247 from PyCQA/space-after-decorator3cedd4c
add new error E204 for whitespace after decorator @d343c39
Merge pull request #1246 from PyCQA/pre-commit-ci-update-config5be6ca1
[pre-commit.ci] pre-commit autoupdated2b2756
Merge pull request #1245 from PyCQA/pre-commit-ci-update-config53591a5
[pre-commit.ci] pre-commit autoupdate710363b
Merge pull request #1239 from PyCQA/pre-commit-ci-update-config04f579d
[pre-commit.ci] pre-commit autoupdate2b90803
Merge pull request #1238 from PyCQA/pre-commit-ci-update-configUpdates
pydantic
from 2.7.2 to 2.8.2Release notes
Sourced from pydantic's releases.
... (truncated)
Changelog
Sourced from pydantic's changelog.
... (truncated)
Commits
4978ee2
update history0345929
v bumpd390a04
Fix issue with assertion caused by pluggable schema validator (#9838)040865f
update history5a33e3b
bump version2f9abb2
Bumppydantic-core
tov2.20.1
,pydantic-extra-types
tov2.9.0
(#9832)ce9c5f7
Remove spooky meetings file (#9824)6bdd6d1
Pedantic typo correction within explanation of Pydantic's root in 'pedantic' ...701ccde
Fix list constraint json schema application (#9818)2a066a2
Bumpruff
tov0.5.0
andpyright
tov1.1.369
(#9801)Updates
pydantic-core
from 2.18.3 to 2.20.1Release notes
Sourced from pydantic-core's releases.
... (truncated)
Commits
0e6b377
Bumpspeedate
to v0.14.1 and prep for v0.20.1 (#1347)b7fa254
Bump the python-packages group across 1 directory with 7 updates (#1361)de19683
Bump num-bigint from 0.4.5 to 0.4.6 (#1357)4519e9f
Bump uuid from 1.9.0 to 1.9.1 (#1356)510daf8
Bumppytest-examples
to get tests passing with ruffv0.5.0
(#1360)a017bd9
try restore 3.13 PGO builds (#1346)7b62646
Prep for v2.20.0 release (#1343)ef7f81c
update to PyO3 0.22, add 3.13 support (#1340)aba682e
Add list fail-fast config option (#1322)a65f327
Fix union validation logic whenextra='allow'
(#1334)Updates
pytest
from 8.2.1 to 8.2.2Release notes
Sourced from pytest's releases.
Commits
329d371
Prepare release version 8.2.2214d098
Merge pull request #12414 from bluetech/backport-12409153a436
[8.2.x] fixtures: fix catastrophic performance problem inreorder_items
b41d5a5
Merge pull request #12412 from pytest-dev/backport-12408-to-8.2.x9bb73d7
[8.2.x] cacheprovider: fix "Directory not empty" crash from cache directory c...4569a01
[8.2.x] doc: Update trainings/events (#12402)1d103e5
[8.2.x] Clarify pytest_ignore_collect docs (#12386)240a252
[8.2.x] Add html_baseurl to sphinx conf.py (#12372)a5ee3c4
Merge pull request #12370 from pytest-dev/backport-12368-to-8.2.xf7358ae
[8.2.x] unittest: fix class instances no longer released on test teardown sin...Updates
typing-extensions
from 4.12.0 to 4.12.2Release notes
Sourced from typing-extensions's releases.
Changelog
Sourced from typing-extensions's changelog.
Commits
e1250ff
Prepare release 4.12.2 (#426)53bcdde
Avoid error if origin has a buggy eq (#422)7269638
Prepare release 4.12.1 (#418)8dfcf3c
FixTypeError
on nestedAnnotated
types where the inner type has unhashab...d76f591
Switch from flake8 to ruff (#414)920d60d
Support my PEP 649 branch (#412)e792bce
Ignore fewer flake8 rules when linting tests (#413)Updates
setuptools
from 70.0.0 to 70.2.0Changelog
Sourced from setuptools's changelog.
... (truncated)
Commits
3accd5c
Bump version: 70.1.1 → 70.2.0719192a
Merge pull request #4430 from pypa/infra/refresh-skeletone32f8df
Merge pull request #4444 from pypa/feature/distutils-f3b225449343ac6f
Merge https://github.com/pypa/distutils into feature/distutils-f3b2254494e6d97d
Prefer relative imports for better portability.449021c
Merge pull request #4442 from DimitriPapadopoulos/default97e3c8f
Merge pull request #4452 from pypa/docs/1648-interpolationa9a5400
Add a section on interpolation.31c8599
Remove 'normally supplied to setup()'. Declarative styles are normalized.ad8c7ba
Merge pull request #4450 from DimitriPapadopoulos/TRYDependabot 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 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