1
0
mirror of https://github.com/django/django.git synced 2025-10-18 19:29:13 +00:00

Refs #35844 -- Doc'd Python 3.14 compatibility.

This commit is contained in:
Mariusz Felisiak 2025-10-13 16:34:26 +02:00
parent 2d9c194d5a
commit 56977b466c
17 changed files with 31 additions and 27 deletions

View File

@ -29,7 +29,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
cache: 'pip' cache: 'pip'
cache-dependency-path: 'docs/requirements.txt' cache-dependency-path: 'docs/requirements.txt'
- run: python -m pip install -r docs/requirements.txt - run: python -m pip install -r docs/requirements.txt
@ -47,7 +47,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
- run: python -m pip install blacken-docs - run: python -m pip install blacken-docs
- name: Build docs - name: Build docs
run: | run: |
@ -68,7 +68,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
- run: python -m pip install sphinx-lint - run: python -m pip install sphinx-lint
- name: Build docs - name: Build docs
run: | run: |

View File

@ -27,7 +27,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
- run: python -m pip install flake8 - run: python -m pip install flake8
- name: flake8 - name: flake8
# Pinned to v3.0.0. # Pinned to v3.0.0.
@ -44,7 +44,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
- run: python -m pip install isort - run: python -m pip install isort
- name: isort - name: isort
# Pinned to v3.0.0. # Pinned to v3.0.0.

View File

@ -42,7 +42,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
cache: 'pip' cache: 'pip'
cache-dependency-path: 'tests/requirements/py3.txt' cache-dependency-path: 'tests/requirements/py3.txt'
- name: Update apt repo - name: Update apt repo

View File

@ -18,7 +18,7 @@ jobs:
python-version: python-version:
- '3.12' - '3.12'
- '3.13' - '3.13'
- '3.14-dev' - '3.14'
name: Windows, SQLite, Python ${{ matrix.python-version }} name: Windows, SQLite, Python ${{ matrix.python-version }}
continue-on-error: true continue-on-error: true
steps: steps:
@ -45,7 +45,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
cache: 'pip' cache: 'pip'
- name: Install libmemcached-dev for pylibmc - name: Install libmemcached-dev for pylibmc
run: sudo apt-get install libmemcached-dev run: sudo apt-get install libmemcached-dev
@ -86,7 +86,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
cache: 'pip' cache: 'pip'
cache-dependency-path: 'tests/requirements/py3.txt' cache-dependency-path: 'tests/requirements/py3.txt'
- name: Install libmemcached-dev for pylibmc - name: Install libmemcached-dev for pylibmc
@ -122,7 +122,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
cache: 'pip' cache: 'pip'
cache-dependency-path: 'tests/requirements/py3.txt' cache-dependency-path: 'tests/requirements/py3.txt'
- name: Install libmemcached-dev for pylibmc - name: Install libmemcached-dev for pylibmc
@ -167,7 +167,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
cache: 'pip' cache: 'pip'
cache-dependency-path: 'tests/requirements/py3.txt' cache-dependency-path: 'tests/requirements/py3.txt'
- name: Install libmemcached-dev for pylibmc - name: Install libmemcached-dev for pylibmc

View File

@ -24,7 +24,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
cache: 'pip' cache: 'pip'
cache-dependency-path: 'tests/requirements/py3.txt' cache-dependency-path: 'tests/requirements/py3.txt'
- name: Install and upgrade packaging tools - name: Install and upgrade packaging tools

View File

@ -24,7 +24,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
cache: 'pip' cache: 'pip'
cache-dependency-path: 'tests/requirements/py3.txt' cache-dependency-path: 'tests/requirements/py3.txt'
- name: Install libmemcached-dev for pylibmc - name: Install libmemcached-dev for pylibmc
@ -61,7 +61,7 @@ jobs:
- name: Set up Python - name: Set up Python
uses: actions/setup-python@v6 uses: actions/setup-python@v6
with: with:
python-version: '3.13' python-version: '3.14'
cache: 'pip' cache: 'pip'
cache-dependency-path: 'tests/requirements/py3.txt' cache-dependency-path: 'tests/requirements/py3.txt'
- name: Install libmemcached-dev for pylibmc - name: Install libmemcached-dev for pylibmc

View File

@ -23,7 +23,7 @@ jobs:
strategy: strategy:
matrix: matrix:
python-version: python-version:
- '3.13' - '3.14'
name: Windows, SQLite, Python ${{ matrix.python-version }} name: Windows, SQLite, Python ${{ matrix.python-version }}
steps: steps:
- name: Checkout - name: Checkout

View File

@ -53,8 +53,8 @@ Django version Python versions
4.2 3.8, 3.9, 3.10, 3.11, 3.12 (added in 4.2.8) 4.2 3.8, 3.9, 3.10, 3.11, 3.12 (added in 4.2.8)
5.0 3.10, 3.11, 3.12 5.0 3.10, 3.11, 3.12
5.1 3.10, 3.11, 3.12, 3.13 (added in 5.1.3) 5.1 3.10, 3.11, 3.12, 3.13 (added in 5.1.3)
5.2 3.10, 3.11, 3.12, 3.13 5.2 3.10, 3.11, 3.12, 3.13, 3.14 (added in 5.2.8)
6.0 3.12, 3.13 6.0 3.12, 3.13, 3.14
6.1 3.12, 3.13, 3.14 6.1 3.12, 3.13, 3.14
============== =============== ============== ===============

View File

@ -2,7 +2,7 @@
How to install Django on Windows How to install Django on Windows
================================ ================================
This document will guide you through installing Python 3.13 and Django on This document will guide you through installing Python 3.14 and Django on
Windows. It also provides instructions for setting up a virtual environment, Windows. It also provides instructions for setting up a virtual environment,
which makes it easier to work on Python projects. This is meant as a beginner's which makes it easier to work on Python projects. This is meant as a beginner's
guide for users working on Django projects and does not reflect how Django guide for users working on Django projects and does not reflect how Django
@ -18,7 +18,7 @@ Install Python
============== ==============
Django is a Python web framework, thus requiring Python to be installed on your Django is a Python web framework, thus requiring Python to be installed on your
machine. At the time of writing, Python 3.13 is the latest version. machine. At the time of writing, Python 3.14 is the latest version.
To install Python on your machine go to https://www.python.org/downloads/. The To install Python on your machine go to https://www.python.org/downloads/. The
website should offer you a download button for the latest Python version. website should offer you a download button for the latest Python version.

View File

@ -235,6 +235,7 @@ this. For a small app like polls, this process isn't too difficult.
"Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
] ]

View File

@ -4,7 +4,8 @@ Django 5.2.8 release notes
*Expected November 5, 2025* *Expected November 5, 2025*
Django 5.2.8 fixes several bugs in 5.2.7. Django 5.2.8 fixes several bugs in 5.2.7 and adds compatibility with Python
3.14.
Bugfixes Bugfixes
======== ========

View File

@ -23,8 +23,9 @@ end in April 2026.
Python compatibility Python compatibility
==================== ====================
Django 5.2 supports Python 3.10, 3.11, 3.12, and 3.13. We **highly recommend** Django 5.2 supports Python 3.10, 3.11, 3.12, 3.13, and 3.14 (as of 5.2.8). We
and only officially support the latest release of each series. **highly recommend** and only officially support the latest release of each
series.
.. _whats-new-5.2: .. _whats-new-5.2:

View File

@ -18,8 +18,8 @@ project.
Python compatibility Python compatibility
==================== ====================
Django 6.0 supports Python 3.12 and 3.13. We **highly recommend**, and only Django 6.0 supports Python 3.12, 3.13, and 3.14. We **highly recommend**, and
officially support, the latest release of each series. only officially support, the latest release of each series.
The Django 5.2.x series is the last to support Python 3.10 and 3.11. The Django 5.2.x series is the last to support Python 3.10 and 3.11.

View File

@ -29,6 +29,7 @@ classifiers = [
"Programming Language :: Python :: 3 :: Only", "Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP",
"Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Internet :: WWW/HTTP :: Dynamic Content",
"Topic :: Internet :: WWW/HTTP :: WSGI", "Topic :: Internet :: WWW/HTTP :: WSGI",

View File

@ -258,7 +258,7 @@ class MailTests(MailTestsMixin, SimpleTestCase):
`surrogateescape`. `surrogateescape`.
Following https://github.com/python/cpython/issues/76511, newer Following https://github.com/python/cpython/issues/76511, newer
versions of Python (3.12.3 and 3.13) ensure that a message's versions of Python (3.12.3 and 3.13+) ensure that a message's
payload is encoded with the provided charset and `surrogateescape` is payload is encoded with the provided charset and `surrogateescape` is
used as the error handling strategy. used as the error handling strategy.

View File

@ -7,7 +7,7 @@ docutils >= 0.19
geoip2 >= 4.8.0 geoip2 >= 4.8.0
jinja2 >= 2.11.0 jinja2 >= 2.11.0
numpy >= 1.26.0 numpy >= 1.26.0
Pillow >= 10.1.0; sys.platform != 'win32' or python_version < '3.14' Pillow >= 10.1.0
# pylibmc/libmemcached can't be built on Windows. # pylibmc/libmemcached can't be built on Windows.
pylibmc; sys_platform != 'win32' pylibmc; sys_platform != 'win32'
pymemcache >= 3.4.0 pymemcache >= 3.4.0

View File

@ -27,7 +27,7 @@ setenv =
PYTHONDONTWRITEBYTECODE=1 PYTHONDONTWRITEBYTECODE=1
deps = deps =
-e . -e .
py{3,312,313}: -rtests/requirements/py3.txt py{3,312,313,314}: -rtests/requirements/py3.txt
postgres: -rtests/requirements/postgres.txt postgres: -rtests/requirements/postgres.txt
mysql: -rtests/requirements/mysql.txt mysql: -rtests/requirements/mysql.txt
oracle: -rtests/requirements/oracle.txt oracle: -rtests/requirements/oracle.txt