Misc/NEWS.d/3.14.0a6.rst
.. date: 2025-02-25-10-25-27 .. gh-issue: 128540 .. nonce: QDz3OL .. release date: 2025-03-14 .. section: macOS
Ensure web browser is launched by :func:webbrowser.open on macOS, even for
file:// URLs.
..
.. date: 2025-03-09-19-57-35 .. gh-issue: 131020 .. nonce: _c87wf .. section: Windows
:source:pylauncher <PC/launcher2.c> correctly detects a BOM when searching
for the shebang. Fix by Chris Eibl.
..
.. date: 2025-02-28-23-24-03 .. gh-issue: 130453 .. nonce: EK0Vk_ .. section: Tools/Demos
Make it possible to override default keywords in :program:pygettext.
..
.. date: 2025-02-24-21-36-23 .. gh-issue: 85012 .. nonce: 9K1U0E .. section: Tools/Demos
Correctly reset msgctxt when compiling messages in :program:msgfmt.
..
.. date: 2025-02-22-18-08-35 .. gh-issue: 130453 .. nonce: njRXG8 .. section: Tools/Demos
Extend support for specifying custom keywords in :program:pygettext.
..
.. date: 2025-02-16-19-00-00 .. gh-issue: 130195 .. nonce: 19274 .. section: Tools/Demos
Add warning messages when pygettext unimplemented -a/--extract-all
option is called.
..
.. date: 2025-02-12-23-24-37 .. gh-issue: 130057 .. nonce: TKUKI6 .. section: Tools/Demos
Add support for translator comments in :program:pygettext.py.
..
.. date: 2025-02-12-14-58-54 .. gh-issue: 130025 .. nonce: _-mp5K .. section: Tools/Demos
The iOS testbed now correctly handles symlinks used as Python framework references.
..
.. date: 2025-02-09-20-29-06 .. gh-issue: 129911 .. nonce: uMFtf1 .. section: Tools/Demos
Fix the keyword entry in the help output of :program:pygettext.
..
.. date: 2025-02-26-15-10-16 .. gh-issue: 129200 .. nonce: XH4TeC .. section: Tests
Multiple iOS testbed runners can now be started at the same time without introducing an ambiguity over simulator ownership.
..
.. date: 2025-02-20-13-50-07 .. gh-issue: 130292 .. nonce: RvK2Ou .. section: Tests
The iOS testbed will now run successfully on a machine that has not previously run Xcode tests (such as CI configurations).
..
.. date: 2025-02-20-13-39-12 .. gh-issue: 130293 .. nonce: 5igSsu .. section: Tests
The tests of terminal colorization are no longer sensitive to the value of
the TERM variable in the testing environment.
..
.. date: 2025-02-10-14-34-29 .. gh-issue: 129401 .. nonce: Cq6Ruy .. section: Tests
Fix a flaky test in test_repr_rlock that checks the representation of
:class:multiprocessing.RLock.
..
.. date: 2025-01-26-20-17-58 .. gh-issue: 126332 .. nonce: c0wUS- .. section: Tests
Add unit tests for pyrepl.
..
.. date: 2024-11-28-20-29-21 .. gh-issue: 127371 .. nonce: PeEhUd .. section: Security
Avoid unbounded buffering for
:meth:!tempfile.SpooledTemporaryFile.writelines. Previously, disk
spillover was only checked after the lines iterator had been exhausted. This
is now done after each line is written.
..
.. date: 2025-03-14-09-28-13 .. gh-issue: 131204 .. nonce: wogNEX .. section: Library
Use monospace font from System Font Stack for cross-platform support in
:class:difflib.HtmlDiff.
..
.. date: 2025-03-13-19-53-57 .. gh-issue: 131196 .. nonce: 3sBFv2 .. section: Library
Improve performance of :attr:uuid.UUID.hex and :meth:uuid.UUID.__str__ <object.__str__>.
..
.. date: 2025-03-13-07-06-22 .. gh-issue: 130940 .. nonce: i5cUI5 .. section: Library
The behavior of PyConfig.use_system_logger was modified to be enabled by
default on iOS. It remains disabled by default on macOS.
..
.. date: 2025-03-11-23-58-45 .. gh-issue: 131123 .. nonce: WB6tPh .. section: Library
Supported completions for attributes of convenience variables in :mod:pdb.
..
.. date: 2025-03-11-20-35-41 .. gh-issue: 93096 .. nonce: Jdt_8a .. section: Library
Removed undocumented CLI python -m difflib. Use python -m doctest Lib/difflib.py -v instead. Patch by Semyon Moroz.
..
.. date: 2025-03-11-08-07-07 .. gh-issue: 93096 .. nonce: DyPXUX .. section: Library
Removed undocumented -t and -v arguments of python -m pickle.
Use python -m doctest Lib/pickle.py -v instead. Patch by Semyon Moroz.
..
.. date: 2025-03-10-20-23-00 .. gh-issue: 81267 .. nonce: a39381 .. section: Library
Correct :func:time.sleep error message when an object that cannot be
interpreted as an integer or float is provided.
..
.. date: 2025-03-10-14-44-04 .. gh-issue: 93096 .. nonce: kmt59U .. section: Library
Removed undocumented -t and -v arguments of python -m pickletools. Use python -m doctest Lib/pickletools.py -v instead.
Patch by Semyon Moroz.
..
.. date: 2025-03-10-12-26-56 .. gh-issue: 131045 .. nonce: s1TssJ .. section: Library
Fix issue with __contains__, values, and pseudo-members for
:class:enum.Flag.
..
.. date: 2025-03-07-19-24-27 .. gh-issue: 130959 .. nonce: xO8vVS .. section: Library
Fix pure-Python implementation of :func:datetime.time.fromisoformat to
reject times with spaces in fractional part (for example, 12:34:56.400 +02:00), matching the C implementation. Patch by Michał Gorny.
..
.. date: 2025-03-05-20-02-21 .. gh-issue: 130806 .. nonce: o0l2FJ .. section: Library
Deleting :class:gzip.GzipFile before it is closed now emits a
:exc:ResourceWarning.
..
.. date: 2025-03-01-02-19-28 .. gh-issue: 130637 .. nonce: swet54w4rs .. section: Library
Add validation for numeric response data in poplib.POP3.stat() method
..
.. date: 2025-02-28-11-56-19 .. gh-issue: 130665 .. nonce: cfksVk .. section: Library
Only apply locale to :ref:calendar CLI <calendar-cli> when set via
--locale and not via LANG environment variable.
..
.. date: 2025-02-28-01-10-14 .. gh-issue: 130660 .. nonce: VIThEz .. section: Library
sys.ps1 and sys.ps2 are now restored after :func:code.interact
call.
..
.. date: 2025-02-26-21-21-08 .. gh-issue: 130608 .. nonce: f7ix0Y .. section: Library
Remove dirs_exist_ok argument from :meth:pathlib.Path.copy and
:meth:~pathlib.Path.copy_into. These methods are new in Python 3.14.
..
.. date: 2025-02-25-03-53-00 .. gh-issue: 130461 .. nonce: asr2dg .. section: Library
Remove .. index:: directives from the :mod:uuid module documentation.
These directives previously created entries in the general index for
:func:~uuid.getnode as well as the :func:~uuid.uuid1,
:func:~uuid.uuid3, :func:~uuid.uuid4, :func:~uuid.uuid5, and
:func:~uuid.uuid8 constructor functions.
..
.. date: 2025-02-24-14-46-20 .. gh-issue: 130379 .. nonce: lsef7A .. section: Library
The zipapp module now calculates the list of files to be added to the archive before creating the archive. This avoids accidentally including the target when it is being created in the source directory.
..
.. date: 2025-02-24-01-49-11 .. gh-issue: 82987 .. nonce: vHfQlG .. section: Library
Inline breakpoints like :func:breakpoint or :func:pdb.set_trace will
always stop the program at calling frame, ignoring the skip pattern (if
any).
..
.. date: 2025-02-22-19-44-00 .. gh-issue: 125377 .. nonce: LFTK0H .. section: Library
<tab> at the beginning of the line in :mod:pdb multi-line input will
fill in a 4-space indentation now, instead of inserting a \t character.
..
.. date: 2025-02-21-21-50-21 .. gh-issue: 125413 .. nonce: DEAD0L .. section: Library
Ensure the path returned from :meth:pathlib.Path.copy or
:meth:~pathlib.Path.move has fresh :attr:~pathlib.Path.info.
..
.. date: 2025-02-21-20-22-45 .. gh-issue: 65697 .. nonce: BLxt6y .. section: Library
stdlib configparser will now attempt to validate that keys it writes will not result in file corruption (creating a file unable to be accurately parsed by a future read() call from the same parser). Attempting a corrupting write() will raise an InvalidWriteError.
..
.. date: 2025-02-21-20-16-32 .. gh-issue: 125413 .. nonce: YJ7Msf .. section: Library
Speed up :meth:Path.copy <pathlib.Path.copy> by making better use of
:attr:~pathlib.Path.info internally.
..
.. date: 2025-02-21-10-32-05 .. gh-issue: 130285 .. nonce: C0fkh7 .. section: Library
Fix corner case for :func:random.sample allowing the counts parameter to
specify an empty population. So now, sample([], 0, counts=[]) and
sample('abc', k=0, counts=[0, 0, 0]) both give the same result as
sample([], 0).
..
.. date: 2025-02-21-09-05-44 .. gh-issue: 124703 .. nonce: AMJD4Y .. section: Library
Executing quit command in :mod:pdb will raise :exc:bdb.BdbQuit when
:mod:pdb is started from an interactive console using :func:breakpoint
or :func:pdb.set_trace.
..
.. date: 2025-02-19-20-29-33 .. gh-issue: 107773 .. nonce: 7y6Ug2 .. section: Library
Make :mod:datetime subclass :meth:~object.__repr__ consistent both
implementations. Patch by Semyon Moroz.
..
.. date: 2025-02-19-19-29-19 .. gh-issue: 130250 .. nonce: T00tql .. section: Library
Fix regression in traceback.print_last().
..
.. date: 2025-02-19-08-06-37 .. gh-issue: 123471 .. nonce: br7uyR .. section: Library
Make concurrent iterations over :class:itertools.batched safe under
free-threading.
..
.. date: 2025-02-19-01-29-16 .. gh-issue: 57537 .. nonce: 4tdVuK .. section: Library
Support breakpoints for :mod:zipimport modules on :mod:pdb
..
.. date: 2025-02-17-21-16-51 .. gh-issue: 130230 .. nonce: 9ta9P9 .. section: Library
Fix crash in :func:pow with only :class:~decimal.Decimal third argument.
..
.. date: 2025-02-17-21-01-25 .. gh-issue: 126944 .. nonce: 49YTHZ .. section: Library
Show explicit errors when required arguments of :mod:pdb commands are
missing
..
.. date: 2025-02-17-12-36-39 .. gh-issue: 127750 .. nonce: ZC-hBq .. section: Library
Improve repr of :class:functools.singledispatchmethod methods and
descriptors.
..
.. date: 2025-02-16-18-13-40 .. gh-issue: 128520 .. nonce: iZtOMz .. section: Library
Apply type conversion consistently in :class:pathlib.PurePath and
:class:~pathlib.Path methods can accept a path object as an argument, such
as :meth:~pathlib.PurePath.match and :meth:~pathlib.Path.rename. The
argument is now converted to path object if it lacks a
:meth:~pathlib.PurePath.with_segments attribute, and not otherwise.
..
.. date: 2025-02-16-10-12-27 .. gh-issue: 118761 .. nonce: TNw5ZC .. section: Library
Reverts a change in the previous release attempting to make some stdlib
imports used within the :mod:subprocess module lazy as this was causing
errors during __del__ finalizers calling methods such as terminate,
or kill, or send_signal.
..
.. date: 2025-02-16-08-56-48 .. gh-issue: 130164 .. nonce: vvoaU2 .. section: Library
Fixed failure to raise :exc:TypeError in :meth:inspect.Signature.bind
for positional-only arguments provided by keyword when a variadic keyword
argument (e.g. **kwargs) is present.
..
.. date: 2025-02-15-12-36-49 .. gh-issue: 130151 .. nonce: 3IFumF .. section: Library
Fix reference leaks in :func:!_hashlib.hmac_new and
:func:!_hashlib.hmac_digest. Patch by Bénédikt Tran.
..
.. date: 2025-02-15-07-50-37 .. gh-issue: 130145 .. nonce: I0CkV0 .. section: Library
Fix :meth:!asyncio.AbstractEventloop.run_forever when another loop is
already running.
..
.. date: 2025-02-15-01-37-47 .. gh-issue: 130139 .. nonce: gntc7B .. section: Library
Fix bug where :func:ast.parse did not error on AST input which is not of
the correct type, when called with optimize=False.
..
.. date: 2025-02-14-23-38-03 .. gh-issue: 127260 .. nonce: dXQ8P0 .. section: Library
Forbid the use of colon (":") as a fractional component separator and other
improvements to the consistency of error raising between the C and Python
implementations of :meth:datetime.time.fromisoformat and
:meth:datetime.datetime.fromisoformat. Patch by Semyon Moroz.
..
.. date: 2025-02-13-15-10-56 .. gh-issue: 85795 .. nonce: jeXXI9 .. section: Library
Using :func:super and __class__ :term:closure variable in
user-defined methods of :class:typing.NamedTuple subclasses is now
explicitly prohibited at runtime. Contributed by Bartosz Sławecki in
:gh:130082.
..
.. date: 2025-02-13-02-03-38 .. gh-issue: 118761 .. nonce: le_qEg .. section: Library
Improve import time of :mod:cmd by lazy importing :mod:inspect and
removing :mod:string. Patch by Semyon Moroz.
..
.. date: 2025-02-12-12-38-24 .. gh-issue: 129726 .. nonce: jB0sxu .. section: Library
Fix :class:gzip.GzipFile raising an unraisable exception during garbage
collection when referring to a temporary object by breaking the reference
loop with :mod:weakref.
..
.. date: 2025-02-11-18-37-26 .. gh-issue: 127750 .. nonce: 41SDhF .. section: Library
Remove broken :func:functools.singledispatchmethod caching introduced in
:gh:85160. Achieve the same performance using different optimization.
..
.. date: 2025-02-11-06-42-17 .. gh-issue: 129948 .. nonce: ZcugY9 .. section: Library
Add support for shared :class:set to
:class:multiprocessing.managers.SyncManager via :meth:SyncManager.set() <multiprocessing.managers.SyncManager.set>.
..
.. date: 2025-02-10-19-16-48 .. gh-issue: 129965 .. nonce: B6wik0 .. section: Library
Update MIME types for .avi and .wav. Add MIME types for .docx,
.pptx, .xlsx, .epub, .flac, .m4a, .odg, .odp,
.ods, .odt, .oga, .ogg, .ogx and .weba. Patch by
Hugo van Kemenade.
..
.. date: 2025-02-10-09-45-49 .. gh-issue: 129889 .. nonce: PBHXU5 .. section: Library
Support context manager protocol by :class:contextvars.Token. Patch by
Andrew Svetlov.
..
.. date: 2025-02-08-15-13-43 .. gh-issue: 97850 .. nonce: jQ0CvW .. section: Library
Update the deprecation warning of importlib.abc.Loader.load_module.
..
.. date: 2025-02-05-15-17-31 .. gh-issue: 129678 .. nonce: GIUrmV .. section: Library
:class:configparser.ConfigParser: do not write an empty unnamed section
..
.. date: 2025-02-02-23-47-35 .. gh-issue: 128641 .. nonce: GFs673 .. section: Library
Restore :meth:configparser.ConfigParser.read performance.
..
.. date: 2025-02-02-16-30-27 .. gh-issue: 129569 .. nonce: i0kPOG .. section: Library
Fix :func:unicodedata.normalize to always return a built-in :class:str
object when given an input of a :class:str subclass, regardless of whether
the string is already normalized.
..
.. date: 2025-01-30-22-49-42 .. gh-issue: 128231 .. nonce: SuEC18 .. section: Library
Execution of multiple statements in the new REPL now stops immediately upon the first exception encountered. Patch by Bartosz Sławecki.
..
.. date: 2025-01-26-19-35-06 .. gh-issue: 96092 .. nonce: mMg3gL .. section: Library
Fix bug in :func:traceback.walk_stack called with None where it was
skipping more frames than in prior versions. This bug fix also changes
walk_stack to walk the stack in the frame where it was called rather than
where it first gets used.
..
.. date: 2025-01-26-15-35-53 .. gh-issue: 129288 .. nonce: wB3uxU .. section: Library
Add optional l2_cid and l2_bdaddr_type fields to :mod:socket
BTPROTO_L2CAP sockaddr tuple.
..
.. date: 2025-01-15-12-04-30 .. gh-issue: 128703 .. nonce: 6WPf38 .. section: Library
Fix :func:mimetypes.guess_type to use default mapping for empty
Content-Type in registry.
..
.. date: 2025-01-08-15-14-17 .. gh-issue: 128647 .. nonce: GabglU .. section: Library
Eagerly write to buffers passed to :class:gzip.GzipFile's
:meth:~io.BufferedIOBase.readinto and :meth:~io.BufferedIOBase.readinto1
implementations, avoiding unnecessary allocations. Patch by Chris
Markiewicz.
..
.. date: 2024-12-23-17-00-35 .. gh-issue: 128184 .. nonce: cRQvgM .. section: Library
Improve display of :class:annotationlib.ForwardRef object within
:class:inspect.Signature representations. This also fixes a
:exc:NameError that was raised when using :func:dataclasses.dataclass on
classes with unresolvable forward references.
..
.. date: 2024-12-17-18-53-21 .. gh-issue: 128041 .. nonce: W96kAr .. section: Library
Add :meth:concurrent.futures.ProcessPoolExecutor.terminate_workers and
:meth:concurrent.futures.ProcessPoolExecutor.kill_workers as ways to
terminate or kill all living worker processes in the given pool.
(Contributed by Charles Machalow in :gh:130849.)
..
.. date: 2024-12-05-19-54-16 .. gh-issue: 127647 .. nonce: Xd78Vs .. section: Library
Add protocols :class:io.Reader and :class:io.Writer as alternatives to
:class:typing.IO, :class:typing.TextIO, and :class:typing.BinaryIO.
..
.. date: 2024-11-27-23-29-05 .. gh-issue: 109798 .. nonce: OPj1CT .. section: Library
Added additional information into error messages in :mod:datetime, and
made the messages more consistent between the C and Python implementations.
Patch by Semyon Moroz.
..
.. date: 2024-10-20-13-01-05 .. gh-issue: 125746 .. nonce: wDLTay .. section: Library
Delay deprecated :meth:!zipimport.zipimporter.load_module removal time to
3.15. Use :meth:zipimport.zipimporter.exec_module instead.
..
.. date: 2024-10-18-10-27-54 .. gh-issue: 74028 .. nonce: 4d4vVD .. section: Library
Add the optional buffersize parameter to
:meth:concurrent.futures.Executor.map to limit the number of submitted
tasks whose results have not yet been yielded. If the buffer is full,
iteration over the iterables pauses until a result is yielded from the
buffer.
..
.. date: 2024-10-05-13-25-07 .. gh-issue: 124927 .. nonce: uzNA32 .. section: Library
Non-printing characters are now properly handled in the new REPL.
..
.. date: 2024-09-16-17-03-52 .. gh-issue: 124096 .. nonce: znin0O .. section: Library
Turn on virtual terminal mode and enable bracketed paste in REPL on Windows console. (If the terminal does not support bracketed paste, enabling it does nothing.)
..
.. date: 2024-06-28-11-27-25 .. gh-issue: 89083 .. nonce: DKL_Sk .. section: Library
Add :func:uuid.uuid7 for generating UUIDv7 objects as specified in
:rfc:9562. Patch by Bénédikt Tran.
..
.. date: 2024-06-17-17-31-27 .. gh-issue: 89083 .. nonce: nW00Yq .. section: Library
Add :func:uuid.uuid6 for generating UUIDv6 objects as specified in
:rfc:9562. Patch by Bénédikt Tran.
..
.. date: 2024-04-30-14-03-09 .. gh-issue: 117151 .. nonce: yt2H8c .. section: Library
Increase io.DEFAULT_BUFFER_SIZE from 8k to 128k and adjust :func:open
on platforms where :meth:os.fstat provides a st_blksize field (such as
Linux) to use max(min(blocksize, 8 MiB), io.DEFAULT_BUFFER_SIZE) rather
than always using the device block size. This should improve I/O
performance. Patch by Romain Morotti.
..
.. date: 2023-06-08-07-56-05 .. gh-issue: 105499 .. nonce: 7jV6cP .. section: Library
Make :class:types.UnionType an alias for :class:typing.Union. Both int | str and Union[int, str] now create instances of the same type. Patch
by Jelle Zijlstra.
..
.. date: 2022-05-28-19-41-02 .. gh-issue: 93096 .. nonce: qjUyRG .. section: Library
Document the command-line for :mod:mimetypes. It now exits with 1 on
failure instead of 0 and 2 on incorrect command-line parameters
instead of 1. Also, errors are printed to stderr instead of stdout and
their text is made tighter. Patch by Oleg Iarygin and Hugo van Kemenade.
..
.. date: 2025-02-22-02-24-39 .. gh-issue: 125722 .. nonce: zDIUFV .. section: Documentation
Require Sphinx 8.2.0 or later to build the Python documentation. Patch by Adam Turner.
..
.. date: 2025-02-21-08-44-31 .. gh-issue: 129712 .. nonce: 4AcfWQ .. section: Documentation
The wheel tags supported by each macOS universal SDK option are now documented.
..
.. date: 2025-02-16-14-57-00 .. gh-issue: 46236 .. nonce: 2HuS4S .. section: Documentation
C API: Document :c:func:PyUnicode_RSplit, :c:func:PyUnicode_Partition
and :c:func:PyUnicode_RPartition.
..
.. date: 2025-03-12-11-19-46 .. gh-issue: 131141 .. nonce: tQz594 .. section: Core and Builtins
Fix data race in :data:sys.monitoring instrumentation while registering
callback.
..
.. date: 2025-03-10-21-46-37 .. gh-issue: 130804 .. nonce: 0PpcTx .. section: Core and Builtins
Fix support of unicode characters on Windows in the new REPL.
..
.. date: 2025-03-06-22-56-02 .. gh-issue: 130932 .. nonce: QVHaKT .. section: Core and Builtins
Fix incorrect exception handling in _PyModule_IsPossiblyShadowing
..
.. date: 2025-03-05-21-52-20 .. gh-issue: 122029 .. nonce: d_z93q .. section: Core and Builtins
:func:sys.setprofile and :func:sys.settrace will not generate a
c_call event for INSTRUMENTED_CALL_FUNCTION_EX if the callable is a
method with a C function wrapped, because we do not generate c_return
event in such case.
..
.. date: 2025-03-05-15-19-21 .. gh-issue: 129964 .. nonce: jqu89w .. section: Core and Builtins
Fix JIT crash on Windows on Arm. Patch by Diego Russo and Brandt Bucher.
..
.. date: 2025-03-04-20-33-28 .. gh-issue: 130851 .. nonce: MT9j7n .. section: Core and Builtins
Fix a crash in the :term:free threading build when constructing a
:class:code object with :attr:~codeobject.co_consts that contains
instances of types that are not otherwise generated by the bytecode
compiler.
..
.. date: 2025-03-04-15-12-32 .. gh-issue: 128534 .. nonce: 3A0K3D .. section: Core and Builtins
Ensure that both left and right branches have the same source for async for loops. Add these branches to the co_branches() iterator.
..
.. date: 2025-03-03-20-33-44 .. gh-issue: 130794 .. nonce: LwtGQc .. section: Core and Builtins
Fix memory leak in the :term:free threaded <free threading> build when
resizing a shared list or dictionary from multiple short-lived threads.
..
.. date: 2025-03-03-01-21-04 .. gh-issue: 130415 .. nonce: ibOV6B .. section: Core and Builtins
Improve JIT understanding of integers in boolean context.
..
.. date: 2025-02-28-16-13-02 .. gh-issue: 130382 .. nonce: 66VTmy .. section: Core and Builtins
Fix PyRefTracer_DESTROY not being sent from :file:Python/ceval.c
Py_DECREF().
..
.. date: 2025-02-28-13-34-51 .. gh-issue: 130574 .. nonce: ujr3Vx .. section: Core and Builtins
Renumber :opcode:RESUME from 149 to 128.
..
.. date: 2025-02-27-18-48-42 .. gh-issue: 124878 .. nonce: DS0MIL .. section: Core and Builtins
Fix race conditions during runtime finalization that could lead to accessing freed memory.
..
.. date: 2025-02-27-17-05-05 .. gh-issue: 130415 .. nonce: iijvfW .. section: Core and Builtins
Improve the experimental JIT's ability to narrow boolean values based on the results of truthiness tests.
..
.. date: 2025-02-27-15-07-06 .. gh-issue: 130618 .. nonce: JTcsRB .. section: Core and Builtins
Fix a bug that was causing UnicodeDecodeError or SystemError to be
raised when using f-strings with lambda expressions with non-ASCII
characters. Patch by Pablo Galindo
..
.. date: 2025-02-27-10-47-09 .. gh-issue: 123044 .. nonce: 8182Un .. section: Core and Builtins
Make sure that the location of branch targets in match cases is in the
body, not the pattern.
..
.. date: 2025-02-26-10-32-48 .. gh-issue: 128534 .. nonce: JEiQex .. section: Core and Builtins
Add branch monitoring (BRANCH_LEFT and BRANCH_RIGHT events) for
async for loops.
..
.. date: 2025-02-24-14-25-36 .. gh-issue: 130163 .. nonce: rGpc9v .. section: Core and Builtins
Fix possible crashes related to concurrent change and use of the :mod:sys
module attributes.
..
.. date: 2025-02-23-20-48-31 .. gh-issue: 122029 .. nonce: iW8GvA .. section: Core and Builtins
INSTRUMENTED_CALL_KW will expand the method before monitoring to reflect
the actual behavior more accurately.
..
.. date: 2025-02-22-22-49-00 .. gh-issue: 130415 .. nonce: WyxBYS .. section: Core and Builtins
Improve JIT's ability to optimize strings in boolean contexts.
..
.. date: 2025-02-21-11-12-41 .. gh-issue: 130396 .. nonce: SIenSP .. section: Core and Builtins
Use actual stack limits (from :manpage:pthread_getattr_np(3)) for linux,
and other systems with _GNU_SOURCE defined, when determining limits for
C stack protection.
..
.. date: 2025-02-17-18-59-33 .. gh-issue: 128396 .. nonce: iVtoYY .. section: Core and Builtins
Fix a crash that occurs when calling :func:locals inside an inline
comprehension that uses the same local variable as the outer frame scope
where the variable is a free or cell var.
..
.. date: 2025-02-17-15-32-26 .. gh-issue: 129107 .. nonce: fPPBLw .. section: Core and Builtins
Fix two more :class:bytearray functions for :term:free threading.
..
.. date: 2025-02-17-12-48-00 .. gh-issue: 127705 .. nonce: Qad2hx .. section: Core and Builtins
Use tagged references (_PyStackRef) for the default build as well as for
the free-threading build. This has a small negative performance impact
short-term but will enable larger speedups in the future and significantly
reduce maintenance costs by allowing a single implementation of tagged
references in the future.
..
.. date: 2025-02-14-00-32-52 .. gh-issue: 130094 .. nonce: m3EF9E .. section: Core and Builtins
Fix two race conditions involving concurrent imports that could lead to
spurious failures with :exc:ModuleNotFoundError.
..
.. date: 2025-02-13-20-42-53 .. gh-issue: 129107 .. nonce: _olg-L .. section: Core and Builtins
Make :class:bytearray iterator safe under :term:free threading.
..
.. date: 2025-02-13-12-31-53 .. gh-issue: 115802 .. nonce: 0kN4xM .. section: Core and Builtins
Use the more efficient "medium" code model for JIT-compiled code on supported platforms.
..
.. date: 2025-02-13-02-39-42 .. gh-issue: 107956 .. nonce: dLguDW .. section: Core and Builtins
A build-details.json file is now install in the platform-independent
standard library directory (:pep:739 implementation).
..
.. date: 2025-02-13-00-28-43 .. gh-issue: 116042 .. nonce: 861juq .. section: Core and Builtins
Fix location for SyntaxErrors of invalid escapes in the tokenizer. Patch by Pablo Galindo
..
.. date: 2025-02-12-12-44-36 .. gh-issue: 91079 .. nonce: 8Nq08d .. section: Core and Builtins
Change C stack overflow protection to consider the amount of stack consumed, rather than a counter. This allows deeper recursion in many cases, but remains safe.
..
.. date: 2025-02-11-22-20-21 .. gh-issue: 129715 .. nonce: mopO8n .. section: Core and Builtins
Improve the experimental JIT's handling of returns to unknown callers.
..
.. date: 2025-02-11-20-38-37 .. gh-issue: 129983 .. nonce: _1Fujo .. section: Library
Fix data race in compile_template in :file:sre.c.
..
.. date: 2025-02-10-20-01-56 .. gh-issue: 129967 .. nonce: J60tEl .. section: Core and Builtins
Fix a race condition in the :term:free threading build when repr(set)
is called concurrently with set.clear().
..
.. date: 2025-02-10-11-30-13 .. gh-issue: 129953 .. nonce: wipsl_ .. section: Core and Builtins
The internal (evaluation) stack is now spilled to memory whenever execution escapes from the interpreter or JIT compiled code. This should have no observable effect in either Python or builtin extensions, but will allow various important optimizations in the future.
..
.. date: 2025-02-09-11-30-38 .. gh-issue: 129515 .. nonce: 3L3vmo .. section: Core and Builtins
Clarify syntax error messages for conditional expressions when a statement
is specified before an :keyword:if or after an :keyword:else keyword.
..
.. date: 2025-02-08-09-55-33 .. gh-issue: 129349 .. nonce: PkcG-l .. section: Core and Builtins
:meth:bytes.fromhex and :meth:bytearray.fromhex now accepts ASCII
:class:bytes and :term:bytes-like objects <bytes-like object>.
..
.. date: 2025-01-25-20-07-03 .. gh-issue: 129149 .. nonce: njeFJi .. section: Core and Builtins
Add fast path for medium-size integers in :c:func:PyLong_FromSsize_t.
Patch by Chris Eibl.
..
.. date: 2025-01-20-23-34-14 .. gh-issue: 129107 .. nonce: T5gBva .. section: Core and Builtins
Make the :type:bytearray safe under :term:free threading.
..
.. date: 2025-01-18-10-50-04 .. gh-issue: 128974 .. nonce: KltI-A .. section: Core and Builtins
Fix a crash in :meth:UnicodeError.__str__ <object.__str__> when custom
attributes implement :meth:~object.__str__ with side-effects. Patch by
Bénédikt Tran.
..
.. date: 2024-12-15-16-56-26 .. gh-issue: 126085 .. nonce: BvyEXk .. section: Core and Builtins
:class:typing.TypeAliasType now supports star unpacking.
..
.. date: 2024-10-29-23-30-35 .. gh-issue: 125331 .. nonce: quKQ7V .. section: Core and Builtins
from __future__ import barry_as_FLUFL now works in more contexts,
including when it is used in files, with the -c flag, and in the REPL
when there are multiple statements on the same line. Previously, it worked
only on subsequent lines in the REPL, and when the appropriate flags were
passed directly to :func:compile. Patch by Pablo Galindo.
..
.. date: 2024-10-19-20-22-19 .. gh-issue: 121464 .. nonce: IHwfpK .. section: Core and Builtins
Make concurrent iterations over the same :func:enumerate iterator safe
under free-threading. See Strategy for Iterators in Free Threading <https://github.com/python/cpython/issues/124397>_.
..
.. date: 2024-10-11-10-41-05 .. gh-issue: 87790 .. nonce: mlfEGl .. section: Core and Builtins
Support underscore and comma as thousands separators in the fractional part
for floating-point presentation types of the new-style string formatting
(with :func:format or :ref:f-strings). Patch by Sergey B Kirpichev.
..
.. date: 2024-09-25-13-45-01 .. gh-issue: 124445 .. nonce: zfsD7q .. section: Core and Builtins
Fix specialization of generic aliases that are generic over a
:class:typing.ParamSpec and have been specialized with a nested type
variable.
..
.. date: 2024-06-24-20-08-55 .. gh-issue: 120608 .. nonce: d75n8U .. section: Core and Builtins
Adapt :func:reversed for use in the free-threading build. The
:func:reversed is still not thread-safe in the sense that concurrent
iterations may see the same object, but they will not corrupt the
interpreter state.
..
.. date: 2022-12-21-14-28-01 .. gh-issue: 100388 .. nonce: vne8ky .. section: Library
Fix the platform._sys_version() method when __DATE__ is undefined at
buildtime by changing default buildtime datetime string to the UNIX epoch.
..
.. bpo: 44369 .. date: 2021-06-09-23-04-58 .. nonce: R7QkFv .. section: Core and Builtins
Improve syntax errors for incorrectly closed strings. Patch by Pablo Galindo
..
.. date: 2025-03-12-08-29-23 .. gh-issue: 111178 .. nonce: Jny_YJ .. section: C API
Fix :c:type:PyCMethod API: replace size_t nargs with Py_ssize_t nargs in :c:type:PyCMethod. Patch by Victor Stinner.
..
.. date: 2025-03-07-14-49-06 .. gh-issue: 130947 .. nonce: _Pw0IX .. section: C API
Add again :c:func:PySequence_Fast to the limited C API. Patch by Victor
Stinner.
..
.. date: 2025-02-19-14-41-26 .. gh-issue: 128863 .. nonce: TELwyV .. section: C API
The following private functions are deprecated and planned for removal in Python 3.18:
!_PyUnicodeWriter_Init:
replace _PyUnicodeWriter_Init(&writer) with
:c:func:writer = PyUnicodeWriter_Create(0) <PyUnicodeWriter_Create>.!_PyUnicodeWriter_Finish:
replace _PyUnicodeWriter_Finish(&writer) with
:c:func:PyUnicodeWriter_Finish(writer) <PyUnicodeWriter_Finish>.!_PyUnicodeWriter_Dealloc:
replace _PyUnicodeWriter_Dealloc(&writer) with
:c:func:PyUnicodeWriter_Discard(writer) <PyUnicodeWriter_Discard>.!_PyUnicodeWriter_WriteChar:
replace _PyUnicodeWriter_WriteChar(&writer, ch) with
:c:func:PyUnicodeWriter_WriteChar(writer, ch) <PyUnicodeWriter_WriteChar>.!_PyUnicodeWriter_WriteStr:
replace _PyUnicodeWriter_WriteStr(&writer, str) with
:c:func:PyUnicodeWriter_WriteStr(writer, str) <PyUnicodeWriter_WriteStr>.!_PyUnicodeWriter_WriteSubstring:
replace _PyUnicodeWriter_WriteSubstring(&writer, str, start, end) with
:c:func:PyUnicodeWriter_WriteSubstring(writer, str, start, end) <PyUnicodeWriter_WriteSubstring>.!_PyUnicodeWriter_WriteASCIIString:
replace _PyUnicodeWriter_WriteASCIIString(&writer, str) with
:c:func:PyUnicodeWriter_WriteUTF8(writer, str) <PyUnicodeWriter_WriteUTF8>.!_PyUnicodeWriter_WriteLatin1String:
replace _PyUnicodeWriter_WriteLatin1String(&writer, str) with
:c:func:PyUnicodeWriter_WriteUTF8(writer, str) <PyUnicodeWriter_WriteUTF8>.!_PyUnicodeWriter_Prepare: (no replacement).!_PyUnicodeWriter_PrepareKind: (no replacement).The pythoncapi-compat project <https://github.com/python/pythoncapi-compat/>__ can be used to get these
new public functions on Python 3.13 and older.
Patch by Victor Stinner.
..
.. date: 2025-02-13-00-57-05 .. gh-issue: 45325 .. nonce: Cwif9z .. section: C API
Add a new p format parameter to :c:func:Py_BuildValue that allows to
take a C integer and produce a Python :class:bool object. Patch by Pablo
Galindo.
..
.. date: 2025-03-10-10-52-25 .. gh-issue: 131035 .. nonce: KF1w4j .. section: Build
Use -flto=thin for faster build times using clang-cl on Windows. Patch
by Chris Eibl.
..
.. date: 2025-03-01-18-27-42 .. gh-issue: 130740 .. nonce: nDFSHR .. section: Build
Ensure that Python.h is included before stdbool.h unless
pyconfig.h is included before or in some platform-specific contexts.
..
.. date: 2025-02-13-19-21-41 .. gh-issue: 130090 .. nonce: 3ngJaV .. section: Build
Building with PlatformToolset=ClangCL on Windows now supports PGO
(profile guided optimization). Patch by Chris Eibl with invaluable support
from Steve Dover.
..
.. date: 2025-02-11-08-06-44 .. gh-issue: 129819 .. nonce: 7rn4dY .. section: Build
Allow building the JIT with the tailcall interpreter.
..
.. date: 2025-02-11-07-55-28 .. gh-issue: 129989 .. nonce: kaSKlD .. section: Build
Fix a bug where the tailcall interpreter was enabled when
--without-tail-call-interp was provided to the configure script.
..
.. date: 2025-02-07-21-20-21 .. gh-issue: 129838 .. nonce: fkuiEc .. section: Build
Don't redefine _Py_NO_SANITIZE_UNDEFINED when compiling with a recent
GCC version and undefined sanitizer enabled.
..
.. date: 2023-04-02-14-20-29 .. gh-issue: 82909 .. nonce: LGcZJy .. section: Build
#pragma-based linking with python3*.lib can now be switched off with
:c:expr:Py_NO_LINK_LIB. Patch by Jean-Christophe Fillion-Robin.