Skip to content

build(deps-dev): bump wrapt from 2.0.1 to 2.2.2 - #2112

Open
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/pip/wrapt-2.2.1
Open

build(deps-dev): bump wrapt from 2.0.1 to 2.2.2#2112
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/pip/wrapt-2.2.1

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Bumps wrapt from 2.0.1 to 2.2.2.

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.

wrapt 2.2.2rc3

Release candidate. Release notes for the upcoming 2.2.2 final (work in progress): https://wrapt.readthedocs.io/en/latest/changes.html#version-2-2-2

May be installable from PyPi:

pip install wrapt==2.2.2rc3

If pip reports the version is unavailable, this candidate either has not been uploaded yet or is not being published to PyPi. Use the attached wheels or build from the source distribution instead:

tar xf wrapt-2.2.2rc3.tar.gz
cd wrapt-2.2.2rc3
pip install .

SHA256SUMS is attached for verification of the archives.

wrapt 2.2.2rc2

Release candidate. Release notes for the upcoming 2.2.2 final (work in progress): https://wrapt.readthedocs.io/en/latest/changes.html#version-2-2-2

May be installable from PyPi:

pip install wrapt==2.2.2rc2

If pip reports the version is unavailable, this candidate either has not been uploaded yet or is not being published to PyPi. Use the attached wheels or build from the source distribution instead:

tar xf wrapt-2.2.2rc2.tar.gz

... (truncated)

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

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jun 24, 2026
@dependabot
dependabot Bot requested review from a team as code owners June 24, 2026 14:41
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Jun 24, 2026
@cursor

cursor Bot commented Jun 24, 2026

Copy link
Copy Markdown

PR Summary

Low Risk
Low risk because this only updates a dev dependency and lockfile metadata, with no application code changes. Potential impact is limited to local/CI tooling that uses wrapt.

Overview
Updates the dev dependency wrapt from ~=2.0.1 to ~=2.2.2 in Pipfile.

Refreshes Pipfile.lock with the new wrapt 2.2.2 hashes, Python marker metadata, and lockfile hash.

Reviewed by Cursor Bugbot for commit d954311. Bugbot is set up for automated code reviews on this repo. Configure here.

Bumps [wrapt](https://github.com/GrahamDumpleton/wrapt) from 2.0.1 to 2.2.2.
- [Release notes](https://github.com/GrahamDumpleton/wrapt/releases)
- [Changelog](https://github.com/GrahamDumpleton/wrapt/blob/develop/docs/changes.rst)
- [Commits](GrahamDumpleton/wrapt@2.0.1...2.2.2)

---
updated-dependencies:
- dependency-name: wrapt
  dependency-version: 2.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot changed the title build(deps-dev): bump wrapt from 2.0.1 to 2.2.1 build(deps-dev): bump wrapt from 2.0.1 to 2.2.2 Jul 7, 2026
@dependabot
dependabot Bot force-pushed the dependabot/pip/wrapt-2.2.1 branch from 53b0117 to d954311 Compare July 7, 2026 14:55

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit d954311. Configure here.

Comment thread Pipfile.lock
"version": "==2.0.1"
"index": "pypi",
"markers": "python_version >= '3.9'",
"version": "==2.2.2"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Conflicting wrapt lock entries

Medium Severity

Pipfile.lock now pins wrapt to ==2.2.2 in develop while default still pins ==2.0.1. pipenv sync --dev installs both sections, so dev environment setup can fail or leave the wrong wrapt version installed.

Additional Locations (1)
Fix in Cursor Fix in Web

Reviewed by Cursor Bugbot for commit d954311. Configure here.

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 python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants