diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9708dd62..062f538d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: python-version: - "3.11" - "3.12" - env-name: ['django42','django52', 'quality'] + env-name: ['django52', 'quality'] db-version: ['mysql80'] steps: diff --git a/Makefile b/Makefile index 26a1404f..5f19cc02 100644 --- a/Makefile +++ b/Makefile @@ -44,7 +44,7 @@ $(COMMON_CONSTRAINTS_TXT): export CUSTOM_COMPILE_COMMAND = make upgrade upgrade: $(COMMON_CONSTRAINTS_TXT) ## update the requirements/*.txt files with the latest packages satisfying requirements/*.in - sed 's/Django<4.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp + sed 's/Django<5.0//g' requirements/common_constraints.txt > requirements/common_constraints.tmp mv requirements/common_constraints.tmp requirements/common_constraints.txt pip install -qr requirements/pip-tools.txt # Make sure to compile files after any other files they include! diff --git a/requirements.txt b/requirements.txt index a9e8370d..806b746b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,30 +1,30 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -asgiref==3.8.1 +asgiref==3.9.2 # via django backoff==2.2.1 # via -r requirements/base.in -boto3==1.38.43 +boto3==1.40.44 # via -r requirements/base.in -botocore==1.38.43 +botocore==1.40.44 # via # boto3 # s3transfer -certifi==2025.6.15 +certifi==2025.8.3 # via requests -cffi==1.17.1 +cffi==2.0.0 # via pynacl -charset-normalizer==3.4.2 +charset-normalizer==3.4.3 # via requests -click==8.2.1 +click==8.3.0 # via edx-django-utils -django==4.2.23 +django==5.2.7 # via - # -c requirements/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/base.in # django-crum # django-storages @@ -39,13 +39,13 @@ django-waffle==5.0.0 # via edx-django-utils edx-django-release-util==1.5.0 # via -r requirements/base.in -edx-django-utils==8.0.0 +edx-django-utils==8.0.1 # via -r requirements/base.in gunicorn==23.0.0 # via -r requirements/base.in idna==3.10 # via requests -isort==6.0.1 +isort==6.1.0 # via -r requirements/base.in jmespath==1.0.1 # via @@ -53,29 +53,29 @@ jmespath==1.0.1 # botocore mysqlclient==2.2.7 # via -r requirements/base.in -newrelic==10.14.0 - # via -r requirements/base.in +newrelic==10.17.0 + # via + # -c requirements/constraints.txt + # -r requirements/base.in packaging==25.0 # via gunicorn -path==17.1.0 +path==17.1.1 # via -r requirements/base.in -pbr==6.1.1 - # via stevedore -psutil==7.0.0 +psutil==7.1.0 # via edx-django-utils -pycparser==2.22 +pycparser==2.23 # via cffi -pynacl==1.5.0 +pynacl==1.6.0 # via edx-django-utils python-dateutil==2.9.0.post0 # via botocore python-memcached==1.62 # via -r requirements/base.in -pyyaml==6.0.2 +pyyaml==6.0.3 # via edx-django-release-util -requests==2.32.4 +requests==2.32.5 # via -r requirements/base.in -s3transfer==0.13.0 +s3transfer==0.14.0 # via boto3 six==1.17.0 # via @@ -83,13 +83,9 @@ six==1.17.0 # python-dateutil sqlparse==0.5.3 # via django -stevedore==5.4.1 +stevedore==5.5.0 # via edx-django-utils -urllib3==2.2.3 +urllib3==2.5.0 # via - # -c requirements/common_constraints.txt # botocore # requests - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/requirements/ci.txt b/requirements/ci.txt index ef6cc183..5fa40389 100644 --- a/requirements/ci.txt +++ b/requirements/ci.txt @@ -1,18 +1,18 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -cachetools==6.1.0 +cachetools==6.2.0 # via tox chardet==5.2.0 # via tox colorama==0.4.6 # via tox -distlib==0.3.9 +distlib==0.4.0 # via virtualenv -filelock==3.18.0 +filelock==3.19.1 # via # tox # virtualenv @@ -20,7 +20,7 @@ packaging==25.0 # via # pyproject-api # tox -platformdirs==4.3.8 +platformdirs==4.4.0 # via # tox # virtualenv @@ -28,7 +28,7 @@ pluggy==1.6.0 # via tox pyproject-api==1.9.1 # via tox -tox==4.27.0 +tox==4.30.3 # via -r requirements/ci.in -virtualenv==20.31.2 +virtualenv==20.34.0 # via tox diff --git a/requirements/common_constraints.txt b/requirements/common_constraints.txt index 75193d3f..a920d65f 100644 --- a/requirements/common_constraints.txt +++ b/requirements/common_constraints.txt @@ -17,20 +17,9 @@ # this file from Github directly. It does not require packaging in edx-lint. # using LTS django version -Django<5.0 + # 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 # See https://github.com/openedx/edx-platform/issues/35126 for more info elasticsearch<7.14.0 - -# django-simple-history>3.0.0 adds indexing and causes a lot of migrations to be affected -django-simple-history==3.0.0 - -# Cause: https://github.com/openedx/edx-lint/issues/458 -# This can be unpinned once https://github.com/openedx/edx-lint/issues/459 has been resolved. -pip<24.3 - -# Cause: https://github.com/openedx/edx-lint/issues/475 -# This can be unpinned once https://github.com/openedx/edx-lint/issues/476 has been resolved. -urllib3<2.3.0 diff --git a/requirements/constraints.txt b/requirements/constraints.txt index a51cb08b..accf5f49 100644 --- a/requirements/constraints.txt +++ b/requirements/constraints.txt @@ -10,3 +10,10 @@ # Common constraints for edx repos -c common_constraints.txt + +# Upgrade to django 5.2 +Django<5.3 + +# Breaking changes in newrelic 11.0.0 +# https://docs.newrelic.com/docs/release-notes/agent-release-notes/python-release-notes/python-agent-110000/ +newrelic>=10.17.0,<11 \ No newline at end of file diff --git a/requirements/dev.txt b/requirements/dev.txt index f5be1e05..bebf57cf 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -1,35 +1,35 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -asgiref==3.8.1 +asgiref==3.9.2 # via # -r requirements/test.txt # django backoff==2.2.1 # via -r requirements/test.txt -boto3==1.38.43 +boto3==1.40.44 # via -r requirements/test.txt -botocore==1.38.43 +botocore==1.40.44 # via # -r requirements/test.txt # boto3 # s3transfer -build==1.2.2.post1 +build==1.3.0 # via # -r requirements/pip-tools.txt # pip-tools -cachetools==6.1.0 +cachetools==6.2.0 # via # -r requirements/ci.txt # tox -certifi==2025.6.15 +certifi==2025.8.3 # via # -r requirements/test.txt # requests -cffi==1.17.1 +cffi==2.0.0 # via # -r requirements/test.txt # pynacl @@ -37,11 +37,11 @@ chardet==5.2.0 # via # -r requirements/ci.txt # tox -charset-normalizer==3.4.2 +charset-normalizer==3.4.3 # via # -r requirements/test.txt # requests -click==8.2.1 +click==8.3.0 # via # -r requirements/pip-tools.txt # -r requirements/test.txt @@ -51,17 +51,17 @@ colorama==0.4.6 # via # -r requirements/ci.txt # tox -coverage[toml]==7.9.1 +coverage[toml]==7.10.7 # via # -r requirements/test.txt # pytest-cov -distlib==0.3.9 +distlib==0.4.0 # via # -r requirements/ci.txt # virtualenv -django==4.2.23 +django==5.2.7 # via - # -c requirements/common_constraints.txt + # -c requirements/constraints.txt # -r requirements/test.txt # django-crum # django-storages @@ -80,9 +80,9 @@ django-waffle==5.0.0 # edx-django-utils edx-django-release-util==1.5.0 # via -r requirements/test.txt -edx-django-utils==8.0.0 +edx-django-utils==8.0.1 # via -r requirements/test.txt -filelock==3.18.0 +filelock==3.19.1 # via # -r requirements/ci.txt # tox @@ -97,7 +97,7 @@ iniconfig==2.1.0 # via # -r requirements/test.txt # pytest -isort==6.0.1 +isort==6.1.0 # via -r requirements/test.txt jmespath==1.0.1 # via @@ -106,8 +106,10 @@ jmespath==1.0.1 # botocore mysqlclient==2.2.7 # via -r requirements/test.txt -newrelic==10.14.0 - # via -r requirements/test.txt +newrelic==10.17.0 + # via + # -c requirements/constraints.txt + # -r requirements/test.txt packaging==25.0 # via # -r requirements/ci.txt @@ -118,15 +120,11 @@ packaging==25.0 # pyproject-api # pytest # tox -path==17.1.0 +path==17.1.1 # via -r requirements/test.txt -pbr==6.1.1 - # via - # -r requirements/test.txt - # stevedore -pip-tools==7.4.1 +pip-tools==7.5.1 # via -r requirements/pip-tools.txt -platformdirs==4.3.8 +platformdirs==4.4.0 # via # -r requirements/ci.txt # tox @@ -138,13 +136,13 @@ pluggy==1.6.0 # pytest # pytest-cov # tox -psutil==7.0.0 +psutil==7.1.0 # via # -r requirements/test.txt # edx-django-utils pycodestyle==2.14.0 # via -r requirements/quality.txt -pycparser==2.22 +pycparser==2.23 # via # -r requirements/test.txt # cffi @@ -152,7 +150,7 @@ pygments==2.19.2 # via # -r requirements/test.txt # pytest -pynacl==1.5.0 +pynacl==1.6.0 # via # -r requirements/test.txt # edx-django-utils @@ -165,12 +163,12 @@ pyproject-hooks==1.2.0 # -r requirements/pip-tools.txt # build # pip-tools -pytest==8.4.1 +pytest==8.4.2 # via # -r requirements/test.txt # pytest-cov # pytest-django -pytest-cov==6.2.1 +pytest-cov==7.0.0 # via -r requirements/test.txt pytest-django==4.11.1 # via -r requirements/test.txt @@ -180,13 +178,13 @@ python-dateutil==2.9.0.post0 # botocore python-memcached==1.62 # via -r requirements/test.txt -pyyaml==6.0.2 +pyyaml==6.0.3 # via # -r requirements/test.txt # edx-django-release-util -requests==2.32.4 +requests==2.32.5 # via -r requirements/test.txt -s3transfer==0.13.0 +s3transfer==0.14.0 # via # -r requirements/test.txt # boto3 @@ -199,19 +197,18 @@ sqlparse==0.5.3 # via # -r requirements/test.txt # django -stevedore==5.4.1 +stevedore==5.5.0 # via # -r requirements/test.txt # edx-django-utils -tox==4.27.0 +tox==4.30.3 # via -r requirements/ci.txt -urllib3==2.2.3 +urllib3==2.5.0 # via - # -c requirements/common_constraints.txt # -r requirements/test.txt # botocore # requests -virtualenv==20.31.2 +virtualenv==20.34.0 # via # -r requirements/ci.txt # tox diff --git a/requirements/pip-tools.txt b/requirements/pip-tools.txt index 990b4234..aff583b9 100644 --- a/requirements/pip-tools.txt +++ b/requirements/pip-tools.txt @@ -1,16 +1,16 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -build==1.2.2.post1 +build==1.3.0 # via pip-tools -click==8.2.1 +click==8.3.0 # via pip-tools packaging==25.0 # via build -pip-tools==7.4.1 +pip-tools==7.5.1 # via -r requirements/pip-tools.in pyproject-hooks==1.2.0 # via diff --git a/requirements/pip.txt b/requirements/pip.txt index dabfa8f0..42c70342 100644 --- a/requirements/pip.txt +++ b/requirements/pip.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade @@ -8,9 +8,7 @@ wheel==0.45.1 # via -r requirements/pip.in # The following packages are considered to be unsafe in a requirements file: -pip==24.2 - # via - # -c requirements/common_constraints.txt - # -r requirements/pip.in +pip==25.2 + # via -r requirements/pip.in setuptools==80.9.0 # via -r requirements/pip.in diff --git a/requirements/quality.txt b/requirements/quality.txt index 12a5f8a5..f01ae5db 100644 --- a/requirements/quality.txt +++ b/requirements/quality.txt @@ -1,5 +1,5 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade diff --git a/requirements/test.txt b/requirements/test.txt index e2b2f497..02fe542a 100644 --- a/requirements/test.txt +++ b/requirements/test.txt @@ -1,43 +1,43 @@ # -# This file is autogenerated by pip-compile with Python 3.11 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # # make upgrade # -asgiref==3.8.1 +asgiref==3.9.2 # via - # -r requirements/../requirements.txt + # -r requirements.txt # django backoff==2.2.1 - # via -r requirements/../requirements.txt -boto3==1.38.43 - # via -r requirements/../requirements.txt -botocore==1.38.43 + # via -r requirements.txt +boto3==1.40.44 + # via -r requirements.txt +botocore==1.40.44 # via - # -r requirements/../requirements.txt + # -r requirements.txt # boto3 # s3transfer -certifi==2025.6.15 +certifi==2025.8.3 # via - # -r requirements/../requirements.txt + # -r requirements.txt # requests -cffi==1.17.1 +cffi==2.0.0 # via - # -r requirements/../requirements.txt + # -r requirements.txt # pynacl -charset-normalizer==3.4.2 +charset-normalizer==3.4.3 # via - # -r requirements/../requirements.txt + # -r requirements.txt # requests -click==8.2.1 +click==8.3.0 # via - # -r requirements/../requirements.txt + # -r requirements.txt # edx-django-utils -coverage[toml]==7.9.1 +coverage[toml]==7.10.7 # via pytest-cov # via - # -c requirements/common_constraints.txt - # -r requirements/../requirements.txt + # -c requirements/constraints.txt + # -r requirements.txt # django-crum # django-storages # django-waffle @@ -45,110 +45,104 @@ coverage[toml]==7.9.1 # edx-django-utils django-crum==0.7.9 # via - # -r requirements/../requirements.txt + # -r requirements.txt # edx-django-utils django-storages==1.14.6 - # via -r requirements/../requirements.txt + # via -r requirements.txt django-waffle==5.0.0 # via - # -r requirements/../requirements.txt + # -r requirements.txt # edx-django-utils edx-django-release-util==1.5.0 - # via -r requirements/../requirements.txt -edx-django-utils==8.0.0 - # via -r requirements/../requirements.txt + # via -r requirements.txt +edx-django-utils==8.0.1 + # via -r requirements.txt gunicorn==23.0.0 - # via -r requirements/../requirements.txt + # via -r requirements.txt idna==3.10 # via - # -r requirements/../requirements.txt + # -r requirements.txt # requests iniconfig==2.1.0 # via pytest -isort==6.0.1 - # via -r requirements/../requirements.txt +isort==6.1.0 + # via -r requirements.txt jmespath==1.0.1 # via - # -r requirements/../requirements.txt + # -r requirements.txt # boto3 # botocore mysqlclient==2.2.7 - # via -r requirements/../requirements.txt -newrelic==10.14.0 - # via -r requirements/../requirements.txt + # via -r requirements.txt +newrelic==10.17.0 + # via + # -c requirements/constraints.txt + # -r requirements.txt packaging==25.0 # via - # -r requirements/../requirements.txt + # -r requirements.txt # gunicorn # pytest -path==17.1.0 - # via -r requirements/../requirements.txt -pbr==6.1.1 - # via - # -r requirements/../requirements.txt - # stevedore +path==17.1.1 + # via -r requirements.txt pluggy==1.6.0 # via # pytest # pytest-cov -psutil==7.0.0 +psutil==7.1.0 # via - # -r requirements/../requirements.txt + # -r requirements.txt # edx-django-utils -pycparser==2.22 +pycparser==2.23 # via - # -r requirements/../requirements.txt + # -r requirements.txt # cffi pygments==2.19.2 # via pytest -pynacl==1.5.0 +pynacl==1.6.0 # via - # -r requirements/../requirements.txt + # -r requirements.txt # edx-django-utils -pytest==8.4.1 +pytest==8.4.2 # via # -r requirements/test.in # pytest-cov # pytest-django -pytest-cov==6.2.1 +pytest-cov==7.0.0 # via -r requirements/test.in pytest-django==4.11.1 # via -r requirements/test.in python-dateutil==2.9.0.post0 # via - # -r requirements/../requirements.txt + # -r requirements.txt # botocore python-memcached==1.62 - # via -r requirements/../requirements.txt -pyyaml==6.0.2 + # via -r requirements.txt +pyyaml==6.0.3 # via - # -r requirements/../requirements.txt + # -r requirements.txt # edx-django-release-util -requests==2.32.4 - # via -r requirements/../requirements.txt -s3transfer==0.13.0 +requests==2.32.5 + # via -r requirements.txt +s3transfer==0.14.0 # via - # -r requirements/../requirements.txt + # -r requirements.txt # boto3 six==1.17.0 # via - # -r requirements/../requirements.txt + # -r requirements.txt # edx-django-release-util # python-dateutil sqlparse==0.5.3 # via - # -r requirements/../requirements.txt + # -r requirements.txt # django -stevedore==5.4.1 +stevedore==5.5.0 # via - # -r requirements/../requirements.txt + # -r requirements.txt # edx-django-utils -urllib3==2.2.3 +urllib3==2.5.0 # via - # -c requirements/common_constraints.txt - # -r requirements/../requirements.txt + # -r requirements.txt # botocore # requests - -# The following packages are considered to be unsafe in a requirements file: -# setuptools diff --git a/tox.ini b/tox.ini index 8ab2fb21..2f3c6f2f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = py{311,312}-django{42,52},py{311,312}-quality +envlist = py{311,312}-django{52},py{311,312}-quality skipsdist = True [pycodestyle] @@ -13,7 +13,6 @@ norecursedirs = .* jenkins load_tests log reports script test_framework xqueue [testenv] deps = - django42: Django>=4.2,<5.0 django52: Django>=5.2,<6.0 -r{toxinidir}/requirements/test.txt passenv =