Skip to content

Commit

Permalink
add support for Python 3.13, announce deprecation for Django 5.0
Browse files Browse the repository at this point in the history
  • Loading branch information
mathiasertl committed Dec 1, 2024
1 parent 471ccaa commit 9232679
Show file tree
Hide file tree
Showing 10 changed files with 28 additions and 14 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Setup Python
uses: actions/[email protected]
with:
python-version: "3.12"
python-version: "3.13"
architecture: x64

- name: Apply caching of dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/faketime.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Setup Python
uses: actions/[email protected]
with:
python-version: "3.12"
python-version: "3.13"
architecture: x64

- name: Apply caching of dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
- name: Setup Python
uses: actions/[email protected]
with:
python-version: "3.12"
python-version: "3.13"
architecture: x64

- name: Apply caching of dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ jobs:
- name: Setup Python
uses: actions/[email protected]
with:
python-version: "3.12"
python-version: "3.13"
architecture: x64

- name: Apply caching of dependencies
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
matrix:
os: [ ubuntu-latest ]
python-version: [ "3.9", "3.10", "3.11", "3.12" ]
python-version: [ "3.9", "3.10", "3.11", "3.12", "3.13" ]
django-version: [ "4.2.0", "5.0.0", "5.1.0" ]
cryptography-version: [ "43.0", "44.0" ]
pydantic-version: [ "2.9.0", "2.10.0" ]
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# syntax = docker/dockerfile:1.10.0
# https://hub.docker.com/r/docker/dockerfile
# https://docs.docker.com/build/dockerfile/release-notes/
ARG IMAGE=python:3.12-alpine3.20
ARG IMAGE=python:3.13-alpine3.20

FROM $IMAGE as base
WORKDIR /usr/src/django-ca
Expand Down
10 changes: 9 additions & 1 deletion docs/source/changelog/TBR_2.1.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Settings
Dependencies
************

* Add support for ``cryptography~=44.0`` and ``pydantic~=2.10.0``.
* Add support for Python 3.13, ``cryptography~=44.0`` and ``pydantic~=2.10.0``.
* **BACKWARDS INCOMPATIBLE:** Dropped support for ``pydantic~=2.7.0``, ``pydantic~=2.8.0``,
``cryptography~=42.0`` and ``acme~=2.10.0``.

Expand Down Expand Up @@ -83,3 +83,11 @@ Views
* The `scope` parameter is deprecated and will be removed in django-ca 2.3.0. Use `only_contains_ca_certs`
and `only_contains_user_certs` instead.
* The `include_issuing_distribution_point` no longer has any effect and will be removed in django-ca 2.3.0.

*******************
Deprecation notices
*******************

Please also see the :ref:`deprecation timeline </deprecation>` for previous deprecation notices.

* This will be the last release to support ``django~=5.0.0``.
5 changes: 5 additions & 0 deletions docs/source/deprecation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@ Python API

* ``django_ca.utils.get_storage()`` will be removed (deprecated since 2.0).

Dependencies
============

* Support ``django~=5.0.0`` will be dropped.

***********
2.1.0 (TBR)
***********
Expand Down
3 changes: 2 additions & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ build-backend = "setuptools.build_meta"

[django-ca.release]
# https://devguide.python.org/versions/#versions
python = ["3.9", "3.10", "3.11", "3.12"]
python = ["3.9", "3.10", "3.11", "3.12", "3.13"]
# https://www.djangoproject.com/download/
django = ["4.2", "5.0", "5.1"]
cryptography = ["43", "44"]
Expand Down Expand Up @@ -96,6 +96,7 @@ classifiers = [
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3 :: Only",
"Topic :: Security :: Cryptography",
"Topic :: Security",
Expand Down
12 changes: 6 additions & 6 deletions tox.ini
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[tox]
envlist = pylint,docs,lint,mypy,demo,dist-test
py{310,311,312}-dj{5.0,5.1}-cg{43,44}-acme{2.11}-pydantic{2.9,2.10}
py{39,310,311,312}-dj{4.2}-cg{43,44}-acme{2.11}-pydantic{2.9,2.10}
py{310,311,312,313}-dj{5.0,5.1}-cg{43,44}-acme{2.11}-pydantic{2.9,2.10}
py{39,310,311,312,313}-dj{4.2}-cg{43,44}-acme{2.11}-pydantic{2.9,2.10}
faketime

[testenv]
Expand Down Expand Up @@ -34,7 +34,7 @@ commands =
faketime -f "+100y" pytest -v --no-selenium --basetemp="{env_tmp_dir}" --cov-report html:{envdir}/htmlcov/ --durations=20 {posargs}

[testenv:demo]
basepython = python3
basepython = python3.13
skipsdist = True
deps =
-r requirements.txt
Expand All @@ -45,7 +45,7 @@ commands =
python dev.py init-demo

[testenv:lint]
basepython = python3
basepython = python3.13
skipsdist = True
deps =
-r requirements.txt
Expand All @@ -65,7 +65,7 @@ commands =
pylint ca/ca/ ca/django_ca/ docs/source/django_ca_sphinx/ devscripts/ dev.py

[testenv:docs]
basepython = python3.12
basepython = python3.13
skipsdist = True
allowlist_externals = make
deps =
Expand All @@ -76,7 +76,7 @@ commands =
make -C docs clean spelling html

[testenv:mypy]
basepython = python3
basepython = python3.13
skipsdist = True
deps =
-r requirements.txt
Expand Down

0 comments on commit 9232679

Please sign in to comment.