From a9e31532543d616bad9081a58e52aca2becd9360 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Faruk=20Korkmaz?= Date: Mon, 29 Dec 2025 17:51:49 +0300 Subject: [PATCH 1/2] feat: add django 6.0 and python 3.14 support --- .github/workflows/release.yml | 2 +- .github/workflows/test.yml | 12 +++++++++--- docs/conf.py | 4 ++-- setup.py | 1 + tox.ini | 9 +++++++-- 5 files changed, 20 insertions(+), 8 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 3e019d52d..47a05235f 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: '3.10' + python-version: '3.12' - name: Install dependencies run: | diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9bc84d205..0529e6010 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -15,14 +15,20 @@ jobs: fail-fast: false max-parallel: 5 matrix: - python-version: ['3.10', '3.11', '3.12', '3.13'] - django-version: ['4.2', '5.0', '5.1', '5.2'] - drf-version: ['3.14', '3.15'] + python-version: ['3.10', '3.11', '3.12', '3.13', '3.14'] + django-version: ['4.2', '5.0', '5.1', '5.2', '6.0'] + drf-version: ['3.14', '3.15', '3.16'] exclude: - drf-version: '3.14' django-version: '5.0' - drf-version: '3.14' django-version: '5.1' + - python-version: '3.14' + django-version: '4.2' + - python-version: '3.14' + django-version: '5.0' + - python-version: '3.14' + django-version: '5.1' steps: - uses: actions/checkout@v5 diff --git a/docs/conf.py b/docs/conf.py index f8efc6b2f..ea281e3c6 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -14,7 +14,7 @@ # If extensions (or modules to document with autodoc) are in another directory, # add these directories to sys.path here. If the directory is relative to the # documentation root, use os.path.abspath to make it absolute, like shown here. -from pkg_resources import get_distribution +from importlib.metadata import version # -- General configuration ------------------------------------------------ @@ -80,7 +80,7 @@ def django_configure(): # built documents. # # The full version, including alpha/beta/rc tags. -release = get_distribution("djangorestframework_simplejwt").version +release = version("djangorestframework_simplejwt") # The short X.Y version. version = ".".join(release.split(".")[:2]) diff --git a/setup.py b/setup.py index 06532bb81..ed0183623 100755 --- a/setup.py +++ b/setup.py @@ -81,6 +81,7 @@ "Framework :: Django :: 5.0", "Framework :: Django :: 5.1", "Framework :: Django :: 5.2", + "Framework :: Django :: 6.0", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", diff --git a/tox.ini b/tox.ini index eff0e1d83..54450ba2c 100644 --- a/tox.ini +++ b/tox.ini @@ -2,8 +2,8 @@ envlist= py{310,311,312}-dj42-drf{314,315}-pyjwt{171,2}-tests py{310,311,312}-dj50-drf315-pyjwt{171,2}-tests - py{310,311,312,313}-dj51-drf315-pyjwt{171,2}-tests - py{311,312,313}-dj52-drf315-pyjwt{171,2}-tests + py{310,311,312,313}-dj51-drf{315,316}-pyjwt{171,2}-tests + py{311,312,313,314}-dj{52,60}-drf{315,316}-pyjwt{171,2}-tests docs [gh-actions] @@ -12,6 +12,7 @@ python= 3.11: py311 3.12: py312, docs 3.13: py313 + 3.14: py314 [gh-actions:env] DJANGO= @@ -19,9 +20,11 @@ DJANGO= 5.0: dj50 5.1: dj51 5.2: dj52 + 6.0: dj60 DRF= 3.14: drf314 3.15: drf315 + 3.16: drf316 [testenv] commands = pytest {posargs:tests} --cov-append --cov-report=xml --cov=rest_framework_simplejwt @@ -35,8 +38,10 @@ deps= dj50: Django>=5.0,<5.1 dj51: Django>=5.1,<5.2 dj52: Django>=5.2,<5.3 + dj60: Django>=6.0,<6.1 drf314: djangorestframework>=3.14,<3.15 drf315: djangorestframework>=3.15,<3.16 + drf316: djangorestframework>=3.16,<3.17 pyjwt171: pyjwt>=1.7.1,<1.8 pyjwt2: pyjwt>=2,<3 allowlist_externals=make From dc5bf49c44549b8dbfec9698284dfc148ba7c11d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=96mer=20Faruk=20Korkmaz?= Date: Mon, 19 Jan 2026 13:31:50 +0300 Subject: [PATCH 2/2] fix: solve version dependency --- .github/workflows/test.yml | 4 ++++ .pre-commit-config.yaml | 2 +- setup.py | 1 + tox.ini | 4 ++-- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 0529e6010..dda14e091 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -29,6 +29,10 @@ jobs: django-version: '5.0' - python-version: '3.14' django-version: '5.1' + - python-version: '3.11' + django-version: '6.0' + - python-version: '3.10' + django-version: '6.0' steps: - uses: actions/checkout@v5 diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index cdabffe1e..3ee9b9c3f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -48,7 +48,7 @@ repos: - id: detect-private-key exclude: ^tests/ - repo: https://github.com/asottile/pyupgrade - rev: 'v3.20.0' + rev: 'v3.21.2' hooks: - id: pyupgrade args: ['--py310-plus', '--keep-mock'] diff --git a/setup.py b/setup.py index ed0183623..7d320e01d 100755 --- a/setup.py +++ b/setup.py @@ -91,6 +91,7 @@ "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Topic :: Internet :: WWW/HTTP", ], ) diff --git a/tox.ini b/tox.ini index 54450ba2c..2012289c9 100644 --- a/tox.ini +++ b/tox.ini @@ -2,8 +2,8 @@ envlist= py{310,311,312}-dj42-drf{314,315}-pyjwt{171,2}-tests py{310,311,312}-dj50-drf315-pyjwt{171,2}-tests - py{310,311,312,313}-dj51-drf{315,316}-pyjwt{171,2}-tests - py{311,312,313,314}-dj{52,60}-drf{315,316}-pyjwt{171,2}-tests + py{310,311,312,313}-dj{51,52}-drf{315,316}-pyjwt{171,2}-tests + py314-dj{52,60}-drf{315,316}-pyjwt{171,2}-tests docs [gh-actions]