diff --git a/requirements/ci.txt b/requirements/ci.txt index cdbbd0ea..53ff22f4 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -4,23 +4,23 @@ # # make upgrade # -annotated-doc==0.0.4 +annotated-doc==0.0.5 # via typer -cachetools==7.1.4 +cachetools==7.1.7 # via tox -certifi==2026.6.17 +certifi==2026.7.22 # via requests -charset-normalizer==3.4.7 +charset-normalizer==3.5.0 # via requests colorama==0.4.6 # via tox -coverage[toml]==7.14.3 +coverage[toml]==7.15.4 # via coveralls coveralls==4.1.0 # via -r requirements/ci.in distlib==0.4.3 # via virtualenv -filelock==3.29.4 +filelock==3.32.3 # via # python-discovery # tox @@ -31,22 +31,21 @@ markdown-it-py==4.2.0 # via rich mdurl==0.1.2 # via markdown-it-py -packaging==26.2 +packaging==26.3 # via # pyproject-api # tox -platformdirs==4.10.0 +platformdirs==4.11.3 # via - # python-discovery # tox # virtualenv pluggy==1.6.0 # via tox pygments==2.20.0 # via rich -pyproject-api==1.10.1 +pyproject-api==1.11.0 # via tox -python-discovery==1.4.2 +python-discovery==1.5.2 # via # tox # virtualenv @@ -58,11 +57,13 @@ shellingham==1.5.4 # via typer tomli-w==1.2.0 # via tox -tox==4.55.1 +tox==4.60.0 # via -r requirements/ci.in -typer==0.26.7 +typer==0.27.1 # via coveralls +typing-extensions==4.16.0 + # via tox urllib3==2.7.0 # via requests -virtualenv==21.5.1 +virtualenv==21.7.4 # via tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 72cc4cc8..f60f86e0 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -18,3 +18,26 @@ 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 + +# 2026-08-11: pip-tools is only tested against the latest pip released at the time +# pip-tools was released; also, pip-tools package dependencies are extremely permissive +# about the pip version required, so the dependency resolver will not prevent an unwanted +# pip upgrade which would break pip-tools. The end result is that pip MUST be constrained +# by all pip-tools users in order to avoid potentially weeks-long lapses in pip <-> +# pip-tools compatibility. We've constrained pip here in common_constraints.txt in the +# past, but always removed it once the issue was "fixed". Removing this constraint was +# always a mistake. +# +# This is a semi-permanent constraint and should be manually bumped after each pip-tools +# release. +# +# Exceptional conditions for removal: +# - We stop using pip-tools, OR +# - We migrate to the proposed `pip-tools[stable]` extra: https://github.com/jazzband/pip-tools/pull/2257 +pip<26.2.1 # Known to work with pip-tools==7.6.1 diff --git a/requirements/dev.txt b/requirements/dev.txt index aa529d30..89e2863b 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -4,39 +4,39 @@ # # make upgrade # -annotated-doc==0.0.4 +annotated-doc==0.0.5 # via typer appdirs==1.4.4 # via fs -asgiref==3.11.1 +asgiref==3.12.1 # via django astroid==4.0.4 # via # pylint # pylint-celery -boto3==1.43.36 +boto3==1.43.71 # via -r requirements/test.in -botocore==1.43.36 +botocore==1.43.71 # via # boto3 # s3transfer -cachetools==7.1.4 +cachetools==7.1.7 # via # -r requirements/base.in # tox -certifi==2026.6.17 +certifi==2026.7.22 # via requests -cffi==2.0.0 +cffi==2.1.1 # via # cryptography # pynacl -chardet==7.4.3 +chardet==7.5.1 # via # diff-cover # pysrt -charset-normalizer==3.4.7 +charset-normalizer==3.5.0 # via requests -click==8.4.1 +click==8.4.2 # via # click-log # code-annotations @@ -50,26 +50,26 @@ code-annotations==3.0.0 # edx-toggles colorama==0.4.6 # via tox -coverage[toml]==7.14.3 +coverage[toml]==7.15.4 # via # -r requirements/test.in # coveralls # pytest-cov coveralls==4.1.0 # via -r requirements/ci.in -cryptography==49.0.0 +cryptography==50.0.0 # via # pyjwt # secretstorage ddt==1.7.2 # via -r requirements/test.in -diff-cover==10.3.0 +diff-cover==10.5.0 # via -r requirements/dev.in dill==0.4.1 # via pylint distlib==0.4.3 # via virtualenv -django==5.2.15 +django==5.2.17 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -96,7 +96,7 @@ django-waffle==5.0.0 # edx-django-utils # edx-drf-extensions # edx-toggles -djangorestframework==3.17.1 +djangorestframework==3.18.0 # via # drf-jwt # edx-drf-extensions @@ -120,7 +120,7 @@ edx-opaque-keys==4.0.0 # via edx-drf-extensions edx-toggles==6.0.0 # via -r requirements/base.in -filelock==3.29.4 +filelock==3.32.3 # via # python-discovery # tox @@ -141,7 +141,7 @@ jaraco-classes==3.4.0 # via keyring jaraco-context==6.1.2 # via keyring -jaraco-functools==4.5.0 +jaraco-functools==4.6.0 # via keyring jeepney==0.9.0 # via @@ -175,18 +175,17 @@ more-itertools==11.1.0 # jaraco-functools nh3==0.3.6 # via readme-renderer -packaging==26.2 +packaging==26.3 # via # pyproject-api # pytest # tox # twine -pillow==12.2.0 +pillow==12.3.0 # via -r requirements/base.in -platformdirs==4.10.0 +platformdirs==4.11.3 # via # pylint - # python-discovery # tox # virtualenv pluggy==1.6.0 @@ -213,7 +212,7 @@ pyjwt[crypto]==2.13.0 # via # drf-jwt # edx-drf-extensions -pylint==4.0.6 +pylint==4.0.7 # via # edx-lint # pylint-celery @@ -221,7 +220,7 @@ pylint==4.0.6 # pylint-plugin-utils 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 @@ -231,7 +230,7 @@ pymongo==4.17.0 # via edx-opaque-keys pynacl==1.6.2 # via edx-django-utils -pyproject-api==1.10.1 +pyproject-api==1.11.0 # via tox pysrt==1.1.2 # via -r requirements/base.in @@ -241,11 +240,11 @@ pytest==9.1.1 # pytest-django pytest-cov==7.1.0 # via -r requirements/test.in -pytest-django==4.12.0 +pytest-django==4.14.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via botocore -python-discovery==1.4.2 +python-discovery==1.5.2 # via # tox # virtualenv @@ -267,7 +266,7 @@ requests==2.34.2 # twine requests-toolbelt==1.0.0 # via twine -responses==0.26.1 +responses==0.26.2 # via -r requirements/test.in rfc3986==2.0.0 # via twine @@ -275,7 +274,7 @@ rich==15.0.0 # via # twine # typer -s3transfer==0.19.0 +s3transfer==0.19.2 # via boto3 secretstorage==3.5.0 # via keyring @@ -291,9 +290,9 @@ six==1.17.0 # python-dateutil snowballstemmer==3.1.1 # via pydocstyle -sqlparse==0.5.5 +sqlparse==0.6.0 # via django -stevedore==5.8.0 +stevedore==5.9.0 # via # code-annotations # edx-django-utils @@ -302,18 +301,20 @@ text-unidecode==1.3 # via python-slugify tomli-w==1.2.0 # via tox -tomlkit==0.15.0 +tomlkit==0.15.1 # via # edx-lint # pylint -tox==4.55.1 +tox==4.60.0 # via -r requirements/ci.in -twine==6.2.0 +twine==7.0.0 # via -r requirements/quality.in -typer==0.26.7 +typer==0.27.1 # via coveralls -typing-extensions==4.15.0 - # via edx-opaque-keys +typing-extensions==4.16.0 + # via + # edx-opaque-keys + # tox urllib3==2.7.0 # via # botocore @@ -321,7 +322,7 @@ urllib3==2.7.0 # requests # responses # twine -virtualenv==21.5.1 +virtualenv==21.7.4 # via tox # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index ae6076a0..9e327bfb 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -6,19 +6,19 @@ # build==1.5.0 # via pip-tools -click==8.4.1 +click==8.4.2 # via pip-tools -packaging==26.2 +packaging==26.3 # via # build # wheel -pip-tools==7.5.3 +pip-tools==7.6.1 # via -r requirements/pip-tools.in pyproject-hooks==1.2.0 # via # build # pip-tools -wheel==0.47.0 +wheel==0.48.0 # via pip-tools # The following packages are considered to be unsafe in a requirements file: diff --git a/requirements/pip.txt b/requirements/pip.txt index 1f4d2eb9..33b98282 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -4,14 +4,16 @@ # # make upgrade # -packaging==26.2 +packaging==26.3 # via wheel -wheel==0.47.0 +wheel==0.48.0 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==26.1.2 - # via -r requirements/pip.in +pip==26.2 + # via + # -c requirements/common_constraints.txt + # -r requirements/pip.in setuptools==81.0.0 # via # -c requirements/constraints.txt diff --git a/requirements/quality.txt b/requirements/quality.txt index 8c9ebafb..03c7ba1f 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -6,31 +6,31 @@ # appdirs==1.4.4 # via fs -asgiref==3.11.1 +asgiref==3.12.1 # via django astroid==4.0.4 # via # pylint # pylint-celery -boto3==1.43.36 +boto3==1.43.71 # via -r requirements/test.in -botocore==1.43.36 +botocore==1.43.71 # via # boto3 # s3transfer -cachetools==7.1.4 +cachetools==7.1.7 # via -r requirements/base.in -certifi==2026.6.17 +certifi==2026.7.22 # via requests -cffi==2.0.0 +cffi==2.1.1 # via # cryptography # pynacl -chardet==7.4.3 +chardet==7.5.1 # via pysrt -charset-normalizer==3.4.7 +charset-normalizer==3.5.0 # via requests -click==8.4.1 +click==8.4.2 # via # click-log # code-annotations @@ -42,11 +42,11 @@ code-annotations==3.0.0 # via # edx-lint # edx-toggles -coverage[toml]==7.14.3 +coverage[toml]==7.15.4 # via # -r requirements/test.in # pytest-cov -cryptography==49.0.0 +cryptography==50.0.0 # via # pyjwt # secretstorage @@ -54,7 +54,7 @@ ddt==1.7.2 # via -r requirements/test.in dill==0.4.1 # via pylint -django==5.2.15 +django==5.2.17 # via # -c requirements/common_constraints.txt # -r requirements/base.in @@ -81,7 +81,7 @@ django-waffle==5.0.0 # edx-django-utils # edx-drf-extensions # edx-toggles -djangorestframework==3.17.1 +djangorestframework==3.18.0 # via # drf-jwt # edx-drf-extensions @@ -121,7 +121,7 @@ jaraco-classes==3.4.0 # via keyring jaraco-context==6.1.2 # via keyring -jaraco-functools==4.5.0 +jaraco-functools==4.6.0 # via keyring jeepney==0.9.0 # via @@ -153,13 +153,13 @@ more-itertools==11.1.0 # jaraco-functools nh3==0.3.6 # via readme-renderer -packaging==26.2 +packaging==26.3 # via # pytest # twine -pillow==12.2.0 +pillow==12.3.0 # via -r requirements/base.in -platformdirs==4.10.0 +platformdirs==4.11.3 # via pylint pluggy==1.6.0 # via @@ -182,7 +182,7 @@ pyjwt[crypto]==2.13.0 # via # drf-jwt # edx-drf-extensions -pylint==4.0.6 +pylint==4.0.7 # via # edx-lint # pylint-celery @@ -190,7 +190,7 @@ pylint==4.0.6 # pylint-plugin-utils 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 @@ -208,7 +208,7 @@ pytest==9.1.1 # pytest-django pytest-cov==7.1.0 # via -r requirements/test.in -pytest-django==4.12.0 +pytest-django==4.14.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via botocore @@ -229,13 +229,13 @@ requests==2.34.2 # twine requests-toolbelt==1.0.0 # via twine -responses==0.26.1 +responses==0.26.2 # via -r requirements/test.in rfc3986==2.0.0 # via twine rich==15.0.0 # via twine -s3transfer==0.19.0 +s3transfer==0.19.2 # via boto3 secretstorage==3.5.0 # via keyring @@ -249,22 +249,22 @@ six==1.17.0 # python-dateutil snowballstemmer==3.1.1 # via pydocstyle -sqlparse==0.5.5 +sqlparse==0.6.0 # via django -stevedore==5.8.0 +stevedore==5.9.0 # via # code-annotations # edx-django-utils # edx-opaque-keys text-unidecode==1.3 # via python-slugify -tomlkit==0.15.0 +tomlkit==0.15.1 # via # edx-lint # pylint -twine==6.2.0 +twine==7.0.0 # via -r requirements/quality.in -typing-extensions==4.15.0 +typing-extensions==4.16.0 # via edx-opaque-keys urllib3==2.7.0 # via diff --git a/requirements/test.txt b/requirements/test.txt index f25a77f5..09044046 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -6,37 +6,37 @@ # appdirs==1.4.4 # via fs -asgiref==3.11.1 +asgiref==3.12.1 # via django -boto3==1.43.36 +boto3==1.43.71 # via -r requirements/test.in -botocore==1.43.36 +botocore==1.43.71 # via # boto3 # s3transfer -cachetools==7.1.4 +cachetools==7.1.7 # via -r requirements/base.in -certifi==2026.6.17 +certifi==2026.7.22 # via requests -cffi==2.0.0 +cffi==2.1.1 # via # cryptography # pynacl -chardet==7.4.3 +chardet==7.5.1 # via pysrt -charset-normalizer==3.4.7 +charset-normalizer==3.5.0 # via requests -click==8.4.1 +click==8.4.2 # via # code-annotations # edx-django-utils code-annotations==3.0.0 # via edx-toggles -coverage[toml]==7.14.3 +coverage[toml]==7.15.4 # via # -r requirements/test.in # pytest-cov -cryptography==49.0.0 +cryptography==50.0.0 # via pyjwt ddt==1.7.2 # via -r requirements/test.in @@ -66,7 +66,7 @@ django-waffle==5.0.0 # edx-django-utils # edx-drf-extensions # edx-toggles -djangorestframework==3.17.1 +djangorestframework==3.18.0 # via # drf-jwt # edx-drf-extensions @@ -104,9 +104,9 @@ markupsafe==3.0.3 # via jinja2 mock==5.2.0 # via -r requirements/test.in -packaging==26.2 +packaging==26.3 # via pytest -pillow==12.2.0 +pillow==12.3.0 # via -r requirements/base.in pluggy==1.6.0 # via @@ -134,7 +134,7 @@ pytest==9.1.1 # pytest-django pytest-cov==7.1.0 # via -r requirements/test.in -pytest-django==4.12.0 +pytest-django==4.14.0 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via botocore @@ -149,9 +149,9 @@ requests==2.34.2 # via # edx-drf-extensions # responses -responses==0.26.1 +responses==0.26.2 # via -r requirements/test.in -s3transfer==0.19.0 +s3transfer==0.19.2 # via boto3 semantic-version==2.10.0 # via edx-drf-extensions @@ -160,16 +160,16 @@ six==1.17.0 # edx-django-release-util # fs # python-dateutil -sqlparse==0.5.5 +sqlparse==0.6.0 # via django -stevedore==5.8.0 +stevedore==5.9.0 # via # code-annotations # edx-django-utils # edx-opaque-keys text-unidecode==1.3 # via python-slugify -typing-extensions==4.15.0 +typing-extensions==4.16.0 # via edx-opaque-keys urllib3==2.7.0 # via