diff --git a/.github/workflows/python.yml b/.github/workflows/python.yml
index 76ccae2cd..0678cc40d 100644
--- a/.github/workflows/python.yml
+++ b/.github/workflows/python.yml
@@ -64,7 +64,7 @@ jobs:
uses: ./.github/workflows/release.yml
with:
workflow: ${{ github.workflow }}
- tool_version: '3.12.5'
+ tool_version: '3.13.1'
prepare_body: |
bsdtar -Oxf ./build-musl/build-musl.tar.gz build-musl.md >> body.md
bsdtar -Oxf ./build-gnu/build-gnu.tar.gz build-gnu.md >> body.md
diff --git a/README.md b/README.md
index badfec151..a63846193 100644
--- a/README.md
+++ b/README.md
@@ -1,20 +1,20 @@
# Standalone (static) tools:
-| releases | latest source |
-|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/python-3.12.5/total?label=⭳%20python-3.12.5)](https://github.com/hemnstill/StandaloneTools/releases/tag/python-3.12.5) | [![GitHub Repo stars](https://img.shields.io/github/stars/indygreg/python-build-standalone?style=social&label=python-build-standalone)](https://github.com/indygreg/python-build-standalone) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/indygreg/python-build-standalone)](https://python-build-standalone.readthedocs.io/en/latest/)
[![GitHub Repo stars](https://img.shields.io/github/stars/python/cpython?style=social&label=python)](https://github.com/python/cpython) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/python/cpython)](https://docs.python.org/3/) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/poetry-1.8.3/total?label=⭳%20poetry-1.8.3)](https://github.com/hemnstill/StandaloneTools/releases/tag/poetry-1.8.3) | [![GitHub Repo stars](https://img.shields.io/github/stars/python-poetry/poetry?style=social&label=poetry)](https://github.com/python-poetry/poetry) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/python-poetry/poetry)](https://python-poetry.org/history/) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/pylint-3.0.3/total?label=⭳%20pylint-3.0.3)](https://github.com/hemnstill/StandaloneTools/releases/tag/pylint-3.0.3) | [![GitHub Repo stars](https://img.shields.io/github/stars/PyCQA/pylint?style=social&label=pylint)](https://github.com/PyCQA/pylint) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/PyCQA/pylint)](https://pylint.pycqa.org/en/latest/) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/mypy-1.8.0/total?label=⭳%20mypy-1.8.0)](https://github.com/hemnstill/StandaloneTools/releases/tag/mypy-1.8.0) | [![GitHub Repo stars](https://img.shields.io/github/stars/python/mypy?style=social&label=mypy)](https://github.com/python/mypy) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/python/mypy)](https://mypy.readthedocs.io/en/latest/) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/ansible-8.3.0/total?label=⭳%20ansible-8.3.0-core-2.15.3)](https://github.com/hemnstill/StandaloneTools/releases/tag/ansible-8.3.0) | [![GitHub Repo stars](https://img.shields.io/github/stars/ansible/ansible?style=social&label=ansible)](https://github.com/ansible/ansible) [![PyPI](https://img.shields.io/pypi/v/ansible)](https://pypi.org/project/ansible/) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/ansible/ansible)](https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/bsdtar-3.7.7/total?label=⭳%20bsdtar-3.7.7)](https://github.com/hemnstill/StandaloneTools/releases/tag/bsdtar-3.7.7) | [![GitHub Repo stars](https://img.shields.io/github/stars/libarchive/libarchive?style=social&label=libarchive)](https://github.com/libarchive/libarchive) [![latest packaged version(s)](https://repology.org/badge/latest-versions/libarchive.svg)](https://repology.org/project/libarchive/versions) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/7-Zip-24.08/total?label=⭳%207-Zip-24.08)](https://github.com/hemnstill/StandaloneTools/releases/tag/7-Zip-24.08) | [![SourceForge Downloads](https://img.shields.io/sourceforge/dm/sevenzip?style=social&label=7-Zip&logo=sourceforge)](https://sourceforge.net/projects/sevenzip/) [![versions](https://repology.org/badge/latest-versions/7zip.svg)](https://repology.org/project/7zip/versions) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/zstd-1.5.6/total?label=⭳%20zstd-1.5.6)](https://github.com/hemnstill/StandaloneTools/releases/tag/zstd-1.5.6) | [![GitHub Repo stars](https://img.shields.io/github/stars/facebook/zstd?style=social&label=zstd)](https://github.com/facebook/zstd) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/facebook/zstd)](https://github.com/facebook/zstd/releases/latest) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/pg_dump-15.1/total?label=⭳%20pg_dump-15.1)](https://github.com/hemnstill/StandaloneTools/releases/tag/pg_dump-15.1) | [![GitHub Repo stars](https://img.shields.io/github/stars/postgres/postgres?style=social&label=postgres)](https://github.com/postgres/postgres) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/postgres/postgres)](https://www.postgresql.org/docs/current/index.html) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/mysql-8.4.2/total?label=⭳%20mysql-8.4.2)](https://github.com/hemnstill/StandaloneTools/releases/tag/mysql-8.4.2) | [![GitHub Repo stars](https://img.shields.io/github/stars/mysql/mysql-server?style=social&label=mysql-server)](https://github.com/mysql/mysql-server) [![latest packaged version(s)](https://repology.org/badge/latest-versions/mysql.svg)](https://repology.org/project/mysql/information) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/redis-7.2.5/total?label=⭳%20redis-7.2.5)](https://github.com/hemnstill/StandaloneTools/releases/tag/redis-7.2.5) | [![GitHub Repo stars](https://img.shields.io/github/stars/redis/redis?style=social&label=redis)](https://github.com/redis/redis) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/redis/redis)](https://redis.io/download/) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/busybox-1.37.0-FRP-5398/total?label=⭳%20busybox-1.37.0-FRP-5398)](https://github.com/hemnstill/StandaloneTools/releases/tag/busybox-1.37.0-FRP-5398) | [![GitHub Repo stars](https://img.shields.io/github/stars/rmyorston/busybox-w32?style=social&label=busybox-w32)](https://github.com/rmyorston/busybox-w32) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/rmyorston/busybox-w32)](https://frippery.org/busybox/release-notes/current.html) [![latest packaged version(s)](https://repology.org/badge/latest-versions/busybox.svg)](https://repology.org/project/busybox/information) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/far2l-2.6.3/total?label=⭳%20far2l-2.6.3)](https://github.com/hemnstill/StandaloneTools/releases/tag/far2l-2.6.3) | [![GitHub Repo stars](https://img.shields.io/github/stars/elfmz/far2l?style=social&label=far2l)](https://github.com/elfmz/far2l) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/elfmz/far2l)](https://github.com/elfmz/far2l/releases/latest) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/pcre2grep-10.44/total?label=⭳%20pcre2grep-10.44)](https://github.com/hemnstill/StandaloneTools/releases/tag/pcre2grep-10.44) | [![GitHub Repo stars](https://img.shields.io/github/stars/PCRE2Project/pcre2?style=social&label=PCRE2)](https://github.com/PCRE2Project/pcre2) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/PCRE2Project/pcre2)](https://github.com/PCRE2Project/pcre2/releases/latest) |
-| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/openssl-3.0.9/total?label=⭳%20openssl-3.0.9)](https://github.com/hemnstill/StandaloneTools/releases/tag/openssl-3.0.9) | [![GitHub Repo stars](https://img.shields.io/github/stars/openssl/openssl?style=social&label=OpenSSL)](https://github.com/openssl/openssl) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/openssl/openssl)](https://www.openssl.org/news/changelog.html) |
+| releases | latest source |
+|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/python-3.13.1/total?label=⭳%20python-3.13.1-20241206)](https://github.com/hemnstill/StandaloneTools/releases/tag/python-3.13.1) | [![GitHub Repo stars](https://img.shields.io/github/stars/indygreg/python-build-standalone?style=social&label=python-build-standalone)](https://github.com/indygreg/python-build-standalone) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/indygreg/python-build-standalone)](https://gregoryszorc.com/docs/python-build-standalone/main/)
[![GitHub Repo stars](https://img.shields.io/github/stars/python/cpython?style=social&label=python)](https://github.com/python/cpython) [![latest packaged version(s)](https://repology.org/badge/latest-versions/python.svg)](https://repology.org/project/python/versions) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/poetry-1.8.3/total?label=⭳%20poetry-1.8.3)](https://github.com/hemnstill/StandaloneTools/releases/tag/poetry-1.8.3) | [![GitHub Repo stars](https://img.shields.io/github/stars/python-poetry/poetry?style=social&label=poetry)](https://github.com/python-poetry/poetry) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/python-poetry/poetry)](https://python-poetry.org/history/) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/pylint-3.0.3/total?label=⭳%20pylint-3.0.3)](https://github.com/hemnstill/StandaloneTools/releases/tag/pylint-3.0.3) | [![GitHub Repo stars](https://img.shields.io/github/stars/PyCQA/pylint?style=social&label=pylint)](https://github.com/PyCQA/pylint) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/PyCQA/pylint)](https://pylint.pycqa.org/en/latest/) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/mypy-1.8.0/total?label=⭳%20mypy-1.8.0)](https://github.com/hemnstill/StandaloneTools/releases/tag/mypy-1.8.0) | [![GitHub Repo stars](https://img.shields.io/github/stars/python/mypy?style=social&label=mypy)](https://github.com/python/mypy) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/python/mypy)](https://mypy.readthedocs.io/en/latest/) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/ansible-8.3.0/total?label=⭳%20ansible-8.3.0-core-2.15.3)](https://github.com/hemnstill/StandaloneTools/releases/tag/ansible-8.3.0) | [![GitHub Repo stars](https://img.shields.io/github/stars/ansible/ansible?style=social&label=ansible)](https://github.com/ansible/ansible) [![PyPI](https://img.shields.io/pypi/v/ansible)](https://pypi.org/project/ansible/) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/ansible/ansible)](https://docs.ansible.com/ansible/devel/reference_appendices/release_and_maintenance.html) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/bsdtar-3.7.7/total?label=⭳%20bsdtar-3.7.7)](https://github.com/hemnstill/StandaloneTools/releases/tag/bsdtar-3.7.7) | [![GitHub Repo stars](https://img.shields.io/github/stars/libarchive/libarchive?style=social&label=libarchive)](https://github.com/libarchive/libarchive) [![latest packaged version(s)](https://repology.org/badge/latest-versions/libarchive.svg)](https://repology.org/project/libarchive/versions) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/7-Zip-24.08/total?label=⭳%207-Zip-24.08)](https://github.com/hemnstill/StandaloneTools/releases/tag/7-Zip-24.08) | [![SourceForge Downloads](https://img.shields.io/sourceforge/dm/sevenzip?style=social&label=7-Zip&logo=sourceforge)](https://sourceforge.net/projects/sevenzip/) [![versions](https://repology.org/badge/latest-versions/7zip.svg)](https://repology.org/project/7zip/versions) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/zstd-1.5.6/total?label=⭳%20zstd-1.5.6)](https://github.com/hemnstill/StandaloneTools/releases/tag/zstd-1.5.6) | [![GitHub Repo stars](https://img.shields.io/github/stars/facebook/zstd?style=social&label=zstd)](https://github.com/facebook/zstd) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/facebook/zstd)](https://github.com/facebook/zstd/releases/latest) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/pg_dump-15.1/total?label=⭳%20pg_dump-15.1)](https://github.com/hemnstill/StandaloneTools/releases/tag/pg_dump-15.1) | [![GitHub Repo stars](https://img.shields.io/github/stars/postgres/postgres?style=social&label=postgres)](https://github.com/postgres/postgres) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/postgres/postgres)](https://www.postgresql.org/docs/current/index.html) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/mysql-8.4.2/total?label=⭳%20mysql-8.4.2)](https://github.com/hemnstill/StandaloneTools/releases/tag/mysql-8.4.2) | [![GitHub Repo stars](https://img.shields.io/github/stars/mysql/mysql-server?style=social&label=mysql-server)](https://github.com/mysql/mysql-server) [![latest packaged version(s)](https://repology.org/badge/latest-versions/mysql.svg)](https://repology.org/project/mysql/information) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/redis-7.2.5/total?label=⭳%20redis-7.2.5)](https://github.com/hemnstill/StandaloneTools/releases/tag/redis-7.2.5) | [![GitHub Repo stars](https://img.shields.io/github/stars/redis/redis?style=social&label=redis)](https://github.com/redis/redis) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/redis/redis)](https://redis.io/download/) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/busybox-1.37.0-FRP-5398/total?label=⭳%20busybox-1.37.0-FRP-5398)](https://github.com/hemnstill/StandaloneTools/releases/tag/busybox-1.37.0-FRP-5398) | [![GitHub Repo stars](https://img.shields.io/github/stars/rmyorston/busybox-w32?style=social&label=busybox-w32)](https://github.com/rmyorston/busybox-w32) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/rmyorston/busybox-w32)](https://frippery.org/busybox/release-notes/current.html) [![latest packaged version(s)](https://repology.org/badge/latest-versions/busybox.svg)](https://repology.org/project/busybox/information) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/far2l-2.6.3/total?label=⭳%20far2l-2.6.3)](https://github.com/hemnstill/StandaloneTools/releases/tag/far2l-2.6.3) | [![GitHub Repo stars](https://img.shields.io/github/stars/elfmz/far2l?style=social&label=far2l)](https://github.com/elfmz/far2l) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/elfmz/far2l)](https://github.com/elfmz/far2l/releases/latest) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/pcre2grep-10.44/total?label=⭳%20pcre2grep-10.44)](https://github.com/hemnstill/StandaloneTools/releases/tag/pcre2grep-10.44) | [![GitHub Repo stars](https://img.shields.io/github/stars/PCRE2Project/pcre2?style=social&label=PCRE2)](https://github.com/PCRE2Project/pcre2) [![GitHub release (latest by date including pre-releases)](https://img.shields.io/github/v/release/PCRE2Project/pcre2)](https://github.com/PCRE2Project/pcre2/releases/latest) |
+| [![GitHub release (by tag)](https://img.shields.io/github/downloads/hemnstill/StandaloneTools/openssl-3.0.9/total?label=⭳%20openssl-3.0.9)](https://github.com/hemnstill/StandaloneTools/releases/tag/openssl-3.0.9) | [![GitHub Repo stars](https://img.shields.io/github/stars/openssl/openssl?style=social&label=OpenSSL)](https://github.com/openssl/openssl) [![GitHub tag (latest SemVer)](https://img.shields.io/github/v/tag/openssl/openssl)](https://www.openssl.org/news/changelog.html) |
diff --git a/python/build_gnu.sh b/python/build_gnu.sh
index 486890e4c..0e384d391 100755
--- a/python/build_gnu.sh
+++ b/python/build_gnu.sh
@@ -9,13 +9,13 @@ apk add --no-cache alpine-sdk python3-dev
export LC_ALL=en_US.UTF-8
tool_name="python"
-tool_version="3.12.5"
-release_date="20240814"
+tool_version="3.13.1"
+release_date="20241206"
self_name="$tool_name-$tool_version"
release_version_dirpath="$dp0/release/$self_name"
mkdir -p "$release_version_dirpath" && cd "$dp0/release"
-download_url="https://github.com/indygreg/python-build-standalone/releases/download/$release_date/cpython-$tool_version+$release_date-x86_64-unknown-linux-gnu-pgo-full.tar.zst"
+download_url="https://github.com/indygreg/python-build-standalone/releases/download/$release_date/cpython-$tool_version+$release_date-x86_64-unknown-linux-gnu-freethreaded+pgo-full.tar.zst"
cpython_zip="$dp0/release/raw_cpython-linux.tar.zst"
echo "download python from $download_url ..."
[[ ! -f "$cpython_zip" ]] && wget "$download_url" -O "$cpython_zip"
@@ -24,7 +24,7 @@ echo "download python from $download_url ..."
bsdtar="$dp0/release/bsdtar"
cpython_bin="$dp0/.tmp/python/install/bin/python3"
-cpython_dll="$dp0/.tmp/python/install/lib/libpython3.12.so.1.0"
+cpython_dll="$dp0/.tmp/python/install/lib/libpython3.13t.so.1.0"
if [[ ! -f "$cpython_bin" ]]; then
echo extract "$cpython_zip" to "$cpython_bin" ...
rm -rf "$dp0/.tmp/"* && mkdir -p "$dp0/.tmp" && cd "$dp0/.tmp" || exit 1
diff --git a/python/build_msvc.sh b/python/build_msvc.sh
index 8eaab4e56..b11a209ae 100755
--- a/python/build_msvc.sh
+++ b/python/build_msvc.sh
@@ -3,13 +3,13 @@ dp0="$(realpath "$(dirname "$0")")"
set -e
tool_name="python"
-tool_version="3.12.5"
-release_date="20240814"
+tool_version="3.13.1"
+release_date="20241206"
self_name="$tool_name-$tool_version"
release_version_dirpath="$dp0/release/$self_name"
mkdir -p "$release_version_dirpath" && cd "$dp0/release"
-download_url="https://github.com/indygreg/python-build-standalone/releases/download/$release_date/cpython-$tool_version+$release_date-x86_64-pc-windows-msvc-shared-pgo-full.tar.zst"
+download_url="https://github.com/indygreg/python-build-standalone/releases/download/$release_date/cpython-$tool_version+$release_date-x86_64-pc-windows-msvc-shared-freethreaded+pgo-full.tar.zst"
cpython_zip="$dp0/release/raw_cpython-win.tar.zst"
echo "download python from $download_url ..."
[[ ! -f "$cpython_zip" ]] && wget "$download_url" -O "$cpython_zip"
diff --git a/python/build_musl.sh b/python/build_musl.sh
index fdfd87088..e4712d595 100755
--- a/python/build_musl.sh
+++ b/python/build_musl.sh
@@ -6,8 +6,8 @@ apk update
apk add --no-cache alpine-sdk python3-dev
tool_name="python"
-tool_version="3.12.5"
-release_date="20240814"
+tool_version="3.13.1"
+release_date="20241206"
self_name="$tool_name-$tool_version"
release_version_dirpath="$dp0/release/$self_name"
diff --git a/python/test_linux.sh b/python/test_linux.sh
index d9df2b5a6..c198f6285 100755
--- a/python/test_linux.sh
+++ b/python/test_linux.sh
@@ -3,7 +3,7 @@
../.tools/install_alpine_glibc.sh
test_version() {
- assertEquals "Python 3.12.5" "$(../bin/Scripts/bin/python3 --version)"
+ assertEquals "Python 3.13.1" "$(../bin/Scripts/bin/python3 --version)"
}
# Load and run shUnit2.
diff --git a/python/test_windows.sh b/python/test_windows.sh
index bb44415da..5f45c2b2b 100755
--- a/python/test_windows.sh
+++ b/python/test_windows.sh
@@ -1,7 +1,7 @@
#!/bin/bash
test_version() {
- assertEquals "Python 3.12.5" "$(../bin/Scripts/python.exe --version)"
+ assertEquals "Python 3.13.1" "$(../bin/Scripts/python.exe --version)"
}
# Load and run shUnit2.