From 3ce2070aa5af1bd663256aae077919063aa7155e Mon Sep 17 00:00:00 2001 From: Alex Tomkins Date: Thu, 26 Mar 2026 19:52:26 +0000 Subject: [PATCH 1/6] Update copyright year --- LICENSE | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE b/LICENSE index 9bf8359..b3710da 100644 --- a/LICENSE +++ b/LICENSE @@ -1,4 +1,4 @@ -Copyright (c) 2018-2024, Developer Society Limited +Copyright (c) 2018-2026, Developer Society Limited All rights reserved. Redistribution and use in source and binary forms, with or without From f0df27882b4e5a5819361c571c0bffac60555c37 Mon Sep 17 00:00:00 2001 From: Alex Tomkins Date: Thu, 26 Mar 2026 19:55:22 +0000 Subject: [PATCH 2/6] Tighten Actions permissions --- .github/workflows/ci.yml | 2 ++ .github/workflows/publish.yml | 3 +++ 2 files changed, 5 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index be659df..1b4ef55 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -3,6 +3,8 @@ on: pull_request concurrency: group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} cancel-in-progress: true +permissions: + contents: read jobs: matrix: name: Build test matrix diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 2890aab..a097be8 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -5,6 +5,9 @@ on: tags: - "*" +permissions: + contents: read + jobs: build: name: Build packages From 59fdc307dcb5fc35a214698516459f4d23f32288 Mon Sep 17 00:00:00 2001 From: Alex Tomkins Date: Thu, 26 Mar 2026 19:55:47 +0000 Subject: [PATCH 3/6] Drop additional signing of GitHub releases --- .github/workflows/publish.yml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index a097be8..10b8b7b 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -72,12 +72,6 @@ jobs: with: name: python-package-distributions path: dist/ - - name: Sign packages - uses: sigstore/gh-action-sigstore-python@v3.0.0 - with: - inputs: >- - ./dist/*.tar.gz - ./dist/*.whl - name: Create GitHub Release env: GH_TOKEN: ${{ github.token }} From 44bf74252c4295d4d167a087bbb7423fd0058ff4 Mon Sep 17 00:00:00 2001 From: Alex Tomkins Date: Thu, 26 Mar 2026 19:57:15 +0000 Subject: [PATCH 4/6] Upgrade Actions --- .github/workflows/ci.yml | 16 ++++++++-------- .github/workflows/publish.yml | 10 +++++----- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1b4ef55..b03ced1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -11,12 +11,12 @@ jobs: runs-on: ubuntu-24.04 steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: persist-credentials: false ref: ${{ github.event.pull_request.head.sha }} - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: "3.13" cache: "pip" @@ -39,12 +39,12 @@ jobs: fail-fast: false steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: persist-credentials: false ref: ${{ github.event.pull_request.head.sha }} - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python }} cache: "pip" @@ -54,7 +54,7 @@ jobs: pip install $(grep -E "^(tox|tox-uv)==" requirements/local.txt) tox -e ${{ matrix.tox_env }} - name: Upload coverage data - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: coverage-data-${{ matrix.tox_env }} include-hidden-files: true @@ -68,17 +68,17 @@ jobs: if: always() steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: persist-credentials: false ref: ${{ github.event.pull_request.head.sha }} - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: "3.13" cache: "pip" cache-dependency-path: "requirements/*.txt" - - uses: actions/download-artifact@v4 + - uses: actions/download-artifact@v8 with: pattern: coverage-data-* merge-multiple: true diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 10b8b7b..cdb2701 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -16,11 +16,11 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 + uses: actions/checkout@v6 with: persist-credentials: false - name: Setup Python - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: "3.13" - name: Build packages @@ -28,7 +28,7 @@ jobs: pip install -r requirements/testing.txt make package - name: Upload packages - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: python-package-distributions path: dist/ @@ -47,7 +47,7 @@ jobs: steps: - name: Download packages - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: python-package-distributions path: dist/ @@ -68,7 +68,7 @@ jobs: steps: - name: Download packages - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: python-package-distributions path: dist/ From 02eb33eed6e4803e660dd1eccbace78f5565a0a4 Mon Sep 17 00:00:00 2001 From: Alex Tomkins Date: Thu, 26 Mar 2026 19:59:02 +0000 Subject: [PATCH 5/6] Python package upgrades --- requirements/local.txt | 6 +++--- requirements/testing.txt | 10 +++++----- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/requirements/local.txt b/requirements/local.txt index 09a3b12..ab80b22 100644 --- a/requirements/local.txt +++ b/requirements/local.txt @@ -1,6 +1,6 @@ -r testing.txt -bump-my-version==0.29.0 +bump-my-version==1.3.0 Django>=4.2,<5.0 -tox==4.23.2 -tox-uv==1.16.2 +tox==4.50.3 +tox-uv==1.33.4 diff --git a/requirements/testing.txt b/requirements/testing.txt index b175fad..0679e5b 100644 --- a/requirements/testing.txt +++ b/requirements/testing.txt @@ -1,6 +1,6 @@ -build==1.2.2.post1 -check-wheel-contents==0.6.1 -coverage==7.6.9 -pipdeptree==2.24.0 +build==1.4.2 +check-wheel-contents==0.6.3 +coverage==7.13.5 +pipdeptree==2.34.0 ruff==0.8.4 -twine==6.0.1 +twine==6.2.0 From 970a526b30c7f6e70585a963178862b56fad21c4 Mon Sep 17 00:00:00 2001 From: Alex Tomkins Date: Thu, 26 Mar 2026 20:02:41 +0000 Subject: [PATCH 6/6] Drop Python 3.9 support --- findreplace/management/commands/findreplace.py | 2 +- pyproject.toml | 5 ++--- tox.ini | 6 +++--- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/findreplace/management/commands/findreplace.py b/findreplace/management/commands/findreplace.py index f91d1be..fd9b3b4 100644 --- a/findreplace/management/commands/findreplace.py +++ b/findreplace/management/commands/findreplace.py @@ -64,7 +64,7 @@ def get_fields(self): for app in apps.get_app_configs(): for model in app.get_models(): for field in model._meta.get_fields(): - if isinstance(field, (models.CharField, models.TextField)): + if isinstance(field, models.CharField | models.TextField): fields.append(field) return fields diff --git a/pyproject.toml b/pyproject.toml index 7bd2a88..a5f0012 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ version = '0.2' description = 'Django Find Replace' readme = 'README.md' maintainers = [{ name = 'The Developer Society', email = 'studio@dev.ngo' }] -requires-python = '>= 3.9' +requires-python = '>= 3.10' dependencies = [ 'Django>=3.2', ] @@ -14,7 +14,6 @@ classifiers = [ 'Operating System :: OS Independent', 'Programming Language :: Python', 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', 'Programming Language :: Python :: 3.11', 'Programming Language :: Python :: 3.12', @@ -38,7 +37,7 @@ include = ['findreplace*'] [tool.ruff] line-length = 99 -target-version = 'py39' +target-version = 'py310' [tool.ruff.lint] select = [ diff --git a/tox.ini b/tox.ini index 9fa1648..48d200a 100644 --- a/tox.ini +++ b/tox.ini @@ -1,9 +1,9 @@ [tox] -envlist = +env_list = check lint - py{39,310}-django3.2 - py{39,310,311,312}-django4.2 + py310-django3.2 + py{310,311,312}-django4.2 coverage no_package = true