diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 16490a06651788b1236e9b812c57b2a31ed90b87..9aff6753af59db5fb2b78a67152eb59efa883fba 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
@@ -38,6 +39,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 e3776a0b395a481394c4164199f01f613484c561..45a80b7c8c433e332f09d50d72c16ae4a6bb17c8 100644
--- a/tox.ini
+++ b/tox.ini
@@ -22,14 +22,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 \
     --exclude=.tox,.git,__pycache__,.tox,.eggs,*.egg,swh/deposit/migrations