Upgrading flake8-bugbear 25 to 26
Breaking25.11.29 → 26.10.27Platform1New2Changed6Fixed9
Fetching 3 releases from GitHub…2 / 3
BreakingUpgrade verdict
A platform requirement change.
In plain terms
- The package now supports Python 3.15 and tests it in CI.
Must act 1 item needs code or config changes
What you must change
Platform1
Adds Python 3.15 support and CI coverage.
API changes
Generated by DepDelta from published Python source. Not mixed with prose notes.
- removed:
function walk_list(nodes) - removed:
property BugBearVisitor.node_stack - removed:
variable Context - removed:
variable error - changed:
constructor B909Checker(name: str, key: str) -> None → constructor B909Checker(name: str, key: str | None) -> None - changed:
constructor FunctionDefDefaultsVisitor(error_code_calls, error_code_literals, b008_b039_extend_immutable_calls=…) -> None → constructor FunctionDefDefaultsVisitor(error_code_calls: Error, error_code_literals: Error, b008_b039_extend_immutable_calls: set[str] | None=…, imported_names: dict[str, str | None] | None=…) -> None - changed:
function children_in_scope(node) → function children_in_scope(node: ast.AST) -> Iterator[ast.AST] - changed:
function compose_call_path(node) → function compose_call_path(node: ast.expr) -> Iterator[str] - changed:
function names_from_assignments(assign_target) → function names_from_assignments(assign_target: ast.expr) -> Iterator[str] - changed:
method B909Checker.visit(node) → method B909Checker.visit(node: ast.AST | list[ast.stmt]) -> ast.AST | list[ast.stmt] | None - changed:
method BugBearChecker.gen_line_based_checks() → method BugBearChecker.gen_line_based_checks() -> Iterator[error] - changed:
method BugBearChecker.should_warn(code) -> bool → method BugBearChecker.should_warn(code: str) -> bool - changed:
method BugBearVisitor.check_for_b005(node) -> None → method BugBearVisitor.check_for_b005(node: ast.Import | ast.ImportFrom | ast.Call) -> None - changed:
method BugBearVisitor.check_for_b006_and_b008(node) -> None → method BugBearVisitor.check_for_b006_and_b008(node: ast.FunctionDef | ast.AsyncFunctionDef) -> None - changed:
method BugBearVisitor.check_for_b007(node) -> None → method BugBearVisitor.check_for_b007(node: ast.For) -> None - changed:
method BugBearVisitor.check_for_b011(node) -> None → method BugBearVisitor.check_for_b011(node: ast.Assert) -> None - changed:
method BugBearVisitor.check_for_b012(node) -> None → method BugBearVisitor.check_for_b012(node: ast.Try | ast.TryStar) -> None - changed:
method BugBearVisitor.check_for_b015(node) -> None → method BugBearVisitor.check_for_b015(node: ast.Compare) -> None - changed:
method BugBearVisitor.check_for_b016(node) -> None → method BugBearVisitor.check_for_b016(node: ast.Raise) -> None - changed:
method BugBearVisitor.check_for_b017(node) -> None → method BugBearVisitor.check_for_b017(node: ast.With) -> None - changed:
method BugBearVisitor.check_for_b018(node) -> None → method BugBearVisitor.check_for_b018(node: ast.AST) -> None - changed:
method BugBearVisitor.check_for_b019(node) -> None → method BugBearVisitor.check_for_b019(node: ast.FunctionDef | ast.AsyncFunctionDef) -> None - changed:
method BugBearVisitor.check_for_b020(node) -> None → method BugBearVisitor.check_for_b020(node: ast.For) -> None - changed:
method BugBearVisitor.check_for_b021(node) -> None → method BugBearVisitor.check_for_b021(node: ast.FunctionDef | ast.ClassDef) -> None - changed:
method BugBearVisitor.check_for_b022(node) -> None → method BugBearVisitor.check_for_b022(node: ast.With) -> None - changed:
method BugBearVisitor.check_for_b025(node) -> None → method BugBearVisitor.check_for_b025(node: ast.Try | ast.TryStar) -> None - changed:
method BugBearVisitor.check_for_b028(node) -> None → method BugBearVisitor.check_for_b028(node: ast.Call) -> None - changed:
method BugBearVisitor.check_for_b031(loop_node) -> None → method BugBearVisitor.check_for_b031(loop_node: ast.For) -> None - changed:
method BugBearVisitor.check_for_b032(node) -> None → method BugBearVisitor.check_for_b032(node: ast.AnnAssign) -> None - changed:
method BugBearVisitor.check_for_b033(node) -> None → method BugBearVisitor.check_for_b033(node: ast.Set) -> None - changed:
method BugBearVisitor.check_for_b040_usage(node: ast.expr | None) -> None → method BugBearVisitor.check_for_b040_usage(node: ast.expr | list[ast.expr] | list[ast.keyword] | None) -> None - changed:
method BugBearVisitor.check_for_b041(node) -> None → method BugBearVisitor.check_for_b041(node: ast.Dict) -> None - changed:
method BugBearVisitor.check_for_b902(node: Union[ast.FunctionDef, ast.AsyncFunctionDef]) -> None → method BugBearVisitor.check_for_b902(node: ast.FunctionDef | ast.AsyncFunctionDef) -> None - changed:
method BugBearVisitor.check_for_b903(node) -> None → method BugBearVisitor.check_for_b903(node: ast.ClassDef) -> None - changed:
method BugBearVisitor.check_for_b904(node) -> None → method BugBearVisitor.check_for_b904(node: ast.Raise) -> None - changed:
method BugBearVisitor.check_for_b905(node) -> None → method BugBearVisitor.check_for_b905(node: ast.Call) -> None - changed:
method BugBearVisitor.check_for_b912(node) -> None → method BugBearVisitor.check_for_b912(node: ast.Call) -> None - changed:
method BugBearVisitor.visit(node) -> None → method BugBearVisitor.visit(node: ast.AST) -> None - changed:
method BugBearVisitor.visit_AnnAssign(node) -> None → method BugBearVisitor.visit_AnnAssign(node: ast.AnnAssign) -> None - changed:
method BugBearVisitor.visit_Assert(node) -> None → method BugBearVisitor.visit_Assert(node: ast.Assert) -> None - changed:
method BugBearVisitor.visit_AsyncFunctionDef(node) -> None → method BugBearVisitor.visit_AsyncFunctionDef(node: ast.AsyncFunctionDef) -> None - changed:
method BugBearVisitor.visit_Call(node) -> None → method BugBearVisitor.visit_Call(node: ast.Call) -> None - changed:
method BugBearVisitor.visit_Compare(node) -> None → method BugBearVisitor.visit_Compare(node: ast.Compare) -> None - changed:
method BugBearVisitor.visit_Dict(node) -> None → method BugBearVisitor.visit_Dict(node: ast.Dict) -> None - changed:
method BugBearVisitor.visit_FunctionDef(node) -> None → method BugBearVisitor.visit_FunctionDef(node: ast.FunctionDef) -> None - changed:
method BugBearVisitor.visit_Import(node) -> None → method BugBearVisitor.visit_Import(node: ast.Import) -> None - changed:
method BugBearVisitor.visit_ImportFrom(node) -> None → method BugBearVisitor.visit_ImportFrom(node: ast.ImportFrom) -> None - changed:
method BugBearVisitor.visit_JoinedStr(node) -> None → method BugBearVisitor.visit_JoinedStr(node: ast.JoinedStr) -> None - changed:
method BugBearVisitor.visit_Module(node) -> None → method BugBearVisitor.visit_Module(node: ast.Module) -> None - changed:
method BugBearVisitor.visit_Set(node) -> None → method BugBearVisitor.visit_Set(node: ast.Set) -> None - changed:
method BugBearVisitor.visit_Try(node) -> None → method BugBearVisitor.visit_Try(node: ast.Try | ast.TryStar) -> None - changed:
method BugBearVisitor.visit_TryStar(node) -> None → method BugBearVisitor.visit_TryStar(node: ast.TryStar) -> None - changed:
method BugBearVisitor.visit_With(node) -> None → method BugBearVisitor.visit_With(node: ast.With) -> None - changed:
method BugBearVisitor.walk_function_body(node) → method BugBearVisitor.walk_function_body(node: ast.FunctionDef | ast.AsyncFunctionDef) -> Iterator[tuple[ast.AST, ast.AST]] - changed:
method ExceptBaseExceptionVisitor.visit_ExceptHandler(node: ast.ExceptHandler) → method ExceptBaseExceptionVisitor.visit_ExceptHandler(node: ast.ExceptHandler) -> None - changed:
method ExceptBaseExceptionVisitor.visit_Raise(node: ast.Raise) → method ExceptBaseExceptionVisitor.visit_Raise(node: ast.Raise) -> None - changed:
method FunctionDefDefaultsVisitor.visit_Call(node) -> None → method FunctionDefDefaultsVisitor.visit_Call(node: ast.Call) -> None - changed:
method FunctionDefDefaultsVisitor.visit_mutable_literal_or_comprehension(node) -> None → method FunctionDefDefaultsVisitor.visit_mutable_literal_or_comprehension(node: ast.expr) -> None - changed:
static method BugBearChecker.add_options(optmanager) -> None → static method BugBearChecker.add_options(optmanager: Any) -> None - changed:
static method BugBearVisitor.find_decorator_name(d) → static method BugBearVisitor.find_decorator_name(d: ast.expr) -> str | None - added:
class B008NamedExprFinder(NamedExprFinder) - added:
class B020AttributeFinder(B020NameFinder) - added:
class B913UsageFinder(NameFinder) - added:
class Context(NamedTuple) - added:
class error(NamedTuple) - added:
field B020AttributeFinder.paths: set[str] - added:
field Context.node: ast.AST - added:
field Context.stack: list[ast.AST] - added:
field error.col: int - added:
field error.lineno: int - added:
field error.message: str - added:
field error.type: type - added:
field error.vars: tuple[object, ...] - added:
method B008NamedExprFinder.visit_GeneratorExp(node: ast.GeneratorExp) -> None - added:
method B008NamedExprFinder.visit_Lambda(node: ast.Lambda) -> None - added:
method B020AttributeFinder.visit_Attribute(node: ast.Attribute) -> None - added:
method B020AttributeFinder.visit_Lambda(node: ast.Lambda) -> None - added:
method B913UsageFinder.visit_AugAssign(node: ast.AugAssign) -> None - added:
method B913UsageFinder.visit_DictComp(node: ast.DictComp) -> None - added:
method B913UsageFinder.visit_GeneratorExp(node: ast.GeneratorExp) -> None - added:
method B913UsageFinder.visit_ListComp(node: ast.ListComp) -> None - added:
method B913UsageFinder.visit_Name(node: ast.Name) -> None - added:
method B913UsageFinder.visit_SetComp(node: ast.SetComp) -> None - added:
method BugBearVisitor.check_for_b044(node: ast.Assert) -> None - added:
method BugBearVisitor.check_for_b045(node: ast.For | ast.AsyncFor) -> None - added:
method BugBearVisitor.check_for_b046(node: ast.Call) -> None - added:
method BugBearVisitor.check_for_b047(node: ast.Try | ast.TryStar) -> None - added:
method BugBearVisitor.check_for_b049(node: ast.FunctionDef | ast.AsyncFunctionDef) -> None - added:
method BugBearVisitor.check_for_b913(node: ast.For) -> None - added:
method BugBearVisitor.visit_Global(node: ast.Global) -> None - added:
method BugBearVisitor.visit_MatchAs(node: ast.MatchAs) -> None - added:
method BugBearVisitor.visit_MatchMapping(node: ast.MatchMapping) -> None - added:
method BugBearVisitor.visit_MatchStar(node: ast.MatchStar) -> None - added:
method BugBearVisitor.visit_Name(node: ast.Name) -> None - added:
method BugBearVisitor.visit_NamedExpr(node: ast.NamedExpr) -> None - added:
method FunctionDefDefaultsVisitor.visit_GeneratorExp(node: ast.GeneratorExp) -> None - added:
method FunctionDefDefaultsVisitor.visit_NamedExpr(node: ast.NamedExpr) -> None - added:
property BugBearVisitor.node_stack -> list[ast.AST] - added:
variable B018_ARITHMETIC_OPERATORS - added:
variable B018_LAZY_FUNCTIONS - added:
variable B018_RAISING_BLOCKS: tuple[type[ast.stmt], ...] - added:
variable B046_DICT_TYPES - added:
variable B049_DESCRIPTORS - added:
variable B049_PROPERTY_ACCESSORS - added:
variable EAGER_COMPREHENSION_NODES - added:
variable FUNCTIONS_WITHOUT_SIDE_EFFECTS