B044: New check for assert <generator_expression>, which is always true (#534)
B031: allow reusing a group after assigning list(group) or tuple(group) back to the same name (#395)
B028: report warnings.warn calls that pass an explicitly empty skip_file_prefixes tuple (#510)
B019: also flag async_lru.alru_cache and check cache decorators on async def methods (#488)
B023: don't flag a function whose every reference is a direct call inside the loop body (#468, #380)
B020: don't flag for self.a in self.b: rebinding an attribute is not rebinding the base name (#248)
B018: handle also useless calls such as isinstance(x, int) without assigning or using the result
B031: don't count a store-context reference as a use of the groupby generator, and don't treat references in mutually exclusive if/elif/else branches as multiple uses (#465)
B902: don't raise a false positive on a metaclass defined with a dotted base such as abc.ABCMeta or enum.EnumMeta (#411)
B913: Add an optional check for unused _ targets in zip() loops (#545)
B912: only emit on Python 3.14+ where map() supports strict= (#548)
Configuration
📅Schedule: (in timezone America/Edmonton)
Branch creation
At any time (no schedule defined)
Automerge
At any time (no schedule defined)
🚦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.
If you want to rebase/retry this PR, check this box
This PR contains the following updates:
| Package | Update | Change |
|---|---|---|
| [flake8-bugbear](https://github.com/PyCQA/flake8-bugbear#change-log) ([changelog](https://github.com/PyCQA/flake8-bugbear#change-log)) | major | `~=25.11.29` → `~=26.9.9` |
---
### Release Notes
<details>
<summary>PyCQA/flake8-bugbear (flake8-bugbear)</summary>
### [`v26.9.9`](https://github.com/PyCQA/flake8-bugbear/releases/tag/26.9.9)
[Compare Source](https://github.com/PyCQA/flake8-bugbear/compare/25.11.29...26.9.9)
- B044: New check for `assert <generator_expression>`, which is always true ([#​534](https://github.com/PyCQA/flake8-bugbear/issues/534))
- B031: allow reusing a group after assigning `list(group)` or `tuple(group)` back to the same name ([#​395](https://github.com/PyCQA/flake8-bugbear/issues/395))
- B028: report `warnings.warn` calls that pass an explicitly empty `skip_file_prefixes` tuple ([#​510](https://github.com/PyCQA/flake8-bugbear/issues/510))
- B019: also flag `async_lru.alru_cache` and check cache decorators on `async def` methods ([#​488](https://github.com/PyCQA/flake8-bugbear/issues/488))
- B023: don't flag a function whose every reference is a direct call inside the loop body ([#​468](https://github.com/PyCQA/flake8-bugbear/issues/468), [#​380](https://github.com/PyCQA/flake8-bugbear/issues/380))
- B020: don't flag `for self.a in self.b`: rebinding an attribute is not rebinding the base name ([#​248](https://github.com/PyCQA/flake8-bugbear/issues/248))
- B018: handle also useless calls such as `isinstance(x, int)` without assigning or using the result
- B031: don't count a store-context reference as a use of the `groupby` generator, and don't treat references in mutually exclusive `if`/`elif`/`else` branches as multiple uses ([#​465](https://github.com/PyCQA/flake8-bugbear/issues/465))
- B902: don't raise a false positive on a metaclass defined with a dotted base such as `abc.ABCMeta` or `enum.EnumMeta` ([#​411](https://github.com/PyCQA/flake8-bugbear/issues/411))
- B913: Add an optional check for unused `_` targets in `zip()` loops ([#​545](https://github.com/PyCQA/flake8-bugbear/issues/545))
- B912: only emit on Python 3.14+ where `map()` supports `strict=` ([#​548](https://github.com/PyCQA/flake8-bugbear/issues/548))
</details>
---
### Configuration
📅 **Schedule**: (in timezone America/Edmonton)
- Branch creation
- At any time (no schedule defined)
- Automerge
- At any time (no schedule defined)
🚦 **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 CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC43NC4wIiwidXBkYXRlZEluVmVyIjoiNDQuNzQuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This PR contains the following updates:
~=25.11.29→~=26.9.9Release Notes
PyCQA/flake8-bugbear (flake8-bugbear)
v26.9.9Compare Source
assert <generator_expression>, which is always true (#534)list(group)ortuple(group)back to the same name (#395)warnings.warncalls that pass an explicitly emptyskip_file_prefixestuple (#510)async_lru.alru_cacheand check cache decorators onasync defmethods (#488)for self.a in self.b: rebinding an attribute is not rebinding the base name (#248)isinstance(x, int)without assigning or using the resultgroupbygenerator, and don't treat references in mutually exclusiveif/elif/elsebranches as multiple uses (#465)abc.ABCMetaorenum.EnumMeta(#411)_targets inzip()loops (#545)map()supportsstrict=(#548)Configuration
📅 Schedule: (in timezone America/Edmonton)
🚦 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.
This PR has been generated by Mend Renovate CLI.