- B044: New check for
assert <generator_expression>, which is always true (#534) - B031: allow reusing a group after assigning
list(group)ortuple(group)back to the same name (#395) - B028: report
warnings.warncalls that pass an explicitly emptyskip_file_prefixestuple (#510) - B019: also flag
async_lru.alru_cacheand check cache decorators onasync defmethods (#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
groupbygenerator, and don't treat references in mutually exclusiveif/elif/elsebranches as multiple uses (#465) - B902: don't raise a false positive on a metaclass defined with a dotted base such as
abc.ABCMetaorenum.EnumMeta(#411) - B913: Add an optional check for unused
_targets inzip()loops (#545) - B912: only emit on Python 3.14+ where
map()supportsstrict=(#548)