From 73155a160c1a5bff4497e6fa902837a7f0c6ddc3 Mon Sep 17 00:00:00 2001 From: Vinit Kumar Date: Wed, 5 Nov 2025 20:55:25 +0530 Subject: [PATCH 1/8] feat: add support for python 3.14 and replace django-fsm to django-fsm-2 --- .github/workflows/test.yml | 1 + pyproject.toml | 1 + tests/requirements/compile.py | 18 ++-- .../requirements/py311-dj52-cms50-default.txt | 11 ++- .../py311-dj52-cms50-versioning.txt | 11 ++- .../requirements/py312-dj52-cms50-default.txt | 11 ++- .../py312-dj52-cms50-versioning.txt | 11 ++- .../requirements/py312-dj60-cms50-default.txt | 11 ++- .../py312-dj60-cms50-versioning.txt | 11 ++- .../requirements/py313-dj52-cms50-default.txt | 11 ++- .../py313-dj52-cms50-versioning.txt | 11 ++- .../requirements/py313-dj60-cms50-default.txt | 11 ++- .../py313-dj60-cms50-versioning.txt | 11 ++- .../py313-djmain-cms50-default.txt | 9 +- .../py313-djmain-cms50-versioning.txt | 9 +- .../py313-djmain-cmsdev-default.txt | 7 +- .../py313-djmain-cmsdev-versioning.txt | 7 +- .../requirements/py314-dj52-cms50-default.txt | 95 +++++++++++++++++++ .../py314-dj52-cms50-versioning.txt | 95 +++++++++++++++++++ .../requirements/py314-dj60-cms50-default.txt | 95 +++++++++++++++++++ .../py314-dj60-cms50-versioning.txt | 95 +++++++++++++++++++ .../py314-djmain-cms50-default.txt | 95 +++++++++++++++++++ .../py314-djmain-cms50-versioning.txt | 95 +++++++++++++++++++ .../py314-djmain-cmsdev-default.txt | 87 +++++++++++++++++ .../py314-djmain-cmsdev-versioning.txt | 87 +++++++++++++++++ tests/requirements/requirements.in | 2 +- 26 files changed, 837 insertions(+), 71 deletions(-) create mode 100644 tests/requirements/py314-dj52-cms50-default.txt create mode 100644 tests/requirements/py314-dj52-cms50-versioning.txt create mode 100644 tests/requirements/py314-dj60-cms50-default.txt create mode 100644 tests/requirements/py314-dj60-cms50-versioning.txt create mode 100644 tests/requirements/py314-djmain-cms50-default.txt create mode 100644 tests/requirements/py314-djmain-cms50-versioning.txt create mode 100644 tests/requirements/py314-djmain-cmsdev-default.txt create mode 100644 tests/requirements/py314-djmain-cmsdev-versioning.txt diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index f576096b..d3763210 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -18,6 +18,7 @@ jobs: - '3.11' - '3.12' - '3.13' + - '3.14' steps: - uses: actions/checkout@v5 diff --git a/pyproject.toml b/pyproject.toml index 9f8fdf43..50ea09a5 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -31,6 +31,7 @@ classifiers = [ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development", "Topic :: Software Development :: Libraries :: Application Frameworks", diff --git a/tests/requirements/compile.py b/tests/requirements/compile.py index f180fc51..45725b55 100755 --- a/tests/requirements/compile.py +++ b/tests/requirements/compile.py @@ -10,10 +10,14 @@ "py311-dj52-cms50": [], "py312-dj52-cms50": [], "py313-dj52-cms50": [], + "py314-dj52-cms50": [], "py312-dj60-cms50": [], "py313-dj60-cms50": [], + "py314-dj60-cms50": [], "py313-djmain-cmsdev": [], "py313-djmain-cms50": [], + "py314-djmain-cmsdev": [], + "py314-djmain-cms50": [], } django_dict = { @@ -71,12 +75,14 @@ def run(*args, **kwargs): print("Upgrading pip-tools") for py_ver in {key.split("-")[0] for key in COMPILE_SETTINGS.keys()}: args = [ - f"python{py_ver[2]}.{py_ver[3:]}", - "-m", - "pip", - "install", - "--upgrade", - "pip-tools", + f"python{py_ver[2]}.{py_ver[3:]}", + "-m", + "pip", + "install", + "--upgrade", + "pip-tools", + "pip==24.3.1", + "--break-system-packages", ] subprocess.run(args, capture_output=True, check=False) diff --git a/tests/requirements/py311-dj52-cms50-default.txt b/tests/requirements/py311-dj52-cms50-default.txt index fbb53fe4..5f6ddb1a 100644 --- a/tests/requirements/py311-dj52-cms50-default.txt +++ b/tests/requirements/py311-dj52-cms50-default.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py311-dj52-cms50-versioning.txt b/tests/requirements/py311-dj52-cms50-versioning.txt index fbb53fe4..5f6ddb1a 100644 --- a/tests/requirements/py311-dj52-cms50-versioning.txt +++ b/tests/requirements/py311-dj52-cms50-versioning.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py312-dj52-cms50-default.txt b/tests/requirements/py312-dj52-cms50-default.txt index a04dadb2..f42f647b 100644 --- a/tests/requirements/py312-dj52-cms50-default.txt +++ b/tests/requirements/py312-dj52-cms50-default.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py312-dj52-cms50-versioning.txt b/tests/requirements/py312-dj52-cms50-versioning.txt index a04dadb2..f42f647b 100644 --- a/tests/requirements/py312-dj52-cms50-versioning.txt +++ b/tests/requirements/py312-dj52-cms50-versioning.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py312-dj60-cms50-default.txt b/tests/requirements/py312-dj60-cms50-default.txt index 7b68aef6..48b2f6a0 100644 --- a/tests/requirements/py312-dj60-cms50-default.txt +++ b/tests/requirements/py312-dj60-cms50-default.txt @@ -14,11 +14,12 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==6.0b1 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py312-dj60-cms50-versioning.txt b/tests/requirements/py312-dj60-cms50-versioning.txt index 7b68aef6..48b2f6a0 100644 --- a/tests/requirements/py312-dj60-cms50-versioning.txt +++ b/tests/requirements/py312-dj60-cms50-versioning.txt @@ -14,11 +14,12 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==6.0b1 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-dj52-cms50-default.txt b/tests/requirements/py313-dj52-cms50-default.txt index 68c1da32..726a31c3 100644 --- a/tests/requirements/py313-dj52-cms50-default.txt +++ b/tests/requirements/py313-dj52-cms50-default.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-dj52-cms50-versioning.txt b/tests/requirements/py313-dj52-cms50-versioning.txt index 68c1da32..726a31c3 100644 --- a/tests/requirements/py313-dj52-cms50-versioning.txt +++ b/tests/requirements/py313-dj52-cms50-versioning.txt @@ -14,11 +14,12 @@ coverage[toml]==7.8.0 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==5.2.8 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-dj60-cms50-default.txt b/tests/requirements/py313-dj60-cms50-default.txt index 6194fcf8..f5bf6779 100644 --- a/tests/requirements/py313-dj60-cms50-default.txt +++ b/tests/requirements/py313-dj60-cms50-default.txt @@ -14,11 +14,12 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==6.0b1 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-dj60-cms50-versioning.txt b/tests/requirements/py313-dj60-cms50-versioning.txt index 6194fcf8..f5bf6779 100644 --- a/tests/requirements/py313-dj60-cms50-versioning.txt +++ b/tests/requirements/py313-dj60-cms50-versioning.txt @@ -14,11 +14,12 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -django==5.2.7 +django==6.0b1 # via # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-djmain-cms50-default.txt b/tests/requirements/py313-djmain-cms50-default.txt index 85f9b61f..d7c14a80 100644 --- a/tests/requirements/py313-djmain-cms50-default.txt +++ b/tests/requirements/py313-djmain-cms50-default.txt @@ -19,6 +19,7 @@ django @ https://github.com/django/django/tarball/main # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-djmain-cms50-versioning.txt b/tests/requirements/py313-djmain-cms50-versioning.txt index 85f9b61f..d7c14a80 100644 --- a/tests/requirements/py313-djmain-cms50-versioning.txt +++ b/tests/requirements/py313-djmain-cms50-versioning.txt @@ -19,6 +19,7 @@ django @ https://github.com/django/django/tarball/main # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -29,14 +30,14 @@ django-classy-tags==4.1.0 # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.3 +django-cms==5.0.4 # via djangocms-versioning django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-djmain-cmsdev-default.txt b/tests/requirements/py313-djmain-cmsdev-default.txt index d68b3186..3bdd61c7 100644 --- a/tests/requirements/py313-djmain-cmsdev-default.txt +++ b/tests/requirements/py313-djmain-cmsdev-default.txt @@ -19,6 +19,7 @@ django @ https://github.com/django/django/tarball/main # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -33,9 +34,9 @@ django-cms @ https://github.com/django-cms/django-cms/tarball/main django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py313-djmain-cmsdev-versioning.txt b/tests/requirements/py313-djmain-cmsdev-versioning.txt index d68b3186..3bdd61c7 100644 --- a/tests/requirements/py313-djmain-cmsdev-versioning.txt +++ b/tests/requirements/py313-djmain-cmsdev-versioning.txt @@ -19,6 +19,7 @@ django @ https://github.com/django/django/tarball/main # django-classy-tags # django-cms # django-formtools + # django-fsm-2 # django-parler # django-sekizai # django-treebeard @@ -33,9 +34,9 @@ django-cms @ https://github.com/django-cms/django-cms/tarball/main django-formtools==2.5.1 # via django-cms django-fsm==2.8.2 - # via - # -r requirements.in - # djangocms-versioning + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 diff --git a/tests/requirements/py314-dj52-cms50-default.txt b/tests/requirements/py314-dj52-cms50-default.txt new file mode 100644 index 00000000..f3979334 --- /dev/null +++ b/tests/requirements/py314-dj52-cms50-default.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django==5.2.8 + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-dj52-cms50-versioning.txt b/tests/requirements/py314-dj52-cms50-versioning.txt new file mode 100644 index 00000000..f3979334 --- /dev/null +++ b/tests/requirements/py314-dj52-cms50-versioning.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django==5.2.8 + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-dj60-cms50-default.txt b/tests/requirements/py314-dj60-cms50-default.txt new file mode 100644 index 00000000..6b22db42 --- /dev/null +++ b/tests/requirements/py314-dj60-cms50-default.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django==6.0b1 + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-dj60-cms50-versioning.txt b/tests/requirements/py314-dj60-cms50-versioning.txt new file mode 100644 index 00000000..6b22db42 --- /dev/null +++ b/tests/requirements/py314-dj60-cms50-versioning.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django==6.0b1 + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-djmain-cms50-default.txt b/tests/requirements/py314-djmain-cms50-default.txt new file mode 100644 index 00000000..75c6b068 --- /dev/null +++ b/tests/requirements/py314-djmain-cms50-default.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django @ https://github.com/django/django/tarball/main + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-djmain-cms50-versioning.txt b/tests/requirements/py314-djmain-cms50-versioning.txt new file mode 100644 index 00000000..75c6b068 --- /dev/null +++ b/tests/requirements/py314-djmain-cms50-versioning.txt @@ -0,0 +1,95 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django @ https://github.com/django/django/tarball/main + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-admin-style + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms==5.0.4 + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-admin-style==3.3.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # django-cms + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 + +# The following packages are considered to be unsafe in a requirements file: +setuptools==80.9.0 + # via django-cms diff --git a/tests/requirements/py314-djmain-cmsdev-default.txt b/tests/requirements/py314-djmain-cmsdev-default.txt new file mode 100644 index 00000000..19e26e4b --- /dev/null +++ b/tests/requirements/py314-djmain-cmsdev-default.txt @@ -0,0 +1,87 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django @ https://github.com/django/django/tarball/main + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms @ https://github.com/django-cms/django-cms/tarball/main + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 diff --git a/tests/requirements/py314-djmain-cmsdev-versioning.txt b/tests/requirements/py314-djmain-cmsdev-versioning.txt new file mode 100644 index 00000000..19e26e4b --- /dev/null +++ b/tests/requirements/py314-djmain-cmsdev-versioning.txt @@ -0,0 +1,87 @@ +# +# This file is autogenerated by pip-compile with Python 3.14 +# by the following command: +# +# requirements/compile.py +# +asgiref==3.10.0 + # via django +beautifulsoup4==4.14.2 + # via bs4 +bs4==0.0.2 + # via -r requirements.in +coverage[toml]==7.11.0 + # via + # -r requirements.in + # pytest-cov +django @ https://github.com/django/django/tarball/main + # via + # django-classy-tags + # django-cms + # django-formtools + # django-fsm-2 + # django-parler + # django-sekizai + # django-treebeard + # djangocms-versioning +django-classy-tags==4.1.0 + # via + # -r requirements.in + # django-cms + # django-sekizai +django-cms @ https://github.com/django-cms/django-cms/tarball/main + # via djangocms-versioning +django-formtools==2.5.1 + # via django-cms +django-fsm==2.8.2 + # via djangocms-versioning +django-fsm-2==4.1.0 + # via -r requirements.in +django-parler==2.3 + # via -r requirements.in +django-sekizai==4.1.0 + # via + # -r requirements.in + # django-cms +django-treebeard==4.7.1 + # via django-cms +djangocms-versioning==2.4.0 + # via -r requirements.in +flake8==7.3.0 + # via -r requirements.in +iniconfig==2.3.0 + # via pytest +isort==7.0.0 + # via -r requirements.in +mccabe==0.7.0 + # via flake8 +packaging==25.0 + # via + # djangocms-versioning + # pytest +pluggy==1.6.0 + # via + # pytest + # pytest-cov +pycodestyle==2.14.0 + # via flake8 +pyflakes==3.4.0 + # via + # -r requirements.in + # flake8 +pygments==2.19.2 + # via pytest +pytest==8.4.2 + # via + # pytest-cov + # pytest-django +pytest-cov==7.0.0 + # via -r requirements.in +pytest-django==4.11.1 + # via -r requirements.in +soupsieve==2.8 + # via beautifulsoup4 +sqlparse==0.5.3 + # via django +typing-extensions==4.15.0 + # via beautifulsoup4 diff --git a/tests/requirements/requirements.in b/tests/requirements/requirements.in index 2599d05a..a1c75ce9 100644 --- a/tests/requirements/requirements.in +++ b/tests/requirements/requirements.in @@ -3,7 +3,7 @@ coverage pytest-django pytest-cov django-classy-tags -django-fsm>=2.6 +django-fsm-2 django-sekizai django-parler flake8 From 4ba45b3d95355125b1c723963498ea1f2aa1fff2 Mon Sep 17 00:00:00 2001 From: "pre-commit-ci[bot]" <66853113+pre-commit-ci[bot]@users.noreply.github.com> Date: Wed, 5 Nov 2025 15:26:36 +0000 Subject: [PATCH 2/8] ci: auto fixes from pre-commit hooks for more information, see https://pre-commit.ci --- tests/requirements/compile.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/requirements/compile.py b/tests/requirements/compile.py index 45725b55..9988a24d 100755 --- a/tests/requirements/compile.py +++ b/tests/requirements/compile.py @@ -75,14 +75,14 @@ def run(*args, **kwargs): print("Upgrading pip-tools") for py_ver in {key.split("-")[0] for key in COMPILE_SETTINGS.keys()}: args = [ - f"python{py_ver[2]}.{py_ver[3:]}", - "-m", - "pip", - "install", - "--upgrade", - "pip-tools", - "pip==24.3.1", - "--break-system-packages", + f"python{py_ver[2]}.{py_ver[3:]}", + "-m", + "pip", + "install", + "--upgrade", + "pip-tools", + "pip==24.3.1", + "--break-system-packages", ] subprocess.run(args, capture_output=True, check=False) From 9f85660af6ed5bdf96478baf39c7d0d0eaf85059 Mon Sep 17 00:00:00 2001 From: Vinit Kumar Date: Wed, 5 Nov 2025 21:05:10 +0530 Subject: [PATCH 3/8] trigger new CI run From f0a0911f4688c2cd71d5e9d2fa4eba95fbaddc80 Mon Sep 17 00:00:00 2001 From: Vinit Kumar Date: Wed, 5 Nov 2025 21:19:02 +0530 Subject: [PATCH 4/8] Add Python 3.14 support to tox environments Amp-Thread-ID: https://ampcode.com/threads/T-ac7877fd-5037-4683-8f1b-01477304fb76 Co-authored-by: Amp --- tox.ini | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tox.ini b/tox.ini index b620a097..e466e6ae 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,8 @@ [tox] isolated_build = true envlist = - py{311,312,313}-dj{52}-cms50-{default,versioning} - py{312,313}-dj{52,60}-cms50-{default,versioning} + py{311,312,313,314}-dj{52}-cms50-{default,versioning} + py{312,313,314}-dj{52,60}-cms50-{default,versioning} skip_missing_interpreters=True From e2db778bd2748b8a6a0dc1e671fddb171ea0b50e Mon Sep 17 00:00:00 2001 From: Vinit Kumar Date: Wed, 5 Nov 2025 21:23:08 +0530 Subject: [PATCH 5/8] trigger new CI run From 378f9e6a1f3ef1852d037a932974e776e93fe268 Mon Sep 17 00:00:00 2001 From: Vinit Kumar Date: Wed, 19 Nov 2025 15:49:15 +0530 Subject: [PATCH 6/8] update: deps --- tests/requirements/py311-dj52-cms50-default.txt | 11 +++++------ tests/requirements/py311-dj52-cms50-versioning.txt | 11 +++++------ tests/requirements/py313-dj52-cms50-default.txt | 11 +++++------ tests/requirements/py313-dj52-cms50-versioning.txt | 11 +++++------ tests/requirements/py313-dj60-cms50-default.txt | 11 +++++------ tests/requirements/py313-dj60-cms50-versioning.txt | 11 +++++------ tests/requirements/py313-djmain-cms50-default.txt | 11 +++++------ tests/requirements/py313-djmain-cms50-versioning.txt | 11 +++++------ tests/requirements/py313-djmain-cmsdev-default.txt | 9 ++++----- tests/requirements/py313-djmain-cmsdev-versioning.txt | 9 ++++----- tests/requirements/py314-dj52-cms50-default.txt | 11 +++++------ tests/requirements/py314-dj52-cms50-versioning.txt | 11 +++++------ tests/requirements/py314-dj60-cms50-default.txt | 11 +++++------ tests/requirements/py314-dj60-cms50-versioning.txt | 11 +++++------ tests/requirements/py314-djmain-cms50-default.txt | 11 +++++------ tests/requirements/py314-djmain-cms50-versioning.txt | 11 +++++------ tests/requirements/py314-djmain-cmsdev-default.txt | 9 ++++----- tests/requirements/py314-djmain-cmsdev-versioning.txt | 9 ++++----- tests/requirements/requirements.in | 2 +- 19 files changed, 87 insertions(+), 105 deletions(-) diff --git a/tests/requirements/py311-dj52-cms50-default.txt b/tests/requirements/py311-dj52-cms50-default.txt index 5f6ddb1a..7dbb8900 100644 --- a/tests/requirements/py311-dj52-cms50-default.txt +++ b/tests/requirements/py311-dj52-cms50-default.txt @@ -24,20 +24,19 @@ django==5.2.8 # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.2.0 # via -r requirements.in diff --git a/tests/requirements/py311-dj52-cms50-versioning.txt b/tests/requirements/py311-dj52-cms50-versioning.txt index 5f6ddb1a..7dbb8900 100644 --- a/tests/requirements/py311-dj52-cms50-versioning.txt +++ b/tests/requirements/py311-dj52-cms50-versioning.txt @@ -24,20 +24,19 @@ django==5.2.8 # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.2.0 # via -r requirements.in diff --git a/tests/requirements/py313-dj52-cms50-default.txt b/tests/requirements/py313-dj52-cms50-default.txt index 726a31c3..8d75b846 100644 --- a/tests/requirements/py313-dj52-cms50-default.txt +++ b/tests/requirements/py313-dj52-cms50-default.txt @@ -24,20 +24,19 @@ django==5.2.8 # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.2.0 # via -r requirements.in diff --git a/tests/requirements/py313-dj52-cms50-versioning.txt b/tests/requirements/py313-dj52-cms50-versioning.txt index 726a31c3..8d75b846 100644 --- a/tests/requirements/py313-dj52-cms50-versioning.txt +++ b/tests/requirements/py313-dj52-cms50-versioning.txt @@ -24,20 +24,19 @@ django==5.2.8 # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.2.0 # via -r requirements.in diff --git a/tests/requirements/py313-dj60-cms50-default.txt b/tests/requirements/py313-dj60-cms50-default.txt index f5bf6779..d3304ee8 100644 --- a/tests/requirements/py313-dj60-cms50-default.txt +++ b/tests/requirements/py313-dj60-cms50-default.txt @@ -24,20 +24,19 @@ django==6.0b1 # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.3.0 # via -r requirements.in diff --git a/tests/requirements/py313-dj60-cms50-versioning.txt b/tests/requirements/py313-dj60-cms50-versioning.txt index f5bf6779..d3304ee8 100644 --- a/tests/requirements/py313-dj60-cms50-versioning.txt +++ b/tests/requirements/py313-dj60-cms50-versioning.txt @@ -24,20 +24,19 @@ django==6.0b1 # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.3.0 # via -r requirements.in diff --git a/tests/requirements/py313-djmain-cms50-default.txt b/tests/requirements/py313-djmain-cms50-default.txt index d7c14a80..806ae33b 100644 --- a/tests/requirements/py313-djmain-cms50-default.txt +++ b/tests/requirements/py313-djmain-cms50-default.txt @@ -24,20 +24,19 @@ django @ https://github.com/django/django/tarball/main # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.2.0 # via -r requirements.in diff --git a/tests/requirements/py313-djmain-cms50-versioning.txt b/tests/requirements/py313-djmain-cms50-versioning.txt index d7c14a80..806ae33b 100644 --- a/tests/requirements/py313-djmain-cms50-versioning.txt +++ b/tests/requirements/py313-djmain-cms50-versioning.txt @@ -24,20 +24,19 @@ django @ https://github.com/django/django/tarball/main # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.2.0 # via -r requirements.in diff --git a/tests/requirements/py313-djmain-cmsdev-default.txt b/tests/requirements/py313-djmain-cmsdev-default.txt index 3bdd61c7..8a6b0c3c 100644 --- a/tests/requirements/py313-djmain-cmsdev-default.txt +++ b/tests/requirements/py313-djmain-cmsdev-default.txt @@ -23,7 +23,6 @@ django @ https://github.com/django/django/tarball/main # django-parler # django-sekizai # django-treebeard - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in @@ -33,10 +32,10 @@ django-cms @ https://github.com/django-cms/django-cms/tarball/main # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -45,7 +44,7 @@ django-sekizai==4.1.0 # django-cms django-treebeard==4.7.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.2.0 # via -r requirements.in diff --git a/tests/requirements/py313-djmain-cmsdev-versioning.txt b/tests/requirements/py313-djmain-cmsdev-versioning.txt index 3bdd61c7..8a6b0c3c 100644 --- a/tests/requirements/py313-djmain-cmsdev-versioning.txt +++ b/tests/requirements/py313-djmain-cmsdev-versioning.txt @@ -23,7 +23,6 @@ django @ https://github.com/django/django/tarball/main # django-parler # django-sekizai # django-treebeard - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in @@ -33,10 +32,10 @@ django-cms @ https://github.com/django-cms/django-cms/tarball/main # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -45,7 +44,7 @@ django-sekizai==4.1.0 # django-cms django-treebeard==4.7.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.2.0 # via -r requirements.in diff --git a/tests/requirements/py314-dj52-cms50-default.txt b/tests/requirements/py314-dj52-cms50-default.txt index f3979334..9fd3801d 100644 --- a/tests/requirements/py314-dj52-cms50-default.txt +++ b/tests/requirements/py314-dj52-cms50-default.txt @@ -24,20 +24,19 @@ django==5.2.8 # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.3.0 # via -r requirements.in diff --git a/tests/requirements/py314-dj52-cms50-versioning.txt b/tests/requirements/py314-dj52-cms50-versioning.txt index f3979334..9fd3801d 100644 --- a/tests/requirements/py314-dj52-cms50-versioning.txt +++ b/tests/requirements/py314-dj52-cms50-versioning.txt @@ -24,20 +24,19 @@ django==5.2.8 # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.3.0 # via -r requirements.in diff --git a/tests/requirements/py314-dj60-cms50-default.txt b/tests/requirements/py314-dj60-cms50-default.txt index 6b22db42..0836361d 100644 --- a/tests/requirements/py314-dj60-cms50-default.txt +++ b/tests/requirements/py314-dj60-cms50-default.txt @@ -24,20 +24,19 @@ django==6.0b1 # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.3.0 # via -r requirements.in diff --git a/tests/requirements/py314-dj60-cms50-versioning.txt b/tests/requirements/py314-dj60-cms50-versioning.txt index 6b22db42..0836361d 100644 --- a/tests/requirements/py314-dj60-cms50-versioning.txt +++ b/tests/requirements/py314-dj60-cms50-versioning.txt @@ -24,20 +24,19 @@ django==6.0b1 # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.3.0 # via -r requirements.in diff --git a/tests/requirements/py314-djmain-cms50-default.txt b/tests/requirements/py314-djmain-cms50-default.txt index 75c6b068..a21666dc 100644 --- a/tests/requirements/py314-djmain-cms50-default.txt +++ b/tests/requirements/py314-djmain-cms50-default.txt @@ -24,20 +24,19 @@ django @ https://github.com/django/django/tarball/main # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.3.0 # via -r requirements.in diff --git a/tests/requirements/py314-djmain-cms50-versioning.txt b/tests/requirements/py314-djmain-cms50-versioning.txt index 75c6b068..a21666dc 100644 --- a/tests/requirements/py314-djmain-cms50-versioning.txt +++ b/tests/requirements/py314-djmain-cms50-versioning.txt @@ -24,20 +24,19 @@ django @ https://github.com/django/django/tarball/main # django-sekizai # django-treebeard # djangocms-admin-style - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in # django-cms # django-sekizai -django-cms==5.0.4 +django-cms==5.0.5 # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -48,7 +47,7 @@ django-treebeard==4.7.1 # via django-cms djangocms-admin-style==3.3.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.3.0 # via -r requirements.in diff --git a/tests/requirements/py314-djmain-cmsdev-default.txt b/tests/requirements/py314-djmain-cmsdev-default.txt index 19e26e4b..ff727b9c 100644 --- a/tests/requirements/py314-djmain-cmsdev-default.txt +++ b/tests/requirements/py314-djmain-cmsdev-default.txt @@ -23,7 +23,6 @@ django @ https://github.com/django/django/tarball/main # django-parler # django-sekizai # django-treebeard - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in @@ -33,10 +32,10 @@ django-cms @ https://github.com/django-cms/django-cms/tarball/main # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -45,7 +44,7 @@ django-sekizai==4.1.0 # django-cms django-treebeard==4.7.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.3.0 # via -r requirements.in diff --git a/tests/requirements/py314-djmain-cmsdev-versioning.txt b/tests/requirements/py314-djmain-cmsdev-versioning.txt index 19e26e4b..ff727b9c 100644 --- a/tests/requirements/py314-djmain-cmsdev-versioning.txt +++ b/tests/requirements/py314-djmain-cmsdev-versioning.txt @@ -23,7 +23,6 @@ django @ https://github.com/django/django/tarball/main # django-parler # django-sekizai # django-treebeard - # djangocms-versioning django-classy-tags==4.1.0 # via # -r requirements.in @@ -33,10 +32,10 @@ django-cms @ https://github.com/django-cms/django-cms/tarball/main # via djangocms-versioning django-formtools==2.5.1 # via django-cms -django-fsm==2.8.2 - # via djangocms-versioning django-fsm-2==4.1.0 - # via -r requirements.in + # via + # -r requirements.in + # djangocms-versioning django-parler==2.3 # via -r requirements.in django-sekizai==4.1.0 @@ -45,7 +44,7 @@ django-sekizai==4.1.0 # django-cms django-treebeard==4.7.1 # via django-cms -djangocms-versioning==2.4.0 +djangocms-versioning==2.5.0 # via -r requirements.in flake8==7.3.0 # via -r requirements.in diff --git a/tests/requirements/requirements.in b/tests/requirements/requirements.in index a1c75ce9..1706622b 100644 --- a/tests/requirements/requirements.in +++ b/tests/requirements/requirements.in @@ -10,4 +10,4 @@ flake8 isort pyflakes>=2.1.1 -djangocms-versioning>=2.4 +djangocms-versioning>=2.5.0 From ddf2c1e499939e45b6e77961af423f15a8007040 Mon Sep 17 00:00:00 2001 From: Vinit Kumar Date: Wed, 19 Nov 2025 16:03:19 +0530 Subject: [PATCH 7/8] fix: some more merge conflicts --- tests/requirements/py312-dj60-cms50-default.txt | 6 ------ tests/requirements/py312-dj60-cms50-versioning.txt | 6 ------ tests/requirements/py313-dj60-cms50-default.txt | 6 ------ tests/requirements/py313-dj60-cms50-versioning.txt | 6 ------ 4 files changed, 24 deletions(-) diff --git a/tests/requirements/py312-dj60-cms50-default.txt b/tests/requirements/py312-dj60-cms50-default.txt index eac12d22..48b2f6a0 100644 --- a/tests/requirements/py312-dj60-cms50-default.txt +++ b/tests/requirements/py312-dj60-cms50-default.txt @@ -14,13 +14,7 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -<<<<<<< HEAD django==6.0b1 -||||||| fb4be63 -django==5.2.7 -======= -django==5.2.8 ->>>>>>> master # via # django-classy-tags # django-cms diff --git a/tests/requirements/py312-dj60-cms50-versioning.txt b/tests/requirements/py312-dj60-cms50-versioning.txt index eac12d22..48b2f6a0 100644 --- a/tests/requirements/py312-dj60-cms50-versioning.txt +++ b/tests/requirements/py312-dj60-cms50-versioning.txt @@ -14,13 +14,7 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -<<<<<<< HEAD django==6.0b1 -||||||| fb4be63 -django==5.2.7 -======= -django==5.2.8 ->>>>>>> master # via # django-classy-tags # django-cms diff --git a/tests/requirements/py313-dj60-cms50-default.txt b/tests/requirements/py313-dj60-cms50-default.txt index 09a51a96..d3304ee8 100644 --- a/tests/requirements/py313-dj60-cms50-default.txt +++ b/tests/requirements/py313-dj60-cms50-default.txt @@ -14,13 +14,7 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -<<<<<<< HEAD django==6.0b1 -||||||| fb4be63 -django==5.2.7 -======= -django==5.2.8 ->>>>>>> master # via # django-classy-tags # django-cms diff --git a/tests/requirements/py313-dj60-cms50-versioning.txt b/tests/requirements/py313-dj60-cms50-versioning.txt index 09a51a96..d3304ee8 100644 --- a/tests/requirements/py313-dj60-cms50-versioning.txt +++ b/tests/requirements/py313-dj60-cms50-versioning.txt @@ -14,13 +14,7 @@ coverage[toml]==7.10.6 # via # -r requirements.in # pytest-cov -<<<<<<< HEAD django==6.0b1 -||||||| fb4be63 -django==5.2.7 -======= -django==5.2.8 ->>>>>>> master # via # django-classy-tags # django-cms From 87e6a66092d3d35c25b5cb29bd0b38cb0c125719 Mon Sep 17 00:00:00 2001 From: Vinit Kumar Date: Wed, 26 Nov 2025 11:54:05 +0530 Subject: [PATCH 8/8] fix: filter Break objects and update expected language menu items Filter out Break objects when checking language menu items since they don't have a name attribute. Also update the expected result when versioning is enabled to include 'Add Translation' which is now part of the menu with the new django-fsm-2 and versioning integration. --- tests/test_toolbar.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/test_toolbar.py b/tests/test_toolbar.py index 4e50b3e9..11a62233 100644 --- a/tests/test_toolbar.py +++ b/tests/test_toolbar.py @@ -218,7 +218,7 @@ def test_language_switcher_when_toolbar_object_is_alias_content(self): ) language_menu = request.toolbar.get_menu(LANGUAGE_MENU_IDENTIFIER) - self.assertEqual([item.name for item in language_menu.items], expected_result) + self.assertEqual([item.name for item in language_menu.items if not isinstance(item, Break)], expected_result) def test_language_switcher_when_toolbar_object_isnt_alias_content(self): request = self.get_page_request( @@ -231,10 +231,10 @@ def test_language_switcher_when_toolbar_object_isnt_alias_content(self): # Versioning changes the toolbar language selector and only shows # languages that have translations if is_versioning_enabled(): - expected_result = ["English"] + expected_result = ["English", "Add Translation"] # Don't change default language switcher that is used for Pages - self.assertEqual([item.name for item in language_menu.items], expected_result) + self.assertEqual([item.name for item in language_menu.items if not isinstance(item, Break)], expected_result) def test_page_toolbar_no_language_menu(self): from django.utils.translation import gettext as _