diff --git a/.env b/.env index cd30f7aa7c8c..4be5d436f2d7 100644 --- a/.env +++ b/.env @@ -98,6 +98,6 @@ VCPKG="9b965a116838c6cdcd36bca60d1b81b030c8ab8d" # 2026.05.27 (not release, u # ci/docker/python-*-windows-*.dockerfile or the vcpkg config. # This is a workaround for our CI problem that "archery docker build" doesn't # use pulled built images in dev/tasks/python-wheels/github.windows.yml. -PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-10-01 -PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-09-14 +PYTHON_WHEEL_WINDOWS_IMAGE_REVISION=2026-10-11 +PYTHON_WHEEL_WINDOWS_TEST_IMAGE_REVISION=2026-11-11 diff --git a/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile b/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile index 3f98c13352cc..73b9f023e793 100644 --- a/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile +++ b/ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile @@ -36,7 +36,7 @@ RUN apk update && \ RUN set -e; \ case "${python_version}" in \ 3.14) python_patch_version="3.14.7";; \ - 3.15) python_patch_version="3.15.0rc2";; \ + 3.15) python_patch_version="3.15.0";; \ esac && \ curl -L -o python.tar.zst \ https://github.com/astral-sh/python-build-standalone/releases/download/${build_date}/cpython-${python_patch_version}+${build_date}-${arch}-unknown-linux-musl-freethreaded+lto-full.tar.zst && \ diff --git a/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile b/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile index 6adbd50e0dc2..8089824864ce 100644 --- a/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile +++ b/ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile @@ -38,7 +38,7 @@ RUN apk update && \ RUN set -e; \ case "${python_version}" in \ 3.14) python_patch_version="3.14.7";; \ - 3.15) python_patch_version="3.15.0rc2";; \ + 3.15) python_patch_version="3.15.0";; \ esac && \ curl -L -o python.tar.zst \ https://github.com/astral-sh/python-build-standalone/releases/download/${build_date}/cpython-${python_patch_version}+${build_date}-${arch}-unknown-linux-musl-freethreaded+lto-full.tar.zst && \ diff --git a/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile b/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile index dad0f33a27b5..e67b96500711 100644 --- a/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile +++ b/ci/docker/python-free-threaded-wheel-windows-test-vs2022.dockerfile @@ -30,7 +30,7 @@ ARG python=3.14 # final release it leads to, e.g. 3.15.0/python-3.15.0rc2-amd64.exe # hadolint ignore=SC1072 RUN (if "%python%"=="3.14" setx PYTHON_VERSION "3.14.7" && setx PYTHON_RELEASE "3.14.7") & \ - (if "%python%"=="3.15" setx PYTHON_VERSION "3.15.0rc2" && setx PYTHON_RELEASE "3.15.0") + (if "%python%"=="3.15" setx PYTHON_VERSION "3.15.0" && setx PYTHON_RELEASE "3.15.0") SHELL ["powershell", "-NoProfile", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"] RUN $version = $env:PYTHON_VERSION; \ diff --git a/ci/docker/python-wheel-windows-test-vs2022.dockerfile b/ci/docker/python-wheel-windows-test-vs2022.dockerfile index 6acb395e6531..565b4d96fd87 100644 --- a/ci/docker/python-wheel-windows-test-vs2022.dockerfile +++ b/ci/docker/python-wheel-windows-test-vs2022.dockerfile @@ -32,7 +32,7 @@ RUN (if "%python%"=="3.11" setx PYTHON_VERSION "3.11.9" && setx PYTHON_CMD "py - (if "%python%"=="3.12" setx PYTHON_VERSION "3.12.10" && setx PYTHON_CMD "py -3.12") & \ (if "%python%"=="3.13" setx PYTHON_VERSION "3.13.14" && setx PYTHON_CMD "py -3.13") & \ (if "%python%"=="3.14" setx PYTHON_VERSION "3.14.7" && setx PYTHON_CMD "py -3.14") & \ - (if "%python%"=="3.15" setx PYTHON_VERSION "3.15.0-rc2" && setx PYTHON_CMD "py -3.15") + (if "%python%"=="3.15" setx PYTHON_VERSION "3.15.0" && setx PYTHON_CMD "py -3.15") # hadolint ignore=DL3059 diff --git a/ci/scripts/install_python.sh b/ci/scripts/install_python.sh index 82cab4d5721d..33de190ccb02 100755 --- a/ci/scripts/install_python.sh +++ b/ci/scripts/install_python.sh @@ -30,8 +30,8 @@ versions=([3.11]=3.11.9 [3.13]=3.13.14 [3.14]=3.14.7 [3.14t]=3.14.7 - [3.15]=3.15.0rc2 - [3.15t]=3.15.0rc2 + [3.15]=3.15.0 + [3.15t]=3.15.0 ) if [ "$#" -ne 2 ]; then @@ -50,7 +50,7 @@ if [ "$platform" = "macOS" ]; then echo "Downloading Python installer..." # Match python.org directory by truncating any pre-release suffix: - # 3.15.0rc2 is https://www.python.org/ftp/python/3.15.0/python-3.15.0rc2-macos11.pkg + # 3.15.0 is https://www.python.org/ftp/python/3.15.0/python-3.15.0-macos11.pkg release_version="${full_version%%[abrc]*}" fname="python-${full_version}-macos11.pkg" wget "https://www.python.org/ftp/python/${release_version}/${fname}" diff --git a/compose.yaml b/compose.yaml index 1741d00db431..512fb8a53961 100644 --- a/compose.yaml +++ b/compose.yaml @@ -1179,7 +1179,7 @@ services: args: arch: ${ARCH} arch_short: ${ARCH_SHORT} - base: quay.io/pypa/manylinux_2_28_${ARCH_ALIAS}:2026.09.05-1 + base: quay.io/pypa/manylinux_2_28_${ARCH_ALIAS}:2026.10.10-1 manylinux: 2_28 python: ${PYTHON} python_abi_tag: ${PYTHON_ABI_TAG} @@ -1204,7 +1204,7 @@ services: args: arch: ${ARCH} arch_short: ${ARCH_SHORT} - base: quay.io/pypa/musllinux_1_2_${ARCH_ALIAS}:2026.09.05-1 + base: quay.io/pypa/musllinux_1_2_${ARCH_ALIAS}:2026.10.10-1 musllinux: 1_2 python: ${PYTHON} python_abi_tag: ${PYTHON_ABI_TAG} @@ -1245,7 +1245,7 @@ services: args: base: "alpine:${ALPINE_LINUX}" python_version: ${PYTHON} - build_date: "20260901" # python-build-standalone release date + build_date: "20261009" # python-build-standalone release date arch: ${ARCH_ALIAS} context: . dockerfile: ci/docker/python-free-threaded-wheel-musllinux-test-imports.dockerfile @@ -1289,7 +1289,7 @@ services: args: base: "alpine:${ALPINE_LINUX}" python_version: ${PYTHON} - build_date: "20260901" # python-build-standalone release date + build_date: "20261009" # python-build-standalone release date arch: ${ARCH_ALIAS} context: . dockerfile: ci/docker/python-free-threaded-wheel-musllinux-test-unittests.dockerfile diff --git a/python/requirements-wheel-test.txt b/python/requirements-wheel-test.txt index 591e4a03d416..829cf01f349d 100644 --- a/python/requirements-wheel-test.txt +++ b/python/requirements-wheel-test.txt @@ -15,6 +15,6 @@ tzdata; sys_platform == 'win32' numpy~=2.0.0; python_version <= "3.12" numpy~=2.1.0; python_version == "3.13" numpy~=2.3.3; python_version == "3.14" -numpy~=2.5.2; python_version == "3.15" # TODO: 2.5.2 is for 3.15-rc1, after release, update to correct version +numpy~=2.5.2; python_version == "3.15" pandas