#12334: Support for Python 3.13 (beta1 at the time of writing).
Bug Fixes
#12120: Fix [PermissionError]{.title-ref} crashes arising from directories which are not selected on the command-line.
#12191: Keyboard interrupts and system exits are now properly handled during the test collection.
#12300: Fixed handling of 'Function not implemented' error under squashfuse_ll, which is a different way to say that the mountpoint is read-only.
#12308: Fix a regression in pytest 8.2.0 where the permissions of automatically-created .pytest_cache directories became rwx------ instead of the expected rwxr-xr-x.
Trivial/Internal Changes
#12333: pytest releases are now attested using the recent Artifact Attestation support from GitHub, allowing users to verify the provenance of pytest's sdist and wheel artifacts.
8.2.0
pytest 8.2.0 (2024-04-27)
Deprecations
#12069: A deprecation warning is now raised when implementations of one of the following hooks request a deprecated py.path.local parameter instead of the pathlib.Path parameter which replaced it:
pytest_ignore_collect{.interpreted-text role="hook"} - the path parameter - use collection_path instead.
pytest_collect_file{.interpreted-text role="hook"} - the path parameter - use file_path instead.
pytest_pycollect_makemodule{.interpreted-text role="hook"} - the path parameter - use module_path instead.
pytest_report_header{.interpreted-text role="hook"} - the startdir parameter - use start_path instead.
pytest_report_collectionfinish{.interpreted-text role="hook"} - the startdir parameter - use start_path instead.
The replacement parameters are available since pytest 7.0.0.
The old parameters will be removed in pytest 9.0.0.
See legacy-path-hooks-deprecated{.interpreted-text role="ref"} for more details.
Features
#11871: Added support for reading command line arguments from a file using the prefix character @, like e.g.: pytest @tests.txt. The file must have one argument per line.
See Read arguments from file <args-from-file>{.interpreted-text role="ref"} for details.
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:
Depend on mkdocstrings 0.25 which adds support for parameter once when logging messages (2bc156b by Timothée Mazzucotelli).
Code Refactoring
Set handler's name (a71ab12 by Timothée Mazzucotelli).
Update *.html top-level templates to extend the *.html.jinja base templates (a8c540e by Timothée Mazzucotelli). Issue-151
Update *.html base templates to extend their *.html.jinja counterpart, while overriding the logs block to issue a logging message (info) stating that extending *.html templates is deprecated (e6f1b9c by Timothée Mazzucotelli). Issue-151
Add *.html.jinja top-level (overridable) templates, extending their base counterpart (7c14924 by Timothée Mazzucotelli). Issue-151
Add *.html.jinja base templates, which are copies of *.html templates, with an additional logs block, and using the updated get_template filter (eced9a5 by Timothée Mazzucotelli). Issue-151
Update get_template filter to support both *.html and *.html.jinja templates, logging a message (info) when *.html templates are overridden by users (3546fd7 by Timothée Mazzucotelli). Issue-151
Log a warning when base templates are overridden (26e3d66 by Timothée Mazzucotelli). Issue-151
Depend on mkdocstrings 0.25 which adds support for parameter once when logging messages (2bc156b by Timothée Mazzucotelli).
Code Refactoring
Set handler's name (a71ab12 by Timothée Mazzucotelli).
Update *.html top-level templates to extend the *.html.jinja base templates (a8c540e by Timothée Mazzucotelli). Issue-151
Update *.html base templates to extend their *.html.jinja counterpart, while overriding the logs block to issue a logging message (info) stating that extending *.html templates is deprecated (e6f1b9c by Timothée Mazzucotelli). Issue-151
Add *.html.jinja top-level (overridable) templates, extending their base counterpart (7c14924 by Timothée Mazzucotelli). Issue-151
Add *.html.jinja base templates, which are copies of *.html templates, with an additional logs block, and using the updated get_template filter (eced9a5 by Timothée Mazzucotelli). Issue-151
Update get_template filter to support both *.html and *.html.jinja templates, logging a message (info) when *.html templates are overridden by users (3546fd7 by Timothée Mazzucotelli). Issue-151
Log a warning when base templates are overridden (26e3d66 by Timothée Mazzucotelli). Issue-151
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 dev group with 7 updates in the / directory:
8.1.1
8.2.1
3.1.0
3.2.2
24.4.0
24.4.2
9.5.17
9.5.18
1.9.0
1.10.0
0.24.3
0.25.1
1.9.2
1.10.3
Updates
pytest
from 8.1.1 to 8.2.1Release notes
Sourced from pytest's releases.
... (truncated)
Commits
66ff8df
Prepare release version 8.2.13ffcfd1
Merge pull request #12340 from pytest-dev/backport-12334-to-8.2.x0b28313
[8.2.x] Add Python 3.13 (beta) supportf3dd93a
[8.2.x] Attest package provenance (#12335)bb5a125
[8.2.x] Spelling (#12331)f179bf2
Merge pull request #12327 from pytest-dev/backport-12325-to-8.2.x2b671b5
[8.2.x] cacheprovider: fix.pytest_cache
not being world-readable65ab7cb
Merge pull request #12324 from pytest-dev/backport-12320-to-8.2.x4d5fb7d
Merge pull request #12319 from pytest-dev/backport-12311-to-8.2.xcbe5996
[8.2.x] changelog: document unittest 8.2 change as breakingUpdates
pylint
from 3.1.0 to 3.2.2Commits
769ffd2
Bump pylint to 3.2.2, update changelog (#9658)98c5af9
Fix false-positive with contextmanager missing cleanup (#9654) (#9657)9a9db8f
Update astroid to 3.2.2 (#9655) (#9656)9223172
Bump pylint to 3.2.1, update changelog926547b
[trailing-comma-tuple] Fix enabling with message control locally when disable...1498675
Fix linterstats.get_module_message_count() (#9146) (#9648)aed496a
Fix FP forpossibly-used-before-assignment
withassert_never()
(#9645) (#...9dae975
[Backport maintenance/3.2.x] Add--prefer-stubs=y
option (#9646)a03ceae
Add--prefer-stubs=y
option (#9632)b2ea316
[Backport maintenance/3.2.x] Don't emit incorrect-variance for type parameter...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
mkdocs-material
from 9.5.17 to 9.5.18Release notes
Sourced from mkdocs-material's releases.
Changelog
Sourced from mkdocs-material's changelog.
... (truncated)
Commits
3b592ab
Prepare 9.5.18 releasef028004
Merge pull request #7045 from squidfunk/refactor/tooltip-positioning29658ed
Merge branch 'master' into refactor/tooltip-positioning851e5bb
Fixed rendering glitch when hovering contributor avatar599193e
Fixed overly long tooltipse15518c
Refactored tooltips4eb1a43
Added missing CSS for highlight fix5707773
Updated dependencies9d33f8a
Fixed highlighted lines in code blocks being cutoff on mobilecd08611
Updated dependenciesUpdates
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
mkdocstrings
from 0.24.3 to 0.25.1Release notes
Sourced from mkdocstrings's releases.
Changelog
Sourced from mkdocstrings's changelog.
Commits
e135869
chore: Prepare release 0.25.1cb86e08
fix: Always descend into sub-headings when re-applying their labela86ca7d
docs: Customize parameters color in ToCbc25b6a
docs: Remove requirements link in readme87d8229
chore: Prepare release 0.25.0c5b5f69
refactor: Allow specifying name of template loggers7ff1681
docs: Enable parameter headings253d215
docs: Load inventories for MkDocs and Markdown1532b59
feat: Supportonce
parameter in logging methods, allowing to log a message ...d799d2f
feat: Support blank line between::: path
and YAML optionsUpdates
mkdocstrings-python
from 1.9.2 to 1.10.3Release notes
Sourced from mkdocstrings-python's releases.
Changelog
Sourced from mkdocstrings-python's changelog.
Commits
9c7e304
chore: Prepare release 1.10.364df00b
fix: Don't crash when rendering the source of an object whose lineno is none0b8a3a9
chore: Prepare release 1.10.25668abb
fix: Actually make use of custom .html.jinja templatesf7705ce
chore: Prepare release 1.10.16885009
ci: Remove unused type ignore comment5253358
docs: CorrectPrintOK
doctest examples583b8fe
docs: Document Jinja templatese7f997b
docs: Enable parameter headingscfdccd3
docs: Load Python-Markdown objects inventoryDependabot 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