--- Begin Message ---
Package: release.debian.org
Severity: normal
X-Debbugs-Cc: python3-stdlib-extensions@packages.debian.org
Control: affects -1 + src:python3-stdlib-extensions
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package python3-stdlib-extensions
As discussed in-person, I left this out from #1108661, because I forgot.
It isn't critical at all, but is probably what people expect.
The diff is attached, but isn't even relevant, because the packages are
transitional.
[ Reason ]
Brings python3-stdlib-extensions back into line with python3.13.
[ Impact ]
Potential user confusion.
[ Tests ]
Not even relevant.
[ Risks ]
Nope
[ Checklist ]
[x] all changes are documented in the d/changelog
[x] I reviewed all changes and I approve them
[x] attach debdiff against the package in testing
[ Other info ]
unblock python3-stdlib-extensions/3.13.5-1
diff -Nru python3-stdlib-extensions-3.13.3/3.13/Modules/mimalloc/mimalloc/internal.h python3-stdlib-extensions-3.13.5/3.13/Modules/mimalloc/mimalloc/internal.h
--- python3-stdlib-extensions-3.13.3/3.13/Modules/mimalloc/mimalloc/internal.h 2025-04-08 15:54:08.000000000 +0200
+++ python3-stdlib-extensions-3.13.5/3.13/Modules/mimalloc/mimalloc/internal.h 2025-06-11 17:36:57.000000000 +0200
@@ -634,10 +634,10 @@
mi_track_mem_defined(block,sizeof(mi_block_t));
mi_block_t* next;
#ifdef MI_ENCODE_FREELIST
- next = (mi_block_t*)mi_ptr_decode(null, block->next, keys);
+ next = (mi_block_t*)mi_ptr_decode(null, mi_atomic_load_relaxed((_Atomic(mi_encoded_t)*)&block->next), keys);
#else
MI_UNUSED(keys); MI_UNUSED(null);
- next = (mi_block_t*)block->next;
+ next = (mi_block_t*)mi_atomic_load_relaxed((_Atomic(mi_encoded_t)*)&block->next);
#endif
mi_track_mem_noaccess(block,sizeof(mi_block_t));
return next;
@@ -646,10 +646,10 @@
static inline void mi_block_set_nextx(const void* null, mi_block_t* block, const mi_block_t* next, const uintptr_t* keys) {
mi_track_mem_undefined(block,sizeof(mi_block_t));
#ifdef MI_ENCODE_FREELIST
- block->next = mi_ptr_encode(null, next, keys);
+ mi_atomic_store_relaxed(&block->next, mi_ptr_encode(null, next, keys));
#else
MI_UNUSED(keys); MI_UNUSED(null);
- block->next = (mi_encoded_t)next;
+ mi_atomic_store_relaxed(&block->next, (mi_encoded_t)next);
#endif
mi_track_mem_noaccess(block,sizeof(mi_block_t));
}
diff -Nru python3-stdlib-extensions-3.13.3/3.13/Modules/mimalloc/mimalloc/types.h python3-stdlib-extensions-3.13.5/3.13/Modules/mimalloc/mimalloc/types.h
--- python3-stdlib-extensions-3.13.3/3.13/Modules/mimalloc/mimalloc/types.h 2025-04-08 15:54:08.000000000 +0200
+++ python3-stdlib-extensions-3.13.5/3.13/Modules/mimalloc/mimalloc/types.h 2025-06-11 17:36:57.000000000 +0200
@@ -235,7 +235,7 @@
// free lists contain blocks
typedef struct mi_block_s {
- mi_encoded_t next;
+ _Atomic(mi_encoded_t) next;
} mi_block_t;
diff -Nru python3-stdlib-extensions-3.13.3/3.13/Modules/pycore_bytesobject.h python3-stdlib-extensions-3.13.5/3.13/Modules/pycore_bytesobject.h
--- python3-stdlib-extensions-3.13.3/3.13/Modules/pycore_bytesobject.h 2025-04-08 15:54:08.000000000 +0200
+++ python3-stdlib-extensions-3.13.5/3.13/Modules/pycore_bytesobject.h 2025-06-11 17:36:57.000000000 +0200
@@ -20,6 +20,10 @@
// Helper for PyBytes_DecodeEscape that detects invalid escape chars.
// Export for test_peg_generator.
+PyAPI_FUNC(PyObject*) _PyBytes_DecodeEscape2(const char *, Py_ssize_t,
+ const char *,
+ int *, const char **);
+// Export for binary compatibility.
PyAPI_FUNC(PyObject*) _PyBytes_DecodeEscape(const char *, Py_ssize_t,
const char *, const char **);
diff -Nru python3-stdlib-extensions-3.13.3/3.13/Modules/pycore_object.h python3-stdlib-extensions-3.13.5/3.13/Modules/pycore_object.h
--- python3-stdlib-extensions-3.13.3/3.13/Modules/pycore_object.h 2025-04-08 15:54:08.000000000 +0200
+++ python3-stdlib-extensions-3.13.5/3.13/Modules/pycore_object.h 2025-06-11 17:36:57.000000000 +0200
@@ -165,6 +165,23 @@
extern void _Py_SetImmortal(PyObject *op);
extern void _Py_SetImmortalUntracked(PyObject *op);
+// Checks if an object has a single, unique reference. If the caller holds a
+// unique reference, it may be able to safely modify the object in-place.
+static inline int
+_PyObject_IsUniquelyReferenced(PyObject *ob)
+{
+#if !defined(Py_GIL_DISABLED)
+ return Py_REFCNT(ob) == 1;
+#else
+ // NOTE: the entire ob_ref_shared field must be zero, including flags, to
+ // ensure that other threads cannot concurrently create new references to
+ // this object.
+ return (_Py_IsOwnedByCurrentThread(ob) &&
+ _Py_atomic_load_uint32_relaxed(&ob->ob_ref_local) == 1 &&
+ _Py_atomic_load_ssize_relaxed(&ob->ob_ref_shared) == 0);
+#endif
+}
+
// Makes an immortal object mortal again with the specified refcnt. Should only
// be used during runtime finalization.
static inline void _Py_SetMortal(PyObject *op, Py_ssize_t refcnt)
diff -Nru python3-stdlib-extensions-3.13.3/3.13/Modules/pycore_runtime.h python3-stdlib-extensions-3.13.5/3.13/Modules/pycore_runtime.h
--- python3-stdlib-extensions-3.13.3/3.13/Modules/pycore_runtime.h 2025-04-08 15:54:08.000000000 +0200
+++ python3-stdlib-extensions-3.13.5/3.13/Modules/pycore_runtime.h 2025-06-11 17:36:57.000000000 +0200
@@ -60,7 +60,7 @@
} _Py_AuditHookEntry;
typedef struct _Py_DebugOffsets {
- char cookie[8];
+ char cookie[8] _Py_NONSTRING;
uint64_t version;
uint64_t free_threaded;
// Runtime state offset;
diff -Nru python3-stdlib-extensions-3.13.3/3.13/Modules/pycore_unicodeobject.h python3-stdlib-extensions-3.13.5/3.13/Modules/pycore_unicodeobject.h
--- python3-stdlib-extensions-3.13.3/3.13/Modules/pycore_unicodeobject.h 2025-04-08 15:54:08.000000000 +0200
+++ python3-stdlib-extensions-3.13.5/3.13/Modules/pycore_unicodeobject.h 2025-06-11 17:36:57.000000000 +0200
@@ -142,6 +142,19 @@
// Helper for PyUnicode_DecodeUnicodeEscape that detects invalid escape
// chars.
// Export for test_peg_generator.
+PyAPI_FUNC(PyObject*) _PyUnicode_DecodeUnicodeEscapeInternal2(
+ const char *string, /* Unicode-Escape encoded string */
+ Py_ssize_t length, /* size of string */
+ const char *errors, /* error handling */
+ Py_ssize_t *consumed, /* bytes consumed */
+ int *first_invalid_escape_char, /* on return, if not -1, contain the first
+ invalid escaped char (<= 0xff) or invalid
+ octal escape (> 0xff) in string. */
+ const char **first_invalid_escape_ptr); /* on return, if not NULL, may
+ point to the first invalid escaped
+ char in string.
+ May be NULL if errors is not NULL. */
+// Export for binary compatibility.
PyAPI_FUNC(PyObject*) _PyUnicode_DecodeUnicodeEscapeInternal(
const char *string, /* Unicode-Escape encoded string */
Py_ssize_t length, /* size of string */
diff -Nru python3-stdlib-extensions-3.13.3/debian/changelog python3-stdlib-extensions-3.13.5/debian/changelog
--- python3-stdlib-extensions-3.13.3/debian/changelog 2025-04-09 07:14:59.000000000 +0200
+++ python3-stdlib-extensions-3.13.5/debian/changelog 2025-07-13 13:01:15.000000000 +0200
@@ -1,3 +1,19 @@
+python3-stdlib-extensions (3.13.5-1) unstable; urgency=medium
+
+ * Update 3.13 extensions and modules to the 3.13.5 release.
+
+ -- Matthias Klose <doko@debian.org> Sun, 13 Jul 2025 13:01:15 +0200
+
+python3-stdlib-extensions (3.13.4-1) unstable; urgency=medium
+
+ * Update 3.13 extensions and modules to the 3.13.4 release.
+ * Update 3.12 extensions and modules to the 3.12.11 release.
+ * Update 3.11 extensions and modules to the 3.11.13 release.
+ * Update 3.10 extensions and modules to the 3.10.18 release.
+ * Update 3.9 extensions and modules to the 3.9.23 release.
+
+ -- Matthias Klose <doko@debian.org> Wed, 04 Jun 2025 15:58:24 +0200
+
python3-stdlib-extensions (3.13.3-1) unstable; urgency=medium
* Update 3.13 extensions and modules to the 3.13.3 release.
diff -Nru python3-stdlib-extensions-3.13.3/debian/control python3-stdlib-extensions-3.13.5/debian/control
--- python3-stdlib-extensions-3.13.3/debian/control 2025-03-04 16:33:05.000000000 +0100
+++ python3-stdlib-extensions-3.13.5/debian/control 2025-06-04 15:59:54.000000000 +0200
@@ -31,14 +31,14 @@
# python3.12-dbg:any,
libpython3.13-dev,
libpython3.13-dbg,
- python3.13-dev:any (>= 3.13.0~rc1-2~),
+ python3.13-dev:any (>= 3.13.4-1~),
python3.13-dbg:any,
# tk-dev, blt-dev (>= 2.4z-9),
# libgdbm-dev, libgdbm-compat-dev,
# libgdbm-dev, libdb-dev,
python3-setuptools,
Build-Conflicts: tcl8.4-dev, tk8.4-dev, tcl8.5-dev, tk8.5-dev
-Standards-Version: 4.7.0
+Standards-Version: 4.7.2
Vcs-Git: https://salsa.debian.org/cpython-team/python3-stdlib.git
Vcs-Browser: https://salsa.debian.org/cpython-team/python3-stdlib
--- End Message ---