diff --git a/constraints.txt b/constraints.txt
index 7ccfe02..7f726fe 100644
--- a/constraints.txt
+++ b/constraints.txt
@@ -31,7 +31,7 @@ django==5.0.4
     #   django-registration
 django-anymail==10.3
     # via -r requirements.in
-django-bootstrap5==24.1
+django-bootstrap5==24.2
     # via -r requirements.in
 django-cleanup==8.1.0
     # via -r requirements.in
@@ -67,7 +67,7 @@ requests==2.31.0
     # via
     #   -r requirements.in
     #   django-anymail
-selenium==4.19.0
+selenium==4.20.0
     # via -r requirements.in
 sniffio==1.3.1
     # via trio
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 9c27e08..8724093 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -15,7 +15,7 @@ attrs==23.2.0
     #   hypothesis
     #   outcome
     #   trio
-black==24.4.0
+black==24.4.2
     # via -r requirements-dev.in
 blessed==1.20.0
     # via curtsies
@@ -38,7 +38,7 @@ click==8.1.7
     # via
     #   black
     #   pip-tools
-coverage[toml]==7.4.4
+coverage[toml]==7.5.0
     # via pytest-cov
 curtsies==0.4.2
     # via bpython
@@ -58,7 +58,7 @@ django-browser-reload==1.12.1
     # via -r requirements-dev.in
 django-debug-toolbar==4.3.0
     # via -r requirements-dev.in
-filelock==3.13.4
+filelock==3.14.0
     # via virtualenv
 greenlet==3.0.3
     # via bpython
@@ -66,7 +66,7 @@ h11==0.14.0
     # via
     #   -c constraints.txt
     #   wsproto
-hypothesis==6.100.1
+hypothesis==6.100.2
     # via -r requirements-dev.in
 identify==2.5.36
     # via pre-commit
@@ -103,7 +103,7 @@ pathspec==0.12.1
     # via black
 pip-tools==7.4.1
     # via -r requirements-dev.in
-platformdirs==4.2.0
+platformdirs==4.2.1
     # via
     #   black
     #   virtualenv
@@ -113,7 +113,7 @@ pre-commit==3.7.0
     # via -r requirements-dev.in
 pygments==2.17.2
     # via bpython
-pyproject-hooks==1.0.0
+pyproject-hooks==1.1.0
     # via
     #   build
     #   pip-tools
@@ -121,7 +121,7 @@ pysocks==1.7.1
     # via
     #   -c constraints.txt
     #   urllib3
-pytest==8.1.1
+pytest==8.2.0
     # via
     #   -r requirements-dev.in
     #   pytest-base-url
@@ -155,9 +155,9 @@ requests==2.31.0
     #   bpython
     #   pytest-base-url
     #   pytest-selenium
-ruff==0.4.1
+ruff==0.4.2
     # via -r requirements-dev.in
-selenium==4.19.0
+selenium==4.20.0
     # via
     #   -c constraints.txt
     #   pytest-selenium
@@ -197,7 +197,7 @@ urllib3[socks]==2.2.1
     #   -c constraints.txt
     #   requests
     #   selenium
-virtualenv==20.25.3
+virtualenv==20.26.1
     # via pre-commit
 wcwidth==0.2.13
     # via blessed
diff --git a/requirements.txt b/requirements.txt
index c684f1d..28216b8 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -31,7 +31,7 @@ django==5.0.4
     #   django-registration
 django-anymail[mailgun]==10.3
     # via -r requirements.in
-django-bootstrap5==24.1
+django-bootstrap5==24.2
     # via -r requirements.in
 django-cleanup==8.1.0
     # via -r requirements.in
@@ -67,7 +67,7 @@ requests==2.31.0
     # via
     #   -r requirements.in
     #   django-anymail
-selenium==4.19.0
+selenium==4.20.0
     # via -r requirements.in
 sniffio==1.3.1
     # via trio