diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 05398bb8ef5fe1707a1bb7c175666e98d00465d4..d0b93d3ef3b7b668a3af55e06387d8e9621f979b 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -10,6 +10,7 @@ repos:
     rev: 4.0.1
     hooks:
       - id: flake8
+        additional_dependencies: [flake8-bugbear==22.3.23]
 
   - repo: https://github.com/codespell-project/codespell
     rev: v2.1.0
@@ -37,6 +38,6 @@ repos:
       - id: isort
 
   - repo: https://github.com/python/black
-    rev: 19.10b0
+    rev: 22.3.0
     hooks:
       - id: black
diff --git a/setup.cfg b/setup.cfg
index 8d79b7e6db2423e77ef84c8bf91875a47662c2e3..2c446b475ceea8a1105c2d161d12b40caa2a20b9 100644
--- a/setup.cfg
+++ b/setup.cfg
@@ -1,6 +1,8 @@
 [flake8]
 # E203: whitespaces before ':' <https://github.com/psf/black/issues/315>
 # E231: missing whitespace after ','
+# E501: line too long, use B950 warning from flake8-bugbear instead
 # W503: line break before binary operator <https://github.com/psf/black/issues/52>
-ignore = E203,E231,W503
+select = C,E,F,W,B950
+ignore = E203,E231,E501,W503
 max-line-length = 88
diff --git a/tox.ini b/tox.ini
index 5211a7c556c7f5558b8f298aa48bdefed0c95d2d..cf034c9e30914754a2ec0851302d78be3d11e458 100644
--- a/tox.ini
+++ b/tox.ini
@@ -24,14 +24,15 @@ commands =
 [testenv:black]
 skip_install = true
 deps =
-  black==19.10b0
+  black==22.3.0
 commands =
   {envpython} -m black --check swh
 
 [testenv:flake8]
 skip_install = true
 deps =
-  flake8
+  flake8==4.0.1
+  flake8-bugbear==22.3.23
 commands =
   {envpython} -m flake8