diff --git a/.ci/gitlab-ci.yaml b/.ci/gitlab-ci.yaml
index 68b2814b1a3dde18617f11ed9b548ba4e4860c95..6bfbf26d7eadcc8bd6150e7a16ad0a2cff78f5fa 100644
--- a/.ci/gitlab-ci.yaml
+++ b/.ci/gitlab-ci.yaml
@@ -25,7 +25,7 @@ pre-commit:
     # Install pre-commit hooks requirements
     - microdnf install -y gem
     - gem install mdl
-    - pip3 install gitlint==0.18.0
+    - pip3 install gitlint==0.19.1
   script:
     - pre-commit install -t pre-commit
     - pre-commit run --all --verbose
diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml
index 689c2b3d01f2d0ad6f69227421a1c4748218bb00..1a917d61b654fa1e1ab435a58762a29ae69f44d6 100644
--- a/.pre-commit-config.yaml
+++ b/.pre-commit-config.yaml
@@ -3,13 +3,13 @@ default_stages: [ commit, manual ]
 
 repos:
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.5.0
+    rev: v4.6.0
     hooks:
       - id: no-commit-to-branch
         args: [ --branch, main ]
 
   - repo: https://github.com/pre-commit/pre-commit-hooks
-    rev: v4.5.0
+    rev: v4.6.0
     hooks:
       - id: trailing-whitespace
         args: [ --markdown-linebreak-ext=md ]
@@ -17,7 +17,7 @@ repos:
       - id: fix-byte-order-marker
 
   - repo: https://github.com/adrienverge/yamllint.git
-    rev: v1.33.0
+    rev: v1.35.1
     hooks:
       - id: yamllint
 
@@ -27,11 +27,16 @@ repos:
       - id: markdownlint
 
   - repo: https://github.com/jorisroovers/gitlint
-    rev: v0.18.0
+    rev: v0.19.1
     hooks:
-      - id: gitlint-ci
+      - name: Run gitlint on every commits from HEAD to first commit
+        id: gitlint-ci
         args:
           - --commits
           - HEAD
         stages:
           - pre-commit
+      - name: Run gitlint on current commit
+        id: gitlint
+        stages:
+          - commit-msg