diff --git a/requirements/base.txt b/requirements/base.txt
index 705b0b107b0a730819ff3ff5aeeffb50402f4bbe..803a8f6cd835d272947591208b44cbf24e5ce99b 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -8,13 +8,13 @@ appdirs==1.4.4
     # via fs
 bleach==3.3.0
     # via -r requirements/base.in
-certifi==2020.12.5
+certifi==2021.5.30
     # via requests
 chardet==4.0.0
     # via requests
 django-filter==2.4.0
     # via -r requirements/base.in
-django==2.2.23
+django==2.2.24
     # via
     #   -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
     #   -r requirements/base.in
@@ -47,7 +47,7 @@ markupsafe==2.0.1
     # via
     #   mako
     #   xblock
-oauthlib==3.1.0
+oauthlib==3.1.1
     # via -r requirements/base.in
 packaging==20.9
     # via bleach
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 0c85bc9dca58a193f852cbdaf804c8cc63bc3931..005302bcac0cc27f97acb3219481e8db061818ea 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -10,7 +10,7 @@ appdirs==1.4.4
     #   fs
 bleach==3.3.0
     # via -r requirements/base.txt
-certifi==2020.12.5
+certifi==2021.5.30
     # via
     #   -r requirements/base.txt
     #   requests
@@ -20,7 +20,7 @@ chardet==4.0.0
     #   requests
 django-filter==2.4.0
     # via -r requirements/base.txt
-django==2.2.23
+django==2.2.24
     # via
     #   -r requirements/base.txt
     #   django-filter
@@ -60,7 +60,7 @@ markupsafe==2.0.1
     #   -r requirements/base.txt
     #   mako
     #   xblock
-oauthlib==3.1.0
+oauthlib==3.1.1
     # via -r requirements/base.txt
 packaging==20.9
     # via
diff --git a/requirements/django.txt b/requirements/django.txt
index a26d7ce44349e4f47295e771a33e4296138eeb10..f44fd3316c47ae79d8a45dec00495d75e906647b 100644
--- a/requirements/django.txt
+++ b/requirements/django.txt
@@ -1 +1 @@
-django==2.2.23
+django==2.2.24
diff --git a/requirements/test.txt b/requirements/test.txt
index dedaefa92086ddd3385acb0fc9bd538ae0361a3c..aca619e5bf464f877a9544929b8fa7579ea57e93 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -13,14 +13,16 @@ astroid==2.5.6
     #   pylint
     #   pylint-celery
 bleach==3.3.0
-    # via -r requirements/base.txt
-boto3==1.17.83
+    # via
+    #   -r requirements/base.txt
+    #   readme-renderer
+boto3==1.17.91
     # via fs-s3fs
-botocore==1.20.83
+botocore==1.20.91
     # via
     #   boto3
     #   s3transfer
-certifi==2020.12.5
+certifi==2021.5.30
     # via
     #   -r requirements/base.txt
     #   requests
@@ -37,6 +39,8 @@ click==8.0.1
     #   edx-lint
 code-annotations==1.1.2
     # via edx-lint
+colorama==0.4.4
+    # via twine
 coverage==5.5
     # via coveralls
 coveralls==3.1.0
@@ -62,6 +66,10 @@ djangorestframework==3.9.4
     #   -r requirements/test.in
 docopt==0.6.2
     # via coveralls
+docutils==0.16
+    # via
+    #   -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
+    #   readme-renderer
 edx-lint==5.0.0
     # via -r requirements/test.in
 edx-opaque-keys[django]==2.2.1
@@ -82,6 +90,10 @@ idna==2.10
     # via
     #   -r requirements/base.txt
     #   requests
+importlib-metadata==4.5.0
+    # via
+    #   keyring
+    #   twine
 isort==5.8.0
     # via pylint
 jinja2==3.0.1
@@ -94,6 +106,8 @@ jsonfield2==3.0.3
     # via
     #   -c requirements/constraints.txt
     #   -r requirements/base.txt
+keyring==23.0.1
+    # via twine
 lazy-object-proxy==1.6.0
     # via astroid
 lazy==1.4
@@ -118,7 +132,7 @@ mock==3.0.5
     # via
     #   -c requirements/constraints.txt
     #   -r requirements/test.in
-oauthlib==3.1.0
+oauthlib==3.1.1
     # via -r requirements/base.txt
 packaging==20.9
     # via
@@ -128,12 +142,16 @@ pbr==5.6.0
     # via
     #   -r requirements/base.txt
     #   stevedore
+pkginfo==1.7.0
+    # via twine
 pycodestyle==2.7.0
     # via -r requirements/test.in
 pycryptodomex==3.10.1
     # via
     #   -r requirements/base.txt
     #   pyjwkest
+pygments==2.9.0
+    # via readme-renderer
 pyjwkest==1.4.2
     # via -r requirements/base.txt
 pylint-celery==0.3
@@ -144,7 +162,7 @@ pylint-plugin-utils==0.6
     # via
     #   pylint-celery
     #   pylint-django
-pylint==2.8.2
+pylint==2.8.3
     # via
     #   edx-lint
     #   pylint-celery
@@ -176,11 +194,21 @@ pyyaml==5.4.1
     #   -r requirements/base.txt
     #   code-annotations
     #   xblock
+readme-renderer==29.0
+    # via
+    #   -r requirements/test.in
+    #   twine
+requests-toolbelt==0.9.1
+    # via twine
 requests==2.25.1
     # via
     #   -r requirements/base.txt
     #   coveralls
     #   pyjwkest
+    #   requests-toolbelt
+    #   twine
+rfc3986==1.5.0
+    # via twine
 s3transfer==0.4.2
     # via boto3
 simplejson==3.17.2
@@ -197,6 +225,7 @@ six==1.16.0
     #   mock
     #   pyjwkest
     #   python-dateutil
+    #   readme-renderer
     #   stevedore
 sqlparse==0.4.1
     # via
@@ -212,6 +241,10 @@ text-unidecode==1.3
     # via python-slugify
 toml==0.10.2
     # via pylint
+tqdm==4.61.0
+    # via twine
+twine==3.4.1
+    # via -r requirements/test.in
 urllib3==1.26.5
     # via
     #   -r requirements/base.txt
@@ -240,6 +273,10 @@ xblock==1.4.2
     # via
     #   -r requirements/base.txt
     #   xblock-utils
+zipp==1.1.1
+    # via
+    #   -c requirements/constraints.txt
+    #   importlib-metadata
 
 # The following packages are considered to be unsafe in a requirements file:
 # setuptools
diff --git a/requirements/tox.txt b/requirements/tox.txt
index a4d1bfeffce3f46e57e74063f4758ff34680b047..0d2976d95172c457d552da13f672b48415fa68e3 100644
--- a/requirements/tox.txt
+++ b/requirements/tox.txt
@@ -6,7 +6,7 @@
 #
 appdirs==1.4.4
     # via virtualenv
-distlib==0.3.1
+distlib==0.3.2
     # via virtualenv
 filelock==3.0.12
     # via
diff --git a/requirements/travis.txt b/requirements/travis.txt
index ca370b76d9c6e43633f7377e73fb085baf37a6e3..8c89f510459195c0285c99cf038ce1faeb88c123 100644
--- a/requirements/travis.txt
+++ b/requirements/travis.txt
@@ -16,17 +16,19 @@ astroid==2.5.6
     #   pylint
     #   pylint-celery
 bleach==3.3.0
-    # via -r requirements/test.txt
-boto3==1.17.83
+    # via
+    #   -r requirements/test.txt
+    #   readme-renderer
+boto3==1.17.91
     # via
     #   -r requirements/test.txt
     #   fs-s3fs
-botocore==1.20.83
+botocore==1.20.91
     # via
     #   -r requirements/test.txt
     #   boto3
     #   s3transfer
-certifi==2020.12.5
+certifi==2021.5.30
     # via
     #   -r requirements/test.txt
     #   requests
@@ -48,6 +50,10 @@ code-annotations==1.1.2
     # via
     #   -r requirements/test.txt
     #   edx-lint
+colorama==0.4.4
+    # via
+    #   -r requirements/test.txt
+    #   twine
 coverage==5.5
     # via
     #   -r requirements/test.txt
@@ -56,7 +62,7 @@ coveralls==3.1.0
     # via -r requirements/test.txt
 ddt==1.4.2
     # via -r requirements/test.txt
-distlib==0.3.1
+distlib==0.3.2
     # via
     #   -r requirements/tox.txt
     #   virtualenv
@@ -64,7 +70,7 @@ django-filter==2.4.0
     # via -r requirements/test.txt
 django-pyfs==3.0
     # via -r requirements/test.txt
-django==2.2.23
+django==2.2.24
     # via
     #   -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
     #   -r requirements/test.txt
@@ -82,6 +88,11 @@ docopt==0.6.2
     # via
     #   -r requirements/test.txt
     #   coveralls
+docutils==0.16
+    # via
+    #   -c https://raw.githubusercontent.com/edx/edx-lint/master/edx_lint/files/common_constraints.txt
+    #   -r requirements/test.txt
+    #   readme-renderer
 edx-lint==5.0.0
     # via -r requirements/test.txt
 edx-opaque-keys[django]==2.2.1
@@ -109,6 +120,11 @@ idna==2.10
     # via
     #   -r requirements/test.txt
     #   requests
+importlib-metadata==4.5.0
+    # via
+    #   -r requirements/test.txt
+    #   keyring
+    #   twine
 isort==5.8.0
     # via
     #   -r requirements/test.txt
@@ -126,6 +142,10 @@ jsonfield2==3.0.3
     # via
     #   -c requirements/constraints.txt
     #   -r requirements/test.txt
+keyring==23.0.1
+    # via
+    #   -r requirements/test.txt
+    #   twine
 lazy-object-proxy==1.6.0
     # via
     #   -r requirements/test.txt
@@ -154,7 +174,7 @@ mock==3.0.5
     # via
     #   -c requirements/constraints.txt
     #   -r requirements/test.txt
-oauthlib==3.1.0
+oauthlib==3.1.1
     # via -r requirements/test.txt
 packaging==20.9
     # via
@@ -166,6 +186,10 @@ pbr==5.6.0
     # via
     #   -r requirements/test.txt
     #   stevedore
+pkginfo==1.7.0
+    # via
+    #   -r requirements/test.txt
+    #   twine
 pluggy==0.13.1
     # via
     #   -r requirements/tox.txt
@@ -180,6 +204,10 @@ pycryptodomex==3.10.1
     # via
     #   -r requirements/test.txt
     #   pyjwkest
+pygments==2.9.0
+    # via
+    #   -r requirements/test.txt
+    #   readme-renderer
 pyjwkest==1.4.2
     # via -r requirements/test.txt
 pylint-celery==0.3
@@ -195,7 +223,7 @@ pylint-plugin-utils==0.6
     #   -r requirements/test.txt
     #   pylint-celery
     #   pylint-django
-pylint==2.8.2
+pylint==2.8.3
     # via
     #   -r requirements/test.txt
     #   edx-lint
@@ -231,11 +259,25 @@ pyyaml==5.4.1
     #   -r requirements/test.txt
     #   code-annotations
     #   xblock
+readme-renderer==29.0
+    # via
+    #   -r requirements/test.txt
+    #   twine
+requests-toolbelt==0.9.1
+    # via
+    #   -r requirements/test.txt
+    #   twine
 requests==2.25.1
     # via
     #   -r requirements/test.txt
     #   coveralls
     #   pyjwkest
+    #   requests-toolbelt
+    #   twine
+rfc3986==1.5.0
+    # via
+    #   -r requirements/test.txt
+    #   twine
 s3transfer==0.4.2
     # via
     #   -r requirements/test.txt
@@ -255,6 +297,7 @@ six==1.16.0
     #   mock
     #   pyjwkest
     #   python-dateutil
+    #   readme-renderer
     #   stevedore
     #   tox
     #   virtualenv
@@ -280,6 +323,12 @@ toml==0.10.2
     #   tox
 tox==3.23.1
     # via -r requirements/tox.txt
+tqdm==4.61.0
+    # via
+    #   -r requirements/test.txt
+    #   twine
+twine==3.4.1
+    # via -r requirements/test.txt
 urllib3==1.26.5
     # via
     #   -r requirements/test.txt
@@ -314,6 +363,11 @@ xblock==1.4.2
     # via
     #   -r requirements/test.txt
     #   xblock-utils
+zipp==1.1.1
+    # via
+    #   -c requirements/constraints.txt
+    #   -r requirements/test.txt
+    #   importlib-metadata
 
 # The following packages are considered to be unsafe in a requirements file:
 # setuptools