diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 099dbf94..0a30d368 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -28,7 +28,6 @@ jobs: # run static analysis on bleeding and trailing edges python-version: [ '3.9', '3.10', '3.13' ] django-version: - - '3.2' # LTS April 2024 - '4.2' # LTS April 2026 - '5.2' # December 2025 exclude: @@ -36,10 +35,6 @@ jobs: django-version: '4.2' - python-version: '3.13' django-version: '4.2' - - python-version: '3.13' - django-version: '3.2' - - python-version: '3.10' - django-version: '3.2' - python-version: '3.9' django-version: '5.2' - python-version: '3.10' diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 1f23d724..cccddf71 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -37,23 +37,14 @@ jobs: postgres-version: ['9.6', '12', 'latest'] psycopg-version: ['psycopg2', 'psycopg3'] django-version: - - '3.2' # LTS April 2024 - '4.2' # LTS April 2026 - '5.1' # December 2025 - '5.2' # LTS April 2028 exclude: - django-version: '4.2' postgres-version: '9.6' - - python-version: '3.11' - django-version: '3.2' - - python-version: '3.12' - django-version: '3.2' - postgres-version: '12' psycopg-version: 'psycopg3' - - django-version: '3.2' - psycopg-version: 'psycopg3' - - django-version: '3.2' - postgres-version: 'latest' - postgres-version: '12' django-version: '5.1' @@ -71,8 +62,6 @@ jobs: django-version: '5.1' - python-version: '3.9' django-version: '5.2' - - python-version: '3.13' - django-version: '3.2' - python-version: '3.13' django-version: '4.2' @@ -168,14 +157,11 @@ jobs: matrix: python-version: [ '3.9', '3.13'] django-version: - - '3.2' # LTS April 2024 - '4.2' # LTS April 2026 - '5.2' # LTS April 2028 exclude: - python-version: '3.9' django-version: '5.2' - - python-version: '3.13' - django-version: '3.2' steps: - uses: actions/checkout@v5 @@ -227,18 +213,12 @@ jobs: mysql-version: ['5.7', 'latest'] mysqlclient-version: ['1.4.3', ''] django-version: - - '3.2' # LTS April 2024 - '4.2' # LTS April 2026 - '5.2' # LTS April 2028 exclude: - - python-version: '3.13' - django-version: '3.2' - python-version: '3.9' django-version: '5.2' - - - django-version: '3.2' - mysql-version: 'latest' - django-version: '4.2' mysql-version: '5.7' - django-version: '5.2' @@ -337,17 +317,12 @@ jobs: mariadb-version: ['10.2', 'latest'] mariadb-healthcheck: ["mysqladmin ping", "healthcheck.sh --connect --innodb_initialized"] django-version: - - '3.2' # LTS April 2024 - '4.2' # LTS April 2026 - '5.2' # LTS April 2028 exclude: - - python-version: '3.13' - django-version: '3.2' - python-version: '3.9' django-version: '5.2' - - django-version: '3.2' - mariadb-version: 'latest' - django-version: '4.2' mariadb-version: '10.2' - django-version: '5.2' @@ -437,7 +412,6 @@ jobs: matrix: python-version: ['3.9', '3.10', '3.12'] django-version: - - '3.2' # LTS April 2024 - '4.2' # LTS April 2026 - '5.2' # LTS April 2028 oracle-version: @@ -448,10 +422,6 @@ jobs: django-version: '5.2' - python-version: '3.10' django-version: '5.2' - - python-version: '3.10' - django-version: '3.2' - - python-version: '3.12' - django-version: '3.2' - python-version: '3.12' django-version: '4.2' - python-version: '3.9' @@ -557,13 +527,10 @@ jobs: matrix: python-version: [ '3.9', '3.13'] django-version: - - '3.2' # LTS April 2024 - '5.2' # LTS April 2028 exclude: - python-version: '3.9' django-version: '5.2' - - python-version: '3.13' - django-version: '3.2' steps: - uses: actions/checkout@v5 @@ -618,13 +585,10 @@ jobs: matrix: python-version: [ '3.9', '3.13'] django-version: - - '3.2' # LTS April 2024 - '5.2' # LTS April 2028 exclude: - python-version: '3.9' django-version: '5.2' - - python-version: '3.13' - django-version: '3.2' steps: - uses: actions/checkout@v5 diff --git a/docs/changelog.rst b/docs/changelog.rst index 63caa383..40263bbf 100644 --- a/docs/changelog.rst +++ b/docs/changelog.rst @@ -6,6 +6,8 @@ v4.2.0 (2025-XX-XX) * `Modernized package management with new build, test, docs tooling and improved CI `_. +* Drop support for Django versions past EOL. Django 4.2 or newer is now + required. v4.1.0 (2025-05-20) ------------------- diff --git a/pyproject.toml b/pyproject.toml index 7c23b8d8..0396cb18 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,11 +27,7 @@ classifiers = [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", - "Framework :: Django :: 3.2", - "Framework :: Django :: 4.0", - "Framework :: Django :: 4.1", "Framework :: Django :: 4.2", - "Framework :: Django :: 5.0", "Framework :: Django :: 5.1", "Framework :: Django :: 5.2", "Intended Audience :: Developers", @@ -52,7 +48,7 @@ classifiers = [ "Topic :: Software Development :: Libraries :: Python Modules" ] dependencies = [ - "Django >= 3.2", + "Django >= 4.2", ] [project.urls] diff --git a/src/polymorphic/tests/__init__.py b/src/polymorphic/tests/__init__.py index 3d112022..e69de29b 100644 --- a/src/polymorphic/tests/__init__.py +++ b/src/polymorphic/tests/__init__.py @@ -1,6 +0,0 @@ -import django - -if django.VERSION < (4, 2): # TODO: remove when dropping support for Django < 4.2 - from django.test.testcases import TransactionTestCase - - TransactionTestCase.assertQuerySetEqual = TransactionTestCase.assertQuerysetEqual diff --git a/tox.ini b/tox.ini index 19c0933e..d4747d9a 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,5 @@ [tox] envlist = - py{39,310}-django{32} - py{39,310}-django{40} - py{39,310,311}-django{41} py{39,310,311,312}-django{42} py{310,311,312}-django{50} py{310,311,312,313}-django{51} @@ -20,9 +17,6 @@ deps = pytest-cov pytest-django dj-database-url - django32: Django ~= 3.2 - django40: Django ~= 4.0 - django41: Django ~= 4.1 django42: Django ~= 4.2 django50: Django ~= 5.0 django51: Django ~= 5.1