Skip to content

Update wrapt requirement from >=1.0.0 to >=2.2.2#768

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/wrapt-gte-2.2.2
Open

Update wrapt requirement from >=1.0.0 to >=2.2.2#768
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/wrapt-gte-2.2.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 22, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on wrapt to permit the latest version.

Release notes

Sourced from wrapt's releases.

wrapt 2.2.2

Full release notes: https://wrapt.readthedocs.io/en/latest/changes.html#version-2-2-2

Install from PyPi (recommended):

pip install wrapt==2.2.2

PyPi uploads follow each GitHub release; if pip reports the version is unavailable, the matching PyPi upload may not have happened yet.

Pre-built wheels are provided for a range of Python versions and platforms (Linux x86_64/aarch64/riscv64, macOS x86_64 and arm64, Windows x86_64 and arm64, plus PyPy and free-threaded builds). The source distribution is also attached together with SHA256SUMS for verification.

Changelog

Sourced from wrapt's changelog.

Version 2.2.2

Bugs Fixed

  • When @wrapt.lru_cache was applied to an instance method that was overridden in a subclass, and the subclass method called the base class method via super(), a RecursionError was raised instead of the base class method being invoked. The per-instance cache for each method was stored as an attribute on the instance whose name was derived only from the method __name__, so the base and derived methods shared a single cache slot. The subclass cache was therefore found again when the base method was reached through super(), re-entering the subclass body and recursing without end. The cache attribute name now incorporates a unique identifier for each decorated method so that a base method and a method that overrides it use distinct per-instance caches. With thanks to the reporter of issue [#342](https://github.com/GrahamDumpleton/wrapt/issues/342) <https://github.com/GrahamDumpleton/wrapt/issues/342>_.

  • When @wrapt.lru_cache was applied to a method of a class deriving from wrapt.ObjectProxy, the per-instance cache was stored on the wrapped object rather than on the proxy. This is because the proxy __setattr__ forwards attribute assignment to the wrapped object for any name that is not a recognised proxy attribute, and the cache attribute name was not one. Storing the cache on the wrapped object had several consequences: the wrapped object was polluted with cache attributes it never defined; the cache held a reference back to the proxy through the bound method it wrapped, so a wrapped object that outlived the proxy kept the proxy alive and prevented its collection; wrapping an object that does not accept arbitrary attributes, such as one using __slots__, caused the first cached call to fail with an AttributeError; and two proxies sharing a single wrapped object shared one cache and could return results computed for the wrong proxy. The cache attribute is now stored on the proxy itself using the proxy __self_setattr__ method when the instance is a wrapt object proxy, falling back to setattr for ordinary instances.

Version 2.2.1

Bugs Fixed

  • Reverted the change in 2.2.0 which had aligned the C implementation of FunctionWrapper.__get__ with the pure Python implementation by substituting Py_None for NULL before invoking the wrapped descriptor's __get__ slot. The change was based on a misreading of what the pure Python path does once it crosses back into C. The pure Python path calls self.__wrapped__.__get__(None, owner) from Python, and for any built-in descriptor that call is dispatched through the __get__ slot wrapper inside CPython, which converts Py_None back to NULL before the wrapped descriptor's tp_descr_get is invoked.

... (truncated)

Commits
  • 0ae09fd Merge branch 'release/2.2.2'
  • 86db7a9 Update to 2.2.2 for final release.
  • 6deda43 Update to 2.2.2rc3.
  • 9c48a1e Constrain lru_cache proxy detection to BaseObjectProxy subclasses.
  • 4053838 Update version to 2.2.2rc2.
  • 99bf4ef Store lru_cache per-instance cache on object proxy not wrapped object.
  • 0e862fb Document pickling instances with lru_cache decorated methods.
  • 73dca57 Add lru_cache tests for overridden methods calling super().
  • beead5c Fix lru_cache recursion for overridden methods calling super().
  • fbf2fc1 Document pure Python failure mode for ObjectProxy + ABCMeta mixin.
  • Additional commits viewable in compare view

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 show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @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)

Updates the requirements on [wrapt](https://github.com/GrahamDumpleton/wrapt) to permit the latest version.
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](GrahamDumpleton/wrapt@1.0.0...2.2.2)

---
updated-dependencies:
- dependency-name: wrapt
  dependency-version: 2.2.2
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file Skip Changelog Skip Changelog labels Jun 22, 2026
@dependabot dependabot Bot requested review from a team as code owners June 22, 2026 00:22
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file Skip Changelog Skip Changelog labels Jun 22, 2026
@mergify

mergify Bot commented Jun 22, 2026

Copy link
Copy Markdown

Tick the box to add this pull request to the merge queue (same as @mergifyio queue).

  • Queue this pull request

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file Skip Changelog Skip Changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants