diff --git a/.isort.cfg b/.isort.cfg
index fa3cd47d71f9bbc215239ce1c684d622fa4ec2c6..793ccf442a3b99141fbea1834586b3ce1fd83bd8 100644
--- a/.isort.cfg
+++ b/.isort.cfg
@@ -3,4 +3,4 @@
 line_length = 88
 multi_line_output = 3
 include_trailing_comma = true
-known_third_party = PyPDF2,arrow,bleach,bs4,captcha,celery,dateutil,django,environ,faker,fastjsonschema,icalevnt,markdown,modelcluster,pirates,pytest,pytz,requests,requests_cache,sentry_sdk,taggit,tweepy,wagtail,wagtailmetadata,weasyprint,yaml
+known_third_party = PyPDF2,arrow,bleach,bs4,captcha,celery,dateutil,django,environ,faker,fastjsonschema,icalevnt,markdown,modelcluster,pirates,pytest,pytz,requests,requests_cache,sentry_sdk,taggit,wagtail,wagtailmetadata,weasyprint,yaml
diff --git a/requirements/base.in b/requirements/base.in
index a296789edd83e19703a1fcbafee0d9599fcba61a..d7f49b0fd4baac6d2af16bc6fd0189e83deafee2 100644
--- a/requirements/base.in
+++ b/requirements/base.in
@@ -1,7 +1,7 @@
 wagtail
 wagtail-metadata
 wagtail-trash
-django-environ
+django-environ<0.10.0
 django-extensions
 django-redis
 django-settings-export
diff --git a/requirements/base.txt b/requirements/base.txt
index 74d682098c2e0fdb2a73c9dc2c193b63d66470a4..c31ed644a1767c846441ea0bdce54d3dc8e2900f 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -1,6 +1,6 @@
 #
-# This file is autogenerated by pip-compile with Python 3.10
-# by the following command:
+# This file is autogenerated by pip-compile with python 3.10
+# To update, run:
 #
 #    pip-compile base.in
 #
@@ -8,6 +8,8 @@ amqp==5.1.1
     # via kombu
 anyascii==0.3.2
     # via wagtail
+appnope==0.1.3
+    # via ipython
 arrow==1.2.3
     # via
     #   -r base.in
@@ -72,7 +74,7 @@ datetime==4.3
     # via icalevnt
 decorator==5.1.1
     # via ipython
-django==4.1.7
+django==4.1.8
     # via
     #   django-extensions
     #   django-filter
@@ -87,7 +89,7 @@ django==4.1.7
     #   djangorestframework
     #   mozilla-django-oidc
     #   wagtail
-django-environ==0.10.0
+django-environ==0.9.0
     # via -r base.in
 django-extensions==3.2.1
     # via -r base.in
@@ -139,7 +141,7 @@ ics==0.7.2
     # via -r base.in
 idna==3.4
     # via requests
-ipython==8.11.0
+ipython==8.12.0
     # via -r base.in
 jedi==0.18.2
     # via ipython
@@ -171,7 +173,7 @@ pexpect==4.8.0
     # via ipython
 pickleshare==0.7.5
     # via ipython
-pillow==9.4.0
+pillow==9.5.0
     # via
     #   django-simple-captcha
     #   wagtail
@@ -180,11 +182,11 @@ pirates==0.6.0
     # via -r base.in
 platformdirs==3.2.0
     # via requests-cache
-prompt-toolkit==3.0.36
+prompt-toolkit==3.0.38
     # via
     #   click-repl
     #   ipython
-psycopg2-binary==2.9.5
+psycopg2-binary==2.9.6
     # via -r base.in
 ptyprocess==0.7.0
     # via pexpect
@@ -192,9 +194,9 @@ pure-eval==0.2.2
     # via stack-data
 pycparser==2.21
     # via cffi
-pydyf==0.5.0
+pydyf==0.6.0
     # via weasyprint
-pygments==2.14.0
+pygments==2.15.0
     # via ipython
 pyopenssl==23.1.1
     # via josepy
@@ -221,7 +223,7 @@ pytz==2021.3
     #   l18n
 pyyaml==6.0
     # via -r base.in
-redis==4.5.3
+redis==4.5.4
     # via django-redis
 requests==2.28.2
     # via
@@ -235,7 +237,7 @@ requests-cache==1.0.1
     # via -r base.in
 requests-oauthlib==1.3.1
     # via tweepy
-sentry-sdk==1.18.0
+sentry-sdk==1.19.1
     # via -r base.in
 six==1.16.0
     # via
@@ -247,7 +249,7 @@ six==1.16.0
     #   l18n
     #   python-dateutil
     #   url-normalize
-soupsieve==2.3.2.post1
+soupsieve==2.4
     # via beautifulsoup4
 sqlparse==0.4.3
     # via django
@@ -279,12 +281,12 @@ vine==5.0.0
     #   amqp
     #   celery
     #   kombu
-wagtail==4.2.1
+wagtail==4.2.2
     # via
     #   -r base.in
     #   wagtail-metadata
     #   wagtail-trash
-wagtail-metadata==4.0.2
+wagtail-metadata==4.0.3
     # via -r base.in
 wagtail-trash==1.0.0
     # via -r base.in
diff --git a/requirements/dev.in b/requirements/dev.in
index 0cc5912dfdbe9cdc70567d4ac410670a9628a313..beaed0bf552a2613ded05d37c0b21f654dcd4594 100644
--- a/requirements/dev.in
+++ b/requirements/dev.in
@@ -1,4 +1,4 @@
-django
+django<4.2  # wagtail compatibility
 django-debug-toolbar
 pytest
 pytest-sugar
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 50ade8dbe70d74e8cddaaa7b13b2322afbaa0040..e3a023da69a1c8d99ccd3a800807e4be76c269a6 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -1,26 +1,24 @@
 #
-# This file is autogenerated by pip-compile with Python 3.10
-# by the following command:
+# This file is autogenerated by pip-compile with python 3.10
+# To update, run:
 #
 #    pip-compile dev.in
 #
 asgiref==3.6.0
     # via django
-attrs==22.2.0
-    # via pytest
-coverage[toml]==7.2.2
+coverage[toml]==7.2.3
     # via pytest-cov
-django==4.1.7
+django==4.1.8
     # via
     #   -r dev.in
     #   django-debug-toolbar
-django-debug-toolbar==3.8.1
+django-debug-toolbar==4.0.0
     # via -r dev.in
 exceptiongroup==1.1.1
     # via pytest
 factory-boy==3.2.1
     # via pytest-factoryboy
-faker==18.3.1
+faker==18.4.0
     # via factory-boy
 fastdiff==0.3.0
     # via snapshottest
@@ -36,7 +34,7 @@ packaging==23.0
     #   pytest-sugar
 pluggy==1.0.0
     # via pytest
-pytest==7.2.2
+pytest==7.3.0
     # via
     #   -r dev.in
     #   pytest-cov
@@ -55,7 +53,7 @@ pytest-freezegun==0.4.2
     # via -r dev.in
 pytest-mock==3.10.0
     # via -r dev.in
-pytest-sugar==0.9.6
+pytest-sugar==0.9.7
     # via -r dev.in
 python-dateutil==2.8.2
     # via
diff --git a/requirements/production.txt b/requirements/production.txt
index 4f1ff713e8bdd33fadf6ca9bece8acbfc4575046..3333386f4e89a4345670321d51b646a4098aa598 100644
--- a/requirements/production.txt
+++ b/requirements/production.txt
@@ -1,6 +1,6 @@
 #
-# This file is autogenerated by pip-compile with Python 3.10
-# by the following command:
+# This file is autogenerated by pip-compile with python 3.10
+# To update, run:
 #
 #    pip-compile production.in
 #