[#463](https://github.com/pytest-dev/pluggy/issues/463) <https://github.com/pytest-dev/pluggy/issues/463>_: A warning :class:~pluggy.PluggyTeardownRaisedWarning is now issued when an old-style hookwrapper raises an exception during teardown.
See the warning documentation for more details.
[#471](https://github.com/pytest-dev/pluggy/issues/471) <https://github.com/pytest-dev/pluggy/issues/471>_: Add :func:PluginManager.unblock <pluggy.PluginManager.unblock> method to unblock a plugin by plugin name.
Bug Fixes
[#441](https://github.com/pytest-dev/pluggy/issues/441) <https://github.com/pytest-dev/pluggy/issues/441>_: Fix :func:~pluggy.HookCaller.call_extra() extra methods getting ordered before everything else in some circumstances. Regressed in pluggy 1.1.0.
[#438](https://github.com/pytest-dev/pluggy/issues/438) <https://github.com/pytest-dev/pluggy/issues/438>_: Fix plugins registering other plugins in a hook when the other plugins implement the same hook itself. Regressed in pluggy 1.1.0.
Use positional-only self in BaseModel constructor, so no field name can ever conflict with it by @ariebovenberg in #8072
Make @validate_call return a function instead of a custom descriptor - fixes binding issue with inheritance and adds self/cls argument to validation errors by @alexmojaki in #8268
Exclude BaseModel docstring from JSON schema description by @sydney-runkle in #8352
Introducing classproperty decorator for model_computed_fields by @Jocelyn-Gas in #8437
Explicitly raise an error if field names clashes with types by @Viicos in #8243
Use positional-only self in BaseModel constructor, so no field name can ever conflict with it by @ariebovenberg in #8072
Make @validate_call return a function instead of a custom descriptor - fixes binding issue with inheritance and adds self/cls argument to validation errors by @alexmojaki in #8268
Exclude BaseModel docstring from JSON schema description by @sydney-runkle in #8352
Introducing classproperty decorator for model_computed_fields by @Jocelyn-Gas in #8437
Explicitly raise an error if field names clashes with types by @Viicos in #8243
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}.
#11758: Fixed IndexError: string index out of range crash in if highlighted[-1] == "\n" and source[-1] != "\n".
This bug was introduced in pytest 8.0.0rc1.
#9765, #11816: Fixed a frustrating bug that afflicted some users with the only error being assert mod not in mods. The issue was caused by the fact that str(Path(mod)) and mod.__file__ don't necessarily produce the same string, and was being erroneously used interchangably in some places in the code.
This fix also broke the internal API of PytestPluginManager.consider_conftest by introducing a new parameter -- we mention this in case it is being used by external code, even if marked as private.
#7363: PytestRemovedIn8Warning deprecation warnings are now errors by default.
Following our plan to remove deprecated features with as little disruption as possible, all warnings of type PytestRemovedIn8Warning now generate errors instead of warning messages by default.
The affected features will be effectively removed in pytest 8.1, so please consult the deprecations{.interpreted-text role="ref"} section in the docs for directions on how to update existing code.
In the pytest 8.0.X series, it is possible to change the errors back into warnings as a stopgap measure by adding this to your pytest.ini file:
Bumps the dev-dependencies group with 11 updates:
4.12.2
4.12.3
2023.11.17
2024.2.2
4.1.0
4.2.0
1.3.0
1.4.0
3.0.36
3.0.43
2.5.3
2.6.0
2.14.6
2.16.1
7.4.4
8.0.0
0.1.14
0.2.0
3.28.0
4.12.1
2.1.0
2.2.0
Updates
beautifulsoup4
from 4.12.2 to 4.12.3Updates
certifi
from 2023.11.17 to 2024.2.2Commits
45eb611
2024.02.02 (#266)83f4f04
fix leaking certificate issue (#265)bbf2208
Bump actions/upload-artifact from 4.2.0 to 4.3.0 (#264)9e837a5
Bump actions/upload-artifact from 4.1.0 to 4.2.0 (#262)05d071b
Bump actions/upload-artifact from 4.0.0 to 4.1.0 (#261)2a3088a
Bump actions/download-artifact from 4.1.0 to 4.1.1 (#260)d4ca66e
Bump actions/upload-artifact from 3.1.3 to 4.0.0 (#258)5d15663
Bump actions/download-artifact from 3.0.2 to 4.1.0 (#257)d66ef9d
Bump actions/setup-python from 4.7.1 to 5.0.0 (#256)8f0d412
Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 (#255)Updates
platformdirs
from 4.1.0 to 4.2.0Release notes
Sourced from platformdirs's releases.
Changelog
Sourced from platformdirs's changelog.
Commits
bc4d114
Add convenience methods toPlatformDirsAPI
that allow iterating over both u...0d8beea
[pre-commit.ci] pre-commit autoupdate (#260)0dcc051
[pre-commit.ci] pre-commit autoupdate (#257)3ce2035
Fix 2 typos about XDG_DATA_DIR (#256)783376b
[pre-commit.ci] pre-commit autoupdate (#255)f86cfb8
[pre-commit.ci] pre-commit autoupdate (#254)5cbfd8d
[pre-commit.ci] pre-commit autoupdate (#253)9f684a6
[pre-commit.ci] pre-commit autoupdate (#251)1db2522
Bump actions/setup-python from 4 to 5 (#248)4b68392
[pre-commit.ci] pre-commit autoupdate (#247)Updates
pluggy
from 1.3.0 to 1.4.0Changelog
Sourced from pluggy's changelog.
Commits
2efd28e
Preparing release 1.4.0ebeb2f2
Merge pull request #471 from bluetech/unblock3a28b4d
Merge pull request #464 from bluetech/hookwrapper-teardown-warning4331b7a
Merge pull request #473 from bluetech/iterator-invalidation7aef3e6
hooks: fix plugins registering other plugins in a hookcc36605
Merge pull request #472 from bluetech/call-extra-ordering-fix443fee6
hooks: fixcall_extra
extra methods getting ordered before everything else4577b45
hooks: add comment describing_hookimpls
's format/invariants.13b3661
AddPluginManager.unblock
method to unblock a name4b5b2d4
CHANGELOG: fix errors in 1.0.0 entryUpdates
prompt-toolkit
from 3.0.36 to 3.0.43Release notes
Sourced from prompt-toolkit's releases.
Changelog
Sourced from prompt-toolkit's changelog.
... (truncated)
Commits
4432d62
Release 3.0.436a24c99
Fix for pypy: don't use pythonapi on pypy.1c6d094
Use Coroutine instead of Awaitable in type annotations where possible.87d0107
Release 3.0.426a4e6dd
Fix example for progress bar with custom iterablebe4ccdf
Restore signal.SIGINT handler between prompts6e4ca6e
Disable workaround for ipython >= 8.18e2e75c0
Make formatted_text.split_lines accept an iterable (type annotation only).55cde3e
Fix line wrapping inpatch_stdout
on Windows.857af14
Code formatting fixes.Updates
pydantic
from 2.5.3 to 2.6.0Release notes
Sourced from pydantic's releases.
... (truncated)
Changelog
Sourced from pydantic's changelog.
... (truncated)
Commits
3257fa3
Use pydantic-settings 2.1 docs (#8636)3e87125
Prep for 2.6 release (#8612)b2aa36a
Tweak ordering of definitions in generated schemas (#8583)5d6840f
Add examples forfunctional_serializers
in API docs (#8546)e131d53
Prep for 2.6.0b1 Release (#8589)a2a4281
Add support for dataclass fields init (#8552)48d0df4
Fix ordering bug of PlainValidator annotation #8512 (#8567)8e9b107
Bumppydantic-core
to 2.16.1, various other bumps (#8578)2171b20
Refactor signature generation for simplicity (#8572)8060fa1
Add eval_type_backport to handle union operator and builtin generic subscript...Updates
pydantic-core
from 2.14.6 to 2.16.1Release notes
Sourced from pydantic-core's releases.
... (truncated)
Commits
4538190
Uprev core to 2.16.1 (#1167)7a5f8e6
Ensure recursion guard is always used as a stack (#1166)4da7192
uprev to jiter v0.0.6, uprev pydantic-core (#1165)29c5419
Add support for dataclass fields init (#1163)5a1385b
dataclass serialization speedups (#1162)e1cb0eb
improve performance of recursion guard (#1156)d7cf72d
Int extraction (#1155)5d3aa43
correct build-profiling make command (#1160)5791667
Bump serde from 1.0.193 to 1.0.195 (#1150)545f8c3
Bump pyo3-build-config from 0.20.1 to 0.20.2 (#1151)Updates
pytest
from 7.4.4 to 8.0.0Release notes
Sourced from pytest's releases.
... (truncated)
Commits
478f823
Prepare release version 8.0.06085900
[8.0.x] fix: avoid rounding microsecond to1_000_000
(#11863)3b41c65
[8.0.x] Escape skip reason in junitxml (#11845)747072a
[8.0.x] Update docstring of scripts/generate-gh-release-notes.py (#11768)011a475
Properly attach packages to the GH release notes (#11839) (#11840)97960bd
Merge pull request #11835 from pytest-dev/release-8.0.0rc26be0a3c
Prepare release version 8.0.0rc244ffe07
Merge pull request #11837 from pytest-dev/backport-11836-to-8.0.x14ecb04
[8.0.x] testing: temporarily disable test due to hypothesis issue41c8dab
Merge pull request #11831 from bluetech/backport-11825-to-8.0.xUpdates
ruff
from 0.1.14 to 0.2.0Release notes
Sourced from ruff's releases.
... (truncated)
Changelog
Sourced from ruff's changelog.
... (truncated)
Commits
1fadefa
Bump version to 0.2.0 (#9762)06ad687
Deduplicate deprecation warnings for v0.2.0 release (#9764)Looks like these dependencies are updatable in another way, so this is no longer needed.