Bartosz Sławecki
5a2d2736a6
gh-150052: Resolve un-loaded lazily loaded submodules via module.__getattr__ instead of publishing lazy values ( #150055 ) ( #150744 )
2026-06-02 09:58:51 +01:00
Brij Kapadia
f586fd9e30
gh-144774: Add critical section in BaseException.__setstate__ ( #150578 )
2026-05-30 21:07:27 +05:30
Serhiy Storchaka
e1e06be119
gh-150285: Fix too long docstrings in builtins (GH-150293)
...
* gh-150285: Fix too long docstrings in builtins
* Revert bytes and bytearray class multiline docstrings to make IDLE happy.
2026-05-24 15:03:32 +03:00
Pieter Eendebak
dfeeee990b
gh-145192: improve performance of PySequence_GetSlice ( #145193 )
2026-05-23 15:45:50 +05:30
Hai Zhu
e7eaed5614
gh-148450: abc.register needs to update type_version when tp_flags is changed ( #148623 )
2026-05-23 13:55:44 +05:30
sobolevn
f621ba16b7
gh-150146: Fix NULL dereference in _Py_subs_parameters ( #150147 )
2026-05-20 16:27:55 +03:00
Victor Stinner
244300162d
gh-149807: Fix hash(frozendict): compute (key, value) pair hash ( #149841 )
2026-05-20 13:22:57 +02:00
Tim Stumbaugh
de9c32fc34
PEP 810 - Update some error strings ( #150126 )
2026-05-20 00:47:44 +00:00
Peter Bierma
409fa8e1f3
gh-150027: Avoid copying during construction of frozenset objects (GH-150028)
2026-05-19 13:57:37 -04:00
Jelle Zijlstra
08218030a5
gh-148829: Make sentinels' repr and module customizable ( #149654 )
...
Implementation of python/peps#4968 ; still needs SC approval.
2026-05-19 09:18:56 -07:00
Kumar Aditya
00ea77613b
gh-149816: fix thread safety of deletion of list slice ( #149936 )
2026-05-18 22:08:37 +05:30
Kumar Aditya
1692854706
gh-149816: fix dict.clear() race on split-table dict with non-embedded values ( #149914 )
2026-05-18 21:39:45 +05:30
sobolevn
46afba7b93
gh-149816: Fix a race condition in _PyBytes_FromList with free-threading ( #149909 )
2026-05-16 08:37:34 +00:00
sobolevn
1fdf033774
gh-149816: Fix race condition in memoryview with free-threading ( #149858 )
2026-05-15 15:38:51 +03:00
Carlo Bramini
fdf064ca81
gh-148461: Use arc4random_buf() in mimalloc on Cygwin ( #148462 )
...
See also issue #113141 .
2026-05-13 21:09:24 +02:00
Kumar Aditya
94bca40ff0
gh-148906: fix performance scaling of descriptors on free-threading ( #148915 )
2026-05-13 23:03:59 +05:30
Stan Ulbrych
6a0be131c3
gh-149595: Remove the sys._enablelegacywindowsfsencoding() function ( #149596 )
...
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2026-05-12 17:11:34 +01:00
Thomas Kowalski
f5fb491341
gh-149676: Fix hash(frozendict | frozendict) ( #149675 )
...
Fix new_dict_impl() to properly initialize ma_hash on frozendict.
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-05-12 10:47:39 +00:00
Alper
8a4895985f
gh-145235: Make dict watcher API thread-safe for free-threaded builds (gh-145233)
...
In free-threaded builds, concurrent calls to PyDict_AddWatcher, PyDict_ClearWatcher, PyDict_Watch, and PyDict_Unwatch can race on the shared callback array and the per-dict watcher tags. This change adds a mutex to serialize watcher registration and removal, atomic operations for tag updates, and atomic acquire/release synchronization for callback dispatch in _PyDict_SendEvent.
2026-05-11 11:39:55 -04:00
Jelle Zijlstra
56171da341
gh-144957: Fix lazy imports + module __getattr__ (GH-149624)
2026-05-11 15:08:12 +02:00
Sergey B Kirpichev
ef877318a0
gh-149402: Don't assume single-character type codes (struct/array/ctypes) ( #149483 )
...
In the struct docs, section "Format Characters" was renamed to "Type
Codes".
Co-authored-by: Victor Stinner <vstinner@python.org>
2026-05-11 13:05:50 +00:00
Neko Asakura
d2d24e46d3
gh-100239: expose sq_repeat helpers for BINARY_OP_EXTEND ( #148791 )
2026-05-08 11:12:20 +00:00
Neko Asakura
49918f5b0c
gh-149481: skip FOR_ITER inline specialization for Python __next__ ( #149491 )
...
Co-authored-by: Savannah Ostrowski <savannah@python.org>
Co-authored-by: Stan Ulbrych <stan@python.org>
2026-05-07 23:02:04 +00:00
Mark Shannon
70bd1c2dd2
GH-143732: SEND specialization (GH-148963)
...
* SEND specialization. Adds 2 new specialized instructions:
* SEND_VIRTUAL: for sends to virtual iterators e.g lists and tuples
* SEND_ASYNC_GEN: for sends to async generators
Tweak FOR_ITER_VIRTUAL so that SEND_VIRTUAL and FOR_ITER_VIRTUAL use equivalent guards
2026-05-05 15:19:16 +01:00
Anuj Nitin Bharambe
f6d16a0d70
gh-149216: Notify type watchers on heap type deallocation (GH-149236)
...
Authored-by: Anuj Bharambe <anujnitinb@gmail.com>
2026-05-05 11:24:07 +01:00
Petr Viktorin
508b49845d
gh-149044: Implement PEP 820 – PySlot: Unified slot system for the C API (GH-149055)
...
Co-authored-by: Peter Bierma <zintensitydev@gmail.com>
2026-05-05 09:18:04 +02:00
Victor Stinner
5dd5c8b5a6
gh-148675: Remove F and D formats from array and memoryview (GH-149368)
2026-05-04 17:26:30 +02:00
Victor Stinner
6e6f9053e3
gh-148675: Add Zd/Zf formats to array, ctypes, memoryview, struct ( #148676 )
...
* Add Zd/Zf format support to array, memoryview and struct.
* ctypes: Replace F/D/G complex format with Zf/Zd/Zg.
* Modify array, ctypes and struct modules to support format strings
longer than 1 character (such as "Zd").
* Change array.typecodes type from str to tuple.
2026-05-04 16:14:23 +02:00
Kumar Aditya
5847931d11
gh-143732: allow dict subclasses to be specialized (GH-148128)
2026-05-04 09:39:03 +01:00
Mazin Sharaf
1fc2b38d63
GH-148189: Fix miscalculation of type-specific free list memory use ( #148190 )
...
* Fix calculation of PyListObject size in allocator
* Fix size calculation in _PyDict_DebugMallocStats
* Fix memory size calculation in tupleobject.c
Adjusted memory calculation for PyTupleObject freelist entries.
* Revert in tupleobject.c
Removed unnecessary comment regarding memory calculation and the memory calculation itself.
* 📜 🤖 Added by blurb_it.
* Update tupleobject.c
---------
Co-authored-by: blurb-it[bot] <43283697+blurb-it[bot]@users.noreply.github.com>
2026-05-02 22:03:13 -05:00
Neko Asakura
7c9ad27dd1
gh-148871: extend and improve LOAD_COMMON_CONSTANT (GH-148971)
2026-05-02 19:59:51 +01:00
Eric Mark Martin
a65611e7f5
gh-149171: Make TypeAliasType __module__ writable ( #149172 )
...
closes #149171 .
2026-05-02 17:28:08 +00:00
Petr Viktorin
fcd53b6872
gh-145497: Use same size of static_types array in all builds (GH-149139)
...
When someone adds a new type but doesn't increment
`_Py_MAX_MANAGED_STATIC_BUILTIN_TYPES` or
`_Py_MAX_MANAGED_STATIC_EXT_TYPES`, JIT tests fail,
because JIT builds define an extra type.
But the JIT tests don't necessarily run for the commit
that causes the failure.
As a workaround, use the same size for the array for all
builds, potentially with an empty spot.
2026-05-01 09:41:28 +02:00
Maurycy Pawłowski-Wieroński
5110738779
gh-144319: Use transparent huge pages via madvise(MADV_HUGEPAGE) in pymalloc ( #144353 )
2026-04-30 22:18:07 +01:00
Jelle Zijlstra
29a92abb60
gh-148829: Implement PEP 661 ( #148831 )
...
Co-authored-by: Victorien <65306057+Viicos@users.noreply.github.com>
Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
2026-04-27 19:28:30 -07:00
sobolevn
85d3bcd4f3
gh-134690: Removed deprecated codetype.co_lnotab ( #134691 )
2026-04-25 19:13:48 +03:00
Sam Gross
4629c2215a
gh-113956: Make intern_common thread-safe in free-threaded build (gh-148886)
...
Avoid racing with the owning thread's refcount operations when
immortalizing an interned string: if we don't own it and its refcount
isn't merged, intern a copy we own instead. Use atomic stores in
_Py_SetImmortalUntracked so concurrent atomic reads are race-free.
2026-04-23 14:42:57 -04:00
Kumar Aditya
29917d51ab
gh-148907: fix performance regression in PyType_GetModuleByDef on free-threading ( #148908 )
2026-04-23 16:42:57 +05:30
KotlinIsland
04fd103713
gh-148207: add additional keywords to typing.TypeVarTuple ( #148212 )
2026-04-22 06:28:12 -07:00
Gabriele N. Tornetta
858e69eab0
gh-142186: Allow all PEP-669 events to be per-code object and disableable (GH-146182)
...
* Make the `PY_UNWIND` monitoring event available as a code-local
event to allow trapping on function exit events when an exception
bubbles up. This complements the PY_RETURN event by allowing to
catch any function exit event.
* Allow `PY_UNWIND` to be `DISABLE`d; disabling it disables the event for the whole code object.
* Do the above for `PY_THROW`, `RAISE`, `EXCEPTION_HANDLED`, and `RERAISE` events.
2026-04-22 09:08:23 +01:00
Dino Viehland
d81599eeb7
gh-148659: Export a few more functions required for external JITs ( #148704 )
...
Export a few more functions required for external JITs
2026-04-18 11:32:22 -07:00
Prakash Sellathurai
634568d030
gh-148222: Fix NULL dereference bugs in genericaliasobject.c ( #148226 )
2026-04-17 17:21:13 -07:00
Dino Viehland
2a07ff980b
gh-148659: Export some internal functions for the JIT (PEP-523) ( #148634 )
...
Export (as internal functions, not public ones) C API functions necessary to implement a JIT as a separate extension module.
2026-04-17 01:55:03 +02:00
Mark Shannon
600f4dbd54
GH-145668: Add FOR_ITER specialization for virtual iterators. Specialize GET_ITER. (GH-147967)
...
* Add FOR_ITER_VIRTUAL to specialize FOR_ITER for virtual iterators
* Add GET_ITER_SELF to specialize GET_ITER for iterators (including generators)
* Add GET_ITER_VIRTUAL to specialize GET_ITER for iterables as virtual iterators
* Add new (internal) _tp_iteritem function slot to PyTypeObject
* Put limited RESUME at start of genexpr for free-threading. Fix up exception handling in genexpr
2026-04-16 15:22:22 +01:00
Pieter Eendebak
1f6a09fb36
gh-100239: Specialize more binary operations using BINARY_OP_EXTEND (GH-128956)
2026-04-16 09:22:41 +01:00
Bénédikt Tran
69e0a78e6e
gh-148390: fix undefined behavior of memoryview(...).cast("?") ( #148454 )
2026-04-15 11:42:20 +00:00
Ken Jin
6f7bb297db
gh-146261: JIT: protect against function version changes ( #146300 )
...
Co-authored-by: Kumar Aditya <kumaraditya@python.org>
2026-04-13 02:23:47 +08:00
Sam Gross
3ab94d6842
gh-148393: Use atomic ops on _ma_watcher_tag in free threading build (gh-148397)
...
Fixes data races between dict mutation and watch/unwatch on the same dict.
2026-04-12 10:40:41 -04:00
Wulian233
e2fa10e04d
gh-148208: Fix recursion depth leak in PyObject_Print (GH-148209)
2026-04-11 17:26:18 -07:00
Kumar Aditya
d3b7b93cbb
gh-148037: remove critical section from PyCode_Addr2Line ( #148103 )
2026-04-10 17:58:17 +05:30