Skip to content

Commit d50db90

Browse files
authored
Merge branch 'master' into django-upgrade
2 parents 66eb1ec + f24251e commit d50db90

File tree

11 files changed

+21
-30
lines changed

11 files changed

+21
-30
lines changed

.github/workflows/release.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ jobs:
7777
name: python-package-distributions
7878
path: dist/
7979
- name: Sign the dists with Sigstore
80-
uses: sigstore/gh-action-sigstore-python@v3.1.0
80+
uses: sigstore/gh-action-sigstore-python@v3.2.0
8181
with:
8282
inputs: >-
8383
./dist/*.tar.gz

.github/workflows/test.yml

Lines changed: 3 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -11,23 +11,12 @@ jobs:
1111
strategy:
1212
fail-fast: false
1313
matrix:
14-
python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', '3.14']
14+
python-version: ['3.10', '3.11', '3.12', '3.13', '3.14']
1515
django-version: ['4.2', '5.0', '5.1', '5.2', '6.0', 'main']
1616

1717
exclude:
18-
# Exclude py3.9 for Django >= 5.0,
19-
# and py3.10 and py3.11 for Django > 5.2
18+
# Exclude py3.10 and py3.11 for Django > 5.2
2019
# and py3.14 for Django < 5.2
21-
- python-version: '3.9'
22-
django-version: '5.0'
23-
- python-version: '3.9'
24-
django-version: '5.1'
25-
- python-version: '3.9'
26-
django-version: '5.2'
27-
- python-version: '3.9'
28-
django-version: '6.0'
29-
- python-version: '3.9'
30-
django-version: 'main'
3120
- python-version: '3.10'
3221
django-version: '6.0'
3322
- python-version: '3.10'
@@ -133,7 +122,7 @@ jobs:
133122
# Install this project in editable mode, so that its package metadata can be queried
134123
pip install --editable .
135124
# Install the latest minor version of Django we support
136-
pip install --pre "Django>=6.0a1"
125+
pip install "Django>=6.0,<6.1"
137126
138127
- name: Check translation files are updated
139128
run: python -m simple_history.tests.generated_file_checks.check_translations

.pre-commit-config.yaml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ repos:
1010
rev: 25.1.0
1111
hooks:
1212
- id: black
13-
language_version: python3.9
13+
language_version: python3.10
1414

1515
- repo: https://github.com/codespell-project/codespell
1616
rev: v2.4.1
@@ -66,7 +66,7 @@ repos:
6666
rev: v3.20.0
6767
hooks:
6868
- id: pyupgrade
69-
args: [--py39-plus]
69+
args: [--py310-plus]
7070

7171
- repo: https://github.com/adamchainz/django-upgrade
7272
rev: 1.29.1

AUTHORS.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ Authors
137137
- Tommy Beadle (`tbeadle <https://github.com/tbeadle>`_)
138138
- Trey Hunner (`treyhunner <https://github.com/treyhunner>`_)
139139
- Ulysses Vilela
140+
- Ülgen Sarıkavak (`ulgens <https://github.com/ulgens/>`_)
140141
- `vnagendra <https://github.com/vnagendra>`_
141142
- `yakimka <https://github.com/yakimka>`_
142143
- `Paulo Peres <https://github.com/PauloPeres>`_

CHANGES.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ Changes
44
Unreleased
55
----------
66

7-
- Added support for Python 3.14
8-
- Added support for Django 6.0
7+
- Added support for Python 3.14 (gh-1529)
8+
- Added support for Django 6.0 (gh-1529)
9+
- Dropped support for Python 3.9 (gh-1560)
910

1011
3.10.1 (2025-06-20)
1112
-------------------

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ This app supports the following combinations of Django and Python:
4141
========== ========================
4242
Django Python
4343
========== ========================
44-
4.2 3.9, 3.10, 3.11, 3.12, 3.13
44+
4.2 3.10, 3.11, 3.12, 3.13
4545
5.0 3.10, 3.11, 3.12, 3.13
4646
5.1 3.10, 3.11, 3.12, 3.13
4747
5.2 3.10, 3.11, 3.12, 3.13, 3.14

docs/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ This app supports the following combinations of Django and Python:
3737
========== =======================
3838
Django Python
3939
========== =======================
40-
4.2 3.9, 3.10, 3.11, 3.12, 3.13
40+
4.2 3.10, 3.11, 3.12, 3.13
4141
5.0 3.10, 3.11, 3.12, 3.13
4242
5.1 3.10, 3.11, 3.12, 3.13
4343
5.2 3.10, 3.11, 3.12, 3.13, 3.14

pyproject.toml

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ maintainers = [
1515
authors = [
1616
{ name = "Corey Bertram", email = "corey@qr7.com" },
1717
]
18-
requires-python = ">=3.9"
18+
requires-python = ">=3.10"
1919
classifiers = [
2020
"Development Status :: 5 - Production/Stable",
2121
"Environment :: Web Environment",
@@ -24,15 +24,16 @@ classifiers = [
2424
"Framework :: Django :: 5.0",
2525
"Framework :: Django :: 5.1",
2626
"Framework :: Django :: 5.2",
27+
"Framework :: Django :: 6.0",
2728
"Intended Audience :: Developers",
2829
"License :: OSI Approved :: BSD License",
2930
"Programming Language :: Python",
3031
"Programming Language :: Python :: 3 :: Only",
31-
"Programming Language :: Python :: 3.9",
3232
"Programming Language :: Python :: 3.10",
3333
"Programming Language :: Python :: 3.11",
3434
"Programming Language :: Python :: 3.12",
3535
"Programming Language :: Python :: 3.13",
36+
"Programming Language :: Python :: 3.14",
3637
]
3738
dynamic = [
3839
"readme",
@@ -79,12 +80,12 @@ fragments = [
7980
[tool.black]
8081
line-length = 88
8182
target-version = [
82-
"py39",
83+
"py310",
8384
]
8485

8586
[tool.isort]
8687
profile = "black"
87-
py_version = "39"
88+
py_version = "310"
8889

8990
[tool.codespell]
9091
skip = "AUTHORS.rst,*.po"

requirements/lint.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
black==25.11.0
1+
black==25.12.0
22
flake8==7.3.0
33
isort==7.0.0

simple_history/template_utils.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import dataclasses
22
from os.path import commonprefix
3-
from typing import Any, Final, Union
3+
from typing import Any, Final
44

55
from django.db.models import ManyToManyField, Model
66
from django.utils.html import conditional_escape
@@ -134,7 +134,7 @@ def stringify_delta_change_values(
134134
if all the passed elements are safe strings.
135135
"""
136136

137-
def stringify_value(value: Any) -> Union[str, SafeString]:
137+
def stringify_value(value: Any) -> str | SafeString:
138138
# If `value` is a list, stringify each element using `str()` instead of
139139
# `repr()` (the latter is the default when calling `list.__str__()`)
140140
if isinstance(value, list):

0 commit comments

Comments
 (0)