From 89b4e50879e125b2ac5d133f625d26df59921aa3 Mon Sep 17 00:00:00 2001 From: Andrew Hosgood Date: Tue, 13 Oct 2026 09:36:05 +0100 Subject: [PATCH 01/10] Update Python to 3.15 --- CHANGELOG.md | 1 + docker/tna-python/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4139220..85f41ad 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Changed +- Updated Python to [3.15](https://peps.python.org/pep-0790/) - Updated djLint to [v1.46.4](https://github.com/djlint/djLint/releases/tag/v1.46.4) - Updated `@nationalarchives/eslint-config` and `@nationalarchives/stylelint-config` diff --git a/docker/tna-python/Dockerfile b/docker/tna-python/Dockerfile index 972bf22..f15efa2 100644 --- a/docker/tna-python/Dockerfile +++ b/docker/tna-python/Dockerfile @@ -1,6 +1,6 @@ # hadolint global ignore=DL3059 # DL3059 is only a suggestion -FROM python:3.14-slim-trixie +FROM python:3.15-slim-trixie # ========================================== # Label this container image with a semantic From 60a8b5a4790d6a2404d34928af7d72a904aca82f Mon Sep 17 00:00:00 2001 From: Andrew Hosgood Date: Tue, 13 Oct 2026 11:07:22 +0100 Subject: [PATCH 02/10] Update Dockerfile to install gcc for building packages --- CHANGELOG.md | 5 ++++- docker/tna-python/Dockerfile | 2 +- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 85f41ad..aa90181 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/nationalarchives/docker/compare/v1.22.0...HEAD) ### Added + +- Added `gcc=4:14.2.0-1` for building packages from source + ### Changed - Updated Python to [3.15](https://peps.python.org/pep-0790/) @@ -19,7 +22,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed ### Security -- Remove explicit install for `libc-bin=2.41-12+deb13u4` as this is now included upstream +- Remove explicit installs for `libc-bin=2.41-12+deb13u4` and `perl=5.40.1-6+deb13u1` as these are now included upstream ## [1.22.0](https://github.com/nationalarchives/docker/compare/v1.21.0...v1.22.0) - 2026-10-05 diff --git a/docker/tna-python/Dockerfile b/docker/tna-python/Dockerfile index f15efa2..06daa94 100644 --- a/docker/tna-python/Dockerfile +++ b/docker/tna-python/Dockerfile @@ -153,7 +153,7 @@ RUN set -eux; \ export DEBIAN_FRONTEND=noninteractive; \ apt-get update; \ apt-get -y upgrade; \ - apt-get install -y --no-install-recommends curl=8.14.1-2+deb13u5 perl=5.40.1-6+deb13u1; \ + apt-get install -y --no-install-recommends curl=8.14.1-2+deb13u5 gcc=4:14.2.0-1; \ apt-get clean; \ apt-get autoremove -y --purge; \ rm -rfv /var/lib/apt/lists/* From 23dad0613e6bf155418932769baab03b17f5fc0a Mon Sep 17 00:00:00 2001 From: Andrew Hosgood Date: Tue, 13 Oct 2026 11:12:34 +0100 Subject: [PATCH 03/10] Update Dockerfile to install cargo for building packages --- CHANGELOG.md | 2 +- docker/tna-python/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index aa90181..d186d2b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added -- Added `gcc=4:14.2.0-1` for building packages from source +- Added `cargo=1.85.1+dfsg1-1+deb13u1` for building packages from source ### Changed diff --git a/docker/tna-python/Dockerfile b/docker/tna-python/Dockerfile index 06daa94..ad7aa85 100644 --- a/docker/tna-python/Dockerfile +++ b/docker/tna-python/Dockerfile @@ -153,7 +153,7 @@ RUN set -eux; \ export DEBIAN_FRONTEND=noninteractive; \ apt-get update; \ apt-get -y upgrade; \ - apt-get install -y --no-install-recommends curl=8.14.1-2+deb13u5 gcc=4:14.2.0-1; \ + apt-get install -y --no-install-recommends curl=8.14.1-2+deb13u5 cargo=1.85.1+dfsg1-1+deb13u1; \ apt-get clean; \ apt-get autoremove -y --purge; \ rm -rfv /var/lib/apt/lists/* From 9611ee2a74322b7322f8fcc7d77ebfcc69500948 Mon Sep 17 00:00:00 2001 From: Andrew Hosgood Date: Tue, 13 Oct 2026 11:32:39 +0100 Subject: [PATCH 04/10] Update Rust temporarily for use by project dependencies --- CHANGELOG.md | 1 + docker/tna-python/Dockerfile | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d186d2b..b39fe84 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Updated Python to [3.15](https://peps.python.org/pep-0790/) - Updated djLint to [v1.46.4](https://github.com/djlint/djLint/releases/tag/v1.46.4) - Updated `@nationalarchives/eslint-config` and `@nationalarchives/stylelint-config` +- Manually install Rust past `1.88` while Debian is still using `1.85.1` so that some project dependencies still build ### Deprecated ### Removed diff --git a/docker/tna-python/Dockerfile b/docker/tna-python/Dockerfile index ad7aa85..771516a 100644 --- a/docker/tna-python/Dockerfile +++ b/docker/tna-python/Dockerfile @@ -153,11 +153,24 @@ RUN set -eux; \ export DEBIAN_FRONTEND=noninteractive; \ apt-get update; \ apt-get -y upgrade; \ - apt-get install -y --no-install-recommends curl=8.14.1-2+deb13u5 cargo=1.85.1+dfsg1-1+deb13u1; \ + apt-get install -y --no-install-recommends curl=8.14.1-2+deb13u5; \ apt-get clean; \ apt-get autoremove -y --purge; \ rm -rfv /var/lib/apt/lists/* +# ========================================== +# TEMPORARY FIX: UPDATE RUST +# ------------------------------------------ +# A few of our projects require version 1.88 +# or later, and Debian Trixie currently only +# includes version 1.85; once Debian updates +# their version beyond 1.88, this fix can be +# safely removed +# ------------------------------------------ +# https://packages.debian.org/trixie/rustc +# ========================================== +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh + # ========================================== # Upgrade pip to a later version # ========================================== From ac09591c8b3fa7d6038b8c4e2eae421d2aacf257 Mon Sep 17 00:00:00 2001 From: Andrew Hosgood Date: Tue, 13 Oct 2026 11:36:48 +0100 Subject: [PATCH 05/10] Update Dockerfile to install Rust non-interactively --- docker/tna-python/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/tna-python/Dockerfile b/docker/tna-python/Dockerfile index 771516a..6b0304e 100644 --- a/docker/tna-python/Dockerfile +++ b/docker/tna-python/Dockerfile @@ -169,7 +169,7 @@ RUN set -eux; \ # ------------------------------------------ # https://packages.debian.org/trixie/rustc # ========================================== -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y # ========================================== # Upgrade pip to a later version From 2012be05cb30696c4c35170d53cc7137c6007672 Mon Sep 17 00:00:00 2001 From: Andrew Hosgood Date: Tue, 13 Oct 2026 11:44:09 +0100 Subject: [PATCH 06/10] Update Dockerfile to install build-essential alongside curl --- docker/tna-python/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/tna-python/Dockerfile b/docker/tna-python/Dockerfile index 6b0304e..a7c322f 100644 --- a/docker/tna-python/Dockerfile +++ b/docker/tna-python/Dockerfile @@ -153,7 +153,7 @@ RUN set -eux; \ export DEBIAN_FRONTEND=noninteractive; \ apt-get update; \ apt-get -y upgrade; \ - apt-get install -y --no-install-recommends curl=8.14.1-2+deb13u5; \ + apt-get install -y --no-install-recommends curl=8.14.1-2+deb13u5 build-essential=12.12; \ apt-get clean; \ apt-get autoremove -y --purge; \ rm -rfv /var/lib/apt/lists/* From c3afa2d46a10c62b36e1bb2ad1ed05c8a7e8f5c2 Mon Sep 17 00:00:00 2001 From: Andrew Hosgood Date: Tue, 13 Oct 2026 12:15:31 +0100 Subject: [PATCH 07/10] Update Dockerfile to remove temporary Rust installation and clean up dependencies --- CHANGELOG.md | 4 ---- docker/tna-python/Dockerfile | 15 +-------------- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b39fe84..8236c2f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,15 +8,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [Unreleased](https://github.com/nationalarchives/docker/compare/v1.22.0...HEAD) ### Added - -- Added `cargo=1.85.1+dfsg1-1+deb13u1` for building packages from source - ### Changed - Updated Python to [3.15](https://peps.python.org/pep-0790/) - Updated djLint to [v1.46.4](https://github.com/djlint/djLint/releases/tag/v1.46.4) - Updated `@nationalarchives/eslint-config` and `@nationalarchives/stylelint-config` -- Manually install Rust past `1.88` while Debian is still using `1.85.1` so that some project dependencies still build ### Deprecated ### Removed diff --git a/docker/tna-python/Dockerfile b/docker/tna-python/Dockerfile index a7c322f..4fe2114 100644 --- a/docker/tna-python/Dockerfile +++ b/docker/tna-python/Dockerfile @@ -153,24 +153,11 @@ RUN set -eux; \ export DEBIAN_FRONTEND=noninteractive; \ apt-get update; \ apt-get -y upgrade; \ - apt-get install -y --no-install-recommends curl=8.14.1-2+deb13u5 build-essential=12.12; \ + apt-get install -y --no-install-recommends curl=8.14.1-2+deb13u5; \ apt-get clean; \ apt-get autoremove -y --purge; \ rm -rfv /var/lib/apt/lists/* -# ========================================== -# TEMPORARY FIX: UPDATE RUST -# ------------------------------------------ -# A few of our projects require version 1.88 -# or later, and Debian Trixie currently only -# includes version 1.85; once Debian updates -# their version beyond 1.88, this fix can be -# safely removed -# ------------------------------------------ -# https://packages.debian.org/trixie/rustc -# ========================================== -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y - # ========================================== # Upgrade pip to a later version # ========================================== From d2c8e3d390112284fd0ae74c02c48f8e81ddad72 Mon Sep 17 00:00:00 2001 From: Andrew Hosgood Date: Thu, 22 Oct 2026 10:41:04 +0100 Subject: [PATCH 08/10] Update djLint --- CHANGELOG.md | 2 +- docker/tna-python-dev/Dockerfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 59e0e91..c4f6323 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - Updated Python to [3.15](https://peps.python.org/pep-0790/) -- Updated djLint to [v1.46.4](https://github.com/djlint/djLint/releases/tag/v1.46.4) +- Updated djLint to [v1.46.6](https://github.com/djlint/djLint/releases/tag/v1.46.6) - Updated `@nationalarchives/eslint-config` and `@nationalarchives/stylelint-config` ### Deprecated diff --git a/docker/tna-python-dev/Dockerfile b/docker/tna-python-dev/Dockerfile index 1092643..f1f3959 100644 --- a/docker/tna-python-dev/Dockerfile +++ b/docker/tna-python-dev/Dockerfile @@ -49,7 +49,7 @@ RUN apt-get update; \ # want to install to help with development # ========================================== ENV RUFF_VERSION=0.17.0 \ - DJLINT_VERSION=1.46.4 \ + DJLINT_VERSION=1.46.6 \ DJANGO_DEBUG_TOOLBAR_VERSION=8.0.0 \ PRETTIER_VERSION=3.9.10 \ TNA_RUFF_CONFIG_VERSION=0.2.0 \ From a11706fca39661f0805833931f7f42f74fabe666 Mon Sep 17 00:00:00 2001 From: Andrew Hosgood Date: Thu, 22 Oct 2026 10:45:54 +0100 Subject: [PATCH 09/10] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c4f6323..866bcc5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -19,7 +19,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Fixed ### Security -- Remove explicit installs for `libc-bin=2.41-12+deb13u4` and `perl=5.40.1-6+deb13u1` as these are now included upstream +- Remove explicit install for `perl=5.40.1-6+deb13u1` as these are now included upstream ## [1.25.0](https://github.com/nationalarchives/docker/compare/v1.24.0...v1.25.0) - 2026-10-22 From 9271b45949cf9724cf97235e213b9726e46186e4 Mon Sep 17 00:00:00 2001 From: Andrew Hosgood Date: Thu, 22 Oct 2026 10:47:39 +0100 Subject: [PATCH 10/10] Update CHANGELOG.md --- CHANGELOG.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 866bcc5..c1137fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,18 +5,22 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [Unreleased](https://github.com/nationalarchives/docker/compare/v1.25.0...HEAD) +## [Unreleased](https://github.com/nationalarchives/docker/compare/v1.26.0...HEAD) ### Added +### Changed +### Deprecated +### Removed +### Fixed +### Security + +## [1.26.0](https://github.com/nationalarchives/docker/compare/v1.25.0...v1.26.0) - 2026-10-22 + ### Changed - Updated Python to [3.15](https://peps.python.org/pep-0790/) - Updated djLint to [v1.46.6](https://github.com/djlint/djLint/releases/tag/v1.46.6) -- Updated `@nationalarchives/eslint-config` and `@nationalarchives/stylelint-config` -### Deprecated -### Removed -### Fixed ### Security - Remove explicit install for `perl=5.40.1-6+deb13u1` as these are now included upstream