#11895: Fix collection on Windows where initial paths contain the short version of a path (for example c:\PROGRA~1\tests).
#11953: Fix an IndexError crash raising from getstatementrange_ast.
#12021: Reverted a fix to [--maxfail]{.title-ref} handling in pytest 8.0.0 because it caused a regression in pytest-xdist whereby session fixture teardowns may get executed multiple times when the max-fails is reached.
8.0.1
pytest 8.0.1 (2024-02-16)
Bug Fixes
#11875: Correctly handle errors from getpass.getuser{.interpreted-text role="func"} in Python 3.13.
#11879: Fix an edge case where ExceptionInfo._stringify_exception could crash pytest.raises{.interpreted-text role="func"}.
#11906: Fix regression with pytest.warns{.interpreted-text role="func"} using custom warning subclasses which have more than one parameter in their [__init__]{.title-ref}.
#11907: Fix a regression in pytest 8.0.0 whereby calling pytest.skip{.interpreted-text role="func"} and similar control-flow exceptions within a pytest.warns(){.interpreted-text role="func"} block would get suppressed instead of propagating.
#11929: Fix a regression in pytest 8.0.0 whereby autouse fixtures defined in a module get ignored by the doctests in the module.
#11937: Fix a regression in pytest 8.0.0 whereby items would be collected in reverse order in some circumstances.
pytest 8.0.0 (2024-01-27)
See 8.0.0rc1 and 8.0.0rc2 for the full changes since pytest 7.4!
Bug Fixes
#11842: Properly escape the reason of a skip <pytest.mark.skip ref>{.interpreted-text role="ref"} mark when writing JUnit XML files.
#11861: Avoid microsecond exceeds 1_000_000 when using log-date-format with %f specifier, which might cause the test suite to crash.
8.0.0rc2
pytest 8.0.0rc2 (2024-01-17)
Improvements
#11233: Improvements to -r for xfailures and xpasses:
Report tracebacks for xfailures when -rx is set.
Report captured output for xpasses when -rX is set.
For xpasses, add - in summary between test name and reason, to match how xfail is displayed.
#11825: The pytest_plugin_registered{.interpreted-text role="hook"} hook has a new plugin_name parameter containing the name by which plugin is registered.
Bug Fixes
#11706: Fix reporting of teardown errors in higher-scoped fixtures when using [--maxfail]{.title-ref} or [--stepwise]{.title-ref}.
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)
We are planning to enable
local partial types (enabled via the
--local-partial-types flag) later this year by default. This change
was announced years ago, but now it's finally happening. This is a
major backward-incompatible change, so we'll probably include it as
part of the upcoming mypy 2.0 release. This makes daemon and
non-daemon mypy runs have the same behavior by default.
Local partial types can also be enabled in the mypy config file:
local_partial_types = True
We are looking at providing a tool to make it easier to migrate
projects to use --local-partial-types, but it's not yet clear whether
this is practical. The migration usually involves adding some
explicit type annotations to module-level and class-level variables.
Basic Support for Type Parameter Defaults (PEP 696)
This release contains new experimental support for type parameter
defaults (PEP 696). Please try it
out! This feature was contributed by Marc Mueller.
Since this feature will be officially introduced in the next Python
feature release (3.13), you will need to import TypeVar, ParamSpec
or TypeVarTuple from typing_extensions to use defaults for now.
This example adapted from the PEP defines a default for BotT:
from typing import Generic
from typing_extensions import TypeVar
Fixed a bug where comments where mistakenly removed along with redundant parentheses
(#4218)
Preview style
Move the hug_parens_with_braces_and_square_brackets feature to the unstable style
due to an outstanding crash and proposed formatting tweaks (#4198)
Fixed a bug where base expressions caused inconsistent formatting of ** in tenary
expression (#4154)
Checking for newline before adding one on docstring that is almost at the line limit
(#4185)
Remove redundant parentheses in case statement if guards (#4214).
Configuration
Fix issue where Black would ignore input files in the presence of symlinks (#4222)
Black now ignores pyproject.toml that is missing a tool.black section when
discovering project root and configuration. Since Black continues to use version
control as an indicator of project root, this is expected to primarily change behavior
for users in a monorepo setup (desirably). If you wish to preserve previous behavior,
simply add an empty [tool.black] to the previously discovered pyproject.toml
(#4204)
Output
Black will swallow any SyntaxWarnings or DeprecationWarnings produced by the ast
module when performing equivalence checks (#4189)
Integrations
Add a JSONSchema and provide a validate-pyproject entry-point (#4181)
24.1.1
Bugfix release to fix a bug that made Black unusable on certain file systems
with strict limits on path length.
Preview style
Consistently add trailing comma on typed parameters (#4164)
Configuration
Shorten the length of the name of the cache file to fix crashes on file systems that
do not support long paths (#4176)
Fixed a bug where comments where mistakenly removed along with redundant parentheses
(#4218)
Preview style
Move the hug_parens_with_braces_and_square_brackets feature to the unstable style
due to an outstanding crash and proposed formatting tweaks (#4198)
Fixed a bug where base expressions caused inconsistent formatting of ** in tenary
expression (#4154)
Checking for newline before adding one on docstring that is almost at the line limit
(#4185)
Remove redundant parentheses in case statement if guards (#4214).
Configuration
Fix issue where Black would ignore input files in the presence of symlinks (#4222)
Black now ignores pyproject.toml that is missing a tool.black section when
discovering project root and configuration. Since Black continues to use version
control as an indicator of project root, this is expected to primarily change behavior
for users in a monorepo setup (desirably). If you wish to preserve previous behavior,
simply add an empty [tool.black] to the previously discovered pyproject.toml
(#4204)
Output
Black will swallow any SyntaxWarnings or DeprecationWarnings produced by the ast
module when performing equivalence checks (#4189)
Integrations
Add a JSONSchema and provide a validate-pyproject entry-point (#4181)
24.1.1
Bugfix release to fix a bug that made Black unusable on certain file systems with strict
limits on path length.
Preview style
Consistently add trailing comma on typed parameters (#4164)
Configuration
Shorten the length of the name of the cache file to fix crashes on file systems that
do not support long paths (#4176)
- Fix crash with fresh subprocess, if the build backend is setuptools automatically enable fresh subprocesses for
build backend calls - by :user:`gaborbernat`. (:issue:`3235`)
v4.14.0 (2024-03-05)
Features - 4.14.0
Support enabling fresh subprocess for packaging build backends via :ref:fresh_subprocess - by :user:gaborbernat. (:issue:3227)
Allow plugins attaching additional information to --version via tox_append_version_info method in the plugin
module - by :user:gaborbernat. (:issue:3234)
v4.13.0 (2024-02-16)
Features - 4.13.0
- Extract virtual environment packaging code to its own base class not tied to ``virtualenv`` - by :user:`gaborbernat`. (:issue:`3221`)
Improved Documentation - 4.13.0
Documented usage of pytest with tox run-parallel - by :user:faph. (:issue:3187)
Configuration: state in config directive sections their ini file sections - by :user:0cjs. (:issue:3194)
Development: summarize important points experienced developers need to know - by :user:0cjs. (:issue:3197)
v4.12.1 (2024-01-16)
Bugfixes - 4.12.1
- Fixed bug where running with --installpkg and multiple envs could not clean up between tests (:issue:`3165`)
v4.12.0 (2024-01-11)
Features - 4.12.0
Always pass FORCE_COLOR and NO_COLOR to the environment (:issue:3171)
Bugfixes - 4.12.0
- ``--parallel-no-spinner`` flag now implies ``--parallel`` (:issue:`3158`)
Removed setup.py, moved to pyproject.toml based build supported by PDM
Add updated model EMA impl using _for_each for less overhead
Support device args in train script for non GPU devices
Other misc fixes and small additions
Min supported Python version increased to 3.8
Release 0.9.16
Jan 8, 2024
Datasets & transform refactoring
HuggingFace streaming (iterable) dataset support (--dataset hfids:org/dataset)
Webdataset wrapper tweaks for improved split info fetching, can auto fetch splits from supported HF hub webdataset
Tested HF datasets and webdataset wrapper streaming from HF hub with recent timm ImageNet uploads to https://huggingface.co/timm
Make input & target column/field keys consistent across datasets and pass via args
Full monochrome support when using e:g: --input-size 1 224 224 or --in-chans 1, sets PIL image conversion appropriately in dataset
Improved several alternate crop & resize transforms (ResizeKeepRatio, RandomCropOrPad, etc) for use in PixParse document AI project
Add SimCLR style color jitter prob along with grayscale and gaussian blur options to augmentations and args
Allow train without validation set (--val-split '') in train script
Add --bce-sum (sum over class dim) and --bce-pos-weight (positive weighting) args for training as they're common BCE loss tweaks I was often hard coding
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
Updates the requirements on pytest, mypy, black, ruff, tox, pre-commit and timm to permit the latest version. Updates
pytest
from 7.4.4 to 8.0.2Release notes
Sourced from pytest's releases.
... (truncated)
Commits
31afeeb
Prepare release version 8.0.21b00a2f
Merge pull request #12025 from pytest-dev/backport-12022-to-8.0.xff2f66d
[8.0.x] Revert "Fix teardown error reporting when--maxfail=1
(#11721)"8a8eed6
[8.0.x] Fix collection of short paths on Windows (#12024)74346f0
[8.0.x] Allow Sphinx 7.x (#12005)b7657b4
[8.0.x] Disallow Sphinx 6 and 7 (#12001)feb7c5e
Merge pull request #11999 from pytest-dev/backport-11996-to-8.0.x0909655
[8.0.x] code: fixIndexError
crash ingetstatementrange_ast
68524d4
Merge pull request #11993 from pytest-dev/release-8.0.1d7d320a
Prepare release version 8.0.1Updates
mypy
from 1.8.0 to 1.9.0Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
5ff46f8
Remove +dev.155909a
[Release 1.9] Unsupport targetting 3.7. (#16883) (#16900)6615cab
[Release 1.9] Stubtest: ignore a new protocol dunder (#16895) (#16899)b956e6a
stubtest: Private parameters can be omitted (#16507)ede0b20
Bump ruff to 0.2.0 (#16870)7bdd61f
stubgen: Fix crash on star unpack of TypeVarTuple (#16869)8c2ef9d
Update hashes in sync-typeshed.py following recent typeshed sync0dd4b6f
Revert use ofParamSpec
forfunctools.wraps
dd12a2d
Revert typeshed ctypes changed132999
Revert sum literal integer change (#13961)Updates
black
from 23.12.1 to 24.2.0Release notes
Sourced from black's releases.
... (truncated)
Changelog
Sourced from black's changelog.
... (truncated)
Commits
6fdf8a4
Prepare release 24.2.0 (#4226)8af4394
fix: Don't remove comments along with parens (#4218)35e9776
Bump pre-commit/action from 3.0.0 to 3.0.1 (#4225)23dfc5b
Fix ignoring input files for symlink reasons (#4222)a201003
Simplify check for symlinks that resolve outside root (#4221)dab37a6
Remove redundant parentheses incase
statementif
guards (#4214)32230e6
fix: bug where the doublestar operation had inconsistent formatting. (#4154)7edb50f
fix: additional newline added to docstring when the previous line length is l...3e80de3
Bump furo from 2023.9.10 to 2024.1.29 in /docs (#4211)a08b480
Bump pypa/cibuildwheel from 2.16.4 to 2.16.5 (#4212)Updates
ruff
from 0.1.13 to 0.3.1Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
b9264a5
Set maturin version inrelease.yaml
(#10257)ea79f61
Bump version to v0.3.1 (#10252)f999b1b
TweakE712
docs (#8613)fe6afbe
Fixruff-action
documentation to consistently useargs
instead of `option...cbd927f
Make rule PT012 example clearer (#10248)6159a8e
[pyupgrade
] Generate diagnostic for all valid f-string conversions regardle...8ea5b08
refactor: UseQualifiedName
forImported::call_path
(#10214)4c05c25
Add encoding when opening files in generate_mkdocs.py (#10244)af6ea2f
[pycodestyle
]: Make blank lines in typing stub files optional (E3*
) (#10098)46ab9de
[pycodestyle
] Respectisort
settings in blank line rules (E3*
) (#10096)Updates
tox
to 4.14.1Release notes
Sourced from tox's releases.
Changelog
Sourced from tox's changelog.
... (truncated)
Commits
acbef2d
release 4.14.1969fbec
Fix fresh subprocesses and allow duplicate register config calls for the core...d37cb08
release 4.14.05356d96
Allow plugins to attach data to --version (#3234)717e27f
Support fresh subprocess for build backends (#3233)0fd872d
Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.12 (#3230)ed447c4
Fix linkcheck failing (#3229)57783e3
[pre-commit.ci] pre-commit autoupdate (#3226)c024fe2
Fix issue/PR number in 4.13.0 changelogae156e2
release 4.13.0Updates
pre-commit
to 3.6.2Release notes
Sourced from pre-commit's releases.
Changelog
Sourced from pre-commit's changelog.
... (truncated)
Commits
e525726
v3.6.23187538
Merge pull request #3130 from pre-commit/golang-build-during-commit-a61d9c95
fix building golang hooks duringcommit --all
15bd0c7
v3.6.192678c3
Merge pull request #3126 from pre-commit/crlf-only-diff032d8e2
staged_files_only can handle a crlf-only diff7384838
Merge pull request #3110 from untitaker/pythonexecutable96e0712
[pre-commit.ci] auto fixes from pre-commit.com hooks3388e2d
Pop PYTHONEXECUTABLE10f8853
Merge pull request #3107 from pre-commit/pre-commit-ci-update-configUpdates
timm
from 0.9.12 to 0.9.16Release notes
Sourced from timm's releases.
Commits
6e6f368
Update README.md49992b0
Update version.py79f2ce9
Update changes.md9926be4
Update README.md3df4ffe
Delete requirements-docs.txt155b32a
Merge pull request #2096 from huggingface/pyproject_pdm35d6eef
Version bump, add test markers back to toml01616aa
Remove setup.py, replace with pyproject.toml and pdm helpers8a713b0
Merge branch 'seefun-master'31e0dc0
Tweak hgnet before mergeDependabot 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