From a10c9710183d805e50e98dc002b9cf3ca563613b Mon Sep 17 00:00:00 2001
From: Andy Shultz <ashultz@edx.org>
Date: Mon, 2 May 2022 11:17:43 -0400
Subject: [PATCH] chore: make upgrade before removing constraints

---
 requirements/base.txt               |  39 ++++------
 requirements/ci.txt                 | 115 +++++++++++++++-------------
 requirements/common_constraints.txt |   3 -
 requirements/dev.txt                |  47 +++++-------
 requirements/django.txt             |   2 +-
 requirements/pip.txt                |   2 +-
 requirements/pip_tools.txt          |   6 +-
 requirements/quality.txt            |  81 +++++++++-----------
 requirements/test.txt               | 105 ++++++++++++-------------
 requirements/tox.txt                |  10 +--
 10 files changed, 194 insertions(+), 216 deletions(-)

diff --git a/requirements/base.txt b/requirements/base.txt
index 4c4621f..2fa2fbb 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -6,15 +6,15 @@
 #
 appdirs==1.4.4
     # via fs
-asgiref==3.5.0
+asgiref==3.5.1
     # via django
-bleach==4.1.0
+bleach==5.0.0
     # via -r requirements/base.in
 certifi==2021.10.8
     # via requests
-charset-normalizer==2.0.11
+charset-normalizer==2.0.12
     # via requests
-django==3.2.11
+django==3.2.13
     # via
     #   -c requirements/common_constraints.txt
     #   -r requirements/base.in
@@ -32,17 +32,17 @@ django-crum==0.7.9
     # via edx-django-utils
 django-filter==21.1
     # via -r requirements/base.in
-django-waffle==2.3.0
+django-waffle==2.4.1
     # via edx-django-utils
 djangorestframework==3.13.1
     # via
     #   -c requirements/constraints.txt
     #   django-config-models
-edx-django-utils==4.4.2
+edx-django-utils==4.6.0
     # via django-config-models
 edx-opaque-keys[django]==2.3.0
     # via -r requirements/base.in
-fs==2.4.14
+fs==2.4.16
     # via xblock
 future==0.18.2
     # via pyjwkest
@@ -52,29 +52,27 @@ jsonfield==3.1.0
     # via -r requirements/base.in
 lazy==1.4
     # via -r requirements/base.in
-lxml==4.7.1
+lxml==4.8.0
     # via
     #   -r requirements/base.in
     #   xblock
-mako==1.1.6
+mako==1.2.0
     # via
     #   -r requirements/base.in
     #   xblock-utils
-markupsafe==2.0.1
+markupsafe==2.1.1
     # via
     #   mako
     #   xblock
-newrelic==7.4.0.172
+newrelic==7.10.0.175
     # via edx-django-utils
 oauthlib==3.2.0
     # via -r requirements/base.in
-packaging==21.3
-    # via bleach
-pbr==5.8.0
+pbr==5.8.1
     # via stevedore
 psutil==5.9.0
     # via edx-django-utils
-pycryptodomex==3.14.0
+pycryptodomex==3.14.1
     # via
     #   -r requirements/base.in
     #   pyjwkest
@@ -82,15 +80,12 @@ pyjwkest==1.4.2
     # via -r requirements/base.in
 pymongo==3.12.3
     # via edx-opaque-keys
-pyparsing==3.0.7
-    # via packaging
 python-dateutil==2.8.2
     # via xblock
-pytz==2021.3
+pytz==2022.1
     # via
     #   django
     #   djangorestframework
-    #   fs
     #   xblock
 pyyaml==6.0
     # via xblock
@@ -110,7 +105,7 @@ stevedore==3.5.0
     # via
     #   edx-django-utils
     #   edx-opaque-keys
-urllib3==1.26.8
+urllib3==1.26.9
     # via requests
 web-fragments==2.0.0
     # via
@@ -120,11 +115,11 @@ webencodings==0.5.1
     # via bleach
 webob==1.8.7
     # via xblock
-xblock==1.5.1
+xblock==1.6.1
     # via
     #   -r requirements/base.in
     #   xblock-utils
-xblock-utils==2.2.0
+xblock-utils==3.0.0
     # via -r requirements/base.in
 
 # The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/ci.txt b/requirements/ci.txt
index 2ccfed4..cac9d42 100644
--- a/requirements/ci.txt
+++ b/requirements/ci.txt
@@ -12,11 +12,11 @@ arrow==1.2.2
     # via
     #   -r requirements/test.txt
     #   jinja2-time
-asgiref==3.5.0
+asgiref==3.5.1
     # via
     #   -r requirements/test.txt
     #   django
-astroid==2.9.3
+astroid==2.11.4
     # via
     #   -r requirements/test.txt
     #   pylint
@@ -25,7 +25,7 @@ binaryornot==0.4.4
     # via
     #   -r requirements/test.txt
     #   cookiecutter
-bleach==4.1.0
+bleach==5.0.0
     # via
     #   -r requirements/test.txt
     #   readme-renderer
@@ -33,11 +33,11 @@ boto==2.49.0
     # via
     #   -r requirements/test.txt
     #   xblock-sdk
-boto3==1.20.46
+boto3==1.22.4
     # via
     #   -r requirements/test.txt
     #   fs-s3fs
-botocore==1.23.46
+botocore==1.25.4
     # via
     #   -r requirements/test.txt
     #   boto3
@@ -50,34 +50,34 @@ chardet==4.0.0
     # via
     #   -r requirements/test.txt
     #   binaryornot
-charset-normalizer==2.0.11
+charset-normalizer==2.0.12
     # via
     #   -r requirements/test.txt
     #   requests
-click==8.0.3
+click==8.1.3
     # via
     #   -r requirements/test.txt
     #   click-log
     #   code-annotations
     #   cookiecutter
     #   edx-lint
-click-log==0.3.2
+click-log==0.4.0
     # via
     #   -r requirements/test.txt
     #   edx-lint
-code-annotations==1.2.0
+code-annotations==1.3.0
     # via
     #   -r requirements/test.txt
     #   edx-lint
-colorama==0.4.4
+commonmark==0.9.1
     # via
     #   -r requirements/test.txt
-    #   twine
+    #   rich
 cookiecutter==1.7.3
     # via
     #   -r requirements/test.txt
     #   xblock-sdk
-coverage==6.3
+coverage==6.3.2
     # via
     #   -r requirements/test.txt
     #   coveralls
@@ -85,11 +85,15 @@ coveralls==3.3.1
     # via -r requirements/test.txt
 ddt==1.4.4
     # via -r requirements/test.txt
+dill==0.3.4
+    # via
+    #   -r requirements/test.txt
+    #   pylint
 distlib==0.3.4
     # via
     #   -r requirements/tox.txt
     #   virtualenv
-django==3.2.11
+django==3.2.13
     # via
     #   -c requirements/common_constraints.txt
     #   -r requirements/test.txt
@@ -115,7 +119,7 @@ django-pyfs==3.2.0
     # via
     #   -r requirements/test.txt
     #   xblock-sdk
-django-waffle==2.3.0
+django-waffle==2.4.1
     # via
     #   -r requirements/test.txt
     #   edx-django-utils
@@ -132,20 +136,20 @@ docutils==0.18.1
     # via
     #   -r requirements/test.txt
     #   readme-renderer
-edx-django-utils==4.4.2
+edx-django-utils==4.6.0
     # via
     #   -r requirements/test.txt
     #   django-config-models
-edx-lint==5.2.1
+edx-lint==5.2.2
     # via -r requirements/test.txt
 edx-opaque-keys[django]==2.3.0
     # via -r requirements/test.txt
-filelock==3.4.2
+filelock==3.6.0
     # via
     #   -r requirements/tox.txt
     #   tox
     #   virtualenv
-fs==2.4.14
+fs==2.4.16
     # via
     #   -r requirements/test.txt
     #   django-pyfs
@@ -164,7 +168,7 @@ idna==3.3
     # via
     #   -r requirements/test.txt
     #   requests
-importlib-metadata==4.10.1
+importlib-metadata==4.11.3
     # via
     #   -r requirements/test.txt
     #   keyring
@@ -173,7 +177,7 @@ isort==5.10.1
     # via
     #   -r requirements/test.txt
     #   pylint
-jinja2==3.0.3
+jinja2==3.1.2
     # via
     #   -r requirements/test.txt
     #   code-annotations
@@ -183,7 +187,7 @@ jinja2-time==0.2.0
     # via
     #   -r requirements/test.txt
     #   cookiecutter
-jmespath==0.10.0
+jmespath==1.0.0
     # via
     #   -r requirements/test.txt
     #   boto3
@@ -202,28 +206,28 @@ lazy-object-proxy==1.7.1
     # via
     #   -r requirements/test.txt
     #   astroid
-lxml==4.7.1
+lxml==4.8.0
     # via
     #   -r requirements/test.txt
     #   xblock
     #   xblock-sdk
-mako==1.1.6
+mako==1.2.0
     # via
     #   -r requirements/test.txt
     #   xblock-utils
-markupsafe==2.0.1
+markupsafe==2.1.1
     # via
     #   -r requirements/test.txt
     #   jinja2
     #   mako
     #   xblock
-mccabe==0.6.1
+mccabe==0.7.0
     # via
     #   -r requirements/test.txt
     #   pylint
 mock==4.0.3
     # via -r requirements/test.txt
-newrelic==7.4.0.172
+newrelic==7.10.0.175
     # via
     #   -r requirements/test.txt
     #   edx-django-utils
@@ -231,11 +235,9 @@ oauthlib==3.2.0
     # via -r requirements/test.txt
 packaging==21.3
     # via
-    #   -r requirements/test.txt
     #   -r requirements/tox.txt
-    #   bleach
     #   tox
-pbr==5.8.0
+pbr==5.8.1
     # via
     #   -r requirements/test.txt
     #   stevedore
@@ -243,7 +245,7 @@ pkginfo==1.8.2
     # via
     #   -r requirements/test.txt
     #   twine
-platformdirs==2.4.1
+platformdirs==2.5.2
     # via
     #   -r requirements/test.txt
     #   -r requirements/tox.txt
@@ -267,17 +269,18 @@ py==1.11.0
     #   tox
 pycodestyle==2.8.0
     # via -r requirements/test.txt
-pycryptodomex==3.14.0
+pycryptodomex==3.14.1
     # via
     #   -r requirements/test.txt
     #   pyjwkest
-pygments==2.11.2
+pygments==2.12.0
     # via
     #   -r requirements/test.txt
     #   readme-renderer
+    #   rich
 pyjwkest==1.4.2
     # via -r requirements/test.txt
-pylint==2.12.2
+pylint==2.13.8
     # via
     #   -r requirements/test.txt
     #   edx-lint
@@ -288,7 +291,7 @@ pylint-celery==0.3
     # via
     #   -r requirements/test.txt
     #   edx-lint
-pylint-django==2.5.0
+pylint-django==2.5.3
     # via
     #   -r requirements/test.txt
     #   edx-lint
@@ -301,9 +304,8 @@ pymongo==3.12.3
     # via
     #   -r requirements/test.txt
     #   edx-opaque-keys
-pyparsing==3.0.7
+pyparsing==3.0.8
     # via
-    #   -r requirements/test.txt
     #   -r requirements/tox.txt
     #   packaging
 pypng==0.0.21
@@ -316,24 +318,23 @@ python-dateutil==2.8.2
     #   arrow
     #   botocore
     #   xblock
-python-slugify==5.0.2
+python-slugify==6.1.2
     # via
     #   -r requirements/test.txt
     #   code-annotations
     #   cookiecutter
-pytz==2021.3
+pytz==2022.1
     # via
     #   -r requirements/test.txt
     #   django
     #   djangorestframework
-    #   fs
     #   xblock
 pyyaml==6.0
     # via
     #   -r requirements/test.txt
     #   code-annotations
     #   xblock
-readme-renderer==32.0
+readme-renderer==35.0
     # via
     #   -r requirements/test.txt
     #   twine
@@ -354,7 +355,11 @@ rfc3986==2.0.0
     # via
     #   -r requirements/test.txt
     #   twine
-s3transfer==0.5.0
+rich==12.3.0
+    # via
+    #   -r requirements/test.txt
+    #   twine
+s3transfer==0.5.2
     # via
     #   -r requirements/test.txt
     #   boto3
@@ -392,29 +397,29 @@ text-unidecode==1.3
     #   python-slugify
 toml==0.10.2
     # via
-    #   -r requirements/test.txt
     #   -r requirements/tox.txt
-    #   pylint
     #   tox
-tox==3.24.5
-    # via -r requirements/tox.txt
-tqdm==4.62.3
+tomli==2.0.1
     # via
     #   -r requirements/test.txt
-    #   twine
-twine==3.7.1
+    #   pylint
+tox==3.25.0
+    # via -r requirements/tox.txt
+twine==4.0.0
     # via -r requirements/test.txt
-typing-extensions==4.0.1
+typing-extensions==4.2.0
     # via
     #   -r requirements/test.txt
     #   astroid
     #   pylint
-urllib3==1.26.8
+    #   rich
+urllib3==1.26.9
     # via
     #   -r requirements/test.txt
     #   botocore
     #   requests
-virtualenv==20.13.0
+    #   twine
+virtualenv==20.14.1
     # via
     #   -r requirements/tox.txt
     #   tox
@@ -433,20 +438,20 @@ webob==1.8.7
     #   -r requirements/test.txt
     #   xblock
     #   xblock-sdk
-wrapt==1.13.3
+wrapt==1.14.1
     # via
     #   -r requirements/test.txt
     #   astroid
-xblock==1.5.1
+xblock==1.6.1
     # via
     #   -r requirements/test.txt
     #   xblock-sdk
     #   xblock-utils
 xblock-sdk==0.5.1
     # via -r requirements/test.txt
-xblock-utils==2.2.0
+xblock-utils==3.0.0
     # via -r requirements/test.txt
-zipp==3.7.0
+zipp==3.8.0
     # via
     #   -r requirements/test.txt
     #   importlib-metadata
diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt
index 2c80f84..7a77c82 100644
--- a/requirements/common_constraints.txt
+++ b/requirements/common_constraints.txt
@@ -20,6 +20,3 @@ Django<4.0
 elasticsearch<7.14.0
 
 setuptools<60
-
-# redis 4 client doesn't play nicely with redis 3 server
-redis<4
diff --git a/requirements/dev.txt b/requirements/dev.txt
index d2fa367..74e3bf5 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -8,21 +8,21 @@ appdirs==1.4.4
     # via
     #   -r requirements/base.txt
     #   fs
-asgiref==3.5.0
+asgiref==3.5.1
     # via
     #   -r requirements/base.txt
     #   django
-bleach==4.1.0
+bleach==5.0.0
     # via -r requirements/base.txt
 certifi==2021.10.8
     # via
     #   -r requirements/base.txt
     #   requests
-charset-normalizer==2.0.11
+charset-normalizer==2.0.12
     # via
     #   -r requirements/base.txt
     #   requests
-django==3.2.11
+django==3.2.13
     # via
     #   -r requirements/base.txt
     #   django-config-models
@@ -40,7 +40,7 @@ django-crum==0.7.9
     #   edx-django-utils
 django-filter==21.1
     # via -r requirements/base.txt
-django-waffle==2.3.0
+django-waffle==2.4.1
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
@@ -48,15 +48,15 @@ djangorestframework==3.13.1
     # via
     #   -r requirements/base.txt
     #   django-config-models
-edx-django-utils==4.4.2
+edx-django-utils==4.6.0
     # via
     #   -r requirements/base.txt
     #   django-config-models
-edx-i18n-tools==0.8.1
+edx-i18n-tools==0.9.1
     # via -r requirements/dev.in
 edx-opaque-keys[django]==2.3.0
     # via -r requirements/base.txt
-fs==2.4.14
+fs==2.4.16
     # via
     #   -r requirements/base.txt
     #   xblock
@@ -72,32 +72,28 @@ jsonfield==3.1.0
     # via -r requirements/base.txt
 lazy==1.4
     # via -r requirements/base.txt
-lxml==4.7.1
+lxml==4.8.0
     # via
     #   -r requirements/base.txt
     #   xblock
-mako==1.1.6
+mako==1.2.0
     # via
     #   -r requirements/base.txt
     #   xblock-utils
-markupsafe==2.0.1
+markupsafe==2.1.1
     # via
     #   -r requirements/base.txt
     #   mako
     #   xblock
-newrelic==7.4.0.172
+newrelic==7.10.0.175
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
 oauthlib==3.2.0
     # via -r requirements/base.txt
-packaging==21.3
-    # via
-    #   -r requirements/base.txt
-    #   bleach
-path==16.3.0
+path==16.4.0
     # via edx-i18n-tools
-pbr==5.8.0
+pbr==5.8.1
     # via
     #   -r requirements/base.txt
     #   stevedore
@@ -107,7 +103,7 @@ psutil==5.9.0
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
-pycryptodomex==3.14.0
+pycryptodomex==3.14.1
     # via
     #   -r requirements/base.txt
     #   pyjwkest
@@ -117,20 +113,15 @@ pymongo==3.12.3
     # via
     #   -r requirements/base.txt
     #   edx-opaque-keys
-pyparsing==3.0.7
-    # via
-    #   -r requirements/base.txt
-    #   packaging
 python-dateutil==2.8.2
     # via
     #   -r requirements/base.txt
     #   xblock
-pytz==2021.3
+pytz==2022.1
     # via
     #   -r requirements/base.txt
     #   django
     #   djangorestframework
-    #   fs
     #   xblock
 pyyaml==6.0
     # via
@@ -161,7 +152,7 @@ stevedore==3.5.0
     #   -r requirements/base.txt
     #   edx-django-utils
     #   edx-opaque-keys
-urllib3==1.26.8
+urllib3==1.26.9
     # via
     #   -r requirements/base.txt
     #   requests
@@ -178,11 +169,11 @@ webob==1.8.7
     # via
     #   -r requirements/base.txt
     #   xblock
-xblock==1.5.1
+xblock==1.6.1
     # via
     #   -r requirements/base.txt
     #   xblock-utils
-xblock-utils==2.2.0
+xblock-utils==3.0.0
     # via -r requirements/base.txt
 
 # The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/django.txt b/requirements/django.txt
index c93648d..09696ec 100644
--- a/requirements/django.txt
+++ b/requirements/django.txt
@@ -1 +1 @@
-django==3.2.11
+django==3.2.13
diff --git a/requirements/pip.txt b/requirements/pip.txt
index 6d2ee0a..96facea 100644
--- a/requirements/pip.txt
+++ b/requirements/pip.txt
@@ -8,7 +8,7 @@ wheel==0.37.1
     # via -r requirements/pip.in
 
 # The following packages are considered to be unsafe in a requirements file:
-pip==22.0.2
+pip==22.0.4
     # via -r requirements/pip.in
 setuptools==59.8.0
     # via
diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt
index 88dc61e..1ded6ca 100644
--- a/requirements/pip_tools.txt
+++ b/requirements/pip_tools.txt
@@ -4,13 +4,13 @@
 #
 #    make upgrade
 #
-click==8.0.3
+click==8.1.3
     # via pip-tools
 pep517==0.12.0
     # via pip-tools
-pip-tools==6.5.0
+pip-tools==6.6.0
     # via -r requirements/pip_tools.in
-tomli==2.0.0
+tomli==2.0.1
     # via pep517
 wheel==0.37.1
     # via pip-tools
diff --git a/requirements/quality.txt b/requirements/quality.txt
index 47f7647..2bff657 100644
--- a/requirements/quality.txt
+++ b/requirements/quality.txt
@@ -10,23 +10,23 @@ appdirs==1.4.4
     #   fs
 arrow==1.2.2
     # via jinja2-time
-asgiref==3.5.0
+asgiref==3.5.1
     # via
     #   -r requirements/base.txt
     #   django
-astroid==2.9.3
+astroid==2.11.4
     # via
     #   pylint
     #   pylint-celery
 binaryornot==0.4.4
     # via cookiecutter
-bleach==4.1.0
+bleach==5.0.0
     # via -r requirements/base.txt
 boto==2.49.0
     # via xblock-sdk
-boto3==1.20.46
+boto3==1.22.4
     # via fs-s3fs
-botocore==1.23.46
+botocore==1.25.4
     # via
     #   boto3
     #   s3transfer
@@ -36,25 +36,27 @@ certifi==2021.10.8
     #   requests
 chardet==4.0.0
     # via binaryornot
-charset-normalizer==2.0.11
+charset-normalizer==2.0.12
     # via
     #   -r requirements/base.txt
     #   requests
-click==8.0.3
+click==8.1.3
     # via
     #   click-log
     #   code-annotations
     #   cookiecutter
     #   edx-lint
-click-log==0.3.2
+click-log==0.4.0
     # via edx-lint
-code-annotations==1.2.0
+code-annotations==1.3.0
     # via edx-lint
 cookiecutter==1.7.3
     # via xblock-sdk
 ddt==1.4.4
     # via -r requirements/quality.in
-django==3.2.11
+dill==0.3.4
+    # via pylint
+django==3.2.13
     # via
     #   -c requirements/common_constraints.txt
     #   -r requirements/base.txt
@@ -78,7 +80,7 @@ django-filter==21.1
     # via -r requirements/base.txt
 django-pyfs==3.2.0
     # via xblock-sdk
-django-waffle==2.3.0
+django-waffle==2.4.1
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
@@ -87,15 +89,15 @@ djangorestframework==3.13.1
     #   -c requirements/constraints.txt
     #   -r requirements/base.txt
     #   django-config-models
-edx-django-utils==4.4.2
+edx-django-utils==4.6.0
     # via
     #   -r requirements/base.txt
     #   django-config-models
-edx-lint==5.2.1
+edx-lint==5.2.2
     # via -r requirements/quality.in
 edx-opaque-keys[django]==2.3.0
     # via -r requirements/base.txt
-fs==2.4.14
+fs==2.4.16
     # via
     #   -r requirements/base.txt
     #   django-pyfs
@@ -115,14 +117,14 @@ idna==3.3
     #   requests
 isort==5.10.1
     # via pylint
-jinja2==3.0.3
+jinja2==3.1.2
     # via
     #   code-annotations
     #   cookiecutter
     #   jinja2-time
 jinja2-time==0.2.0
     # via cookiecutter
-jmespath==0.10.0
+jmespath==1.0.0
     # via
     #   boto3
     #   botocore
@@ -134,38 +136,34 @@ lazy==1.4
     #   xblock-sdk
 lazy-object-proxy==1.7.1
     # via astroid
-lxml==4.7.1
+lxml==4.8.0
     # via
     #   -r requirements/base.txt
     #   xblock
     #   xblock-sdk
-mako==1.1.6
+mako==1.2.0
     # via
     #   -r requirements/base.txt
     #   xblock-utils
-markupsafe==2.0.1
+markupsafe==2.1.1
     # via
     #   -r requirements/base.txt
     #   jinja2
     #   mako
     #   xblock
-mccabe==0.6.1
+mccabe==0.7.0
     # via pylint
-newrelic==7.4.0.172
+newrelic==7.10.0.175
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
 oauthlib==3.2.0
     # via -r requirements/base.txt
-packaging==21.3
-    # via
-    #   -r requirements/base.txt
-    #   bleach
-pbr==5.8.0
+pbr==5.8.1
     # via
     #   -r requirements/base.txt
     #   stevedore
-platformdirs==2.4.1
+platformdirs==2.5.2
     # via pylint
 poyo==0.5.0
     # via cookiecutter
@@ -175,13 +173,13 @@ psutil==5.9.0
     #   edx-django-utils
 pycodestyle==2.8.0
     # via -r requirements/quality.in
-pycryptodomex==3.14.0
+pycryptodomex==3.14.1
     # via
     #   -r requirements/base.txt
     #   pyjwkest
 pyjwkest==1.4.2
     # via -r requirements/base.txt
-pylint==2.12.2
+pylint==2.13.8
     # via
     #   -r requirements/quality.in
     #   edx-lint
@@ -190,7 +188,7 @@ pylint==2.12.2
     #   pylint-plugin-utils
 pylint-celery==0.3
     # via edx-lint
-pylint-django==2.5.0
+pylint-django==2.5.3
     # via edx-lint
 pylint-plugin-utils==0.7
     # via
@@ -200,10 +198,6 @@ pymongo==3.12.3
     # via
     #   -r requirements/base.txt
     #   edx-opaque-keys
-pyparsing==3.0.7
-    # via
-    #   -r requirements/base.txt
-    #   packaging
 pypng==0.0.21
     # via xblock-sdk
 python-dateutil==2.8.2
@@ -212,16 +206,15 @@ python-dateutil==2.8.2
     #   arrow
     #   botocore
     #   xblock
-python-slugify==5.0.2
+python-slugify==6.1.2
     # via
     #   code-annotations
     #   cookiecutter
-pytz==2021.3
+pytz==2022.1
     # via
     #   -r requirements/base.txt
     #   django
     #   djangorestframework
-    #   fs
     #   xblock
 pyyaml==6.0
     # via
@@ -234,7 +227,7 @@ requests==2.27.1
     #   cookiecutter
     #   pyjwkest
     #   xblock-sdk
-s3transfer==0.5.0
+s3transfer==0.5.2
     # via boto3
 simplejson==3.17.6
     # via
@@ -263,13 +256,13 @@ stevedore==3.5.0
     #   edx-opaque-keys
 text-unidecode==1.3
     # via python-slugify
-toml==0.10.2
+tomli==2.0.1
     # via pylint
-typing-extensions==4.0.1
+typing-extensions==4.2.0
     # via
     #   astroid
     #   pylint
-urllib3==1.26.8
+urllib3==1.26.9
     # via
     #   -r requirements/base.txt
     #   botocore
@@ -289,16 +282,16 @@ webob==1.8.7
     #   -r requirements/base.txt
     #   xblock
     #   xblock-sdk
-wrapt==1.13.3
+wrapt==1.14.1
     # via astroid
-xblock==1.5.1
+xblock==1.6.1
     # via
     #   -r requirements/base.txt
     #   xblock-sdk
     #   xblock-utils
 xblock-sdk==0.5.1
     # via -r requirements/quality.in
-xblock-utils==2.2.0
+xblock-utils==3.0.0
     # via -r requirements/base.txt
 
 # The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/test.txt b/requirements/test.txt
index 57595f0..952e23d 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -10,25 +10,25 @@ appdirs==1.4.4
     #   fs
 arrow==1.2.2
     # via jinja2-time
-asgiref==3.5.0
+asgiref==3.5.1
     # via
     #   -r requirements/base.txt
     #   django
-astroid==2.9.3
+astroid==2.11.4
     # via
     #   pylint
     #   pylint-celery
 binaryornot==0.4.4
     # via cookiecutter
-bleach==4.1.0
+bleach==5.0.0
     # via
     #   -r requirements/base.txt
     #   readme-renderer
 boto==2.49.0
     # via xblock-sdk
-boto3==1.20.46
+boto3==1.22.4
     # via fs-s3fs
-botocore==1.23.46
+botocore==1.25.4
     # via
     #   boto3
     #   s3transfer
@@ -38,30 +38,32 @@ certifi==2021.10.8
     #   requests
 chardet==4.0.0
     # via binaryornot
-charset-normalizer==2.0.11
+charset-normalizer==2.0.12
     # via
     #   -r requirements/base.txt
     #   requests
-click==8.0.3
+click==8.1.3
     # via
     #   click-log
     #   code-annotations
     #   cookiecutter
     #   edx-lint
-click-log==0.3.2
+click-log==0.4.0
     # via edx-lint
-code-annotations==1.2.0
+code-annotations==1.3.0
     # via edx-lint
-colorama==0.4.4
-    # via twine
+commonmark==0.9.1
+    # via rich
 cookiecutter==1.7.3
     # via xblock-sdk
-coverage==6.3
+coverage==6.3.2
     # via coveralls
 coveralls==3.3.1
     # via -r requirements/test.in
 ddt==1.4.4
     # via -r requirements/test.in
+dill==0.3.4
+    # via pylint
     # via
     #   -c requirements/common_constraints.txt
     #   -r requirements/base.txt
@@ -87,7 +89,7 @@ django-pyfs==3.2.0
     # via
     #   -r requirements/test.in
     #   xblock-sdk
-django-waffle==2.3.0
+django-waffle==2.4.1
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
@@ -101,15 +103,15 @@ docopt==0.6.2
     # via coveralls
 docutils==0.18.1
     # via readme-renderer
-edx-django-utils==4.4.2
+edx-django-utils==4.6.0
     # via
     #   -r requirements/base.txt
     #   django-config-models
-edx-lint==5.2.1
+edx-lint==5.2.2
     # via -r requirements/test.in
 edx-opaque-keys[django]==2.3.0
     # via -r requirements/base.txt
-fs==2.4.14
+fs==2.4.16
     # via
     #   -r requirements/base.txt
     #   django-pyfs
@@ -127,20 +129,20 @@ idna==3.3
     # via
     #   -r requirements/base.txt
     #   requests
-importlib-metadata==4.10.1
+importlib-metadata==4.11.3
     # via
     #   keyring
     #   twine
 isort==5.10.1
     # via pylint
-jinja2==3.0.3
+jinja2==3.1.2
     # via
     #   code-annotations
     #   cookiecutter
     #   jinja2-time
 jinja2-time==0.2.0
     # via cookiecutter
-jmespath==0.10.0
+jmespath==1.0.0
     # via
     #   boto3
     #   botocore
@@ -154,42 +156,38 @@ lazy==1.4
     #   xblock-sdk
 lazy-object-proxy==1.7.1
     # via astroid
-lxml==4.7.1
+lxml==4.8.0
     # via
     #   -r requirements/base.txt
     #   xblock
     #   xblock-sdk
-mako==1.1.6
+mako==1.2.0
     # via
     #   -r requirements/base.txt
     #   xblock-utils
-markupsafe==2.0.1
+markupsafe==2.1.1
     # via
     #   -r requirements/base.txt
     #   jinja2
     #   mako
     #   xblock
-mccabe==0.6.1
+mccabe==0.7.0
     # via pylint
 mock==4.0.3
     # via -r requirements/test.in
-newrelic==7.4.0.172
+newrelic==7.10.0.175
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
 oauthlib==3.2.0
     # via -r requirements/base.txt
-packaging==21.3
-    # via
-    #   -r requirements/base.txt
-    #   bleach
-pbr==5.8.0
+pbr==5.8.1
     # via
     #   -r requirements/base.txt
     #   stevedore
 pkginfo==1.8.2
     # via twine
-platformdirs==2.4.1
+platformdirs==2.5.2
     # via pylint
 poyo==0.5.0
     # via cookiecutter
@@ -199,15 +197,17 @@ psutil==5.9.0
     #   edx-django-utils
 pycodestyle==2.8.0
     # via -r requirements/test.in
-pycryptodomex==3.14.0
+pycryptodomex==3.14.1
     # via
     #   -r requirements/base.txt
     #   pyjwkest
-pygments==2.11.2
-    # via readme-renderer
+pygments==2.12.0
+    # via
+    #   readme-renderer
+    #   rich
 pyjwkest==1.4.2
     # via -r requirements/base.txt
-pylint==2.12.2
+pylint==2.13.8
     # via
     #   edx-lint
     #   pylint-celery
@@ -215,7 +215,7 @@ pylint==2.12.2
     #   pylint-plugin-utils
 pylint-celery==0.3
     # via edx-lint
-pylint-django==2.5.0
+pylint-django==2.5.3
     # via edx-lint
 pylint-plugin-utils==0.7
     # via
@@ -225,10 +225,6 @@ pymongo==3.12.3
     # via
     #   -r requirements/base.txt
     #   edx-opaque-keys
-pyparsing==3.0.7
-    # via
-    #   -r requirements/base.txt
-    #   packaging
 pypng==0.0.21
     # via xblock-sdk
 python-dateutil==2.8.2
@@ -237,23 +233,22 @@ python-dateutil==2.8.2
     #   arrow
     #   botocore
     #   xblock
-python-slugify==5.0.2
+python-slugify==6.1.2
     # via
     #   code-annotations
     #   cookiecutter
-pytz==2021.3
+pytz==2022.1
     # via
     #   -r requirements/base.txt
     #   django
     #   djangorestframework
-    #   fs
     #   xblock
 pyyaml==6.0
     # via
     #   -r requirements/base.txt
     #   code-annotations
     #   xblock
-readme-renderer==32.0
+readme-renderer==35.0
     # via
     #   -r requirements/test.in
     #   twine
@@ -270,7 +265,9 @@ requests-toolbelt==0.9.1
     # via twine
 rfc3986==2.0.0
     # via twine
-s3transfer==0.5.0
+rich==12.3.0
+    # via twine
+s3transfer==0.5.2
     # via boto3
 simplejson==3.17.6
     # via
@@ -299,21 +296,21 @@ stevedore==3.5.0
     #   edx-opaque-keys
 text-unidecode==1.3
     # via python-slugify
-toml==0.10.2
+tomli==2.0.1
     # via pylint
-tqdm==4.62.3
-    # via twine
-twine==3.7.1
+twine==4.0.0
     # via -r requirements/test.in
-typing-extensions==4.0.1
+typing-extensions==4.2.0
     # via
     #   astroid
     #   pylint
-urllib3==1.26.8
+    #   rich
+urllib3==1.26.9
     # via
     #   -r requirements/base.txt
     #   botocore
     #   requests
+    #   twine
 web-fragments==2.0.0
     # via
     #   -r requirements/base.txt
@@ -329,18 +326,18 @@ webob==1.8.7
     #   -r requirements/base.txt
     #   xblock
     #   xblock-sdk
-wrapt==1.13.3
+wrapt==1.14.1
     # via astroid
-xblock==1.5.1
+xblock==1.6.1
     # via
     #   -r requirements/base.txt
     #   xblock-sdk
     #   xblock-utils
 xblock-sdk==0.5.1
     # via -r requirements/test.in
-xblock-utils==2.2.0
+xblock-utils==3.0.0
     # via -r requirements/base.txt
-zipp==3.7.0
+zipp==3.8.0
     # via importlib-metadata
 
 # The following packages are considered to be unsafe in a requirements file:
diff --git a/requirements/tox.txt b/requirements/tox.txt
index 678cee1..12e5ebd 100644
--- a/requirements/tox.txt
+++ b/requirements/tox.txt
@@ -6,19 +6,19 @@
 #
 distlib==0.3.4
     # via virtualenv
-filelock==3.4.2
+filelock==3.6.0
     # via
     #   tox
     #   virtualenv
 packaging==21.3
     # via tox
-platformdirs==2.4.1
+platformdirs==2.5.2
     # via virtualenv
 pluggy==1.0.0
     # via tox
 py==1.11.0
     # via tox
-pyparsing==3.0.7
+pyparsing==3.0.8
     # via packaging
 six==1.16.0
     # via
@@ -26,7 +26,7 @@ six==1.16.0
     #   virtualenv
 toml==0.10.2
     # via tox
-tox==3.24.5
+tox==3.25.0
     # via -r requirements/tox.in
-virtualenv==20.13.0
+virtualenv==20.14.1
     # via tox
-- 
GitLab