diff --git a/constraints.txt b/constraints.txt
index b7fdace..73091ef 100644
--- a/constraints.txt
+++ b/constraints.txt
@@ -20,7 +20,7 @@ charset-normalizer==3.4.0
     # via requests
 confusable-homoglyphs==3.3.1
     # via django-registration
-django==5.1.3
+django==5.1.4
     # via
     #   -r requirements.in
     #   django-anymail
diff --git a/requirements-dev.txt b/requirements-dev.txt
index 8373c12..f46141f 100644
--- a/requirements-dev.txt
+++ b/requirements-dev.txt
@@ -38,7 +38,7 @@ click==8.1.7
     # via
     #   black
     #   pip-tools
-coverage[toml]==7.6.8
+coverage[toml]==7.6.9
     # via pytest-cov
 curtsies==0.4.2
     # via bpython
@@ -48,7 +48,7 @@ cwcwidth==0.1.9
     #   curtsies
 distlib==0.3.9
     # via virtualenv
-django==5.1.3
+django==5.1.4
     # via
     #   -c constraints.txt
     #   django-browser-reload
@@ -66,7 +66,7 @@ h11==0.14.0
     # via
     #   -c constraints.txt
     #   wsproto
-hypothesis==6.122.1
+hypothesis==6.122.3
     # via -r requirements-dev.in
 identify==2.6.3
     # via pre-commit
@@ -155,13 +155,13 @@ requests==2.32.3
     #   bpython
     #   pytest-base-url
     #   pytest-selenium
-ruff==0.8.1
+ruff==0.8.2
     # via -r requirements-dev.in
 selenium==4.27.1
     # via
     #   -c constraints.txt
     #   pytest-selenium
-six==1.16.0
+six==1.17.0
     # via blessed
 sniffio==1.3.1
     # via
diff --git a/requirements.txt b/requirements.txt
index 7adb7c8..4a51c12 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -20,7 +20,7 @@ charset-normalizer==3.4.0
     # via requests
 confusable-homoglyphs==3.3.1
     # via django-registration
-django==5.1.3
+django==5.1.4
     # via
     #   -r requirements.in
     #   django-anymail