diff --git a/asv_bench/asv.conf.json b/asv_bench/asv.conf.json
index 9b0dc14fe6747ffae0f2211364349f7da884adb8..e02ff26ba14e9a253f0acfe091703b92b4e48d5a 100644
--- a/asv_bench/asv.conf.json
+++ b/asv_bench/asv.conf.json
@@ -41,7 +41,7 @@
     // pip (with all the conda available packages installed first,
     // followed by the pip installed packages).
     "matrix": {
-        "Cython": ["3.0.5"],
+        "Cython": ["3.0"],
         "matplotlib": [],
         "sqlalchemy": [],
         "scipy": [],
diff --git a/environment.yml b/environment.yml
index 58eb69ad1f070b7eca487503047be9aff6cd6efc..5a2dd0b6970841e68df3971ae740c8f36f870e3c 100644
--- a/environment.yml
+++ b/environment.yml
@@ -8,7 +8,7 @@ dependencies:
 
   # build dependencies
   - versioneer[toml]
-  - cython=3.0.5
+  - cython~=3.0.5
   - meson[ninja]=1.2.1
   - meson-python=0.13.1
 
diff --git a/pyproject.toml b/pyproject.toml
index ffd3a7e1f1f3327bbf2f028a31b7f5117665a89c..96e8ea90afa59c3c6b30d605dd2851c601e5db99 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -5,7 +5,7 @@ requires = [
     "meson-python==0.13.1",
     "meson==1.2.1",
     "wheel",
-    "Cython==3.0.5",  # Note: sync with setup.py, environment.yml and asv.conf.json
+    "Cython~=3.0.5",  # Note: sync with setup.py, environment.yml and asv.conf.json
     # Any NumPy version should be fine for compiling.  Users are unlikely
     # to get a NumPy<1.25 so the result will be compatible with all relevant
     # NumPy versions (if not it is presumably compatible with their version).
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 5a63e59e1db8823ac850f9c33db65fb2e99f04fc..13691d114ece43625956ed393edd05c4cd22f192 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -3,7 +3,7 @@
 
 pip
 versioneer[toml]
-cython==3.0.5
+cython~==3.0.5
 meson[ninja]==1.2.1
 meson-python==0.13.1
 pytest>=7.3.2
diff --git a/setup.py b/setup.py
index c7c76d0f7636afbf6ef0ed477f8384969a770f40..737ebd270d1e4f928d5ee0612d87c1b0b678723b 100755
--- a/setup.py
+++ b/setup.py
@@ -37,7 +37,7 @@ def is_platform_mac():
 
 
 # note: sync with pyproject.toml, environment.yml and asv.conf.json
-min_cython_ver = "3.0.5"
+min_cython_ver = "3.0"
 
 try:
     from Cython import (