diff --git a/lti_consumer/models.py b/lti_consumer/models.py
index 3bde1ff87ae2ced4af6951c2bb12d7d69a158b90..17b32bf5640c23fa4200e3e8df162caca89227ea 100644
--- a/lti_consumer/models.py
+++ b/lti_consumer/models.py
@@ -332,19 +332,19 @@ class LtiConfiguration(models.Model):
 
     @property
     def pii_share_username(self):
-        return self.lti_config.get('pii_share_username', False)
+        return self.lti_config.get('pii_share_username', False)     # pylint: disable=no-member
 
     @pii_share_username.setter
     def pii_share_username(self, value):
-        self.lti_config['pii_share_username'] = value
+        self.lti_config['pii_share_username'] = value               # pylint: disable=unsupported-assignment-operation
 
     @property
     def pii_share_email(self):
-        return self.lti_config.get('pii_share_email', False)
+        return self.lti_config.get('pii_share_email', False)        # pylint: disable=no-member
 
     @pii_share_email.setter
     def pii_share_email(self, value):
-        self.lti_config['pii_share_email'] = value
+        self.lti_config['pii_share_email'] = value                  # pylint: disable=unsupported-assignment-operation
 
     def __str__(self):
         return f"[{self.config_store}] {self.version} - {self.location}"
diff --git a/pylintrc b/pylintrc
index fd5329ef6617ff5819aa74a41867b0792a9c9288..f87049ec0330d6507f570e3120e93a0ab39fa163 100644
--- a/pylintrc
+++ b/pylintrc
@@ -9,7 +9,7 @@
 # you want to make a central change that applies to all repos using edx-lint.
 #
 # Note: If your pylintrc file is simply out-of-date relative to the latest
-# pylintrc rules in edx-lint, ensure you have the latest edx-lint installed
+# pylintrc in edx-lint, ensure you have the latest edx-lint installed
 # and then follow the steps for a "LOCAL CHANGE".
 #
 # LOCAL CHANGE:
@@ -36,19 +36,16 @@
 #
 # 3. Run (in edx-lint):
 #
-#       # uses pylintrc_tweaks from edx-lint for linting in edx-lint
-#       # NOTE: Use Python 3.x, which no longer includes comments in the output file
 #       $ edx_lint write pylintrc
 #
 # 4. Make a new version of edx_lint, submit and review a pull request with the
-#    pylintrc update, and after merging, update the edx-lint version by
-#    creating a new tag in the repo (uses pbr).
+#    pylintrc update, and after merging, update the edx-lint version and
+#    publish the new version.
 #
 # 5. In your local repo, install the newer version of edx-lint.
 #
 # 6. Run:
 #
-#       # uses local pylintrc_tweaks
 #       $ edx_lint write pylintrc
 #
 # 7. This will modify the local file.  Submit a pull request to get it
@@ -67,298 +64,328 @@
 # SERIOUSLY.
 #
 # ------------------------------
+# Generated by edx-lint version: 5.2.0
+# ------------------------------
 [MASTER]
-ignore =
+ignore = 
 persistent = yes
 load-plugins = edx_lint.pylint,pylint_django,pylint_celery
 
 [MESSAGES CONTROL]
-enable =
+enable = 
 	blacklisted-name,
 	line-too-long,
-
-	syntax-error,
-	init-is-generator,
-	return-in-init,
-	function-redefined,
-	not-in-loop,
-	return-outside-function,
-	yield-outside-function,
-	return-arg-in-generator,
-	nonexistent-operator,
-	duplicate-argument-name,
+	
 	abstract-class-instantiated,
-	bad-reversed-sequence,
-	continue-in-finally,
-	method-hidden,
+	abstract-method,
 	access-member-before-definition,
-	no-method-argument,
-	no-self-argument,
-	invalid-slots-object,
+	anomalous-backslash-in-string,
+	anomalous-unicode-escape-in-string,
+	arguments-differ,
+	assert-on-tuple,
 	assigning-non-slot,
-	invalid-slots,
-	inherit-non-class,
-	inconsistent-mro,
+	assignment-from-no-return,
+	assignment-from-none,
+	attribute-defined-outside-init,
+	bad-except-order,
+	bad-format-character,
+	bad-format-string-key,
+	bad-format-string,
+	bad-open-mode,
+	bad-reversed-sequence,
+	bad-staticmethod-argument,
+	bad-str-strip-call,
+	bad-super-call,
+	binary-op-exception,
+	boolean-datetime,
+	catching-non-exception,
+	cell-var-from-loop,
+	confusing-with-statement,
+	continue-in-finally,
+	cyclical-import,
+	dangerous-default-value,
+	dict-items-not-iterating,
+	dict-keys-not-iterating,
+	dict-values-not-iterating,
+	duplicate-argument-name,
 	duplicate-bases,
-	non-iterator-returned,
-	unexpected-special-method-signature,
-	invalid-length-returned,
+	duplicate-except,
+	duplicate-key,
+	eq-without-hash,
+	exception-escape,
+	exception-message-attribute,
+	expression-not-assigned,
+	filter-builtin-not-iterating,
+	format-combined-specification,
+	format-needs-mapping,
+	function-redefined,
+	global-variable-undefined,
 	import-error,
-	used-before-assignment,
-	undefined-variable,
-	undefined-all-variable,
+	import-self,
+	inconsistent-mro,
+	indexing-exception,
+	inherit-non-class,
+	init-is-generator,
 	invalid-all-object,
-	no-name-in-module,
-	unbalance-tuple-unpacking,
-	unpacking-non-sequence,
-	bad-except-order,
-	raising-bad-type,
-	misplaced-bare-raise,
-	raising-non-exception,
-	nonimplemented-raised,
-	catching-non-exception,
-	slots-on-old-class,
-	super-on-old-class,
-	bad-super-call,
-	missing-super-argument,
-	no-member,
-	not-callable,
-	assignment-from-no-return,
-	no-value-for-parameter,
-	too-many-function-args,
-	unexpected-keyword-arg,
-	redundant-keyword-arg,
+	invalid-encoded-data,
+	invalid-format-index,
+	invalid-length-returned,
 	invalid-sequence-index,
 	invalid-slice-index,
-	assignment-from-none,
-	not-context-manager,
+	invalid-slots-object,
+	invalid-slots,
+	invalid-str-codec,
 	invalid-unary-operand-type,
-	unsupported-binary-operation,
-	repeated-keyword,
-	not-an-iterable,
-	not-a-mapping,
-	unsupported-membership-test,
-	unsubscriptable-object,
-	logging-unsupported-format,
-	logging-too-many-args,
 	logging-too-few-args,
-	bad-format-character,
-	truncated-format-string,
-	mixed-fomat-string,
-	format-needs-mapping,
+	logging-too-many-args,
+	logging-unsupported-format,
+	lost-exception,
+	map-builtin-not-iterating,
+	method-hidden,
+	misplaced-bare-raise,
+	misplaced-future,
+	missing-format-argument-key,
+	missing-format-attribute,
 	missing-format-string-key,
-	too-many-format-args,
-	too-few-format-args,
-	bad-str-strip-call,
+	missing-super-argument,
+	mixed-fomat-string,
 	model-unicode-not-callable,
-	super-method-not-called,
+	no-member,
+	no-method-argument,
+	no-name-in-module,
+	no-self-argument,
+	no-value-for-parameter,
+	non-iterator-returned,
 	non-parent-method-called,
-	test-inherits-tests,
-	translation-of-non-string,
-	redefined-variable-type,
-	cyclical-import,
-	unreachable,
-	dangerous-default-value,
+	nonexistent-operator,
+	nonimplemented-raised,
+	nonstandard-exception,
+	not-a-mapping,
+	not-an-iterable,
+	not-callable,
+	not-context-manager,
+	not-in-loop,
 	pointless-statement,
 	pointless-string-statement,
-	expression-not-assigned,
-	duplicate-key,
-	confusing-with-statement,
-	using-constant-test,
-	lost-exception,
-	assert-on-tuple,
-	attribute-defined-outside-init,
-	bad-staticmethod-argument,
-	arguments-differ,
-	signature-differs,
-	abstract-method,
-	super-init-not-called,
-	relative-import,
-	import-self,
-	misplaced-future,
-	invalid-encoded-data,
-	global-variable-undefined,
-	redefined-outer-name,
+	property-on-old-class,
+	raising-bad-type,
+	raising-non-exception,
+	raising-string,
+	range-builtin-not-iterating,
 	redefined-builtin,
 	redefined-in-handler,
+	redefined-outer-name,
+	redefined-variable-type,
+	redundant-keyword-arg,
+	relative-import,
+	repeated-keyword,
+	return-arg-in-generator,
+	return-in-init,
+	return-outside-function,
+	signature-differs,
+	slots-on-old-class,
+	super-init-not-called,
+	super-method-not-called,
+	super-on-old-class,
+	syntax-error,
+	sys-max-int,
+	test-inherits-tests,
+	too-few-format-args,
+	too-many-format-args,
+	too-many-function-args,
+	translation-of-non-string,
+	truncated-format-string,
+	unbalance-tuple-unpacking,
+	undefined-all-variable,
 	undefined-loop-variable,
-	cell-var-from-loop,
-	duplicate-except,
-	nonstandard-exception,
-	binary-op-exception,
-	property-on-old-class,
-	bad-format-string-key,
-	unused-format-string-key,
-	bad-format-string,
-	missing-format-argument-key,
+	undefined-variable,
+	unexpected-keyword-arg,
+	unexpected-special-method-signature,
+	unpacking-non-sequence,
+	unreachable,
+	unsubscriptable-object,
+	unsupported-binary-operation,
+	unsupported-membership-test,
 	unused-format-string-argument,
-	format-combined-specification,
-	missing-format-attribute,
-	invalid-format-index,
-	anomalous-backslash-in-string,
-	anomalous-unicode-escape-in-string,
-	bad-open-mode,
-	boolean-datetime,
-
-	fatal,
+	unused-format-string-key,
+	used-before-assignment,
+	using-constant-test,
+	yield-outside-function,
+	zip-builtin-not-iterating,
+	
 	astroid-error,
-	parse-error,
-	method-check-failed,
+	django-not-available-placeholder,
 	django-not-available,
+	fatal,
+	method-check-failed,
+	parse-error,
 	raw-checker-failed,
-	django-not-available-placeholder,
-
+	
 	empty-docstring,
 	invalid-characters-in-docstring,
 	missing-docstring,
 	wrong-spelling-in-comment,
 	wrong-spelling-in-docstring,
-
+	
+	unused-argument,
 	unused-import,
 	unused-variable,
-	unused-argument,
-
-	exec-used,
+	
 	eval-used,
-
+	exec-used,
+	
 	bad-classmethod-argument,
 	bad-mcs-classmethod-argument,
 	bad-mcs-method-argument,
 	bad-whitespace,
+	bare-except,
+	broad-except,
 	consider-iterating-dictionary,
 	consider-using-enumerate,
+	global-at-module-level,
+	global-variable-not-assigned,
 	literal-used-as-attribute,
+	logging-format-interpolation,
+	logging-not-lazy,
+	metaclass-assignment,
+	model-has-unicode,
+	model-missing-unicode,
+	model-no-explicit-unicode,
 	multiple-imports,
 	multiple-statements,
+	no-classmethod-decorator,
+	no-staticmethod-decorator,
+	old-raise-syntax,
 	old-style-class,
+	protected-access,
+	redundant-unittest-assert,
+	reimported,
+	simplifiable-if-statement,
 	simplifiable-range,
 	singleton-comparison,
 	superfluous-parens,
 	unidiomatic-typecheck,
-	unneeded-not,
-	wrong-assert-type,
-	simplifiable-if-statement,
-	no-classmethod-decorator,
-	no-staticmethod-decorator,
-	unnecessary-pass,
 	unnecessary-lambda,
-	useless-else-on-loop,
+	unnecessary-pass,
 	unnecessary-semicolon,
-	reimported,
-	global-variable-not-assigned,
-	global-at-module-level,
-	bare-except,
-	broad-except,
-	logging-not-lazy,
-	redundant-unittest-assert,
-	model-missing-unicode,
-	model-has-unicode,
-	model-no-explicit-unicode,
-	protected-access,
-
-	deprecated-module,
+	unneeded-not,
+	useless-else-on-loop,
+	wrong-assert-type,
+	
 	deprecated-method,
-
+	deprecated-module,
+	
+	too-many-boolean-expressions,
 	too-many-nested-blocks,
 	too-many-statements,
-	too-many-boolean-expressions,
-
+	
+	wildcard-import,
 	wrong-import-order,
 	wrong-import-position,
-	wildcard-import,
-
+	
 	missing-final-newline,
+	mixed-indentation,
 	mixed-line-endings,
 	trailing-newlines,
 	trailing-whitespace,
 	unexpected-line-ending-format,
-	mixed-indentation,
-
+	
+	bad-inline-option,
 	bad-option-value,
+	deprecated-pragma,
 	unrecognized-inline-option,
 	useless-suppression,
-	bad-inline-option,
-	deprecated-pragma,
-disable =
+	
+	cmp-method,
+	coerce-method,
+	delslice-method,
+	dict-iter-method,
+	dict-view-method,
+	div-method,
+	getslice-method,
+	hex-method,
+	idiv-method,
+	next-method-called,
+	next-method-defined,
+	nonzero-method,
+	oct-method,
+	rdiv-method,
+	setslice-method,
+	using-cmp-argument,
+disable = 
 	bad-continuation,
-	invalid-name,
-	misplaced-comparison-constant,
-	file-ignored,
 	bad-indentation,
-	lowercase-l-suffix,
-	unused-wildcard-import,
+	consider-using-f-string,
+	duplicate-code,
+	file-ignored,
+	fixme,
 	global-statement,
+	invalid-name,
+	locally-disabled,
+	locally-enabled,
+	lowercase-l-suffix,
+	misplaced-comparison-constant,
 	no-else-return,
-    django-not-configured,
-
+	no-init,
+	no-self-use,
+	suppressed-message,
+	too-few-public-methods,
+	too-many-ancestors,
+	too-many-arguments,
+	too-many-branches,
+	too-many-instance-attributes,
+	too-many-lines,
+	too-many-locals,
+	too-many-public-methods,
+	too-many-return-statements,
+	ungrouped-imports,
+	unspecified-encoding,
+	unused-wildcard-import,
+	use-maxsplit-arg,
+	
+	feature-toggle-needs-doc,
+	illegal-waffle-usage,
+	
 	apply-builtin,
 	backtick,
+	bad-python3-import,
 	basestring-builtin,
 	buffer-builtin,
 	cmp-builtin,
-	cmp-method,
 	coerce-builtin,
-	coerce-method,
-	delslice-method,
-	dict-iter-method,
-	dict-view-method,
-	duplicate-code,
+	deprecated-itertools-function,
+	deprecated-operator-function,
+	deprecated-str-translate-call,
+	deprecated-string-function,
+	deprecated-sys-function,
+	deprecated-types-field,
+	deprecated-urllib-function,
 	execfile-builtin,
-	feature-toggle-needs-doc,
 	file-builtin,
-	filter-builtin-not-iterating,
-	fixme,
-	getslice-method,
-	hex-method,
-	illegal-waffle-usage,
 	import-star-module-level,
-	indexing-exception,
 	input-builtin,
 	intern-builtin,
-	locally-disabled,
-	locally-enabled,
-	logging-format-interpolation,
 	long-builtin,
 	long-suffix,
-	map-builtin-not-iterating,
-	metaclass-assignment,
-	next-method-called,
 	no-absolute-import,
-	no-init,
-	no-self-use,
-	nonzero-method,
-	oct-method,
+	non-ascii-bytes-literal,
 	old-division,
 	old-ne-operator,
 	old-octal-literal,
-	old-raise-syntax,
 	parameter-unpacking,
 	print-statement,
-	raising-string,
-	range-builtin-not-iterating,
 	raw_input-builtin,
 	reduce-builtin,
 	reload-builtin,
 	round-builtin,
-	setslice-method,
 	standarderror-builtin,
-	suppressed-message,
-	too-few-public-methods,
-	too-many-ancestors,
-	too-many-arguments,
-	too-many-branches,
-	too-many-instance-attributes,
-	too-many-lines,
-	too-many-locals,
-	too-many-public-methods,
-	too-many-return-statements,
-	ungrouped-imports,
 	unichr-builtin,
 	unicode-builtin,
 	unpacking-in-except,
-	using-cmp-argument,
 	xrange-builtin,
-	zip-builtin-not-iterating,
+	
+	logging-fstring-interpolation,
+	django-not-configured,
 
 [REPORTS]
 output-format = text
@@ -404,7 +431,7 @@ ignore-imports = no
 ignore-mixin-members = yes
 ignored-classes = SQLObject
 unsafe-load-any-extension = yes
-generated-members =
+generated-members = 
 	REQUEST,
 	acl_users,
 	aq_parent,
@@ -430,7 +457,7 @@ generated-members =
 [VARIABLES]
 init-import = no
 dummy-variables-rgx = _|dummy|unused|.*_unused
-additional-builtins =
+additional-builtins = 
 
 [CLASSES]
 defining-attr-methods = __init__,__new__,setUp
@@ -451,11 +478,11 @@ max-public-methods = 20
 
 [IMPORTS]
 deprecated-modules = regsub,TERMIOS,Bastion,rexec
-import-graph =
-ext-import-graph =
-int-import-graph =
+import-graph = 
+ext-import-graph = 
+int-import-graph = 
 
 [EXCEPTIONS]
 overgeneral-exceptions = Exception
 
-# 42226da5ce66bbfda9d557aac3602fd7a381f747
+# 5a38c87bd42739189f3eb650ceb9279968f62bcc
diff --git a/pylintrc_tweaks b/pylintrc_tweaks
new file mode 100644
index 0000000000000000000000000000000000000000..0dc70695c3b49373ba09c4a71ee27b5f0ffe8ece
--- /dev/null
+++ b/pylintrc_tweaks
@@ -0,0 +1,3 @@
+[MESSAGES CONTROL]
+disable+=
+    django-not-configured,
diff --git a/requirements/base.txt b/requirements/base.txt
index 82cf0f22b6811fd36af53b1238363764ab13b0c0..1c45922ff31c61059b53aa8be4583d6addd61116 100644
--- a/requirements/base.txt
+++ b/requirements/base.txt
@@ -10,7 +10,7 @@ bleach==4.1.0
     # via -r requirements/base.in
 certifi==2021.5.30
     # via requests
-charset-normalizer==2.0.4
+charset-normalizer==2.0.6
     # via requests
 django==2.2.24
     # via
@@ -28,7 +28,7 @@ django-config-models==2.2.0
     #   -r requirements/base.in
 django-crum==0.7.9
     # via edx-django-utils
-django-filter==2.4.0
+django-filter==21.1
     # via -r requirements/base.in
 django-waffle==2.2.1
     # via edx-django-utils
@@ -36,7 +36,7 @@ djangorestframework==3.12.4
     # via
     #   -c requirements/constraints.txt
     #   django-config-models
-edx-django-utils==4.3.0
+edx-django-utils==4.4.0
     # via django-config-models
 edx-opaque-keys[django]==2.2.2
     # via -r requirements/base.in
@@ -62,7 +62,7 @@ markupsafe==2.0.1
     # via
     #   mako
     #   xblock
-newrelic==6.8.1.164
+newrelic==7.0.0.166
     # via edx-django-utils
 oauthlib==3.1.1
     # via -r requirements/base.in
@@ -72,7 +72,7 @@ pbr==5.6.0
     # via stevedore
 psutil==5.8.0
     # via edx-django-utils
-pycryptodomex==3.10.1
+pycryptodomex==3.10.4
     # via
     #   -r requirements/base.in
     #   pyjwkest
@@ -84,7 +84,7 @@ pyparsing==2.4.7
     # via packaging
 python-dateutil==2.8.2
     # via xblock
-pytz==2021.1
+pytz==2021.3
     # via
     #   django
     #   fs
@@ -101,13 +101,13 @@ six==1.16.0
     #   fs
     #   pyjwkest
     #   python-dateutil
-sqlparse==0.4.1
+sqlparse==0.4.2
     # via django
 stevedore==3.4.0
     # via
     #   edx-django-utils
     #   edx-opaque-keys
-urllib3==1.26.6
+urllib3==1.26.7
     # via requests
 web-fragments==1.1.0
     # via
@@ -117,7 +117,7 @@ webencodings==0.5.1
     # via bleach
 webob==1.8.7
     # via xblock
-xblock==1.5.0
+xblock==1.5.1
     # via
     #   -r requirements/base.in
     #   xblock-utils
diff --git a/requirements/ci.txt b/requirements/ci.txt
index 3c501ec6813442b84248423df12913be8789acaa..9d5d1be7658d26d0347635af2f82ca51225d5a34 100644
--- a/requirements/ci.txt
+++ b/requirements/ci.txt
@@ -8,7 +8,7 @@ appdirs==1.4.4
     # via
     #   -r requirements/test.txt
     #   fs
-astroid==2.7.2
+astroid==2.8.2
     # via
     #   -r requirements/test.txt
     #   pylint
@@ -21,11 +21,11 @@ bleach==4.1.0
     # via
     #   -r requirements/test.txt
     #   readme-renderer
-boto3==1.18.31
+boto3==1.18.57
     # via
     #   -r requirements/test.txt
     #   fs-s3fs
-botocore==1.21.31
+botocore==1.21.57
     # via
     #   -r requirements/test.txt
     #   boto3
@@ -34,7 +34,11 @@ certifi==2021.5.30
     # via
     #   -r requirements/test.txt
     #   requests
-charset-normalizer==2.0.4
+cffi==1.14.6
+    # via
+    #   -r requirements/test.txt
+    #   cryptography
+charset-normalizer==2.0.6
     # via
     #   -r requirements/test.txt
     #   requests
@@ -62,9 +66,13 @@ coverage==5.5
     #   coveralls
 coveralls==3.2.0
     # via -r requirements/test.txt
-ddt==1.4.2
+cryptography==35.0.0
+    # via
+    #   -r requirements/test.txt
+    #   secretstorage
+ddt==1.4.4
     # via -r requirements/test.txt
-distlib==0.3.2
+distlib==0.3.3
     # via
     #   -r requirements/tox.txt
     #   virtualenv
@@ -78,7 +86,6 @@ django==2.2.24
     #   django-pyfs
     #   djangorestframework
     #   edx-django-utils
-    #   edx-lint
     #   jsonfield
     #   xblock-sdk
 django-config-models==2.2.0
@@ -89,7 +96,7 @@ django-crum==0.7.9
     # via
     #   -r requirements/test.txt
     #   edx-django-utils
-django-filter==2.4.0
+django-filter==21.1
     # via -r requirements/test.txt
 django-pyfs==3.1.0
     # via -r requirements/test.txt
@@ -110,15 +117,15 @@ docutils==0.17.1
     # via
     #   -r requirements/test.txt
     #   readme-renderer
-edx-django-utils==4.3.0
+edx-django-utils==4.4.0
     # via
     #   -r requirements/test.txt
     #   django-config-models
-edx-lint==5.0.0
+edx-lint==5.2.0
     # via -r requirements/test.txt
 edx-opaque-keys[django]==2.2.2
     # via -r requirements/test.txt
-filelock==3.0.12
+filelock==3.3.0
     # via
     #   -r requirements/tox.txt
     #   tox
@@ -150,7 +157,12 @@ isort==5.9.3
     # via
     #   -r requirements/test.txt
     #   pylint
-jinja2==3.0.1
+jeepney==0.7.1
+    # via
+    #   -r requirements/test.txt
+    #   keyring
+    #   secretstorage
+jinja2==3.0.2
     # via
     #   -r requirements/test.txt
     #   code-annotations
@@ -161,7 +173,7 @@ jmespath==0.10.0
     #   botocore
 jsonfield==3.1.0
     # via -r requirements/test.txt
-keyring==23.1.0
+keyring==23.2.1
     # via
     #   -r requirements/test.txt
     #   twine
@@ -191,7 +203,7 @@ mccabe==0.6.1
     #   pylint
 mock==4.0.3
     # via -r requirements/test.txt
-newrelic==6.8.1.164
+newrelic==7.0.0.166
     # via
     #   -r requirements/test.txt
     #   edx-django-utils
@@ -211,7 +223,7 @@ pkginfo==1.7.1
     # via
     #   -r requirements/test.txt
     #   twine
-platformdirs==2.2.0
+platformdirs==2.4.0
     # via
     #   -r requirements/test.txt
     #   -r requirements/tox.txt
@@ -231,7 +243,11 @@ py==1.10.0
     #   tox
 pycodestyle==2.7.0
     # via -r requirements/test.txt
-pycryptodomex==3.10.1
+pycparser==2.20
+    # via
+    #   -r requirements/test.txt
+    #   cffi
+pycryptodomex==3.10.4
     # via
     #   -r requirements/test.txt
     #   pyjwkest
@@ -241,7 +257,7 @@ pygments==2.10.0
     #   readme-renderer
 pyjwkest==1.4.2
     # via -r requirements/test.txt
-pylint==2.10.2
+pylint==2.11.1
     # via
     #   -r requirements/test.txt
     #   edx-lint
@@ -279,7 +295,7 @@ python-slugify==5.0.2
     # via
     #   -r requirements/test.txt
     #   code-annotations
-pytz==2021.1
+pytz==2021.3
     # via
     #   -r requirements/test.txt
     #   django
@@ -290,7 +306,7 @@ pyyaml==5.4.1
     #   -r requirements/test.txt
     #   code-annotations
     #   xblock
-readme-renderer==29.0
+readme-renderer==30.0
     # via
     #   -r requirements/test.txt
     #   twine
@@ -313,6 +329,10 @@ s3transfer==0.5.0
     # via
     #   -r requirements/test.txt
     #   boto3
+secretstorage==3.3.1
+    # via
+    #   -r requirements/test.txt
+    #   keyring
 simplejson==3.17.5
     # via
     #   -r requirements/test.txt
@@ -327,10 +347,9 @@ six==1.16.0
     #   fs-s3fs
     #   pyjwkest
     #   python-dateutil
-    #   readme-renderer
     #   tox
     #   virtualenv
-sqlparse==0.4.1
+sqlparse==0.4.2
     # via
     #   -r requirements/test.txt
     #   django
@@ -350,20 +369,25 @@ toml==0.10.2
     #   -r requirements/tox.txt
     #   pylint
     #   tox
-tox==3.24.3
+tox==3.24.4
     # via -r requirements/tox.txt
-tqdm==4.62.2
+tqdm==4.62.3
     # via
     #   -r requirements/test.txt
     #   twine
 twine==3.4.2
     # via -r requirements/test.txt
-urllib3==1.26.6
+typing-extensions==3.10.0.2
+    # via
+    #   -r requirements/test.txt
+    #   astroid
+    #   pylint
+urllib3==1.26.7
     # via
     #   -r requirements/test.txt
     #   botocore
     #   requests
-virtualenv==20.7.2
+virtualenv==20.8.1
     # via
     #   -r requirements/tox.txt
     #   tox
@@ -384,15 +408,15 @@ wrapt==1.12.1
     # via
     #   -r requirements/test.txt
     #   astroid
-xblock==1.5.0
+xblock==1.5.1
     # via
     #   -r requirements/test.txt
     #   xblock-utils
-xblock-sdk==0.3.0
+xblock-sdk==0.4.0
     # via -r requirements/test.txt
 xblock-utils==2.2.0
     # via -r requirements/test.txt
-zipp==3.5.0
+zipp==3.6.0
     # via
     #   -r requirements/test.txt
     #   importlib-metadata
diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt
index cc16c07b9b07a3bf629ad7906e0fd0c50271188e..a0189aa0242fa63db2ea78f00803ba804d96272f 100644
--- a/requirements/common_constraints.txt
+++ b/requirements/common_constraints.txt
@@ -19,25 +19,6 @@ Django<2.3
 # See pyjwt[crypto]<2.0.0 comment.
 drf-jwt<1.19.1
 
-# 4.0.0 requires pyjwt[crypto] 2.1.0. See pyjwt[crypto]<2.0.0 comment.
-edx-auth-backends<4.0.0
-
-# 7.0.0 requires pyjwt[crypto] 2.1.0. See pyjwt[crypto]<2.0.0 comment.
-edx-drf-extensions<7.0.0
-
-# PyJWT[crypto] 2.0.0 has a number of breaking changes that we are
-# actively working to fix. A number of the active constraints are all related
-# to this effort. Additionally, your IDA/service may also be affected directly
-# by these changes. You should not upgrade without knowing what you are doing.
-pyjwt[crypto]<2.0.0
-
-# 5.0.0+ of social-auth-app-django requires social-auth-core>=4.1.0
-social-auth-app-django<5.0.0
-
-# latest version requires PyJWT>=2.0.0 but drf-jwt requires PyJWT[crypto]<2.0.0,>=1.5.2.
-# See pyjwt[crypto]<2.0.0 comment.
-social-auth-core<4.0.3
-
 # elasticsearch>=7.14.0 includes breaking changes in it which caused issues in discovery upgrade process.
 # elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html
 elasticsearch<7.14.0
diff --git a/requirements/dev.txt b/requirements/dev.txt
index 00005cd3ac17f9088b2c25efe83a115def0c1c6a..8f13bb555cac654caa54cbbd9c41ac500d06effc 100644
--- a/requirements/dev.txt
+++ b/requirements/dev.txt
@@ -14,7 +14,7 @@ certifi==2021.5.30
     # via
     #   -r requirements/base.txt
     #   requests
-charset-normalizer==2.0.4
+charset-normalizer==2.0.6
     # via
     #   -r requirements/base.txt
     #   requests
@@ -34,7 +34,7 @@ django-crum==0.7.9
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
-django-filter==2.4.0
+django-filter==21.1
     # via -r requirements/base.txt
 django-waffle==2.2.1
     # via
@@ -44,7 +44,7 @@ djangorestframework==3.12.4
     # via
     #   -r requirements/base.txt
     #   django-config-models
-edx-django-utils==4.3.0
+edx-django-utils==4.4.0
     # via
     #   -r requirements/base.txt
     #   django-config-models
@@ -81,7 +81,7 @@ markupsafe==2.0.1
     #   -r requirements/base.txt
     #   mako
     #   xblock
-newrelic==6.8.1.164
+newrelic==7.0.0.166
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
@@ -105,7 +105,7 @@ psutil==5.8.0
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
-pycryptodomex==3.10.1
+pycryptodomex==3.10.4
     # via
     #   -r requirements/base.txt
     #   pyjwkest
@@ -123,7 +123,7 @@ python-dateutil==2.8.2
     # via
     #   -r requirements/base.txt
     #   xblock
-pytz==2021.1
+pytz==2021.3
     # via
     #   -r requirements/base.txt
     #   django
@@ -150,7 +150,7 @@ six==1.16.0
     #   fs
     #   pyjwkest
     #   python-dateutil
-sqlparse==0.4.1
+sqlparse==0.4.2
     # via
     #   -r requirements/base.txt
     #   django
@@ -159,7 +159,7 @@ stevedore==3.4.0
     #   -r requirements/base.txt
     #   edx-django-utils
     #   edx-opaque-keys
-urllib3==1.26.6
+urllib3==1.26.7
     # via
     #   -r requirements/base.txt
     #   requests
@@ -176,7 +176,7 @@ webob==1.8.7
     # via
     #   -r requirements/base.txt
     #   xblock
-xblock==1.5.0
+xblock==1.5.1
     # via
     #   -r requirements/base.txt
     #   xblock-utils
diff --git a/requirements/pip.txt b/requirements/pip.txt
index 36c04ed367563bc1c5e314913fd0e92fe5f8848d..d6eeb93162c5156190b60b63ab1f55cd7f7f665e 100644
--- a/requirements/pip.txt
+++ b/requirements/pip.txt
@@ -10,5 +10,5 @@ wheel==0.37.0
 # The following packages are considered to be unsafe in a requirements file:
 pip==21.2.4
     # via -r requirements/pip.in
-setuptools==57.4.0
+setuptools==58.2.0
     # via -r requirements/pip.in
diff --git a/requirements/pip_tools.txt b/requirements/pip_tools.txt
index ac3012fad7ec35b13a08b892e8d7ecc26b9e68cf..a0f829531244ad5f58f128fc80928bc7acd1f422 100644
--- a/requirements/pip_tools.txt
+++ b/requirements/pip_tools.txt
@@ -8,7 +8,7 @@ click==8.0.1
     # via pip-tools
 pep517==0.11.0
     # via pip-tools
-pip-tools==6.2.0
+pip-tools==6.3.0
     # via -r requirements/pip_tools.in
 tomli==1.2.1
     # via pep517
diff --git a/requirements/test.txt b/requirements/test.txt
index caf4edd0f9060aa6eec4ef020846fa0f41da6f34..30916091b132272737c82da112840dbd54c50bbf 100644
--- a/requirements/test.txt
+++ b/requirements/test.txt
@@ -8,7 +8,7 @@ appdirs==1.4.4
     # via
     #   -r requirements/base.txt
     #   fs
-astroid==2.7.2
+astroid==2.8.2
     # via
     #   pylint
     #   pylint-celery
@@ -16,9 +16,9 @@ bleach==4.1.0
     # via
     #   -r requirements/base.txt
     #   readme-renderer
-boto3==1.18.31
+boto3==1.18.57
     # via fs-s3fs
-botocore==1.21.31
+botocore==1.21.57
     # via
     #   boto3
     #   s3transfer
@@ -26,7 +26,9 @@ certifi==2021.5.30
     # via
     #   -r requirements/base.txt
     #   requests
-charset-normalizer==2.0.4
+cffi==1.14.6
+    # via cryptography
+charset-normalizer==2.0.6
     # via
     #   -r requirements/base.txt
     #   requests
@@ -45,7 +47,9 @@ coverage==5.5
     # via coveralls
 coveralls==3.2.0
     # via -r requirements/test.in
-ddt==1.4.2
+cryptography==35.0.0
+    # via secretstorage
+ddt==1.4.4
     # via -r requirements/test.in
     # via
     #   -c requirements/common_constraints.txt
@@ -56,7 +60,6 @@ ddt==1.4.2
     #   django-pyfs
     #   djangorestframework
     #   edx-django-utils
-    #   edx-lint
     #   jsonfield
     #   xblock-sdk
 django-config-models==2.2.0
@@ -67,7 +70,7 @@ django-crum==0.7.9
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
-django-filter==2.4.0
+django-filter==21.1
     # via -r requirements/base.txt
 django-pyfs==3.1.0
     # via -r requirements/test.in
@@ -85,11 +88,11 @@ docopt==0.6.2
     # via coveralls
 docutils==0.17.1
     # via readme-renderer
-edx-django-utils==4.3.0
+edx-django-utils==4.4.0
     # via
     #   -r requirements/base.txt
     #   django-config-models
-edx-lint==5.0.0
+edx-lint==5.2.0
     # via -r requirements/test.in
 edx-opaque-keys[django]==2.2.2
     # via -r requirements/base.txt
@@ -115,7 +118,11 @@ importlib-metadata==4.8.1
     #   twine
 isort==5.9.3
     # via pylint
-jinja2==3.0.1
+jeepney==0.7.1
+    # via
+    #   keyring
+    #   secretstorage
+jinja2==3.0.2
     # via code-annotations
 jmespath==0.10.0
     # via
@@ -123,7 +130,7 @@ jmespath==0.10.0
     #   botocore
 jsonfield==3.1.0
     # via -r requirements/base.txt
-keyring==23.1.0
+keyring==23.2.1
     # via twine
 lazy==1.4
     # via -r requirements/base.txt
@@ -147,7 +154,7 @@ mccabe==0.6.1
     # via pylint
 mock==4.0.3
     # via -r requirements/test.in
-newrelic==6.8.1.164
+newrelic==7.0.0.166
     # via
     #   -r requirements/base.txt
     #   edx-django-utils
@@ -163,7 +170,7 @@ pbr==5.6.0
     #   stevedore
 pkginfo==1.7.1
     # via twine
-platformdirs==2.2.0
+platformdirs==2.4.0
     # via pylint
 psutil==5.8.0
     # via
@@ -171,7 +178,9 @@ psutil==5.8.0
     #   edx-django-utils
 pycodestyle==2.7.0
     # via -r requirements/test.in
-pycryptodomex==3.10.1
+pycparser==2.20
+    # via cffi
+pycryptodomex==3.10.4
     # via
     #   -r requirements/base.txt
     #   pyjwkest
@@ -179,7 +188,7 @@ pygments==2.10.0
     # via readme-renderer
 pyjwkest==1.4.2
     # via -r requirements/base.txt
-pylint==2.10.2
+pylint==2.11.1
     # via
     #   edx-lint
     #   pylint-celery
@@ -208,7 +217,7 @@ python-dateutil==2.8.2
     #   xblock
 python-slugify==5.0.2
     # via code-annotations
-pytz==2021.1
+pytz==2021.3
     # via
     #   -r requirements/base.txt
     #   django
@@ -219,7 +228,7 @@ pyyaml==5.4.1
     #   -r requirements/base.txt
     #   code-annotations
     #   xblock
-readme-renderer==29.0
+readme-renderer==30.0
     # via
     #   -r requirements/test.in
     #   twine
@@ -236,6 +245,8 @@ rfc3986==1.5.0
     # via twine
 s3transfer==0.5.0
     # via boto3
+secretstorage==3.3.1
+    # via keyring
 simplejson==3.17.5
     # via
     #   -r requirements/base.txt
@@ -249,8 +260,7 @@ six==1.16.0
     #   fs-s3fs
     #   pyjwkest
     #   python-dateutil
-    #   readme-renderer
-sqlparse==0.4.1
+sqlparse==0.4.2
     # via
     #   -r requirements/base.txt
     #   django
@@ -264,11 +274,15 @@ text-unidecode==1.3
     # via python-slugify
 toml==0.10.2
     # via pylint
-tqdm==4.62.2
+tqdm==4.62.3
     # via twine
 twine==3.4.2
     # via -r requirements/test.in
-urllib3==1.26.6
+typing-extensions==3.10.0.2
+    # via
+    #   astroid
+    #   pylint
+urllib3==1.26.7
     # via
     #   -r requirements/base.txt
     #   botocore
@@ -288,15 +302,15 @@ webob==1.8.7
     #   xblock
 wrapt==1.12.1
     # via astroid
-xblock==1.5.0
+xblock==1.5.1
     # via
     #   -r requirements/base.txt
     #   xblock-utils
-xblock-sdk==0.3.0
+xblock-sdk==0.4.0
     # via -r requirements/test.in
 xblock-utils==2.2.0
     # via -r requirements/base.txt
-zipp==3.5.0
+zipp==3.6.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 496768af98ebcde0440caeb0319c97152d720669..04420fe9e58b7f44ec2f44f736df115b5d9877e2 100644
--- a/requirements/tox.txt
+++ b/requirements/tox.txt
@@ -6,15 +6,15 @@
 #
 backports.entry-points-selectable==1.1.0
     # via virtualenv
-distlib==0.3.2
+distlib==0.3.3
     # via virtualenv
-filelock==3.0.12
+filelock==3.3.0
     # via
     #   tox
     #   virtualenv
 packaging==21.0
     # via tox
-platformdirs==2.2.0
+platformdirs==2.4.0
     # via virtualenv
 pluggy==1.0.0
     # via tox
@@ -28,7 +28,7 @@ six==1.16.0
     #   virtualenv
 toml==0.10.2
     # via tox
-tox==3.24.3
+tox==3.24.4
     # via -r requirements/tox.in
-virtualenv==20.7.2
+virtualenv==20.8.1
     # via tox