Skip to content

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.

  • The package now supports Python 3.15 and tests it in CI.
1 item needs code or config changes
Platform1
Adds Python 3.15 support and CI coverage.

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