From 5a9518902f7737a8f13a58fe26cde83de7eb501a Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Sun, 23 Aug 2026 17:48:04 +0100 Subject: [PATCH 1/4] Drop support for Python 3.10 --- versions.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/versions.toml b/versions.toml index 10d2b52..38b049f 100644 --- a/versions.toml +++ b/versions.toml @@ -23,5 +23,4 @@ versions = [ "3.13t", "3.12", "3.11", - "3.10", ] From 8c7951a8e9fdf26f3bac435d142eb4b1766e3768 Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Sun, 23 Aug 2026 17:50:06 +0100 Subject: [PATCH 2/4] LLVM 22 --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 1c120f0..b25e546 100644 --- a/Dockerfile +++ b/Dockerfile @@ -15,7 +15,7 @@ RUN apt-get -y update \ # Following guidance from https://github.com/python/cpython/blob/main/Tools/jit/README.md RUN curl -o /tmp/llvm.sh https://apt.llvm.org/llvm.sh \ && chmod +x /tmp/llvm.sh \ - && /tmp/llvm.sh 19 \ + && /tmp/llvm.sh 22 \ && rm /tmp/llvm.sh ENV PYENV_ROOT=/pyenv \ From 9e1d933f0c9b334da1f87637250c0123cf52bde4 Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Sun, 23 Aug 2026 17:50:35 +0100 Subject: [PATCH 3/4] Add Python 3.15.0rc1 with free threading and jit versions --- Dockerfile | 2 +- versions.toml | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index b25e546..e37c137 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ FROM buildpack-deps:bookworm AS builder-base LABEL org.opencontainers.image.authors="Joe Banks , Chris Lovering " -ARG PYENV_VERSION="v2.6.11" +ARG PYENV_VERSION="v2.8.4" RUN apt-get -y update \ && apt-get install -y --no-install-recommends \ diff --git a/versions.toml b/versions.toml index 38b049f..7e491af 100644 --- a/versions.toml +++ b/versions.toml @@ -16,6 +16,9 @@ [config] versions = [ + "3.15", + "3.15t", + "3.15j", "3.14", "3.14t", "3.14j", From b2f76f168b8330d5481c12edb23acf527c751b79 Mon Sep 17 00:00:00 2001 From: Chris Lovering Date: Sun, 23 Aug 2026 17:56:09 +0100 Subject: [PATCH 4/4] Support rc versions in find_version.py script --- scripts/find_version.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/scripts/find_version.py b/scripts/find_version.py index 2457eea..4c1d059 100644 --- a/scripts/find_version.py +++ b/scripts/find_version.py @@ -1,7 +1,9 @@ -from pathlib import Path -import tomllib import json import os +from pathlib import Path + +import tomllib + def resolve_version(friendly_version: str) -> str: """Resolve a friendly version like '3.10t' to an exact version like '3.10.12'.""" @@ -29,8 +31,14 @@ def resolve_version(friendly_version: str) -> str: if not matching_versions: raise ValueError(f"No matching versions found for base version '{base_version}'") - # Sort versions to get the latest - matching_versions.sort(key=lambda s: list(map(int, s.split('.')))) + def version_sort_key(s): + def part_key(p): + n, *rc = p.split('rc') + # rc suffix sorts below final release (no rc = inf) + return (int(n), int(rc[0]) if rc else float('inf')) + return [part_key(p) for p in s.split('.')] + + matching_versions.sort(key=version_sort_key) latest_version = matching_versions[-1]