diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 1e90cc39..75f9413c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -21,7 +21,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v5 with: - python-version: 3.8 + python-version: 3.9 - name: Install dependencies run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7e6b4f77..8a704aa3 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -12,23 +12,21 @@ jobs: strategy: fail-fast: false matrix: - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.9', '3.10', '3.11', '3.12', '3.13'] django-version: ['4.2', '5.0', '5.1'] include: # Tox configuration for QA environment - - python-version: '3.12' + - python-version: '3.13' django-version: 'qa' # Django main - - python-version: '3.12' + - python-version: '3.13' django-version: 'main' experimental: true exclude: - - python-version: '3.8' - django-version: '5.0' - python-version: '3.9' django-version: '5.0' - - python-version: '3.8' - django-version: '5.1' + - python-version: '3.13' + django-version: '5.0' - python-version: '3.9' django-version: '5.1' diff --git a/CHANGES.rst b/CHANGES.rst index 3f5f23de..5d52b928 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -3,6 +3,15 @@ Changes ======= +7.0.1 (2024-12-02) +------------------ + +- Add Python 3.13 support. + [aleksihakli] +- Deprecate Python 3.8 support. + [aleksihakli] + + 7.0.0 (2024-10-02) ------------------ diff --git a/docs/1_requirements.rst b/docs/1_requirements.rst index d690cf4e..3c27b7b7 100644 --- a/docs/1_requirements.rst +++ b/docs/1_requirements.rst @@ -3,7 +3,7 @@ Requirements ============ -Axes requires a supported Django version and runs on Python versions 3.8 and above. +Axes requires a supported Django version and runs on Python versions 3.9 and above. Refer to the project source code repository in `GitHub `_ and see the diff --git a/mypy.ini b/mypy.ini index 7fa54009..29269c54 100644 --- a/mypy.ini +++ b/mypy.ini @@ -1,5 +1,5 @@ [mypy] -python_version = 3.8 +python_version = 3.9 ignore_missing_imports = True [mypy-axes.migrations.*] diff --git a/pyproject.toml b/pyproject.toml index 6a54e616..ccfe8b67 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,19 +10,19 @@ DJANGO_SETTINGS_MODULE = "tests.settings" legacy_tox_ini = """ [tox] envlist = - py{38,39,310,311,312}-dj42 + py{39,310,311,312}-dj42 py{310,311,312}-dj50 - py{310,311,312}-dj51 + py{310,311,312,313}-dj51 py311-djmain py311-djqa [gh-actions] python = - 3.8: py38 3.9: py39 3.10: py310 3.11: py311 3.12: py312 + 3.13: py313 [gh-actions:env] DJANGO = @@ -36,9 +36,9 @@ DJANGO = [testenv] deps = -r requirements-test.txt - dj32: django>=3.2,<3.3 dj42: django>=4.1,<4.2 dj50: django>=5.0,<5.1 + dj51: django>=5.1,<5.2 djmain: https://github.com/django/django/archive/main.tar.gz usedevelop = true commands = pytest @@ -51,10 +51,10 @@ ignore_errors = djmain: True # QA runs type checks, linting, and code formatting checks -[testenv:py312-djqa] +[testenv:py313-djqa] deps = -r requirements-qa.txt commands = mypy axes prospector - black -t py38 --check --diff axes + black -t py39 --check --diff axes """ diff --git a/setup.py b/setup.py index e3b40bef..903f9538 100644 --- a/setup.py +++ b/setup.py @@ -59,11 +59,11 @@ "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: Implementation :: CPython", "Topic :: Internet :: Log Analysis", "Topic :: Security",