diff --git a/onnx/backend/test/stat_coverage.py b/onnx/backend/test/stat_coverage.py
index aed683ecdd2..9c80137a2a9 100644
--- a/onnx/backend/test/stat_coverage.py
+++ b/onnx/backend/test/stat_coverage.py
@@ -98,7 +98,7 @@ def gen_node_test_coverage(
f.write("Node tests have covered 0/0 (N/A) common operators. \n\n")
if num_experimental:
f.write(
- "Node tests have covered {}/{} ({:.2f}%, {} generators excluded) "
+ "Node tests have covered {}/{} ({:.2f}%, {} generators excluded) " # noqa: UP032
"experimental operators.\n\n".format(
len(experimental_covered),
num_experimental,
diff --git a/onnx/defs/gen_doc.py b/onnx/defs/gen_doc.py
index 73a631d322b..80651cf0295 100644
--- a/onnx/defs/gen_doc.py
+++ b/onnx/defs/gen_doc.py
@@ -357,7 +357,7 @@ def main(args: Args) -> None:
if function_ops:
fout.write("|**Function**|**Since version**|**Function version**|\n")
for n, schema, versions, function_versions in function_ops:
- s = '|{}{}|{}|{}|\n'.format(
+ s = '|{}{}|{}|{}|\n'.format( # noqa: UP032
support_level_str(schema.support_level),
format_name_with_domain(domain, n),
format_name_with_domain(domain, n),
diff --git a/requirements-lintrunner.txt b/requirements-lintrunner.txt
index 687d506baec..06ab98ea830 100644
--- a/requirements-lintrunner.txt
+++ b/requirements-lintrunner.txt
@@ -1,7 +1,7 @@
# This file is auto updated by dependabot
lintrunner-adapters>=0.12.3
# RUFF
-ruff==0.3.0
+ruff==0.3.5
# MYPY
mypy==1.9.0
types-protobuf==4.24.0.20240129