diff --git a/constraints.txt b/constraints.txt
index 1bc3425..f495bd4 100644
--- a/constraints.txt
+++ b/constraints.txt
@@ -67,7 +67,7 @@ requests==2.32.3
     # via
     #   -r requirements.in
     #   django-anymail
-selenium==4.23.0
+selenium==4.23.1
     # via -r requirements.in
 sniffio==1.3.1
     # via trio
@@ -81,7 +81,7 @@ trio==0.26.0
     #   trio-websocket
 trio-websocket==0.11.1
     # via selenium
-typing-extensions==4.9.0
+typing-extensions==4.12.2
     # via selenium
 urllib3==2.2.2
     # via
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 3033dca..9df809f 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -66,7 +66,7 @@ h11==0.14.0
     # via
     #   -c constraints.txt
     #   wsproto
-hypothesis==6.108.3
+hypothesis==6.108.5
     # via -r requirements-dev.in
 identify==2.6.0
     # via pre-commit
@@ -109,7 +109,7 @@ platformdirs==4.2.2
     #   virtualenv
 pluggy==1.5.0
     # via pytest
-pre-commit==3.7.1
+pre-commit==3.8.0
     # via -r requirements-dev.in
 pygments==2.18.0
     # via bpython
@@ -121,7 +121,7 @@ pysocks==1.7.1
     # via
     #   -c constraints.txt
     #   urllib3
-pytest==8.3.1
+pytest==8.3.2
     # via
     #   -r requirements-dev.in
     #   pytest-base-url
@@ -155,9 +155,9 @@ requests==2.32.3
     #   bpython
     #   pytest-base-url
     #   pytest-selenium
-ruff==0.5.4
+ruff==0.5.5
     # via -r requirements-dev.in
-selenium==4.23.0
+selenium==4.23.1
     # via
     #   -c constraints.txt
     #   pytest-selenium
@@ -177,7 +177,7 @@ sqlparse==0.5.1
     #   -c constraints.txt
     #   django
     #   django-debug-toolbar
-tenacity==8.5.0
+tenacity==9.0.0
     # via pytest-selenium
 trio==0.26.0
     # via
@@ -188,7 +188,7 @@ trio-websocket==0.11.1
     # via
     #   -c constraints.txt
     #   selenium
-typing-extensions==4.9.0
+typing-extensions==4.12.2
     # via
     #   -c constraints.txt
     #   selenium
@@ -213,7 +213,7 @@ wsproto==1.2.0
     #   trio-websocket
 
 # The following packages are considered to be unsafe in a requirements file:
-pip==24.1.2
+pip==24.2
     # via pip-tools
-setuptools==71.1.0
+setuptools==72.1.0
     # via pip-tools
diff --git a/requirements.txt b/requirements.txt
index eed70b4..f01d95c 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -67,7 +67,7 @@ requests==2.32.3
     # via
     #   -r requirements.in
     #   django-anymail
-selenium==4.23.0
+selenium==4.23.1
     # via -r requirements.in
 sniffio==1.3.1
     # via trio
@@ -81,7 +81,7 @@ trio==0.26.0
     #   trio-websocket
 trio-websocket==0.11.1
     # via selenium
-typing-extensions==4.9.0
+typing-extensions==4.12.2
     # via selenium
 urllib3[socks]==2.2.2
     # via