Releases: PyCQA/flake8-bugbear
Releases · PyCQA/flake8-bugbear
23.11.26
- B035: add check for static keys in dict-comprehension (#426)
- B902: Add exceptions for standard library metaclasses (#415)
- B017: Modify to no longer have a false negative when raises() is imported
directly from pytest (#424) - B026: Fix bug where the check was not triggered for calls where the caller
is an attribute (#420)
23.9.16
23.7.10
- Add B034: re.sub/subn/split must pass flags/count/maxsplit as keyword arguments.
- Fix a crash and several test failures on Python 3.12, all relating to the B907
check. - Declare support for Python 3.12.
23.6.5
23.5.9
- Add B033: Detect duplicate items in sets
- Add B908: Detect assertRauses like contexts only has top level statements that could throw
- Add B028: Allow stacklevel to be explicitly assigned as a positional argument
- Remove more < 3.8 checks / assertions
23.3.23
- flake8-bugbear is now >= 3.8.1 project like flake8>=6.0.0
- This has allowed some more modern AST usage cleanup and less CI running etc.
- B030: Fix crash on certain unusual except handlers (e.g.
except a[0].b:
)
23.3.12
- B950: now ignores 'noqa' and 'type: ignore' comments.
- B005: Do not flag when using the
strip()
method on an imported module. - B030: Allow calls and starred expressions in except handlers.
23.2.13
- B906: Add
visit_Bytes
,visit_Num
andvisit_Str
to the list ofvisit_*
functions that are ignored by the B906 check. Theast.Bytes
,ast.Num
and
ast.Str
nodes are all deprecated, but may still be used by some codebases in
order to maintain backwards compatibility with Python 3.7. - B016: Warn when raising f-strings.
- Add B028: Check for an explicit stacklevel keyword argument on the warn method from the warnings module.
- Add B029: Check when trying to use
except
with an empty tuple i.e.except: ()
. - Add B032: Check for possible unintentional type annotations instead of assignments.
23.1.20
23.1.17
- Rename B028 to B907, making it optional/opinionated.