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_.
#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.
The has_private_name and has_special_name properties on objects and aliases have been renamed is_private and is_special. The is_private property now only returns true if the name is not special.
Features
Add deprecated attribute and is_deprecated property to objects/aliases (2a75d84 by Timothée Mazzucotelli).
Add is_imported property to objects/aliases (de926cc by Timothée Mazzucotelli).
Add is_class_private property to objects/aliases (491b6c4 by Timothée Mazzucotelli).
Code Refactoring
Rename has_private_name and has_special_name to is_private and is_special (ae7c7e7 by Timothée Mazzucotelli).
WARNING: ⚡ Imminent v1! ⚡🚀
We are working on v1, and it will come soon, so we recommend that you consider adding an upper bound on Griffe. Version 1 will remove all legacy code! There will be a couple more v0 before so that you get all the deprecation warnings needed to upgrade your code using Griffe before upgrading to v1. See breaking changes and deprecations for v0.46 below.
Breaking Changes
We are still in v0, so no major bump yet.
Calling objects' [has_labels()][griffe.Object.has_labels] method with a labels keyword argument is not supported anymore. The parameter became a variadic positional parameter, so it cannot be used as a keyword argument anymore. Passing a sequence instead of multiple positional arguments still works but will emit a deprecation warning.
Calling the [load_extensions()][griffe.load_extensions] function with an exts keyword argument is not supported anymore. The parameter became a variadic positional parameter, so it cannot be used as a keyword argument anymore. Passing a sequence instead of multiple positional arguments still works but will emit a deprecation warning.
The has_private_name and has_special_name properties on objects and aliases have been renamed is_private and is_special. The is_private property now only returns true if the name is not special.
Features
Add deprecated attribute and is_deprecated property to objects/aliases (2a75d84 by Timothée Mazzucotelli).
Add is_imported property to objects/aliases (de926cc by Timothée Mazzucotelli).
Add is_class_private property to objects/aliases (491b6c4 by Timothée Mazzucotelli).
Code Refactoring
Rename has_private_name and has_special_name to is_private and is_special (ae7c7e7 by Timothée Mazzucotelli).
WARNING: ⚡ Imminent v1! ⚡🚀
We are working on v1, and it will come soon, so we recommend that you consider adding an upper bound on Griffe. Version 1 will remove all legacy code! There will be a couple more v0 before so that you get all the deprecation warnings needed to upgrade your code using Griffe before upgrading to v1. See breaking changes and deprecations for v0.46 below.
Breaking Changes
We are still in v0, so no major bump yet.
Calling objects' [has_labels()][griffe.Object.has_labels] method with a labels keyword argument is not supported anymore. The parameter became a variadic positional parameter, so it cannot be used as a keyword argument anymore. Passing a sequence instead of multiple positional arguments still works but will emit a deprecation warning.
Calling the [load_extensions()][griffe.load_extensions] function with an exts keyword argument is not supported anymore. The parameter became a variadic positional parameter, so it cannot be used as a keyword argument anymore. Passing a sequence instead of multiple positional arguments still works but will emit a deprecation warning.
Deprecations
As seen above in the breaking changes section, the only parameters of [Object.has_labels()][griffe.Object.has_labels] and [load_extensions()][griffe.load_extensions] both became variadic positional parameters. Passing a sequence as single argument is deprecated in favor of passing multiple arguments. This is an ergonomic change: I myself often forgot to wrap extensions in a list. Passing sequences of labels (lists, sets, tuples) is also difficult from Jinja templates.
The following methods and properties on objects and aliases are deprecated: [member_is_exported()][griffe.Object.member_is_exported], [is_explicitely_exported][griffe.mixins.ObjectAliasMixin.is_explicitely_exported], [is_implicitely_exported][griffe.mixins.ObjectAliasMixin.is_implicitely_exported]. Use the [is_exported][griffe.mixins.ObjectAliasMixin.is_exported] property instead. See issue 281.
The [is_exported()][griffe.mixins.ObjectAliasMixin.is_exported] and [is_public()][griffe.mixins.ObjectAliasMixin.is_public] methods became properties. They can still be called like methods, but will emit deprecation warnings when doing so. See issue 281.
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...
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 ` 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
Bumps the python-packages group with 7 updates in the / directory:
7.5.3
7.5.4
6.103.0
6.104.2
8.2.1
8.2.2
0.0.11
0.0.12
0.45.2
0.47.0
1.1.365
1.1.369
1.10.0
1.10.1
Updates
coverage
from 7.5.3 to 7.5.4Changelog
Sourced from coverage'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
hypothesis
from 6.103.0 to 6.104.2Commits
d8c1783
Bump hypothesis-python version to 6.104.2 and update changelogc79e893
Merge pull request #4022 from tybug/post-test-case-hook-fix976f559
update typing1f86be4
better post_test_case_hook error message39a8f72
raise flaky when replaying backend flakes09b00a2
add release notes90ad3e2
exit if replayed interesting backends are flakyc46da15
move post_test_case_hook higher upe51d473
Bump hypothesis-python version to 6.104.1 and update changelog0c885e7
Merge pull request #4019 from jobh/coverage_fixmeUpdates
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
pytest-examples
from 0.0.11 to 0.0.12Release notes
Sourced from pytest-examples's releases.
Commits
8519acc
Pinruff
version and prep for v0.0.12 release (#34)Updates
griffe
from 0.45.2 to 0.47.0Release notes
Sourced from griffe's releases.
... (truncated)
Changelog
Sourced from griffe's changelog.
... (truncated)
Commits
ce186a4
chore: Prepare release 0.47.02a75d84
feat: Adddeprecated
attribute andis_deprecated
property to objects/aliases1982023
docs: Add comments tois_wildcard_exposed
de926cc
feat: Addis_imported
property to objects/aliases491b6c4
feat: Addis_class_private
property to objects/aliasesae7c7e7
refactor: Renamehas_private_name
andhas_special_name
tois_private
an...1ebfa63
style: Spacing40ebec0
chore: Prepare release 0.46.13319410
fix: Always consider special objects ("dunder" attributes/methods/etc.) to be...ea90952
fix: Don't consider imported objects as publicUpdates
pyright
from 1.1.365 to 1.1.369Commits
903dbc6
chore(ci): enable workflow_dispatch for releasing82d28c7
chore(internal): pin twine dependencyffa917f
[pyright updated to 1.1.369] Update Version (#279)604a0a0
[pyright updated to 1.1.368] Update Version (#278)dd680ba
Pyright NPM Package update to 1.1.367 (#277)d337bcf
[pyright updated to 1.1.366] Update Version (#276)Updates
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...Most Recent Ignore Conditions Applied to This Pull Request
| Dependency Name | Ignore Conditions | | --- | --- | | hypothesis | [>= 6.82.a, < 6.83] | | hypothesis | [>= 6.81.a, < 6.82] | | hypothesis | [>= 6.80.a, < 6.81] | | coverage | [>= 7.3.a, < 7.4] | | hypothesis | [>= 6.84.a, < 6.85] | | hypothesis | [>= 6.83.a, < 6.84] | | hypothesis | [>= 6.86.a, < 6.87] | | hypothesis | [>= 6.87.a, < 6.88] | | hypothesis | [>= 6.85.a, < 6.86] | | hypothesis | [>= 6.88.a, < 6.89] | | hypothesis | [>= 6.91.a, < 6.92] |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