diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index f8f12a0269fb124bed7efa93b1826a66cfca5982..dfc83ba618eb905fe5579231542d14d529503ac2 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -29,11 +29,11 @@
 exclude: '^docs/conf.py'
 
 default_language_version:
-    python: python3
+    python: python3.8
 
 repos:
 - repo: https://github.com/pre-commit/pre-commit-hooks
-  rev: v3.2.0
+  rev: v4.2.0
   hooks:
   - id: trailing-whitespace
     exclude: '\.dat$'
@@ -51,18 +51,18 @@ repos:
     args: ['--fix=no']
 
 - repo: https://github.com/PyCQA/isort
-  rev: 5.5.3
+  rev: 5.10.1
   hooks:
   - id: isort
 
 - repo: https://github.com/psf/black
-  rev: stable
+  rev: 22.3.0
   hooks:
   - id: black
     language_version: python3
 
 - repo: https://gitlab.com/pycqa/flake8
-  rev: 3.8.3
+  rev: 3.9.2
   hooks:
   - id: flake8
     # black-compatible flake-8 config
diff --git a/requirements.txt b/requirements.txt
index 0e51d7ae6d53703e2b485be85956127ca3430a7c..1a9025025e48700a3247b63544cff7adb658319a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9,10 +9,10 @@ onnx==1.7.0
 onnxoptimizer
 onnxruntime==1.4.0
 pre-commit==2.9.2
+pre-commit==3.20.1
 pyscaffold==3.2.1
 scipy==1.5.2
 setupext-janitor>=1.1.2
 toposort==1.5
 vcdvcd==1.0.5
 wget==3.2
-protobuf==3.20.1
\ No newline at end of file