diff --git a/constraints.txt b/constraints.txt
index fa76fd9..7db92b4 100644
--- a/constraints.txt
+++ b/constraints.txt
@@ -61,7 +61,7 @@ markdown==3.5.2
     # via -r requirements.in
 outcome==1.3.0.post0
     # via trio
-packaging==23.2
+packaging==24.0
     # via gunicorn
 pillow==10.2.0
     # via -r requirements.in
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 022fd97..62f7256 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -66,7 +66,7 @@ h11==0.14.0
     # via
     #   -c constraints.txt
     #   wsproto
-hypothesis==6.98.17
+hypothesis==6.99.3
     # via -r requirements-dev.in
 identify==2.5.35
     # via pre-commit
@@ -93,7 +93,7 @@ outcome==1.3.0.post0
     # via
     #   -c constraints.txt
     #   trio
-packaging==23.2
+packaging==24.0
     # via
     #   -c constraints.txt
     #   black
@@ -101,7 +101,7 @@ packaging==23.2
     #   pytest
 pathspec==0.12.1
     # via black
-pip-tools==7.4.0
+pip-tools==7.4.1
     # via -r requirements-dev.in
 platformdirs==4.2.0
     # via
@@ -121,7 +121,7 @@ pysocks==1.7.1
     # via
     #   -c constraints.txt
     #   urllib3
-pytest==8.0.2
+pytest==8.1.1
     # via
     #   -r requirements-dev.in
     #   pytest-base-url
@@ -155,7 +155,7 @@ requests==2.31.0
     #   bpython
     #   pytest-base-url
     #   pytest-selenium
-ruff==0.3.0
+ruff==0.3.2
     # via -r requirements-dev.in
 selenium==4.18.1
     # via
diff --git a/requirements.txt b/requirements.txt
index e07e2ec..a134275 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -61,7 +61,7 @@ markdown==3.5.2
     # via -r requirements.in
 outcome==1.3.0.post0
     # via trio
-packaging==23.2
+packaging==24.0
     # via gunicorn
 pillow==10.2.0
     # via -r requirements.in