chore(deps): update dependency attrs to v22.2.0
Metadata
Current evaluation
Merged automated dependency update upgrading attrs from v22.1.0 to v22.2.0. Approved by a reviewer, passed CI checks, and merged with minimal changes across two files.
Suggested action: —
No scores available.
Issue body
[](https://renovatebot.com)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [attrs](https://www.attrs.org/) ([source](https://togithub.com/python-attrs/attrs), [changelog](https://www.attrs.org/en/stable/changelog.html)) | `==22.1.0` -> `==22.2.0` | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) | [](https://docs.renovatebot.com/merge-confidence/) |
---
### Release Notes
<details>
<summary>python-attrs/attrs</summary>
### [`v22.2.0`](https://togithub.com/python-attrs/attrs/blob/HEAD/CHANGELOG.md#​2220-httpsgithubcompython-attrsattrstree2220---2022-12-21)
[Compare Source](https://togithub.com/python-attrs/attrs/compare/22.1.0...22.2.0)
##### Backwards-incompatible Changes
- Python 3.5 is not supported anymore.
[#​988](https://togithub.com/python-attrs/attrs/issues/988)
##### Deprecations
- Python 3.6 is now deprecated and support will be removed in the next release.
[#​1017](https://togithub.com/python-attrs/attrs/issues/1017)
##### Changes
- `attrs.field()` now supports an *alias* option for explicit `__init__` argument names.
Get `__init__` signatures matching any taste, peculiar or plain!
The [PEP 681 compatible](https://peps.python.org/pep-0681/#field-specifier-parameters) *alias* option can be use to override private attribute name mangling, or add other arbitrary field argument name overrides.
[#​950](https://togithub.com/python-attrs/attrs/issues/950)
- `attrs.NOTHING` is now an enum value, making it possible to use with e.g. [`typing.Literal`](https://docs.python.org/3/library/typing.html#typing.Literal).
[#​983](https://togithub.com/python-attrs/attrs/issues/983)
- Added missing re-import of `attr.AttrsInstance` to the `attrs` namespace.
[#​987](https://togithub.com/python-attrs/attrs/issues/987)
- Fix slight performance regression in classes with custom `__setattr__` and speedup even more.
[#​991](https://togithub.com/python-attrs/attrs/issues/991)
- Class-creation performance improvements by switching performance-sensitive templating operations to f-strings.
You can expect an improvement of about 5% -- even for very simple classes.
[#​995](https://togithub.com/python-attrs/attrs/issues/995)
- `attrs.has()` is now a [`TypeGuard`](https://docs.python.org/3/library/typing.html#typing.TypeGuard) for `AttrsInstance`.
That means that type checkers know a class is an instance of an `attrs` class if you check it using `attrs.has()` (or `attr.has()`) first.
[#​997](https://togithub.com/python-attrs/attrs/issues/997)
- Made `attrs.AttrsInstance` stub available at runtime and fixed type errors related to the usage of `attrs.AttrsInstance` in *Pyright*.
[#​999](https://togithub.com/python-attrs/attrs/issues/999)
- On Python 3.10 and later, call [`abc.update_abstractmethods()`](https://docs.python.org/3/library/abc.html#abc.update_abstractmethods) on dict classes after creation.
This improves the detection of abstractness.
[#​1001](https://togithub.com/python-attrs/attrs/issues/1001)
- *attrs*'s pickling methods now use dicts instead of tuples.
That is safer and more robust across different versions of a class.
[#​1009](https://togithub.com/python-attrs/attrs/issues/1009)
- Added `attrs.validators.not_(wrapped_validator)` to logically invert *wrapped_validator* by accepting only values where *wrapped_validator* rejects the value with a `ValueError` or `TypeError` (by default, exception types configurable).
[#​1010](https://togithub.com/python-attrs/attrs/issues/1010)
- The type stubs for `attrs.cmp_using()` now have default values.
[#​1027](https://togithub.com/python-attrs/attrs/issues/1027)
- To conform with [PEP 681](https://peps.python.org/pep-0681/), `attr.s()` and `attrs.define()` now accept *unsafe_hash* in addition to *hash*.
[#​1065](https://togithub.com/python-attrs/attrs/issues/1065)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - "every weekend" in timezone Etc/UTC, Automerge - "after 1 am and before 7 am" in timezone Etc/UTC.
🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.
♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 **Ignore**: Close this PR and you won't be reminded about this update again.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box
---
This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/canonical/charmcraft).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNC43MS4wIiwidXBkYXRlZEluVmVyIjoiMzQuODEuMCJ9-->
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged automated dependency update upgrading attrs from v22.1.0 to v22.2.0. Approved by a reviewer, passed CI checks, and merged with minimal changes across two files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Renovate automatically updated the attrs dependency from v22.1.0 to v22.2.0 and the pull request was successfully merged. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Successfully merged automated dependency update upgrading attrs from v22.1.0 to v22.2.0. The change applies the latest release with performance optimizations and type checking improvements. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4531 chore(deps): update dependency packaging to v23 | snapcraft | merged | Merged automated dependency update for packaging from v21.3 to v23.2 via Renovate bot. Approved by two reviewers, passed CI checks, and successfully integrated. | |
| #1222 chore(deps): update dependency ubuntu to v22 | charmcraft | merged | Merged automated update upgrading the GitHub Actions runner image from Ubuntu 20.04 to 22.04. Approved by two reviewers, passed CI checks, and modified four files. | |
| #1009 chore(deps): update dependency ops to v2 | charmcraft | merged | Merged automated dependency update upgrading ops from v1.5.4 to v2.0.0. Approved by a reviewer, passed CI checks, and successfully integrated. | |
| #986 chore(deps): update dependency packaging to v23 | charmcraft | merged | Merged automated update of the packaging dependency from v22.0 to v23.0. Maintainer approved after verifying compatibility with indirect dependencies like tox, pytest, and snap-helpers. All CI checks passed. | |
| #1041 chore(deps): update dependency ops to v2.2.0 - autoclosed | charmcraft | closed | Renovate automatically closed the PR updating ops to v2.2.0. No manual review or merge occurred, likely due to staleness or a newer update superseding it. | |
| #1605 chore(deps): update dependency packaging to v24 | charmcraft | merged | Merged automated dependency update for packaging from v23.2 to v24.0 via Renovate bot. Approved by three reviewers and passed CI checks before integration. | |
| #1289 chore(deps): update dependencies | charmcraft | merged | Approved by two reviewers and merged, the dependency update modified three files with 45 additions and 34 deletions to refresh project packages. | |
| #974 chore(deps): update dependency pytz to v2022.7 | charmcraft | merged | Merged automated dependency update upgrading pytz from v2022.6 to v2022.7. Approved by a reviewer, passed CI checks, and modified two files. | |
| #1353 chore(deps): update all dependencies | charmcraft | merged | Merged dependency update across three files, changing 23 additions and 24 deletions. Approved by two reviewers with zero unresolved comments. Changes integrated successfully. | |
| #541 chore(deps): update dependency packaging to v24 | rockcraft | merged | Merged automated dependency update upgrading packaging from v23.2 to v24.0. Approved by two reviewers and passed CI checks. Successfully integrated into main via Renovate bot. |