diff --git a/.editorconfig b/.editorconfig
index fbc3ba798569..9b37217722d1 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -64,7 +64,7 @@
# SERIOUSLY.
#
# ------------------------------
-# Generated by edx-lint version: 5.6.0
+# Generated by edx-lint version: 6.1.0
# ------------------------------
[*]
end_of_line = lf
@@ -97,4 +97,4 @@ max_line_length = 72
[*.rst]
max_line_length = 79
-# 3eb1e01bd9ba6cdf1e5d0a493581c4ea14404b67
+# 99d2471270bbfe21732a52465406865dd11c4840
diff --git a/openedx/core/djangoapps/ace_common/templatetags/ace.py b/openedx/core/djangoapps/ace_common/templatetags/ace.py
index 70177b8d8d25..25d72242242e 100644
--- a/openedx/core/djangoapps/ace_common/templatetags/ace.py
+++ b/openedx/core/djangoapps/ace_common/templatetags/ace.py
@@ -3,10 +3,10 @@
from crum import get_current_request
from django import template
+from django.utils.html import format_html
from django.utils.safestring import mark_safe
from openedx.core.djangoapps.ace_common.tracking import CampaignTrackingInfo, GoogleAnalyticsTrackingPixel
-from openedx.core.djangolib.markup import HTML
register = template.Library() # pylint: disable=invalid-name
@@ -86,9 +86,7 @@ def google_analytics_tracking_pixel(context):
"""
image_url = _get_google_analytics_tracking_url(context)
if image_url is not None:
- return mark_safe(
- HTML('
').format(HTML(image_url))
- )
+ return format_html('
', image_url)
else:
return ''
diff --git a/pylintrc b/pylintrc
index 43f2b3bc9eb8..3ca275220e54 100644
--- a/pylintrc
+++ b/pylintrc
@@ -64,7 +64,7 @@
# SERIOUSLY.
#
# ------------------------------
-# Generated by edx-lint version: 5.6.0
+# Generated by edx-lint version: 6.1.0
# ------------------------------
[MASTER]
ignore = ,.git,.tox,migrations,node_modules,.pycharm_helpers
@@ -414,4 +414,4 @@ int-import-graph =
[EXCEPTIONS]
overgeneral-exceptions = builtins.Exception
-# d6e4348dec0a8eb2752fc4fe02315286c298aeff
+# 0dccd7f4e438532146a49ea3d1399db32add6e4d
diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt
index 748858b7015a..45750edf0b20 100644
--- a/requirements/common_constraints.txt
+++ b/requirements/common_constraints.txt
@@ -22,3 +22,9 @@ Django<6.0
# elastic search changelog: https://www.elastic.co/guide/en/enterprise-search/master/release-notes-7.14.0.html
# See https://github.com/openedx/edx-platform/issues/35126 for more info
elasticsearch<7.14.0
+
+# 2026-07-06: Constrain social-auth-* packages to the latest version compatible with
+# edx-drf-extensions<=10.6.0. (Newer versions require a POST instead of a GET.)
+# Tracking issue: https://github.com/openedx/edx-drf-extensions/issues/561
+social-auth-app-django<6.0.0
+social-auth-core<5.0.0
diff --git a/requirements/edx-sandbox/base.txt b/requirements/edx-sandbox/base.txt
index 13ce4dca2df6..b8e65cd6053d 100644
--- a/requirements/edx-sandbox/base.txt
+++ b/requirements/edx-sandbox/base.txt
@@ -18,6 +18,8 @@ cryptography==49.0.0
# via -r requirements/edx-sandbox/base.in
cycler==0.12.1
# via matplotlib
+defusedxml==0.7.1
+ # via nltk
fonttools==4.63.0
# via matplotlib
joblib==1.5.3
@@ -36,13 +38,13 @@ markupsafe==3.0.3
# via
# chem
# openedx-calc
-matplotlib==3.11.0
+matplotlib==3.11.1
# via -r requirements/edx-sandbox/base.in
mpmath==1.3.0
# via sympy
networkx==3.6.1
# via -r requirements/edx-sandbox/base.in
-nltk==3.9.4
+nltk==3.10.0
# via
# -r requirements/edx-sandbox/base.in
# chem
@@ -72,7 +74,7 @@ python-dateutil==2.9.0.post0
# via matplotlib
random2==1.0.2
# via -r requirements/edx-sandbox/base.in
-regex==2026.6.28
+regex==2026.7.19
# via nltk
scipy==1.17.1
# via
@@ -84,5 +86,5 @@ sympy==1.14.0
# via
# -r requirements/edx-sandbox/base.in
# openedx-calc
-tqdm==4.68.4
+tqdm==4.70.0
# via nltk
diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt
index bd3e03a9e0f5..ddf6f5dc92fd 100644
--- a/requirements/edx/base.txt
+++ b/requirements/edx/base.txt
@@ -8,7 +8,7 @@ acid-xblock==0.4.1
# via -r requirements/edx/kernel.in
aiohappyeyeballs==2.7.1
# via aiohttp
-aiohttp==3.14.1
+aiohttp==3.14.3
# via geoip2
aiosignal==1.4.0
# via aiohttp
@@ -20,13 +20,13 @@ aniso8601==10.0.1
# via
# edx-tincan-py35
# tincan
-annotated-types==0.7.0
+annotated-types==0.8.0
# via pydantic
-anyio==4.14.1
+anyio==4.14.2
# via httpx
appdirs==1.4.4
# via fs
-asgiref==3.11.1
+asgiref==3.12.1
# via
# django
# django-cors-headers
@@ -68,26 +68,26 @@ bleach[css]==6.4.0
# ora2
# xblock-drag-and-drop-v2
# xblock-poll
-boto3==1.43.41
+boto3==1.43.57
# via
# -r requirements/edx/kernel.in
# django-ses
# fs-s3fs
# ora2
# snowflake-connector-python
-botocore==1.43.41
+botocore==1.43.57
# via
# -r requirements/edx/kernel.in
# boto3
# s3transfer
# snowflake-connector-python
-bracex==3.0
+bracex==3.0.1
# via wcmatch
bridgekeeper==0.9
# via -r requirements/edx/kernel.in
cachecontrol==0.14.4
# via firebase-admin
-cachetools==7.1.4
+cachetools==7.1.6
# via edxval
camel-converter[pydantic]==5.1.0
# via meilisearch
@@ -104,7 +104,7 @@ celery==5.6.3
# enterprise-integrated-channels
# event-tracking
# openedx-core
-certifi==2026.6.17
+certifi==2026.7.22
# via
# elasticsearch
# httpcore
@@ -169,6 +169,7 @@ defusedxml==0.7.1
# via
# -r requirements/edx/kernel.in
# djangorestframework-xml
+ # nltk
# ora2
# python3-openid
# social-auth-core
@@ -286,7 +287,7 @@ django-fernet-fields-v2==0.9
# via
# edx-enterprise
# enterprise-integrated-channels
-django-filter==25.2
+django-filter==26.1
# via
# -r requirements/edx/kernel.in
# edx-enterprise
@@ -348,7 +349,7 @@ django-sekizai==4.1.0
# openedx-django-wiki
django-ses==4.7.2
# via -r requirements/edx/bundled.in
-django-simple-history==3.12.0
+django-simple-history==3.13.0
# via
# -r requirements/edx/kernel.in
# edx-enterprise
@@ -540,7 +541,7 @@ edx-search==5.0.2
# openedx-forum
edx-sga==0.29.0
# via -r requirements/edx/bundled.in
-edx-submissions==4.0.0
+edx-submissions==4.0.2
# via
# -r requirements/edx/kernel.in
# ora2
@@ -590,7 +591,7 @@ event-tracking==4.0.2
# edx-search
fastavro==1.12.2
# via openedx-events
-filelock==3.29.6
+filelock==3.32.0
# via snowflake-connector-python
firebase-admin==7.5.0
# via edx-ace
@@ -609,17 +610,17 @@ fs-s3fs==1.1.1
# via
# -r requirements/edx/kernel.in
# openedx-django-pyfs
-geoip2==5.2.0
+geoip2==5.3.0
# via -r requirements/edx/kernel.in
glob2==0.7
# via -r requirements/edx/kernel.in
-google-api-core[grpc]==2.31.0
+google-api-core[grpc]==2.33.0
# via
# firebase-admin
# google-cloud-core
# google-cloud-firestore
# google-cloud-storage
-google-auth==2.55.1
+google-auth==2.56.2
# via
# google-api-core
# google-cloud-core
@@ -631,7 +632,7 @@ google-cloud-core==2.6.0
# google-cloud-storage
google-cloud-firestore==2.28.0
# via firebase-admin
-google-cloud-storage==3.12.0
+google-cloud-storage==3.13.0
# via firebase-admin
google-crc32c==1.8.0
# via
@@ -643,18 +644,18 @@ googleapis-common-protos==1.75.0
# via
# google-api-core
# grpcio-status
-grpcio==1.82.0
+grpcio==1.83.0
# via
# google-api-core
# google-cloud-firestore
# grpcio-status
-grpcio-status==1.82.0
+grpcio-status==1.83.0
# via google-api-core
gunicorn==26.0.0
# via -r requirements/edx/kernel.in
h11==0.16.0
# via httpcore
-h2==4.3.0
+h2==4.4.0
# via httpx
help-tokens==4.0.0
# via -r requirements/edx/kernel.in
@@ -673,7 +674,7 @@ httpx[http2]==0.28.1
# typesense
hyperframe==6.1.0
# via h2
-icalendar==7.2.0
+icalendar==7.2.2
# via -r requirements/edx/kernel.in
idna==3.18
# via
@@ -735,7 +736,7 @@ lazy==2.0
# lti-consumer-xblock
# ora2
# xblock
-lti-consumer-xblock==11.3.1
+lti-consumer-xblock==11.4.0
# via -r requirements/edx/kernel.in
lxml[html-clean]==5.3.2
# via
@@ -779,7 +780,7 @@ markupsafe==3.0.3
# xblocks-contrib
maxminddb==3.1.1
# via geoip2
-meilisearch==0.42.0
+meilisearch==0.43.0
# via
# -r requirements/edx/kernel.in
# edx-search
@@ -805,7 +806,7 @@ nh3==0.3.6
# via
# -r requirements/edx/kernel.in
# xblocks-contrib
-nltk==3.9.4
+nltk==3.10.0
# via chem
nodeenv==1.10.0
# via -r requirements/edx/kernel.in
@@ -834,7 +835,7 @@ openedx-atlas==0.7.0
# enterprise-integrated-channels
# openedx-authz
# openedx-forum
-openedx-authz==1.21.0
+openedx-authz==1.21.1
# via -r requirements/edx/kernel.in
openedx-calc==5.0.0
# via
@@ -869,7 +870,7 @@ openedx-filters==3.8.0
# ora2
openedx-forum==0.4.3
# via -r requirements/edx/kernel.in
-optimizely-sdk==5.5.0
+optimizely-sdk==5.6.0
# via -r requirements/edx/bundled.in
ora2==7.1.0
# via -r requirements/edx/bundled.in
@@ -904,17 +905,17 @@ pillow==12.3.0
# edx-enterprise
# edx-organizations
# edxval
-platformdirs==4.10.0
+platformdirs==4.11.0
# via snowflake-connector-python
polib==1.2.0
# via edx-i18n-tools
-prompt-toolkit==3.0.52
+prompt-toolkit==3.0.53
# via click-repl
propcache==0.5.2
# via
# aiohttp
# yarl
-proto-plus==1.28.0
+proto-plus==1.28.2
# via
# google-api-core
# google-cloud-firestore
@@ -931,7 +932,7 @@ psutil==7.2.2
# edx-django-utils
psycopg2-binary==2.9.12
# via -r requirements/edx/kernel.in
-pyasn1==0.6.3
+pyasn1==0.6.4
# via
# pgpy
# pyasn1-modules
@@ -967,7 +968,7 @@ pyjwt[crypto]==2.13.0
# pylti1p3
# snowflake-connector-python
# social-auth-core
-pylatexenc==2.10
+pylatexenc==2.11
# via olxcleaner
pylti1p3==2.0.0
# via -r requirements/edx/kernel.in
@@ -1027,7 +1028,7 @@ python3-saml==1.16.0
# via
# -r requirements/edx/kernel.in
# edx-enterprise
-pytz==2026.2
+pytz==2026.3.post1
# via
# -r requirements/edx/kernel.in
# drf-yasg
@@ -1060,7 +1061,7 @@ random2==1.0.2
# via
# -r requirements/edx/kernel.in
# xblocks-contrib
-recommender-xblock==5.0.0
+recommender-xblock==5.1.0
# via -r requirements/edx/bundled.in
redis==8.0.1
# via
@@ -1070,7 +1071,7 @@ referencing==0.37.0
# via
# jsonschema
# jsonschema-specifications
-regex==2026.6.28
+regex==2026.7.19
# via nltk
requests==2.34.2
# via
@@ -1112,7 +1113,7 @@ rules==3.5
# edx-enterprise
# edx-proctoring
# openedx-core
-s3transfer==0.19.0
+s3transfer==0.19.2
# via boto3
sailthru-client==2.2.3
# via edx-ace
@@ -1156,16 +1157,18 @@ slumber==0.7.1
# edx-bulk-grades
# edx-enterprise
# enterprise-integrated-channels
-snowflake-connector-python==4.6.0
+snowflake-connector-python==4.7.1
# via enterprise-integrated-channels
social-auth-app-django==5.4.1
# via
+ # -c requirements/common_constraints.txt
# -c requirements/constraints.txt
# -r requirements/edx/kernel.in
# edx-auth-backends
# edx-enterprise
-social-auth-core==5.0.2
+social-auth-core==4.9.1
# via
+ # -c requirements/common_constraints.txt
# -r requirements/edx/kernel.in
# edx-auth-backends
# social-auth-app-django
@@ -1177,7 +1180,7 @@ sortedcontainers==2.4.0
# via
# -r requirements/edx/kernel.in
# snowflake-connector-python
-soupsieve==2.8.4
+soupsieve==2.9.1
# via beautifulsoup4
sqlparse==0.5.5
# via django
@@ -1195,7 +1198,7 @@ super-csv==5.0.0
# via edx-bulk-grades
sympy==1.14.0
# via openedx-calc
-testfixtures==12.2.0
+testfixtures==12.3.0
# via edx-enterprise
text-unidecode==1.3
# via python-slugify
@@ -1203,11 +1206,11 @@ tincan==1.0.0
# via edx-enterprise
tinycss2==1.5.1
# via bleach
-tomlkit==0.15.0
+tomlkit==0.15.1
# via
# openedx-core
# snowflake-connector-python
-tqdm==4.68.4
+tqdm==4.70.0
# via nltk
typesense==2.0.0
# via
@@ -1235,7 +1238,7 @@ typing-extensions==4.16.0
# typing-inspection
typing-inspection==0.4.2
# via pydantic
-tzdata==2026.2
+tzdata==2026.3
# via
# icalendar
# kombu
@@ -1266,7 +1269,7 @@ voluptuous==0.16.0
# via ora2
walrus==0.9.8
# via edx-event-bus-redis
-wcmatch==10.2.1
+wcmatch==11.0
# via pycasbin
wcwidth==0.8.2
# via prompt-toolkit
@@ -1286,7 +1289,7 @@ wrapt==2.2.2
# via
# -r requirements/edx/kernel.in
# xblocks-contrib
-xblock[django]==6.3.0
+xblock[django]==6.3.1
# via
# -r requirements/edx/kernel.in
# acid-xblock
@@ -1302,7 +1305,7 @@ xblock[django]==6.3.0
# xblock-google-drive
# xblock-poll
# xblocks-contrib
-xblock-drag-and-drop-v2==5.0.6
+xblock-drag-and-drop-v2==5.1.0
# via -r requirements/edx/bundled.in
xblock-google-drive==0.8.2
# via -r requirements/edx/bundled.in
@@ -1316,7 +1319,7 @@ xmlsec==1.3.14
# python3-saml
xss-utils==1.0.0
# via -r requirements/edx/kernel.in
-yarl==1.24.2
+yarl==1.24.5
# via aiohttp
zipp==4.1.0
# via importlib-metadata
diff --git a/requirements/edx/coverage.txt b/requirements/edx/coverage.txt
index 393e0310fcf4..bbe0203e915f 100644
--- a/requirements/edx/coverage.txt
+++ b/requirements/edx/coverage.txt
@@ -6,9 +6,9 @@
#
chardet==7.4.3
# via diff-cover
-coverage==7.15.0
+coverage==7.15.2
# via -r requirements/edx/coverage.in
-diff-cover==10.3.0
+diff-cover==10.4.1
# via -r requirements/edx/coverage.in
jinja2==3.1.6
# via diff-cover
diff --git a/requirements/edx/development.txt b/requirements/edx/development.txt
index a7c879700abd..e71ad62c0645 100644
--- a/requirements/edx/development.txt
+++ b/requirements/edx/development.txt
@@ -17,7 +17,7 @@ aiohappyeyeballs==2.7.1
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# aiohttp
-aiohttp==3.14.1
+aiohttp==3.14.3
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -46,12 +46,12 @@ aniso8601==10.0.1
# -r requirements/edx/testing.txt
# edx-tincan-py35
# tincan
-annotated-types==0.7.0
+annotated-types==0.8.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# pydantic
-anyio==4.14.1
+anyio==4.14.2
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -61,7 +61,7 @@ appdirs==1.4.4
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# fs
-asgiref==3.11.1
+asgiref==3.12.1
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -134,7 +134,7 @@ bleach[css]==6.4.0
# ora2
# xblock-drag-and-drop-v2
# xblock-poll
-boto3==1.43.41
+boto3==1.43.57
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -142,14 +142,14 @@ boto3==1.43.41
# fs-s3fs
# ora2
# snowflake-connector-python
-botocore==1.43.41
+botocore==1.43.57
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# boto3
# s3transfer
# snowflake-connector-python
-bracex==3.0
+bracex==3.0.1
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -167,7 +167,7 @@ cachecontrol==0.14.4
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# firebase-admin
-cachetools==7.1.4
+cachetools==7.1.6
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -195,7 +195,7 @@ celery==5.6.3
# enterprise-integrated-channels
# event-tracking
# openedx-core
-certifi==2026.6.17
+certifi==2026.7.22
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -281,7 +281,7 @@ colorama==0.4.6
# via
# -r requirements/edx/testing.txt
# tox
-coverage[toml]==7.15.0
+coverage[toml]==7.15.2
# via
# -r requirements/edx/testing.txt
# pytest-cov
@@ -303,7 +303,7 @@ cryptography==49.0.0
# pyopenssl
# snowflake-connector-python
# social-auth-core
-cssselect==1.4.0
+cssselect==1.5.0
# via
# -r requirements/edx/testing.txt
# pyquery
@@ -323,11 +323,12 @@ defusedxml==0.7.1
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# djangorestframework-xml
+ # nltk
# ora2
# python3-openid
# social-auth-core
# xblocks-contrib
-diff-cover==10.3.0
+diff-cover==10.4.1
# via -r requirements/edx/testing.txt
dill==0.4.1
# via
@@ -478,7 +479,7 @@ django-fernet-fields-v2==0.9
# -r requirements/edx/testing.txt
# edx-enterprise
# enterprise-integrated-channels
-django-filter==25.2
+django-filter==26.1
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -567,7 +568,7 @@ django-ses==4.7.2
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
-django-simple-history==3.12.0
+django-simple-history==3.13.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -593,7 +594,7 @@ django-stubs[compatible-mypy]==5.2.9
# -c requirements/constraints.txt
# -r requirements/edx/development.in
# djangorestframework-stubs
-django-stubs-ext==6.0.6
+django-stubs-ext==6.0.7
# via django-stubs
django-user-tasks==4.0.0
# via
@@ -833,7 +834,7 @@ edx-sga==0.29.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
-edx-submissions==4.0.0
+edx-submissions==4.0.2
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -907,7 +908,7 @@ execnet==2.1.2
# pytest-xdist
factory-boy==3.3.3
# via -r requirements/edx/testing.txt
-faker==40.28.1
+faker==40.36.0
# via
# -r requirements/edx/testing.txt
# factory-boy
@@ -916,7 +917,7 @@ fastavro==1.12.2
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# openedx-events
-filelock==3.29.6
+filelock==3.32.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -950,7 +951,7 @@ fs-s3fs==1.1.1
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# openedx-django-pyfs
-geoip2==5.2.0
+geoip2==5.3.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -958,13 +959,13 @@ gitdb==4.0.12
# via
# -r requirements/edx/doc.txt
# gitpython
-gitpython==3.1.50
+gitpython==3.1.57
# via -r requirements/edx/doc.txt
glob2==0.7
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
-google-api-core[grpc]==2.31.0
+google-api-core[grpc]==2.33.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -972,7 +973,7 @@ google-api-core[grpc]==2.31.0
# google-cloud-core
# google-cloud-firestore
# google-cloud-storage
-google-auth==2.55.1
+google-auth==2.56.2
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -991,7 +992,7 @@ google-cloud-firestore==2.28.0
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# firebase-admin
-google-cloud-storage==3.12.0
+google-cloud-storage==3.13.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1017,14 +1018,14 @@ grimp==3.15
# via
# -r requirements/edx/testing.txt
# import-linter
-grpcio==1.82.0
+grpcio==1.83.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# google-api-core
# google-cloud-firestore
# grpcio-status
-grpcio-status==1.82.0
+grpcio-status==1.83.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1038,7 +1039,7 @@ h11==0.16.0
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# httpcore
-h2==4.3.0
+h2==4.4.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1076,7 +1077,7 @@ hyperframe==6.1.0
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# h2
-icalendar==7.2.0
+icalendar==7.2.2
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1134,6 +1135,7 @@ jinja2==3.1.6
# -r requirements/edx/testing.txt
# code-annotations
# diff-cover
+ # pydata-sphinx-theme
# sphinx
# sphinx-autoapi
jmespath==1.1.0
@@ -1198,13 +1200,13 @@ lazy==2.0
# lti-consumer-xblock
# ora2
# xblock
-librt==0.12.0
+librt==0.13.0
# via mypy
libsass==0.10.0
# via
# -c requirements/constraints.txt
# -r requirements/edx/assets.txt
-lti-consumer-xblock==11.3.1
+lti-consumer-xblock==11.4.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1276,12 +1278,12 @@ mdurl==0.1.2
# via
# -r requirements/edx/testing.txt
# markdown-it-py
-meilisearch==0.42.0
+meilisearch==0.43.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# edx-search
-mistune==3.3.2
+mistune==3.3.4
# via
# -r requirements/edx/doc.txt
# sphinx-mdinclude
@@ -1333,7 +1335,7 @@ nh3==0.3.6
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# xblocks-contrib
-nltk==3.9.4
+nltk==3.10.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1374,7 +1376,7 @@ openedx-atlas==0.7.0
# enterprise-integrated-channels
# openedx-authz
# openedx-forum
-openedx-authz==1.21.0
+openedx-authz==1.21.1
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1424,7 +1426,7 @@ openedx-forum==0.4.3
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
-optimizely-sdk==5.5.0
+optimizely-sdk==5.6.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1449,7 +1451,7 @@ packaging==26.2
# wheel
pact-python==3.4.0
# via -r requirements/edx/testing.txt
-pact-python-ffi==0.5.4.0
+pact-python-ffi==0.5.4.1
# via
# -r requirements/edx/testing.txt
# pact-python
@@ -1495,9 +1497,9 @@ pillow==12.3.0
# edx-enterprise
# edx-organizations
# edxval
-pip-tools==7.5.3
+pip-tools==7.6.0
# via -r requirements/pip-tools.txt
-platformdirs==4.10.0
+platformdirs==4.11.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1518,7 +1520,7 @@ polib==1.2.0
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# edx-i18n-tools
-prompt-toolkit==3.0.52
+prompt-toolkit==3.0.53
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1529,7 +1531,7 @@ propcache==0.5.2
# -r requirements/edx/testing.txt
# aiohttp
# yarl
-proto-plus==1.28.0
+proto-plus==1.28.2
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1556,7 +1558,7 @@ psycopg2-binary==2.9.12
# -r requirements/edx/testing.txt
py==1.11.0
# via -r requirements/edx/testing.txt
-pyasn1==0.6.3
+pyasn1==0.6.4
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1598,7 +1600,7 @@ pydantic-core==2.46.4
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# pydantic
-pydata-sphinx-theme==0.16.1
+pydata-sphinx-theme==0.20.0
# via
# -r requirements/edx/doc.txt
# sphinx-book-theme
@@ -1626,7 +1628,7 @@ pyjwt[crypto]==2.13.0
# pylti1p3
# snowflake-connector-python
# social-auth-core
-pylatexenc==2.10
+pylatexenc==2.11
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1643,7 +1645,7 @@ pylint-celery==0.3
# via
# -r requirements/edx/testing.txt
# edx-lint
-pylint-django==2.7.0
+pylint-django==2.8.0
# via
# -r requirements/edx/testing.txt
# edx-lint
@@ -1693,7 +1695,7 @@ pyparsing==3.3.2
# chem
# openedx-calc
# xblocks-contrib
-pyproject-api==1.10.1
+pyproject-api==1.11.0
# via
# -r requirements/edx/testing.txt
# tox
@@ -1702,7 +1704,7 @@ pyproject-hooks==1.2.0
# -r requirements/pip-tools.txt
# build
# pip-tools
-pyquery==2.0.1
+pyquery==2.1.0
# via -r requirements/edx/testing.txt
pyrsistent==0.20.0
# via
@@ -1759,7 +1761,7 @@ python-dateutil==2.9.0.post0
# olxcleaner
# ora2
# xblock
-python-discovery==1.4.3
+python-discovery==1.5.0
# via
# -r requirements/edx/testing.txt
# tox
@@ -1789,7 +1791,7 @@ python3-saml==1.16.0
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# edx-enterprise
-pytz==2026.2
+pytz==2026.3.post1
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1831,7 +1833,7 @@ random2==1.0.2
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# xblocks-contrib
-recommender-xblock==5.0.0
+recommender-xblock==5.1.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1846,7 +1848,7 @@ referencing==0.37.0
# -r requirements/edx/testing.txt
# jsonschema
# jsonschema-specifications
-regex==2026.6.28
+regex==2026.7.19
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1870,6 +1872,7 @@ requests==2.34.2
# meilisearch
# openedx-forum
# optimizely-sdk
+ # pydata-sphinx-theme
# pylti1p3
# python-swiftclient
# requests-oauthlib
@@ -1899,7 +1902,7 @@ rpds-py==2026.6.3
# -r requirements/edx/testing.txt
# jsonschema
# referencing
-ruff==0.15.20
+ruff==0.16.0
# via -r requirements/edx/testing.txt
rules==3.5
# via
@@ -1908,7 +1911,7 @@ rules==3.5
# edx-enterprise
# edx-proctoring
# openedx-core
-s3transfer==0.19.0
+s3transfer==0.19.2
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -1984,20 +1987,22 @@ snowballstemmer==3.1.1
# via
# -r requirements/edx/doc.txt
# sphinx
-snowflake-connector-python==4.6.0
+snowflake-connector-python==4.7.1
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# enterprise-integrated-channels
social-auth-app-django==5.4.1
# via
+ # -c requirements/common_constraints.txt
# -c requirements/constraints.txt
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# edx-auth-backends
# edx-enterprise
-social-auth-core==5.0.2
+social-auth-core==4.9.1
# via
+ # -c requirements/common_constraints.txt
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# edx-auth-backends
@@ -2012,7 +2017,7 @@ sortedcontainers==2.4.0
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# snowflake-connector-python
-soupsieve==2.8.4
+soupsieve==2.9.1
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -2033,7 +2038,7 @@ sphinx-autoapi==3.6.0
# via
# -c requirements/constraints.txt
# -r requirements/edx/doc.txt
-sphinx-book-theme==1.2.0
+sphinx-book-theme==1.4.0
# via -r requirements/edx/doc.txt
sphinx-design==0.7.0
# via -r requirements/edx/doc.txt
@@ -2104,7 +2109,7 @@ sympy==1.14.0
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# openedx-calc
-testfixtures==12.2.0
+testfixtures==12.3.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -2128,7 +2133,7 @@ tomli-w==1.2.0
# via
# -r requirements/edx/testing.txt
# tox
-tomlkit==0.15.0
+tomlkit==0.15.1
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -2136,18 +2141,18 @@ tomlkit==0.15.0
# openedx-core
# pylint
# snowflake-connector-python
-tox==4.56.2
+tox==4.58.0
# via -r requirements/edx/testing.txt
-tqdm==4.68.4
+tqdm==4.70.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# nltk
-types-pyyaml==6.0.12.20260518
+types-pyyaml==6.0.12.20260724
# via
# django-stubs
# djangorestframework-stubs
-types-requests==2.33.0.20260518
+types-requests==2.33.0.20260712
# via -r requirements/edx/development.in
typesense==2.0.0
# via
@@ -2176,7 +2181,6 @@ typing-extensions==4.16.0
# pact-python
# pydantic
# pydantic-core
- # pydata-sphinx-theme
# pylti1p3
# pyopenssl
# referencing
@@ -2189,7 +2193,7 @@ typing-inspection==0.4.2
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# pydantic
-tzdata==2026.2
+tzdata==2026.3
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -2210,7 +2214,7 @@ unicodeit==0.7.5
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
-unidiff==0.7.5
+unidiff==1.0.0
# via -r requirements/edx/testing.txt
uritemplate==4.2.0
# via
@@ -2233,7 +2237,7 @@ vine==5.1.0
# amqp
# celery
# kombu
-virtualenv==21.6.0
+virtualenv==21.7.0
# via
# -r requirements/edx/testing.txt
# tox
@@ -2251,7 +2255,7 @@ walrus==0.9.8
# edx-event-bus-redis
watchdog==6.0.0
# via -r requirements/edx/development.in
-wcmatch==10.2.1
+wcmatch==11.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -2286,7 +2290,7 @@ wrapt==2.2.2
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
# xblocks-contrib
-xblock[django]==6.3.0
+xblock[django]==6.3.1
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -2303,7 +2307,7 @@ xblock[django]==6.3.0
# xblock-google-drive
# xblock-poll
# xblocks-contrib
-xblock-drag-and-drop-v2==5.0.6
+xblock-drag-and-drop-v2==5.1.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
@@ -2329,7 +2333,7 @@ xss-utils==1.0.0
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
-yarl==1.24.2
+yarl==1.24.5
# via
# -r requirements/edx/doc.txt
# -r requirements/edx/testing.txt
diff --git a/requirements/edx/doc.txt b/requirements/edx/doc.txt
index f2111992fc70..bd57596ded17 100644
--- a/requirements/edx/doc.txt
+++ b/requirements/edx/doc.txt
@@ -12,7 +12,7 @@ aiohappyeyeballs==2.7.1
# via
# -r requirements/edx/base.txt
# aiohttp
-aiohttp==3.14.1
+aiohttp==3.14.3
# via
# -r requirements/edx/base.txt
# geoip2
@@ -33,11 +33,11 @@ aniso8601==10.0.1
# -r requirements/edx/base.txt
# edx-tincan-py35
# tincan
-annotated-types==0.7.0
+annotated-types==0.8.0
# via
# -r requirements/edx/base.txt
# pydantic
-anyio==4.14.1
+anyio==4.14.2
# via
# -r requirements/edx/base.txt
# httpx
@@ -45,7 +45,7 @@ appdirs==1.4.4
# via
# -r requirements/edx/base.txt
# fs
-asgiref==3.11.1
+asgiref==3.12.1
# via
# -r requirements/edx/base.txt
# django
@@ -105,20 +105,20 @@ bleach[css]==6.4.0
# ora2
# xblock-drag-and-drop-v2
# xblock-poll
-boto3==1.43.41
+boto3==1.43.57
# via
# -r requirements/edx/base.txt
# django-ses
# fs-s3fs
# ora2
# snowflake-connector-python
-botocore==1.43.41
+botocore==1.43.57
# via
# -r requirements/edx/base.txt
# boto3
# s3transfer
# snowflake-connector-python
-bracex==3.0
+bracex==3.0.1
# via
# -r requirements/edx/base.txt
# wcmatch
@@ -128,7 +128,7 @@ cachecontrol==0.14.4
# via
# -r requirements/edx/base.txt
# firebase-admin
-cachetools==7.1.4
+cachetools==7.1.6
# via
# -r requirements/edx/base.txt
# edxval
@@ -151,7 +151,7 @@ celery==5.6.3
# enterprise-integrated-channels
# event-tracking
# openedx-core
-certifi==2026.6.17
+certifi==2026.7.22
# via
# -r requirements/edx/base.txt
# elasticsearch
@@ -233,6 +233,7 @@ defusedxml==0.7.1
# via
# -r requirements/edx/base.txt
# djangorestframework-xml
+ # nltk
# ora2
# python3-openid
# social-auth-core
@@ -357,7 +358,7 @@ django-fernet-fields-v2==0.9
# -r requirements/edx/base.txt
# edx-enterprise
# enterprise-integrated-channels
-django-filter==25.2
+django-filter==26.1
# via
# -r requirements/edx/base.txt
# edx-enterprise
@@ -426,7 +427,7 @@ django-sekizai==4.1.0
# openedx-django-wiki
django-ses==4.7.2
# via -r requirements/edx/base.txt
-django-simple-history==3.12.0
+django-simple-history==3.13.0
# via
# -r requirements/edx/base.txt
# edx-enterprise
@@ -631,7 +632,7 @@ edx-search==5.0.2
# openedx-forum
edx-sga==0.29.0
# via -r requirements/edx/base.txt
-edx-submissions==4.0.0
+edx-submissions==4.0.2
# via
# -r requirements/edx/base.txt
# ora2
@@ -690,7 +691,7 @@ fastavro==1.12.2
# via
# -r requirements/edx/base.txt
# openedx-events
-filelock==3.29.6
+filelock==3.32.0
# via
# -r requirements/edx/base.txt
# snowflake-connector-python
@@ -714,22 +715,22 @@ fs-s3fs==1.1.1
# via
# -r requirements/edx/base.txt
# openedx-django-pyfs
-geoip2==5.2.0
+geoip2==5.3.0
# via -r requirements/edx/base.txt
gitdb==4.0.12
# via gitpython
-gitpython==3.1.50
+gitpython==3.1.57
# via -r requirements/edx/doc.in
glob2==0.7
# via -r requirements/edx/base.txt
-google-api-core[grpc]==2.31.0
+google-api-core[grpc]==2.33.0
# via
# -r requirements/edx/base.txt
# firebase-admin
# google-cloud-core
# google-cloud-firestore
# google-cloud-storage
-google-auth==2.55.1
+google-auth==2.56.2
# via
# -r requirements/edx/base.txt
# google-api-core
@@ -745,7 +746,7 @@ google-cloud-firestore==2.28.0
# via
# -r requirements/edx/base.txt
# firebase-admin
-google-cloud-storage==3.12.0
+google-cloud-storage==3.13.0
# via
# -r requirements/edx/base.txt
# firebase-admin
@@ -763,13 +764,13 @@ googleapis-common-protos==1.75.0
# -r requirements/edx/base.txt
# google-api-core
# grpcio-status
-grpcio==1.82.0
+grpcio==1.83.0
# via
# -r requirements/edx/base.txt
# google-api-core
# google-cloud-firestore
# grpcio-status
-grpcio-status==1.82.0
+grpcio-status==1.83.0
# via
# -r requirements/edx/base.txt
# google-api-core
@@ -779,7 +780,7 @@ h11==0.16.0
# via
# -r requirements/edx/base.txt
# httpcore
-h2==4.3.0
+h2==4.4.0
# via
# -r requirements/edx/base.txt
# httpx
@@ -807,7 +808,7 @@ hyperframe==6.1.0
# via
# -r requirements/edx/base.txt
# h2
-icalendar==7.2.0
+icalendar==7.2.2
# via -r requirements/edx/base.txt
idna==3.18
# via
@@ -841,6 +842,7 @@ jinja2==3.1.6
# via
# -r requirements/edx/base.txt
# code-annotations
+ # pydata-sphinx-theme
# sphinx
# sphinx-autoapi
jmespath==1.1.0
@@ -894,7 +896,7 @@ lazy==2.0
# lti-consumer-xblock
# ora2
# xblock
-lti-consumer-xblock==11.3.1
+lti-consumer-xblock==11.4.0
# via -r requirements/edx/base.txt
lxml[html-clean]==5.3.2
# via
@@ -943,11 +945,11 @@ maxminddb==3.1.1
# via
# -r requirements/edx/base.txt
# geoip2
-meilisearch==0.42.0
+meilisearch==0.43.0
# via
# -r requirements/edx/base.txt
# edx-search
-mistune==3.3.2
+mistune==3.3.4
# via sphinx-mdinclude
mongoengine==0.29.3
# via -r requirements/edx/base.txt
@@ -980,7 +982,7 @@ nh3==0.3.6
# via
# -r requirements/edx/base.txt
# xblocks-contrib
-nltk==3.9.4
+nltk==3.10.0
# via
# -r requirements/edx/base.txt
# chem
@@ -1012,7 +1014,7 @@ openedx-atlas==0.7.0
# enterprise-integrated-channels
# openedx-authz
# openedx-forum
-openedx-authz==1.21.0
+openedx-authz==1.21.1
# via -r requirements/edx/base.txt
openedx-calc==5.0.0
# via
@@ -1049,7 +1051,7 @@ openedx-filters==3.8.0
# ora2
openedx-forum==0.4.3
# via -r requirements/edx/base.txt
-optimizely-sdk==5.5.0
+optimizely-sdk==5.6.0
# via -r requirements/edx/base.txt
ora2==7.1.0
# via -r requirements/edx/base.txt
@@ -1093,7 +1095,7 @@ pillow==12.3.0
# edx-enterprise
# edx-organizations
# edxval
-platformdirs==4.10.0
+platformdirs==4.11.0
# via
# -r requirements/edx/base.txt
# snowflake-connector-python
@@ -1101,7 +1103,7 @@ polib==1.2.0
# via
# -r requirements/edx/base.txt
# edx-i18n-tools
-prompt-toolkit==3.0.52
+prompt-toolkit==3.0.53
# via
# -r requirements/edx/base.txt
# click-repl
@@ -1110,7 +1112,7 @@ propcache==0.5.2
# -r requirements/edx/base.txt
# aiohttp
# yarl
-proto-plus==1.28.0
+proto-plus==1.28.2
# via
# -r requirements/edx/base.txt
# google-api-core
@@ -1129,7 +1131,7 @@ psutil==7.2.2
# edx-django-utils
psycopg2-binary==2.9.12
# via -r requirements/edx/base.txt
-pyasn1==0.6.3
+pyasn1==0.6.4
# via
# -r requirements/edx/base.txt
# pgpy
@@ -1162,7 +1164,7 @@ pydantic-core==2.46.4
# via
# -r requirements/edx/base.txt
# pydantic
-pydata-sphinx-theme==0.16.1
+pydata-sphinx-theme==0.20.0
# via sphinx-book-theme
pygments==2.20.0
# via
@@ -1183,7 +1185,7 @@ pyjwt[crypto]==2.13.0
# pylti1p3
# snowflake-connector-python
# social-auth-core
-pylatexenc==2.10
+pylatexenc==2.11
# via
# -r requirements/edx/base.txt
# olxcleaner
@@ -1257,7 +1259,7 @@ python3-saml==1.16.0
# via
# -r requirements/edx/base.txt
# edx-enterprise
-pytz==2026.2
+pytz==2026.3.post1
# via
# -r requirements/edx/base.txt
# drf-yasg
@@ -1292,7 +1294,7 @@ random2==1.0.2
# via
# -r requirements/edx/base.txt
# xblocks-contrib
-recommender-xblock==5.0.0
+recommender-xblock==5.1.0
# via -r requirements/edx/base.txt
redis==8.0.1
# via
@@ -1303,7 +1305,7 @@ referencing==0.37.0
# -r requirements/edx/base.txt
# jsonschema
# jsonschema-specifications
-regex==2026.6.28
+regex==2026.7.19
# via
# -r requirements/edx/base.txt
# nltk
@@ -1325,6 +1327,7 @@ requests==2.34.2
# meilisearch
# openedx-forum
# optimizely-sdk
+ # pydata-sphinx-theme
# pylti1p3
# python-swiftclient
# requests-oauthlib
@@ -1352,7 +1355,7 @@ rules==3.5
# edx-enterprise
# edx-proctoring
# openedx-core
-s3transfer==0.19.0
+s3transfer==0.19.2
# via
# -r requirements/edx/base.txt
# boto3
@@ -1410,18 +1413,20 @@ smmap==5.0.3
# via gitdb
snowballstemmer==3.1.1
# via sphinx
-snowflake-connector-python==4.6.0
+snowflake-connector-python==4.7.1
# via
# -r requirements/edx/base.txt
# enterprise-integrated-channels
social-auth-app-django==5.4.1
# via
+ # -c requirements/common_constraints.txt
# -c requirements/constraints.txt
# -r requirements/edx/base.txt
# edx-auth-backends
# edx-enterprise
-social-auth-core==5.0.2
+social-auth-core==4.9.1
# via
+ # -c requirements/common_constraints.txt
# -r requirements/edx/base.txt
# edx-auth-backends
# social-auth-app-django
@@ -1433,7 +1438,7 @@ sortedcontainers==2.4.0
# via
# -r requirements/edx/base.txt
# snowflake-connector-python
-soupsieve==2.8.4
+soupsieve==2.9.1
# via
# -r requirements/edx/base.txt
# beautifulsoup4
@@ -1453,7 +1458,7 @@ sphinx-autoapi==3.6.0
# via
# -c requirements/constraints.txt
# -r requirements/edx/doc.in
-sphinx-book-theme==1.2.0
+sphinx-book-theme==1.4.0
# via -r requirements/edx/doc.in
sphinx-design==0.7.0
# via -r requirements/edx/doc.in
@@ -1501,7 +1506,7 @@ sympy==1.14.0
# via
# -r requirements/edx/base.txt
# openedx-calc
-testfixtures==12.2.0
+testfixtures==12.3.0
# via
# -r requirements/edx/base.txt
# edx-enterprise
@@ -1517,12 +1522,12 @@ tinycss2==1.5.1
# via
# -r requirements/edx/base.txt
# bleach
-tomlkit==0.15.0
+tomlkit==0.15.1
# via
# -r requirements/edx/base.txt
# openedx-core
# snowflake-connector-python
-tqdm==4.68.4
+tqdm==4.70.0
# via
# -r requirements/edx/base.txt
# nltk
@@ -1545,7 +1550,6 @@ typing-extensions==4.16.0
# jwcrypto
# pydantic
# pydantic-core
- # pydata-sphinx-theme
# pylti1p3
# pyopenssl
# referencing
@@ -1557,7 +1561,7 @@ typing-inspection==0.4.2
# via
# -r requirements/edx/base.txt
# pydantic
-tzdata==2026.2
+tzdata==2026.3
# via
# -r requirements/edx/base.txt
# icalendar
@@ -1598,7 +1602,7 @@ walrus==0.9.8
# via
# -r requirements/edx/base.txt
# edx-event-bus-redis
-wcmatch==10.2.1
+wcmatch==11.0
# via
# -r requirements/edx/base.txt
# pycasbin
@@ -1625,7 +1629,7 @@ wrapt==2.2.2
# via
# -r requirements/edx/base.txt
# xblocks-contrib
-xblock[django]==6.3.0
+xblock[django]==6.3.1
# via
# -r requirements/edx/base.txt
# acid-xblock
@@ -1641,7 +1645,7 @@ xblock[django]==6.3.0
# xblock-google-drive
# xblock-poll
# xblocks-contrib
-xblock-drag-and-drop-v2==5.0.6
+xblock-drag-and-drop-v2==5.1.0
# via -r requirements/edx/base.txt
xblock-google-drive==0.8.2
# via -r requirements/edx/base.txt
@@ -1656,7 +1660,7 @@ xmlsec==1.3.14
# python3-saml
xss-utils==1.0.0
# via -r requirements/edx/base.txt
-yarl==1.24.2
+yarl==1.24.5
# via
# -r requirements/edx/base.txt
# aiohttp
diff --git a/requirements/edx/semgrep.txt b/requirements/edx/semgrep.txt
index 3f3147e5c41b..51f2d11db551 100644
--- a/requirements/edx/semgrep.txt
+++ b/requirements/edx/semgrep.txt
@@ -4,9 +4,9 @@
#
# make upgrade
#
-annotated-types==0.7.0
+annotated-types==0.8.0
# via pydantic
-anyio==4.14.1
+anyio==4.14.2
# via
# httpx
# mcp
@@ -23,9 +23,9 @@ boltons==21.0.0
# face
# glom
# semgrep
-bracex==3.0
+bracex==3.0.1
# via wcmatch
-certifi==2026.6.17
+certifi==2026.7.22
# via
# httpcore
# httpx
@@ -34,7 +34,7 @@ cffi==2.1.0
# via cryptography
charset-normalizer==3.4.9
# via requests
-click==8.1.8
+click==8.4.2
# via
# click-option-group
# semgrep
@@ -168,9 +168,9 @@ ruamel-yaml-clib==0.2.15
# via semgrep
semantic-version==2.10.0
# via semgrep
-semgrep==1.168.0
+semgrep==1.171.0
# via -r requirements/edx/semgrep.in
-sse-starlette==3.4.5
+sse-starlette==3.4.6
# via mcp
starlette==1.3.1
# via
@@ -201,7 +201,7 @@ urllib3==2.7.0
# via
# requests
# semgrep
-uvicorn==0.50.2
+uvicorn==0.51.0
# via mcp
wcmatch==8.5.2
# via semgrep
diff --git a/requirements/edx/testing.txt b/requirements/edx/testing.txt
index 3033ad3f92a2..a91b13e8c35b 100644
--- a/requirements/edx/testing.txt
+++ b/requirements/edx/testing.txt
@@ -10,7 +10,7 @@ aiohappyeyeballs==2.7.1
# via
# -r requirements/edx/base.txt
# aiohttp
-aiohttp==3.14.1
+aiohttp==3.14.3
# via
# -r requirements/edx/base.txt
# geoip2
@@ -29,11 +29,11 @@ aniso8601==10.0.1
# -r requirements/edx/base.txt
# edx-tincan-py35
# tincan
-annotated-types==0.7.0
+annotated-types==0.8.0
# via
# -r requirements/edx/base.txt
# pydantic
-anyio==4.14.1
+anyio==4.14.2
# via
# -r requirements/edx/base.txt
# httpx
@@ -41,7 +41,7 @@ appdirs==1.4.4
# via
# -r requirements/edx/base.txt
# fs
-asgiref==3.11.1
+asgiref==3.12.1
# via
# -r requirements/edx/base.txt
# django
@@ -100,20 +100,20 @@ bleach[css]==6.4.0
# ora2
# xblock-drag-and-drop-v2
# xblock-poll
-boto3==1.43.41
+boto3==1.43.57
# via
# -r requirements/edx/base.txt
# django-ses
# fs-s3fs
# ora2
# snowflake-connector-python
-botocore==1.43.41
+botocore==1.43.57
# via
# -r requirements/edx/base.txt
# boto3
# s3transfer
# snowflake-connector-python
-bracex==3.0
+bracex==3.0.1
# via
# -r requirements/edx/base.txt
# wcmatch
@@ -123,7 +123,7 @@ cachecontrol==0.14.4
# via
# -r requirements/edx/base.txt
# firebase-admin
-cachetools==7.1.4
+cachetools==7.1.6
# via
# -r requirements/edx/base.txt
# edxval
@@ -147,7 +147,7 @@ celery==5.6.3
# enterprise-integrated-channels
# event-tracking
# openedx-core
-certifi==2026.6.17
+certifi==2026.7.22
# via
# -r requirements/edx/base.txt
# elasticsearch
@@ -215,7 +215,7 @@ codejail-includes==2.0.0
# via -r requirements/edx/base.txt
colorama==0.4.6
# via tox
-coverage[toml]==7.15.0
+coverage[toml]==7.15.2
# via
# -r requirements/edx/coverage.txt
# pytest-cov
@@ -234,7 +234,7 @@ cryptography==49.0.0
# pyopenssl
# snowflake-connector-python
# social-auth-core
-cssselect==1.4.0
+cssselect==1.5.0
# via
# -r requirements/edx/testing.in
# pyquery
@@ -248,11 +248,12 @@ defusedxml==0.7.1
# via
# -r requirements/edx/base.txt
# djangorestframework-xml
+ # nltk
# ora2
# python3-openid
# social-auth-core
# xblocks-contrib
-diff-cover==10.3.0
+diff-cover==10.4.1
# via -r requirements/edx/coverage.txt
dill==0.4.1
# via pylint
@@ -378,7 +379,7 @@ django-fernet-fields-v2==0.9
# -r requirements/edx/base.txt
# edx-enterprise
# enterprise-integrated-channels
-django-filter==25.2
+django-filter==26.1
# via
# -r requirements/edx/base.txt
# edx-enterprise
@@ -447,7 +448,7 @@ django-sekizai==4.1.0
# openedx-django-wiki
django-ses==4.7.2
# via -r requirements/edx/base.txt
-django-simple-history==3.12.0
+django-simple-history==3.13.0
# via
# -r requirements/edx/base.txt
# edx-enterprise
@@ -649,7 +650,7 @@ edx-search==5.0.2
# openedx-forum
edx-sga==0.29.0
# via -r requirements/edx/base.txt
-edx-submissions==4.0.0
+edx-submissions==4.0.2
# via
# -r requirements/edx/base.txt
# ora2
@@ -708,13 +709,13 @@ execnet==2.1.2
# via pytest-xdist
factory-boy==3.3.3
# via -r requirements/edx/testing.in
-faker==40.28.1
+faker==40.36.0
# via factory-boy
fastavro==1.12.2
# via
# -r requirements/edx/base.txt
# openedx-events
-filelock==3.29.6
+filelock==3.32.0
# via
# -r requirements/edx/base.txt
# python-discovery
@@ -743,18 +744,18 @@ fs-s3fs==1.1.1
# via
# -r requirements/edx/base.txt
# openedx-django-pyfs
-geoip2==5.2.0
+geoip2==5.3.0
# via -r requirements/edx/base.txt
glob2==0.7
# via -r requirements/edx/base.txt
-google-api-core[grpc]==2.31.0
+google-api-core[grpc]==2.33.0
# via
# -r requirements/edx/base.txt
# firebase-admin
# google-cloud-core
# google-cloud-firestore
# google-cloud-storage
-google-auth==2.55.1
+google-auth==2.56.2
# via
# -r requirements/edx/base.txt
# google-api-core
@@ -770,7 +771,7 @@ google-cloud-firestore==2.28.0
# via
# -r requirements/edx/base.txt
# firebase-admin
-google-cloud-storage==3.12.0
+google-cloud-storage==3.13.0
# via
# -r requirements/edx/base.txt
# firebase-admin
@@ -790,13 +791,13 @@ googleapis-common-protos==1.75.0
# grpcio-status
grimp==3.15
# via import-linter
-grpcio==1.82.0
+grpcio==1.83.0
# via
# -r requirements/edx/base.txt
# google-api-core
# google-cloud-firestore
# grpcio-status
-grpcio-status==1.82.0
+grpcio-status==1.83.0
# via
# -r requirements/edx/base.txt
# google-api-core
@@ -806,7 +807,7 @@ h11==0.16.0
# via
# -r requirements/edx/base.txt
# httpcore
-h2==4.3.0
+h2==4.4.0
# via
# -r requirements/edx/base.txt
# httpx
@@ -836,7 +837,7 @@ hyperframe==6.1.0
# via
# -r requirements/edx/base.txt
# h2
-icalendar==7.2.0
+icalendar==7.2.2
# via -r requirements/edx/base.txt
idna==3.18
# via
@@ -926,7 +927,7 @@ lazy==2.0
# lti-consumer-xblock
# ora2
# xblock
-lti-consumer-xblock==11.3.1
+lti-consumer-xblock==11.4.0
# via -r requirements/edx/base.txt
lxml[html-clean]==5.3.2
# via
@@ -983,7 +984,7 @@ mccabe==0.7.0
# via pylint
mdurl==0.1.2
# via markdown-it-py
-meilisearch==0.42.0
+meilisearch==0.43.0
# via
# -r requirements/edx/base.txt
# edx-search
@@ -1020,7 +1021,7 @@ nh3==0.3.6
# via
# -r requirements/edx/base.txt
# xblocks-contrib
-nltk==3.9.4
+nltk==3.10.0
# via
# -r requirements/edx/base.txt
# chem
@@ -1052,7 +1053,7 @@ openedx-atlas==0.7.0
# enterprise-integrated-channels
# openedx-authz
# openedx-forum
-openedx-authz==1.21.0
+openedx-authz==1.21.1
# via -r requirements/edx/base.txt
openedx-calc==5.0.0
# via
@@ -1089,7 +1090,7 @@ openedx-filters==3.8.0
# ora2
openedx-forum==0.4.3
# via -r requirements/edx/base.txt
-optimizely-sdk==5.5.0
+optimizely-sdk==5.6.0
# via -r requirements/edx/base.txt
ora2==7.1.0
# via -r requirements/edx/base.txt
@@ -1106,7 +1107,7 @@ packaging==26.2
# wheel
pact-python==3.4.0
# via -r requirements/edx/testing.in
-pact-python-ffi==0.5.4.0
+pact-python-ffi==0.5.4.1
# via pact-python
paramiko==5.0.0
# via
@@ -1137,7 +1138,7 @@ pillow==12.3.0
# edx-enterprise
# edx-organizations
# edxval
-platformdirs==4.10.0
+platformdirs==4.11.0
# via
# -r requirements/edx/base.txt
# pylint
@@ -1157,7 +1158,7 @@ polib==1.2.0
# -r requirements/edx/base.txt
# -r requirements/edx/testing.in
# edx-i18n-tools
-prompt-toolkit==3.0.52
+prompt-toolkit==3.0.53
# via
# -r requirements/edx/base.txt
# click-repl
@@ -1166,7 +1167,7 @@ propcache==0.5.2
# -r requirements/edx/base.txt
# aiohttp
# yarl
-proto-plus==1.28.0
+proto-plus==1.28.2
# via
# -r requirements/edx/base.txt
# google-api-core
@@ -1188,7 +1189,7 @@ psycopg2-binary==2.9.12
# via -r requirements/edx/base.txt
py==1.11.0
# via -r requirements/edx/testing.in
-pyasn1==0.6.3
+pyasn1==0.6.4
# via
# -r requirements/edx/base.txt
# pgpy
@@ -1239,7 +1240,7 @@ pyjwt[crypto]==2.13.0
# pylti1p3
# snowflake-connector-python
# social-auth-core
-pylatexenc==2.10
+pylatexenc==2.11
# via
# -r requirements/edx/base.txt
# olxcleaner
@@ -1252,7 +1253,7 @@ pylint==4.0.6
# pylint-pytest
pylint-celery==0.3
# via edx-lint
-pylint-django==2.7.0
+pylint-django==2.8.0
# via edx-lint
pylint-plugin-utils==0.9.0
# via
@@ -1289,9 +1290,9 @@ pyparsing==3.3.2
# chem
# openedx-calc
# xblocks-contrib
-pyproject-api==1.10.1
+pyproject-api==1.11.0
# via tox
-pyquery==2.0.1
+pyquery==2.1.0
# via -r requirements/edx/testing.in
pyrsistent==0.20.0
# via
@@ -1345,7 +1346,7 @@ python-dateutil==2.9.0.post0
# olxcleaner
# ora2
# xblock
-python-discovery==1.4.3
+python-discovery==1.5.0
# via
# tox
# virtualenv
@@ -1369,7 +1370,7 @@ python3-saml==1.16.0
# via
# -r requirements/edx/base.txt
# edx-enterprise
-pytz==2026.2
+pytz==2026.3.post1
# via
# -r requirements/edx/base.txt
# drf-yasg
@@ -1402,7 +1403,7 @@ random2==1.0.2
# via
# -r requirements/edx/base.txt
# xblocks-contrib
-recommender-xblock==5.0.0
+recommender-xblock==5.1.0
# via -r requirements/edx/base.txt
redis==8.0.1
# via
@@ -1413,7 +1414,7 @@ referencing==0.37.0
# -r requirements/edx/base.txt
# jsonschema
# jsonschema-specifications
-regex==2026.6.28
+regex==2026.7.19
# via
# -r requirements/edx/base.txt
# nltk
@@ -1455,7 +1456,7 @@ rpds-py==2026.6.3
# -r requirements/edx/base.txt
# jsonschema
# referencing
-ruff==0.15.20
+ruff==0.16.0
# via -r requirements/edx/testing.in
rules==3.5
# via
@@ -1463,7 +1464,7 @@ rules==3.5
# edx-enterprise
# edx-proctoring
# openedx-core
-s3transfer==0.19.0
+s3transfer==0.19.2
# via
# -r requirements/edx/base.txt
# boto3
@@ -1520,18 +1521,20 @@ slumber==0.7.1
# edx-bulk-grades
# edx-enterprise
# enterprise-integrated-channels
-snowflake-connector-python==4.6.0
+snowflake-connector-python==4.7.1
# via
# -r requirements/edx/base.txt
# enterprise-integrated-channels
social-auth-app-django==5.4.1
# via
+ # -c requirements/common_constraints.txt
# -c requirements/constraints.txt
# -r requirements/edx/base.txt
# edx-auth-backends
# edx-enterprise
-social-auth-core==5.0.2
+social-auth-core==4.9.1
# via
+ # -c requirements/common_constraints.txt
# -r requirements/edx/base.txt
# edx-auth-backends
# social-auth-app-django
@@ -1543,7 +1546,7 @@ sortedcontainers==2.4.0
# via
# -r requirements/edx/base.txt
# snowflake-connector-python
-soupsieve==2.8.4
+soupsieve==2.9.1
# via
# -r requirements/edx/base.txt
# beautifulsoup4
@@ -1569,7 +1572,7 @@ sympy==1.14.0
# via
# -r requirements/edx/base.txt
# openedx-calc
-testfixtures==12.2.0
+testfixtures==12.3.0
# via
# -r requirements/edx/base.txt
# -r requirements/edx/testing.in
@@ -1588,16 +1591,16 @@ tinycss2==1.5.1
# bleach
tomli-w==1.2.0
# via tox
-tomlkit==0.15.0
+tomlkit==0.15.1
# via
# -r requirements/edx/base.txt
# edx-lint
# openedx-core
# pylint
# snowflake-connector-python
-tox==4.56.2
+tox==4.58.0
# via -r requirements/edx/testing.in
-tqdm==4.68.4
+tqdm==4.70.0
# via
# -r requirements/edx/base.txt
# nltk
@@ -1633,7 +1636,7 @@ typing-inspection==0.4.2
# via
# -r requirements/edx/base.txt
# pydantic
-tzdata==2026.2
+tzdata==2026.3
# via
# -r requirements/edx/base.txt
# icalendar
@@ -1649,7 +1652,7 @@ unicodecsv==0.14.1
# enterprise-integrated-channels
unicodeit==0.7.5
# via -r requirements/edx/base.txt
-unidiff==0.7.5
+unidiff==1.0.0
# via -r requirements/edx/testing.in
uritemplate==4.2.0
# via
@@ -1668,7 +1671,7 @@ vine==5.1.0
# amqp
# celery
# kombu
-virtualenv==21.6.0
+virtualenv==21.7.0
# via tox
voluptuous==0.16.0
# via
@@ -1678,7 +1681,7 @@ walrus==0.9.8
# via
# -r requirements/edx/base.txt
# edx-event-bus-redis
-wcmatch==10.2.1
+wcmatch==11.0
# via
# -r requirements/edx/base.txt
# pycasbin
@@ -1705,7 +1708,7 @@ wrapt==2.2.2
# via
# -r requirements/edx/base.txt
# xblocks-contrib
-xblock[django]==6.3.0
+xblock[django]==6.3.1
# via
# -r requirements/edx/base.txt
# acid-xblock
@@ -1721,7 +1724,7 @@ xblock[django]==6.3.0
# xblock-google-drive
# xblock-poll
# xblocks-contrib
-xblock-drag-and-drop-v2==5.0.6
+xblock-drag-and-drop-v2==5.1.0
# via -r requirements/edx/base.txt
xblock-google-drive==0.8.2
# via -r requirements/edx/base.txt
@@ -1736,7 +1739,7 @@ xmlsec==1.3.14
# python3-saml
xss-utils==1.0.0
# via -r requirements/edx/base.txt
-yarl==1.24.2
+yarl==1.24.5
# via
# -r requirements/edx/base.txt
# aiohttp
diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt
index 1f959c14989c..11d8a957c853 100644
--- a/requirements/pip-tools.txt
+++ b/requirements/pip-tools.txt
@@ -12,7 +12,7 @@ packaging==26.2
# via
# build
# wheel
-pip-tools==7.5.3
+pip-tools==7.6.0
# via -r requirements/pip-tools.in
pyproject-hooks==1.2.0
# via
diff --git a/scripts/user_retirement/requirements/base.txt b/scripts/user_retirement/requirements/base.txt
index 37f4bf5e13fc..7a4374c830dc 100644
--- a/scripts/user_retirement/requirements/base.txt
+++ b/scripts/user_retirement/requirements/base.txt
@@ -4,19 +4,19 @@
#
# make upgrade
#
-asgiref==3.11.1
+asgiref==3.12.1
# via django
attrs==26.1.0
# via zeep
backoff==2.2.1
# via -r scripts/user_retirement/requirements/base.in
-boto3==1.43.41
+boto3==1.43.57
# via -r scripts/user_retirement/requirements/base.in
-botocore==1.43.41
+botocore==1.43.57
# via
# boto3
# s3transfer
-certifi==2026.6.17
+certifi==2026.7.22
# via requests
cffi==2.1.0
# via
@@ -47,11 +47,11 @@ edx-django-utils==8.0.1
# via edx-rest-api-client
edx-rest-api-client==7.0.0
# via -r scripts/user_retirement/requirements/base.in
-google-api-core==2.31.0
+google-api-core==2.33.0
# via google-api-python-client
google-api-python-client==2.198.0
# via -r scripts/user_retirement/requirements/base.in
-google-auth==2.55.1
+google-auth==2.56.2
# via
# google-api-core
# google-api-python-client
@@ -80,9 +80,9 @@ lxml==5.3.2
# zeep
more-itertools==11.1.0
# via simple-salesforce
-platformdirs==4.10.0
+platformdirs==4.11.0
# via zeep
-proto-plus==1.28.0
+proto-plus==1.28.2
# via google-api-core
protobuf==7.35.1
# via
@@ -91,7 +91,7 @@ protobuf==7.35.1
# proto-plus
psutil==7.2.2
# via edx-django-utils
-pyasn1==0.6.3
+pyasn1==0.6.4
# via pyasn1-modules
pyasn1-modules==0.4.2
# via google-auth
@@ -107,7 +107,7 @@ pyparsing==3.3.2
# via httplib2
python-dateutil==2.9.0.post0
# via botocore
-pytz==2026.2
+pytz==2026.3.post1
# via jenkinsapi
pyyaml==6.0.3
# via -r scripts/user_retirement/requirements/base.in
@@ -125,9 +125,9 @@ requests-file==3.0.1
# via zeep
requests-toolbelt==1.0.0
# via zeep
-s3transfer==0.19.0
+s3transfer==0.19.2
# via boto3
-simple-salesforce==1.12.9
+simple-salesforce==1.12.10
# via -r scripts/user_retirement/requirements/base.in
simplejson==4.1.1
# via -r scripts/user_retirement/requirements/base.in
diff --git a/scripts/user_retirement/requirements/testing.txt b/scripts/user_retirement/requirements/testing.txt
index f3eef9eaf032..3911d0d5fb6a 100644
--- a/scripts/user_retirement/requirements/testing.txt
+++ b/scripts/user_retirement/requirements/testing.txt
@@ -4,7 +4,7 @@
#
# make upgrade
#
-asgiref==3.11.1
+asgiref==3.12.1
# via
# -r scripts/user_retirement/requirements/base.txt
# django
@@ -14,17 +14,17 @@ attrs==26.1.0
# zeep
backoff==2.2.1
# via -r scripts/user_retirement/requirements/base.txt
-boto3==1.43.41
+boto3==1.43.57
# via
# -r scripts/user_retirement/requirements/base.txt
# moto
-botocore==1.43.41
+botocore==1.43.57
# via
# -r scripts/user_retirement/requirements/base.txt
# boto3
# moto
# s3transfer
-certifi==2026.6.17
+certifi==2026.7.22
# via
# -r scripts/user_retirement/requirements/base.txt
# requests
@@ -69,13 +69,13 @@ edx-django-utils==8.0.1
# edx-rest-api-client
edx-rest-api-client==7.0.0
# via -r scripts/user_retirement/requirements/base.txt
-google-api-core==2.31.0
+google-api-core==2.33.0
# via
# -r scripts/user_retirement/requirements/base.txt
# google-api-python-client
google-api-python-client==2.198.0
# via -r scripts/user_retirement/requirements/base.txt
-google-auth==2.55.1
+google-auth==2.56.2
# via
# -r scripts/user_retirement/requirements/base.txt
# google-api-core
@@ -127,13 +127,13 @@ moto==5.2.2
# via -r scripts/user_retirement/requirements/testing.in
packaging==26.2
# via pytest
-platformdirs==4.10.0
+platformdirs==4.11.0
# via
# -r scripts/user_retirement/requirements/base.txt
# zeep
pluggy==1.6.0
# via pytest
-proto-plus==1.28.0
+proto-plus==1.28.2
# via
# -r scripts/user_retirement/requirements/base.txt
# google-api-core
@@ -147,7 +147,7 @@ psutil==7.2.2
# via
# -r scripts/user_retirement/requirements/base.txt
# edx-django-utils
-pyasn1==0.6.3
+pyasn1==0.6.4
# via
# -r scripts/user_retirement/requirements/base.txt
# pyasn1-modules
@@ -180,7 +180,7 @@ python-dateutil==2.9.0.post0
# via
# -r scripts/user_retirement/requirements/base.txt
# botocore
-pytz==2026.2
+pytz==2026.3.post1
# via
# -r scripts/user_retirement/requirements/base.txt
# jenkinsapi
@@ -215,11 +215,11 @@ responses==0.26.2
# via
# -r scripts/user_retirement/requirements/testing.in
# moto
-s3transfer==0.19.0
+s3transfer==0.19.2
# via
# -r scripts/user_retirement/requirements/base.txt
# boto3
-simple-salesforce==1.12.9
+simple-salesforce==1.12.10
# via -r scripts/user_retirement/requirements/base.txt
simplejson==4.1.1
# via -r scripts/user_retirement/requirements/base.txt
diff --git a/scripts/xblock/requirements.txt b/scripts/xblock/requirements.txt
index 84148043dea8..5e1155180a19 100644
--- a/scripts/xblock/requirements.txt
+++ b/scripts/xblock/requirements.txt
@@ -4,7 +4,7 @@
#
# make upgrade
#
-certifi==2026.6.17
+certifi==2026.7.22
# via requests
charset-normalizer==3.4.9
# via requests