Download raw body.
python 3.14.7 for -current, 3.13.15 for -stable
Seems there were new versions of Python at the start of August with
various fixes including CVEs. Changelogs are pretty long but I think
it would be a good idea to have this for release ideally.
Besides the update I've garbage-collected the comment and
CHANGES.OpenBSD entry about patching to avoid picking up libuuid
which was actually removed with 3.11.
I've built and done some light testing on amd64 so far. Just about
to run builds on i386 aarch64. Is anyone able to test the py3.14
(-current) diff on other archs please?
Any comments? ok?
https://docs.python.org/release/3.14.7/whatsnew/changelog.html
https://docs.python.org/release/3.13.15/whatsnew/changelog.html
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/python/3/Makefile,v
diff -u -p -r1.25.2.1 Makefile
--- Makefile 4 Jul 2026 08:17:24 -0000 1.25.2.1
+++ Makefile 26 Sep 2026 13:16:41 -0000
@@ -3,7 +3,7 @@
# requirement of the PSF license, if it constitutes a change to
# Python itself.
-FULL_VERSION = 3.13.14
+FULL_VERSION = 3.13.15
SHARED_LIBS = python3.13 0.0
VERSION_SPEC = >=3.13,<3.14
PORTROACH = limit:^3\.13
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/python/3/distinfo,v
diff -u -p -r1.11.2.1 distinfo
--- distinfo 4 Jul 2026 08:17:24 -0000 1.11.2.1
+++ distinfo 26 Sep 2026 13:16:41 -0000
@@ -1,2 +1,2 @@
-SHA256 (Python-3.13.14.tgz) = WuU1o2rw68pvyhduy4GX9ducHLjI8M0SzfF4cEbbH0E=
-SIZE (Python-3.13.14.tgz) = 29914816
+SHA256 (Python-3.13.15.tgz) = wo2dITwJtbWrLCmBKVDhL3RpmeCZuCiUIxvpVLJrrtk=
+SIZE (Python-3.13.15.tgz) = 30106468
Index: files/CHANGES.OpenBSD
===================================================================
RCS file: /cvs/ports/lang/python/3/files/CHANGES.OpenBSD,v
diff -u -p -r1.6.2.1 CHANGES.OpenBSD
--- files/CHANGES.OpenBSD 4 Jul 2026 08:17:24 -0000 1.6.2.1
+++ files/CHANGES.OpenBSD 26 Sep 2026 13:16:41 -0000
@@ -6,23 +6,20 @@ ports infrastructure, configure.ac was p
2. Disable scrypt, which is not currently available in LibreSSL.
-3. Disable libuuid, otherwise Python prefers it over the libc uuid
-functions.
-
-4. Disable MULTIARCH check in configure.ac since OpenBSD is not a
+3. Disable MULTIARCH check in configure.ac since OpenBSD is not a
multi-arch platform and it causes build problems.
-5. Allow Python to build with LTO on OpenBSD clang architectures.
+4. Allow Python to build with LTO on OpenBSD clang architectures.
OpenBSD's version of llvm-ar is installed as /usr/bin/ar, and the
compiler as passed to ports builds is /usr/bin/cc.
-6. ctypes' find_library is modified to pass "libc.so" to dlopen() rather
+5. ctypes' find_library is modified to pass "libc.so" to dlopen() rather
than attempting to resolve a version number by parsing ldconfig -r output,
which results in loading an incorrect version in some cases.
-7. Adjust #ifdef to use LibreSSL's version of X509_STORE_get1_objects().
+6. Adjust #ifdef to use LibreSSL's version of X509_STORE_get1_objects().
-8. Work around expat_config.h missing from base.
+7. Work around expat_config.h missing from base.
These changes are available in the OpenBSD CVS repository
<http://www.openbsd.org/anoncvs.html> in ports/lang/python/3.
Index: patches/patch-Makefile_pre_in
===================================================================
RCS file: /cvs/ports/lang/python/3/patches/patch-Makefile_pre_in,v
diff -u -p -r1.2 patch-Makefile_pre_in
--- patches/patch-Makefile_pre_in 14 Nov 2025 17:46:17 -0000 1.2
+++ patches/patch-Makefile_pre_in 26 Sep 2026 13:16:41 -0000
@@ -3,7 +3,7 @@ Make bsd make happy
Index: Makefile.pre.in
--- Makefile.pre.in.orig
+++ Makefile.pre.in
-@@ -591,8 +591,6 @@ LIBMPDEC_OBJS= \
+@@ -592,8 +592,6 @@ LIBMPDEC_OBJS= \
Modules/_decimal/libmpdec/numbertheory.o \
Modules/_decimal/libmpdec/sixstep.o \
Modules/_decimal/libmpdec/transpose.o
Index: patches/patch-configure_ac
===================================================================
RCS file: /cvs/ports/lang/python/3/patches/patch-configure_ac,v
diff -u -p -r1.5.2.1 patch-configure_ac
--- patches/patch-configure_ac 4 Jul 2026 08:17:24 -0000 1.5.2.1
+++ patches/patch-configure_ac 26 Sep 2026 13:16:41 -0000
@@ -1,8 +1,7 @@
#1: Set ports library version
-#2: Don't pick up an installed linux/e2fsprogs libuuid.so
+#2: OpenBSD isn't multi-arch
#3: llvm-ar (used for LTO) is installed as ar
-#4: OpenBSD isn't multi-arch
-#5: Try only the right tcl/tk string
+#4: Try only the right tcl/tk string
Index: configure.ac
--- configure.ac.orig
@@ -49,7 +48,7 @@ Index: configure.ac
# Any changes made here should be reflected in the GCC+Darwin case below
PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
PGO_PROF_USE_FLAG="-fprofile-instr-use=\"\$(shell pwd)/code.profclangd\""
-@@ -4391,11 +4392,7 @@ dnl Detect Tcl/Tk. Use pkg-config if available.
+@@ -4393,11 +4394,7 @@ dnl Detect Tcl/Tk. Use pkg-config if available.
dnl
found_tcltk=no
for _QUERY in \
Index: pkg/PLIST-idle
===================================================================
RCS file: /cvs/ports/lang/python/3/pkg/PLIST-idle,v
diff -u -p -r1.8 PLIST-idle
--- pkg/PLIST-idle 14 Nov 2025 17:46:17 -0000 1.8
+++ pkg/PLIST-idle 26 Sep 2026 13:16:41 -0000
@@ -444,6 +444,9 @@ lib/python3.13/idlelib/idle_test/__pycac
lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy.cpython-313.opt-1.pyc
lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy.cpython-313.opt-2.pyc
lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy.cpython-313.pyc
+lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy_user.cpython-313.opt-1.pyc
+lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy_user.cpython-313.opt-2.pyc
+lib/python3.13/idlelib/idle_test/__pycache__/test_zzdummy_user.cpython-313.pyc
lib/python3.13/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-313.opt-1.pyc
lib/python3.13/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-313.opt-2.pyc
lib/python3.13/idlelib/idle_test/__pycache__/tkinter_testing_utils.cpython-313.pyc
@@ -512,6 +515,7 @@ lib/python3.13/idlelib/idle_test/test_wa
lib/python3.13/idlelib/idle_test/test_window.py
lib/python3.13/idlelib/idle_test/test_zoomheight.py
lib/python3.13/idlelib/idle_test/test_zzdummy.py
+lib/python3.13/idlelib/idle_test/test_zzdummy_user.py
lib/python3.13/idlelib/idle_test/tkinter_testing_utils.py
lib/python3.13/idlelib/iomenu.py
lib/python3.13/idlelib/macosx.py
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/lang/python/3/pkg/PLIST-main,v
diff -u -p -r1.17.2.1 PLIST-main
--- pkg/PLIST-main 4 Jul 2026 08:17:24 -0000 1.17.2.1
+++ pkg/PLIST-main 26 Sep 2026 13:16:41 -0000
@@ -1809,7 +1809,7 @@ lib/python3.13/ensurepip/__pycache__/_un
lib/python3.13/ensurepip/__pycache__/_uninstall.cpython-313.opt-2.pyc
lib/python3.13/ensurepip/__pycache__/_uninstall.cpython-313.pyc
lib/python3.13/ensurepip/_bundled/
-lib/python3.13/ensurepip/_bundled/pip-26.1.2-py3-none-any.whl
+lib/python3.13/ensurepip/_bundled/pip-26.2.1-py3-none-any.whl
lib/python3.13/ensurepip/_uninstall.py
lib/python3.13/enum.py
lib/python3.13/filecmp.py
@@ -2053,7 +2053,6 @@ lib/python3.13/lib-dynload/
@so lib/python3.13/lib-dynload/_testlimitedcapi.cpython-313.so
@so lib/python3.13/lib-dynload/_testmultiphase.cpython-313.so
@so lib/python3.13/lib-dynload/_testsinglephase.cpython-313.so
-@so lib/python3.13/lib-dynload/_uuid.cpython-313.so
@so lib/python3.13/lib-dynload/_xxtestfuzz.cpython-313.so
@so lib/python3.13/lib-dynload/_zoneinfo.cpython-313.so
@so lib/python3.13/lib-dynload/array.cpython-313.so
Index: pkg/PLIST-tests
===================================================================
RCS file: /cvs/ports/lang/python/3/pkg/PLIST-tests,v
diff -u -p -r1.12.2.1 PLIST-tests
--- pkg/PLIST-tests 4 Jul 2026 08:17:24 -0000 1.12.2.1
+++ pkg/PLIST-tests 26 Sep 2026 13:16:41 -0000
@@ -16,6 +16,9 @@ lib/python3.13/test/__pycache__/__init__
lib/python3.13/test/__pycache__/__main__.cpython-313.opt-1.pyc
lib/python3.13/test/__pycache__/__main__.cpython-313.opt-2.pyc
lib/python3.13/test/__pycache__/__main__.cpython-313.pyc
+lib/python3.13/test/__pycache__/_isolated_sample.cpython-313.opt-1.pyc
+lib/python3.13/test/__pycache__/_isolated_sample.cpython-313.opt-2.pyc
+lib/python3.13/test/__pycache__/_isolated_sample.cpython-313.pyc
lib/python3.13/test/__pycache__/_test_atexit.cpython-313.opt-1.pyc
lib/python3.13/test/__pycache__/_test_atexit.cpython-313.opt-2.pyc
lib/python3.13/test/__pycache__/_test_atexit.cpython-313.pyc
@@ -1336,6 +1339,7 @@ lib/python3.13/test/__pycache__/xmltests
lib/python3.13/test/__pycache__/xpickle_worker.cpython-313.opt-1.pyc
lib/python3.13/test/__pycache__/xpickle_worker.cpython-313.opt-2.pyc
lib/python3.13/test/__pycache__/xpickle_worker.cpython-313.pyc
+lib/python3.13/test/_isolated_sample.py
lib/python3.13/test/_test_atexit.py
lib/python3.13/test/_test_eintr.py
lib/python3.13/test/_test_embed_set_config.py
@@ -1784,6 +1788,7 @@ lib/python3.13/test/mathdata/ieee754.txt
lib/python3.13/test/mathdata/math_testcases.txt
lib/python3.13/test/memory_watchdog.py
lib/python3.13/test/mime.types
+lib/python3.13/test/mime.types2
lib/python3.13/test/mock_socket.py
lib/python3.13/test/mp_fork_bomb.py
lib/python3.13/test/mp_preload.py
@@ -1883,6 +1888,9 @@ lib/python3.13/test/support/__pycache__/
lib/python3.13/test/support/__pycache__/import_helper.cpython-313.opt-1.pyc
lib/python3.13/test/support/__pycache__/import_helper.cpython-313.opt-2.pyc
lib/python3.13/test/support/__pycache__/import_helper.cpython-313.pyc
+lib/python3.13/test/support/__pycache__/isolation.cpython-313.opt-1.pyc
+lib/python3.13/test/support/__pycache__/isolation.cpython-313.opt-2.pyc
+lib/python3.13/test/support/__pycache__/isolation.cpython-313.pyc
lib/python3.13/test/support/__pycache__/logging_helper.cpython-313.opt-1.pyc
lib/python3.13/test/support/__pycache__/logging_helper.cpython-313.opt-2.pyc
lib/python3.13/test/support/__pycache__/logging_helper.cpython-313.pyc
@@ -1907,6 +1915,9 @@ lib/python3.13/test/support/__pycache__/
lib/python3.13/test/support/__pycache__/socket_helper.cpython-313.opt-1.pyc
lib/python3.13/test/support/__pycache__/socket_helper.cpython-313.opt-2.pyc
lib/python3.13/test/support/__pycache__/socket_helper.cpython-313.pyc
+lib/python3.13/test/support/__pycache__/subprocess_runner.cpython-313.opt-1.pyc
+lib/python3.13/test/support/__pycache__/subprocess_runner.cpython-313.opt-2.pyc
+lib/python3.13/test/support/__pycache__/subprocess_runner.cpython-313.pyc
lib/python3.13/test/support/__pycache__/testcase.cpython-313.opt-1.pyc
lib/python3.13/test/support/__pycache__/testcase.cpython-313.opt-2.pyc
lib/python3.13/test/support/__pycache__/testcase.cpython-313.pyc
@@ -1959,6 +1970,7 @@ lib/python3.13/test/support/interpreters
lib/python3.13/test/support/interpreters/_crossinterp.py
lib/python3.13/test/support/interpreters/channels.py
lib/python3.13/test/support/interpreters/queues.py
+lib/python3.13/test/support/isolation.py
lib/python3.13/test/support/logging_helper.py
lib/python3.13/test/support/numbers.py
lib/python3.13/test/support/os_helper.py
@@ -1967,6 +1979,7 @@ lib/python3.13/test/support/refleak_help
lib/python3.13/test/support/script_helper.py
lib/python3.13/test/support/smtpd.py
lib/python3.13/test/support/socket_helper.py
+lib/python3.13/test/support/subprocess_runner.py
lib/python3.13/test/support/testcase.py
lib/python3.13/test/support/threading_helper.py
lib/python3.13/test/support/venv.py
@@ -2200,6 +2213,9 @@ lib/python3.13/test/test_capi/__pycache_
lib/python3.13/test/test_capi/__pycache__/test_bytes.cpython-313.opt-1.pyc
lib/python3.13/test/test_capi/__pycache__/test_bytes.cpython-313.opt-2.pyc
lib/python3.13/test/test_capi/__pycache__/test_bytes.cpython-313.pyc
+lib/python3.13/test/test_capi/__pycache__/test_capsule.cpython-313.opt-1.pyc
+lib/python3.13/test/test_capi/__pycache__/test_capsule.cpython-313.opt-2.pyc
+lib/python3.13/test/test_capi/__pycache__/test_capsule.cpython-313.pyc
lib/python3.13/test/test_capi/__pycache__/test_codecs.cpython-313.opt-1.pyc
lib/python3.13/test/test_capi/__pycache__/test_codecs.cpython-313.opt-2.pyc
lib/python3.13/test/test_capi/__pycache__/test_codecs.cpython-313.pyc
@@ -2291,6 +2307,7 @@ lib/python3.13/test/test_capi/check_conf
lib/python3.13/test/test_capi/test_abstract.py
lib/python3.13/test/test_capi/test_bytearray.py
lib/python3.13/test/test_capi/test_bytes.py
+lib/python3.13/test/test_capi/test_capsule.py
lib/python3.13/test/test_capi/test_codecs.py
lib/python3.13/test/test_capi/test_complex.py
lib/python3.13/test/test_capi/test_dict.py
@@ -3498,8 +3515,8 @@ lib/python3.13/test/test_importlib/names
lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-313.opt-1.pyc
lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-313.opt-2.pyc
lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/__pycache__/a_test.cpython-313.pyc
-lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test.py
lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test/
+lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test.py
lib/python3.13/test/test_importlib/namespace_pkgs/module_and_namespace_package/a_test/empty
lib/python3.13/test/test_importlib/namespace_pkgs/nested_portion1.zip
lib/python3.13/test/test_importlib/namespace_pkgs/not_a_namespace_pkg/
@@ -4247,6 +4264,12 @@ lib/python3.13/test/test_tkinter/__pycac
lib/python3.13/test/test_tkinter/__pycache__/test_colorchooser.cpython-313.opt-1.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_colorchooser.cpython-313.opt-2.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_colorchooser.cpython-313.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_dnd.cpython-313.opt-1.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_dnd.cpython-313.opt-2.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_dnd.cpython-313.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_filedialog.cpython-313.opt-1.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_filedialog.cpython-313.opt-2.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_filedialog.cpython-313.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_font.cpython-313.opt-1.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_font.cpython-313.opt-2.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_font.cpython-313.pyc
@@ -4265,12 +4288,18 @@ lib/python3.13/test/test_tkinter/__pycac
lib/python3.13/test/test_tkinter/__pycache__/test_misc.cpython-313.opt-1.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_misc.cpython-313.opt-2.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_misc.cpython-313.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_scrolledtext.cpython-313.opt-1.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_scrolledtext.cpython-313.opt-2.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_scrolledtext.cpython-313.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_simpledialog.cpython-313.opt-1.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_simpledialog.cpython-313.opt-2.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_simpledialog.cpython-313.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_text.cpython-313.opt-1.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_text.cpython-313.opt-2.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_text.cpython-313.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_tkinter_pipe.cpython-313.opt-1.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_tkinter_pipe.cpython-313.opt-2.pyc
+lib/python3.13/test/test_tkinter/__pycache__/test_tkinter_pipe.cpython-313.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_variables.cpython-313.opt-1.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_variables.cpython-313.opt-2.pyc
lib/python3.13/test/test_tkinter/__pycache__/test_variables.cpython-313.pyc
@@ -4282,14 +4311,18 @@ lib/python3.13/test/test_tkinter/__pycac
lib/python3.13/test/test_tkinter/__pycache__/widget_tests.cpython-313.pyc
lib/python3.13/test/test_tkinter/support.py
lib/python3.13/test/test_tkinter/test_colorchooser.py
+lib/python3.13/test/test_tkinter/test_dnd.py
+lib/python3.13/test/test_tkinter/test_filedialog.py
lib/python3.13/test/test_tkinter/test_font.py
lib/python3.13/test/test_tkinter/test_geometry_managers.py
lib/python3.13/test/test_tkinter/test_images.py
lib/python3.13/test/test_tkinter/test_loadtk.py
lib/python3.13/test/test_tkinter/test_messagebox.py
lib/python3.13/test/test_tkinter/test_misc.py
+lib/python3.13/test/test_tkinter/test_scrolledtext.py
lib/python3.13/test/test_tkinter/test_simpledialog.py
lib/python3.13/test/test_tkinter/test_text.py
+lib/python3.13/test/test_tkinter/test_tkinter_pipe.py
lib/python3.13/test/test_tkinter/test_variables.py
lib/python3.13/test/test_tkinter/test_widgets.py
lib/python3.13/test/test_tkinter/widget_tests.py
@@ -4319,11 +4352,11 @@ lib/python3.13/test/test_tomllib/__pycac
lib/python3.13/test/test_tomllib/burntsushi.py
lib/python3.13/test/test_tomllib/data/
lib/python3.13/test/test_tomllib/data/invalid/
+lib/python3.13/test/test_tomllib/data/invalid/array/
lib/python3.13/test/test_tomllib/data/invalid/array-missing-comma.toml
lib/python3.13/test/test_tomllib/data/invalid/array-of-tables/
lib/python3.13/test/test_tomllib/data/invalid/array-of-tables/overwrite-array-in-parent.toml
lib/python3.13/test/test_tomllib/data/invalid/array-of-tables/overwrite-bool-with-aot.toml
-lib/python3.13/test/test_tomllib/data/invalid/array/
lib/python3.13/test/test_tomllib/data/invalid/array/file-end-after-val.toml
lib/python3.13/test/test_tomllib/data/invalid/array/unclosed-after-item.toml
lib/python3.13/test/test_tomllib/data/invalid/array/unclosed-empty.toml
@@ -4338,8 +4371,8 @@ lib/python3.13/test/test_tomllib/data/in
lib/python3.13/test/test_tomllib/data/invalid/dotted-keys/extend-defined-aot.toml
lib/python3.13/test/test_tomllib/data/invalid/dotted-keys/extend-defined-table-with-subtable.toml
lib/python3.13/test/test_tomllib/data/invalid/dotted-keys/extend-defined-table.toml
-lib/python3.13/test/test_tomllib/data/invalid/inline-table-missing-comma.toml
lib/python3.13/test/test_tomllib/data/invalid/inline-table/
+lib/python3.13/test/test_tomllib/data/invalid/inline-table-missing-comma.toml
lib/python3.13/test/test_tomllib/data/invalid/inline-table/define-twice-in-subtable.toml
lib/python3.13/test/test_tomllib/data/invalid/inline-table/define-twice.toml
lib/python3.13/test/test_tomllib/data/invalid/inline-table/file-end-after-key-val.toml
? python.port.mk.yes-diff
? wheels.diff
? pkg/PLIST-main.int
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/python/3/Makefile,v
diff -u -p -r1.33 Makefile
--- Makefile 17 Jul 2026 11:52:41 -0000 1.33
+++ Makefile 26 Sep 2026 13:17:40 -0000
@@ -3,12 +3,10 @@
# requirement of the PSF license, if it constitutes a change to
# Python itself.
-FULL_VERSION = 3.14.6
+FULL_VERSION = 3.14.7
SHARED_LIBS = python3.14 0.0
VERSION_SPEC = >=3.14
PORTROACH = limit:^3\.14
-
-REVISION-main = 0
AUTOCONF_VERSION = 2.72
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/python/3/distinfo,v
diff -u -p -r1.14 distinfo
--- distinfo 19 Jun 2026 00:02:29 -0000 1.14
+++ distinfo 26 Sep 2026 13:17:40 -0000
@@ -1,2 +1,2 @@
-SHA256 (Python-3.14.6.tgz) = dNDXHQYA5HdlGgdxAdbmLR4uabjpkroYyZPdZDt7oiI=
-SIZE (Python-3.14.6.tgz) = 31234628
+SHA256 (Python-3.14.7.tgz) = YoWYBfb98l4ry/P6MheAHhmWiHyjPmoq+AZ0vfotvgc=
+SIZE (Python-3.14.7.tgz) = 31414918
Index: files/CHANGES.OpenBSD
===================================================================
RCS file: /cvs/ports/lang/python/3/files/CHANGES.OpenBSD,v
diff -u -p -r1.7 CHANGES.OpenBSD
--- files/CHANGES.OpenBSD 7 Jun 2026 17:29:15 -0000 1.7
+++ files/CHANGES.OpenBSD 26 Sep 2026 13:17:40 -0000
@@ -6,23 +6,20 @@ ports infrastructure, configure.ac was p
2. Disable scrypt, which is not currently available in LibreSSL.
-3. Disable libuuid, otherwise Python prefers it over the libc uuid
-functions.
-
-4. Disable MULTIARCH check in configure.ac since OpenBSD is not a
+3. Disable MULTIARCH check in configure.ac since OpenBSD is not a
multi-arch platform and it causes build problems.
-5. Allow Python to build with LTO on OpenBSD clang architectures.
+4. Allow Python to build with LTO on OpenBSD clang architectures.
OpenBSD's version of llvm-ar is installed as /usr/bin/ar, and the
compiler as passed to ports builds is /usr/bin/cc.
-6. ctypes' find_library is modified to pass "libc.so" to dlopen() rather
+5. ctypes' find_library is modified to pass "libc.so" to dlopen() rather
than attempting to resolve a version number by parsing ldconfig -r output,
which results in loading an incorrect version in some cases.
-7. Adjust #ifdef to use LibreSSL's version of X509_STORE_get1_objects().
+6. Adjust #ifdef to use LibreSSL's version of X509_STORE_get1_objects().
-8. Work around expat_config.h missing from base.
+7. Work around expat_config.h missing from base.
These changes are available in the OpenBSD CVS repository
<http://www.openbsd.org/anoncvs.html> in ports/lang/python/3.
Index: patches/patch-Makefile_pre_in
===================================================================
RCS file: /cvs/ports/lang/python/3/patches/patch-Makefile_pre_in,v
diff -u -p -r1.4 patch-Makefile_pre_in
--- patches/patch-Makefile_pre_in 7 Jun 2026 17:29:15 -0000 1.4
+++ patches/patch-Makefile_pre_in 26 Sep 2026 13:17:40 -0000
@@ -3,7 +3,7 @@ Make bsd make happy
Index: Makefile.pre.in
--- Makefile.pre.in.orig
+++ Makefile.pre.in
-@@ -609,8 +609,6 @@ LIBMPDEC_OBJS= \
+@@ -610,8 +610,6 @@ LIBMPDEC_OBJS= \
Modules/_decimal/libmpdec/numbertheory.o \
Modules/_decimal/libmpdec/sixstep.o \
Modules/_decimal/libmpdec/transpose.o
Index: patches/patch-configure_ac
===================================================================
RCS file: /cvs/ports/lang/python/3/patches/patch-configure_ac,v
diff -u -p -r1.7 patch-configure_ac
--- patches/patch-configure_ac 7 Jun 2026 17:29:15 -0000 1.7
+++ patches/patch-configure_ac 26 Sep 2026 13:17:40 -0000
@@ -1,8 +1,7 @@
#1: Set ports library version
-#2: Don't pick up an installed linux/e2fsprogs libuuid.so
+#2: OpenBSD isn't multi-arch
#3: llvm-ar (used for LTO) is installed as ar
-#4: OpenBSD isn't multi-arch
-#5: Try only the right tcl/tk string
+#4: Try only the right tcl/tk string
Index: configure.ac
--- configure.ac.orig
@@ -49,7 +48,7 @@ Index: configure.ac
# Any changes made here should be reflected in the GCC+Darwin case below
PGO_PROF_GEN_FLAG="-fprofile-instr-generate"
PGO_PROF_USE_FLAG="-fprofile-instr-use=\"\$(shell pwd)/code.profclangd\""
-@@ -4439,11 +4440,7 @@ dnl Detect Tcl/Tk. Use pkg-config if available.
+@@ -4492,11 +4493,7 @@ dnl Detect Tcl/Tk. Use pkg-config if available.
dnl
found_tcltk=no
for _QUERY in \
Index: pkg/PLIST-idle
===================================================================
RCS file: /cvs/ports/lang/python/3/pkg/PLIST-idle,v
diff -u -p -r1.9 PLIST-idle
--- pkg/PLIST-idle 12 May 2026 09:50:42 -0000 1.9
+++ pkg/PLIST-idle 26 Sep 2026 13:17:40 -0000
@@ -444,6 +444,9 @@ lib/${PY_VERSION}/idlelib/idle_test/__py
lib/${PY_VERSION}/idlelib/idle_test/__pycache__/test_zzdummy.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/idlelib/idle_test/__pycache__/test_zzdummy.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/idlelib/idle_test/__pycache__/test_zzdummy.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/idlelib/idle_test/__pycache__/test_zzdummy_user.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/idlelib/idle_test/__pycache__/test_zzdummy_user.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/idlelib/idle_test/__pycache__/test_zzdummy_user.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/idlelib/idle_test/__pycache__/tkinter_testing_utils.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/idlelib/idle_test/__pycache__/tkinter_testing_utils.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/idlelib/idle_test/__pycache__/tkinter_testing_utils.${PYC_MAGIC_TAG}.pyc
@@ -512,6 +515,7 @@ lib/${PY_VERSION}/idlelib/idle_test/test
lib/${PY_VERSION}/idlelib/idle_test/test_window.py
lib/${PY_VERSION}/idlelib/idle_test/test_zoomheight.py
lib/${PY_VERSION}/idlelib/idle_test/test_zzdummy.py
+lib/${PY_VERSION}/idlelib/idle_test/test_zzdummy_user.py
lib/${PY_VERSION}/idlelib/idle_test/tkinter_testing_utils.py
lib/${PY_VERSION}/idlelib/iomenu.py
lib/${PY_VERSION}/idlelib/macosx.py
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/lang/python/3/pkg/PLIST-main,v
diff -u -p -r1.24 PLIST-main
--- pkg/PLIST-main 19 Jun 2026 00:02:29 -0000 1.24
+++ pkg/PLIST-main 26 Sep 2026 13:17:40 -0000
@@ -1918,7 +1918,7 @@ lib/${PY_VERSION}/ensurepip/__pycache__/
lib/${PY_VERSION}/ensurepip/__pycache__/_uninstall.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/ensurepip/__pycache__/_uninstall.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/ensurepip/_bundled/
-lib/${PY_VERSION}/ensurepip/_bundled/pip-26.1.2-py3-none-any.whl
+lib/${PY_VERSION}/ensurepip/_bundled/pip-26.2.1-py3-none-any.whl
lib/${PY_VERSION}/ensurepip/_uninstall.py
lib/${PY_VERSION}/enum.py
lib/${PY_VERSION}/filecmp.py
@@ -2164,7 +2164,6 @@ lib/${PY_VERSION}/lib-dynload/
@so lib/${PY_VERSION}/lib-dynload/_testlimitedcapi.${PYC_MAGIC_TAG}.so
@so lib/${PY_VERSION}/lib-dynload/_testmultiphase.${PYC_MAGIC_TAG}.so
@so lib/${PY_VERSION}/lib-dynload/_testsinglephase.${PYC_MAGIC_TAG}.so
-@so lib/${PY_VERSION}/lib-dynload/_uuid.${PYC_MAGIC_TAG}.so
@so lib/${PY_VERSION}/lib-dynload/_xxtestfuzz.${PYC_MAGIC_TAG}.so
@so lib/${PY_VERSION}/lib-dynload/_zoneinfo.${PYC_MAGIC_TAG}.so
@so lib/${PY_VERSION}/lib-dynload/_zstd.${PYC_MAGIC_TAG}.so
Index: pkg/PLIST-tests
===================================================================
RCS file: /cvs/ports/lang/python/3/pkg/PLIST-tests,v
diff -u -p -r1.16 PLIST-tests
--- pkg/PLIST-tests 19 Jun 2026 00:02:29 -0000 1.16
+++ pkg/PLIST-tests 26 Sep 2026 13:17:40 -0000
@@ -22,6 +22,9 @@ lib/${PY_VERSION}/test/__pycache__/_code
lib/${PY_VERSION}/test/__pycache__/_crossinterp_definitions.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/__pycache__/_crossinterp_definitions.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/__pycache__/_crossinterp_definitions.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/__pycache__/_isolated_sample.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/__pycache__/_isolated_sample.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/__pycache__/_isolated_sample.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/__pycache__/_test_atexit.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/__pycache__/_test_atexit.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/__pycache__/_test_atexit.${PYC_MAGIC_TAG}.pyc
@@ -1356,6 +1359,7 @@ lib/${PY_VERSION}/test/__pycache__/xpick
lib/${PY_VERSION}/test/__pycache__/xpickle_worker.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/_code_definitions.py
lib/${PY_VERSION}/test/_crossinterp_definitions.py
+lib/${PY_VERSION}/test/_isolated_sample.py
lib/${PY_VERSION}/test/_test_atexit.py
lib/${PY_VERSION}/test/_test_eintr.py
lib/${PY_VERSION}/test/_test_embed_structseq.py
@@ -1809,6 +1813,7 @@ lib/${PY_VERSION}/test/mathdata/ieee754.
lib/${PY_VERSION}/test/mathdata/math_testcases.txt
lib/${PY_VERSION}/test/memory_watchdog.py
lib/${PY_VERSION}/test/mime.types
+lib/${PY_VERSION}/test/mime.types2
lib/${PY_VERSION}/test/mock_socket.py
lib/${PY_VERSION}/test/mp_fork_bomb.py
lib/${PY_VERSION}/test/mp_preload.py
@@ -1910,6 +1915,9 @@ lib/${PY_VERSION}/test/support/__pycache
lib/${PY_VERSION}/test/support/__pycache__/import_helper.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/support/__pycache__/import_helper.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/support/__pycache__/import_helper.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/support/__pycache__/isolation.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/support/__pycache__/isolation.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/support/__pycache__/isolation.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/support/__pycache__/logging_helper.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/support/__pycache__/logging_helper.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/support/__pycache__/logging_helper.${PYC_MAGIC_TAG}.pyc
@@ -1937,6 +1945,9 @@ lib/${PY_VERSION}/test/support/__pycache
lib/${PY_VERSION}/test/support/__pycache__/strace_helper.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/support/__pycache__/strace_helper.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/support/__pycache__/strace_helper.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/support/__pycache__/subprocess_runner.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/support/__pycache__/subprocess_runner.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/support/__pycache__/subprocess_runner.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/support/__pycache__/testcase.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/support/__pycache__/testcase.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/support/__pycache__/testcase.${PYC_MAGIC_TAG}.pyc
@@ -1972,6 +1983,7 @@ lib/${PY_VERSION}/test/support/hashlib_h
lib/${PY_VERSION}/test/support/hypothesis_helper.py
lib/${PY_VERSION}/test/support/i18n_helper.py
lib/${PY_VERSION}/test/support/import_helper.py
+lib/${PY_VERSION}/test/support/isolation.py
lib/${PY_VERSION}/test/support/logging_helper.py
lib/${PY_VERSION}/test/support/numbers.py
lib/${PY_VERSION}/test/support/os_helper.py
@@ -1981,6 +1993,7 @@ lib/${PY_VERSION}/test/support/script_he
lib/${PY_VERSION}/test/support/smtpd.py
lib/${PY_VERSION}/test/support/socket_helper.py
lib/${PY_VERSION}/test/support/strace_helper.py
+lib/${PY_VERSION}/test/support/subprocess_runner.py
lib/${PY_VERSION}/test/support/testcase.py
lib/${PY_VERSION}/test/support/threading_helper.py
lib/${PY_VERSION}/test/support/venv.py
@@ -2230,6 +2243,9 @@ lib/${PY_VERSION}/test/test_capi/__pycac
lib/${PY_VERSION}/test/test_capi/__pycache__/test_bytes.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_capi/__pycache__/test_bytes.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_capi/__pycache__/test_bytes.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_capi/__pycache__/test_capsule.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_capi/__pycache__/test_capsule.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_capi/__pycache__/test_capsule.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_capi/__pycache__/test_codecs.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_capi/__pycache__/test_codecs.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_capi/__pycache__/test_codecs.${PYC_MAGIC_TAG}.pyc
@@ -2336,6 +2352,7 @@ lib/${PY_VERSION}/test/test_capi/check_c
lib/${PY_VERSION}/test/test_capi/test_abstract.py
lib/${PY_VERSION}/test/test_capi/test_bytearray.py
lib/${PY_VERSION}/test/test_capi/test_bytes.py
+lib/${PY_VERSION}/test/test_capi/test_capsule.py
lib/${PY_VERSION}/test/test_capi/test_codecs.py
lib/${PY_VERSION}/test/test_capi/test_complex.py
lib/${PY_VERSION}/test/test_capi/test_config.py
@@ -3036,12 +3053,18 @@ lib/${PY_VERSION}/test/test_free_threadi
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_enumerate.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_enumerate.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_enumerate.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_exceptions.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_exceptions.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_exceptions.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_frame.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_frame.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_frame.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_func_annotations.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_func_annotations.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_func_annotations.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_functions.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_functions.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_functions.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_functools.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_functools.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_functools.${PYC_MAGIC_TAG}.pyc
@@ -3060,9 +3083,15 @@ lib/${PY_VERSION}/test/test_free_threadi
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_iteration.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_iteration.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_iteration.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_itertools.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_itertools.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_itertools.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_itertools_batched.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_itertools_batched.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_itertools_batched.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_itertools_combinatoric.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_itertools_combinatoric.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_itertools_combinatoric.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_list.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_list.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_list.${PYC_MAGIC_TAG}.pyc
@@ -3099,12 +3128,24 @@ lib/${PY_VERSION}/test/test_free_threadi
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_str.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_str.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_str.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_string_template_race.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_string_template_race.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_string_template_race.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_sys.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_sys.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_sys.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_threading.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_threading.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_threading.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_tokenize.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_tokenize.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_tokenize.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_type.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_type.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_type.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_types.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_types.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_types.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_uuid.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_uuid.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_free_threading/__pycache__/test_uuid.${PYC_MAGIC_TAG}.pyc
@@ -3121,15 +3162,19 @@ lib/${PY_VERSION}/test/test_free_threadi
lib/${PY_VERSION}/test/test_free_threading/test_dict.py
lib/${PY_VERSION}/test/test_free_threading/test_dict_watcher.py
lib/${PY_VERSION}/test/test_free_threading/test_enumerate.py
+lib/${PY_VERSION}/test/test_free_threading/test_exceptions.py
lib/${PY_VERSION}/test/test_free_threading/test_frame.py
lib/${PY_VERSION}/test/test_free_threading/test_func_annotations.py
+lib/${PY_VERSION}/test/test_free_threading/test_functions.py
lib/${PY_VERSION}/test/test_free_threading/test_functools.py
lib/${PY_VERSION}/test/test_free_threading/test_gc.py
lib/${PY_VERSION}/test/test_free_threading/test_grp.py
lib/${PY_VERSION}/test/test_free_threading/test_heapq.py
lib/${PY_VERSION}/test/test_free_threading/test_io.py
lib/${PY_VERSION}/test/test_free_threading/test_iteration.py
+lib/${PY_VERSION}/test/test_free_threading/test_itertools.py
lib/${PY_VERSION}/test/test_free_threading/test_itertools_batched.py
+lib/${PY_VERSION}/test/test_free_threading/test_itertools_combinatoric.py
lib/${PY_VERSION}/test/test_free_threading/test_list.py
lib/${PY_VERSION}/test/test_free_threading/test_methodcaller.py
lib/${PY_VERSION}/test/test_free_threading/test_mmap.py
@@ -3142,8 +3187,12 @@ lib/${PY_VERSION}/test/test_free_threadi
lib/${PY_VERSION}/test/test_free_threading/test_set.py
lib/${PY_VERSION}/test/test_free_threading/test_slots.py
lib/${PY_VERSION}/test/test_free_threading/test_str.py
+lib/${PY_VERSION}/test/test_free_threading/test_string_template_race.py
+lib/${PY_VERSION}/test/test_free_threading/test_sys.py
+lib/${PY_VERSION}/test/test_free_threading/test_threading.py
lib/${PY_VERSION}/test/test_free_threading/test_tokenize.py
lib/${PY_VERSION}/test/test_free_threading/test_type.py
+lib/${PY_VERSION}/test/test_free_threading/test_types.py
lib/${PY_VERSION}/test/test_free_threading/test_uuid.py
lib/${PY_VERSION}/test/test_free_threading/test_zip.py
lib/${PY_VERSION}/test/test_frozen.py
@@ -3941,6 +3990,9 @@ lib/${PY_VERSION}/test/test_json/__pycac
lib/${PY_VERSION}/test/test_json/__pycache__/test_pass3.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_json/__pycache__/test_pass3.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_json/__pycache__/test_pass3.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_json/__pycache__/test_pickleable.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_json/__pycache__/test_pickleable.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_json/__pycache__/test_pickleable.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_json/__pycache__/test_recursion.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_json/__pycache__/test_recursion.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_json/__pycache__/test_recursion.${PYC_MAGIC_TAG}.pyc
@@ -3971,6 +4023,7 @@ lib/${PY_VERSION}/test/test_json/test_in
lib/${PY_VERSION}/test/test_json/test_pass1.py
lib/${PY_VERSION}/test/test_json/test_pass2.py
lib/${PY_VERSION}/test/test_json/test_pass3.py
+lib/${PY_VERSION}/test/test_json/test_pickleable.py
lib/${PY_VERSION}/test/test_json/test_recursion.py
lib/${PY_VERSION}/test/test_json/test_scanstring.py
lib/${PY_VERSION}/test/test_json/test_separators.py
@@ -4467,6 +4520,12 @@ lib/${PY_VERSION}/test/test_tkinter/__py
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_colorchooser.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_colorchooser.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_colorchooser.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_dnd.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_dnd.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_dnd.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_filedialog.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_filedialog.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_filedialog.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_font.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_font.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_font.${PYC_MAGIC_TAG}.pyc
@@ -4485,12 +4544,18 @@ lib/${PY_VERSION}/test/test_tkinter/__py
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_misc.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_misc.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_misc.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_scrolledtext.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_scrolledtext.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_scrolledtext.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_simpledialog.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_simpledialog.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_simpledialog.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_text.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_text.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_text.${PYC_MAGIC_TAG}.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_tkinter_pipe.${PYC_MAGIC_TAG}.opt-1.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_tkinter_pipe.${PYC_MAGIC_TAG}.opt-2.pyc
+lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_tkinter_pipe.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_variables.${PYC_MAGIC_TAG}.opt-1.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_variables.${PYC_MAGIC_TAG}.opt-2.pyc
lib/${PY_VERSION}/test/test_tkinter/__pycache__/test_variables.${PYC_MAGIC_TAG}.pyc
@@ -4502,14 +4567,18 @@ lib/${PY_VERSION}/test/test_tkinter/__py
lib/${PY_VERSION}/test/test_tkinter/__pycache__/widget_tests.${PYC_MAGIC_TAG}.pyc
lib/${PY_VERSION}/test/test_tkinter/support.py
lib/${PY_VERSION}/test/test_tkinter/test_colorchooser.py
+lib/${PY_VERSION}/test/test_tkinter/test_dnd.py
+lib/${PY_VERSION}/test/test_tkinter/test_filedialog.py
lib/${PY_VERSION}/test/test_tkinter/test_font.py
lib/${PY_VERSION}/test/test_tkinter/test_geometry_managers.py
lib/${PY_VERSION}/test/test_tkinter/test_images.py
lib/${PY_VERSION}/test/test_tkinter/test_loadtk.py
lib/${PY_VERSION}/test/test_tkinter/test_messagebox.py
lib/${PY_VERSION}/test/test_tkinter/test_misc.py
+lib/${PY_VERSION}/test/test_tkinter/test_scrolledtext.py
lib/${PY_VERSION}/test/test_tkinter/test_simpledialog.py
lib/${PY_VERSION}/test/test_tkinter/test_text.py
+lib/${PY_VERSION}/test/test_tkinter/test_tkinter_pipe.py
lib/${PY_VERSION}/test/test_tkinter/test_variables.py
lib/${PY_VERSION}/test/test_tkinter/test_widgets.py
lib/${PY_VERSION}/test/test_tkinter/widget_tests.py
python 3.14.7 for -current, 3.13.15 for -stable