[#405](https://github.com/pytest-dev/pluggy/issues/405) <https://github.com/pytest-dev/pluggy/issues/405>_: The new-style hook wrappers, added in the yanked 1.1.0 release, now require an explicit wrapper=True designation in the @hookimpl() decorator.
pluggy 1.1.0 (YANKED)
.. note::
This release was yanked because unfortunately the implicit new-style hook wrappers broke some downstream projects.
See [#403](https://github.com/pytest-dev/pluggy/issues/403) <https://github.com/pytest-dev/pluggy/issues/403>__ for more information.
This was rectified in the 1.2.0 release.
Deprecations and Removals
[#364](https://github.com/pytest-dev/pluggy/issues/364) <https://github.com/pytest-dev/pluggy/issues/364>_: Python 3.6 is no longer supported.
Features
[#260](https://github.com/pytest-dev/pluggy/issues/260) <https://github.com/pytest-dev/pluggy/issues/260>_: Added "new-style" hook wrappers, a simpler but equally powerful alternative to the existing hookwrapper=True wrappers.
New-style wrappers are generator functions, similarly to hookwrapper, but do away with the :class:result <pluggy._callers._Result> object.
Instead, the return value is sent directly to the yield statement, or, if inner calls raised an exception, it is raised from the yield.
The wrapper is expected to return a value or raise an exception, which will become the result of the hook call.
New-style wrappers are fully interoperable with old-style wrappers.
We encourage users to use the new style, however we do not intend to deprecate the old style any time soon.
See :ref:hookwrappers for the full documentation.
[#364](https://github.com/pytest-dev/pluggy/issues/364) <https://github.com/pytest-dev/pluggy/issues/364>_: Python 3.11 and 3.12 are now officially supported.
[#394](https://github.com/pytest-dev/pluggy/issues/394) <https://github.com/pytest-dev/pluggy/issues/394>_: Added the :meth:~pluggy._callers._Result.force_exception method to _Result.
force_exception allows (old-style) hookwrappers to force an exception or override/adjust an existing exception of a hook invocation,
in a properly behaving manner. Using force_exception is preferred over raising an exception from the hookwrapper,
because raising an exception causes other hookwrappers to be skipped.
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 ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps pluggy from 1.0.0 to 1.2.0.
Changelog
Sourced from pluggy's changelog.
Commits
9060a4e
Preparing release 1.2.0926084e
Merge pull request #379 from vitek/spec-conflict8103269
Merge pull request #411 from bluetech/new-style-v23f9f622
Merge pull request #408 from bluetech/releasing-pre-teste241aed
Make new-style wrappers use explicitwrapper=True
165c4a7
Merge pull request #410 from bluetech/rm-subset-slotsfea9daa
Merge pull request #409 from bluetech/pm-no-slotsb56b4c3
hooks: remove a couple of unnecessary slots from_SubsetHookCaller
2e2a040
Add scripts for downstream testing4cfc676
Merge pull request #407 from pytest-dev/pre-commit-ci-update-configDependabot 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 ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)