forked from pool/python314
8f9bb7c68059a295973876b7bcdf9f7eef6f5b4b93f85b71c6da9074d3a30130
62 Commits
| Author | SHA256 | Message | Date | |
|---|---|---|---|---|
| 8f9bb7c680 |
Accepting request 1276737 from devel:languages:python:Factory
- Update to 3.14.0~b1:
- Tools/Demos
- gh-130453: Allow passing multiple keyword arguments with
the same function name in pygettext.
- gh-130195: Add warning messages when pygettext
unimplemented -a/--extract-all option is called.
- Tests
- gh-133131: The iOS testbed will now select the most
recently released “SE-class” device for testing if a device
isn’t explicitly specified.
- gh-91048: Add ability to externally inspect all pending
asyncio tasks, even if no task is currently entered on the
event loop.
- gh-109981: The test helper that counts the list of open
file descriptors now uses the optimised /dev/fd approach on
all Apple platforms, not just macOS. This avoids crashes
caused by guarded file descriptors.
- gh-132678: Add --prioritize to -m test. This option allows
the user to specify which selected tests should execute
first, even if the order is otherwise randomized. This is
particularly useful for tests that run the longest.
- gh-131290: Tests in Lib/test can now be correctly executed
as standalone scripts.
- Security
- gh-115322: The underlying extension modules behind
readline:, subprocess, and ctypes now raise audit events
on previously uncovered code paths that could lead to file
system access related to C function calling and external
binary execution. The ctypes.call_function audit hook has
also been fixed to use an unsigned value for its function
pointer.
- Library
- gh-133490: Add color support to PDB in remote mode.
- gh-132493: Avoid eagerly evaluating annotations in
functions decorated with reprlib.recursive_repr().
- gh-130645: Add color to stdlib argparse CLIs. Patch by Hugo
van Kemenade.
- gh-119180: Make annotationlib.get_annotations() succeed
with the FORWARDREF format if evaluating the annotations
throws an exception other than NameError or AttributeError.
- gh-133351: Fix remote PDB to correctly request tab
completions for Python expressions from the server when
completing a continuation line of a multi-line Python
block.
- gh-133367: Add the --feature-version, --optimize,
and --show-empty options to the ast command-line
interface. Patch by Semyon Moroz.
- gh-133363: The cmd.Cmd class has been fixed to reliably
call the completedefault method whenever the do_shell
method is not defined and tab completion is requested for a
line beginning with !.
- gh-113081: Highlight syntax on source code in pdb.
- gh-133349: Introduced auto-indent in pdb multi-line input.
- gh-133306: Use \z instead of \Z in fnmatch.translate() and
glob.translate().
- gh-133306: Support \z as a synonym for \Z in regular
expressions.
- gh-133300: Make argparse.ArgumentParser’s suggest_on_error
a keyword-only parameter. Patch by Hugo van Kemenade.
- gh-133290: Fix attribute caching issue when setting
ctypes._Pointer._type_ in the undocumented and deprecated
ctypes.SetPointerType() function and the undocumented
set_type() method.
- gh-133223: When PDB is attached to a remote process, do a
better job of intercepting Ctrl+C and forwarding it to the
remote process.
- gh-133153: Do not complete pdb commands in interact mode of
pdb.
- gh-133139: Add the curses.assume_default_colors() function,
a refinement of the curses.use_default_colors() function
which allows to change the color pair 0.
- gh-133089: Use original timeout value for
subprocess.TimeoutExpired when the func subprocess.run()
is called with a timeout instead of sometimes a confusing
partial remaining time out value used internally on the
final wait().
- gh-133036: codecs.open() is now deprecated. Use open()
instead. Contributed by Inada Naoki.
- gh-132987: Many builtin and extension functions which
accept an unsigned integer argument, now use __index__() if
available.
- gh-124703: Set return code to 1 when aborting process from
pdb.
- gh-133005: Support passing preset option to tarfile.open()
when using 'w|xz' mode.
- gh-115032: Support for custom logging handlers with the
strm argument is deprecated and scheduled for removal in
Python 3.16. Define handlers with the stream argument
instead. Patch by Mariusz Felisiak.
- gh-132991: Add socket.IP_FREEBIND constant on Linux 2.4 and
later.
- gh-132995: Bump the version of pip bundled in ensurepip to
version 25.1.1
- gh-132933: The zipapp module now applies the filter when
creating the list of files to add, rather than waiting
until the file is being added to the archive.
- gh-121249: Always support the float complex and double
complex C types in the struct module. Patch by Sergey B
Kirpichev.
- gh-132915: fcntl.fcntl() and fcntl.ioctl() can now detect
a buffer overflow and raise SystemError. The stack and
memory can be corrupted in such case, so treat this error
as fatal.
- gh-132017: Fix error when pyrepl is suspended, then resumed
and terminated.
- gh-132893: Improved statistics.NormalDist.cdf() accuracy
for inputs smaller than the mean.
- gh-130328: Speedup pasting in PyREPL on Windows. Fix by
Chris Eibl.
- gh-132882: Fix copying of typing.Union objects containing
objects that do not support the | operator.
- gh-93696: Fixed the breakpoint display error for frozen
modules in pdb.
- gh-129965: Add MIME types for .7z, .apk, .deb, .glb, .gltf,
.gz, .m4v, .php, .rar, .rpm, .stl and .wmv. Patch by Hugo
van Kemenade.
- gh-132742: fcntl.fcntl() now supports arbitrary bytes-like
objects, not only bytes. fcntl.ioctl() now automatically
retries system calls failing with EINTR and releases the
GIL during a system call even for large bytes-like object.
- gh-132451: The CLI for the PDB debugger now accepts a -p
PID argument to allow attaching to a running process. The
process must be running the same version of Python as the
one running PDB.
- gh-125618: Add a format parameter to
annotationlib.ForwardRef.evaluate(). Evaluating annotations
in the FORWARDREF format now succeeds in more cases that
would previously have raised an exception.
- gh-132805: Fix incorrect handling of nested non-constant
values in the FORWARDREF format in annotationlib.
- gh-132734: Add new constants for Bluetooth sockets.
- gh-132673: Fix AssertionError raised on ctypes.Structure
with _align_ = 0 and _fields_ = [].
- gh-132578: Rename the threading.Thread._handle field
to avoid shadowing methods defined on subclasses of
threading.Thread.
- gh-132561: Fix the public locked method of
multiprocessing.SemLock class. Also adding 2 tests for the
derivated multiprocessing.Lock and multiprocessing.RLock
classes.
- gh-121468: Add pdb.set_trace_async() function to support
await statements in pdb.
- gh-132493: typing.Protocol now uses
annotationlib.get_annotations() when checking whether
or not an instance implements the protocol with
isinstance(). This enables support for isinstance checks
against classes with deferred annotations.
- gh-132536: Do not disable PY_THROW event in bdb because it
can’t be disabled.
- gh-132527: Include the valid typecode ‘w’ in the error
message when an invalid typecode is passed to array.array.
- gh-132099: The Bluetooth socket with the BTPROTO_HCI
protocol on Linux now accepts an address in the format of
an integer device_id, not only a tuple (device_id,).
- gh-81793: Fix os.link() on platforms (like Linux)
where the system link() function does not follow
symlinks. On Linux, it now follows symlinks by default
or if follow_symlinks=True is specified. On Windows, it
now raises an error if follow_symlinks=True is passed. On
macOS, it now raises an error if follow_symlinks=False is
passed and the system linkat() function is not available at
runtime.
- gh-132493: Support creation of typing.Protocol classes with
annotations that cannot be resolved at class creation time.
- gh-132491: Rename annotationlib.value_to_string to
annotationlib.type_repr() and provide better handling for
function objects.
- gh-132426: Add
annotationlib.get_annotate_from_class_namespace() as a
helper for accessing annotations in metaclasses, and remove
annotationlib.get_annotate_function.
- gh-70145: Add support for channels in Bluetooth HCI
protocol (BTPROTO_HCI).
- gh-131913: Add a shortcut function
multiprocessing.Process.interrupt() alongside the
existing multiprocessing.Process.terminate() and
multiprocessing.Process.kill() for an improved control over
child process termination.
- gh-132439: Fix PyREPL on Windows: characters entered via
AltGr are swallowed. Patch by Chris Eibl.
- gh-132429: Fix support of Bluetooth sockets on NetBSD
and DragonFly BSD. Add support for cid and bdaddr_type
in the BTPROTO_L2CAP address on FreeBSD. Return cid in
getsockname() for BTPROTO_L2CAP if it is not zero.
- gh-132106: QueueListener.start now raises a RuntimeError if
the listener is already started.
- gh-132417: Fix a NULL pointer dereference when a C function
called using ctypes with restype py_object returns NULL.
- gh-132385: Fix instance error suggestions trigger potential
exceptions in object.__getattr__() in traceback.
- gh-125866: Add optional add_scheme argument to
urllib.request.pathname2url(); when set to true, a complete
URL is returned. Likewise add optional require_scheme
argument to url2pathname(); when set to true, a complete
URL is accepted.
- gh-132308: A traceback.TracebackException now correctly
renders the __context__ and __cause__ attributes from
falsey Exception, and the exceptions attribute from falsey
ExceptionGroup.
- gh-130645: Add colour to argparse help output. Patch by
Hugo van Kemenade.
- gh-127495: In PyREPL, append a new entry to the
PYTHON_HISTORY file after every statement. This should
preserve command-line history after interpreter is
terminated. Patch by Sergey B Kirpichev.
- gh-129463: Comparison of annotationlib.ForwardRef objects
no longer uses the internal __code__ and __ast_node__
attributes, which are used as caches.
- gh-132250: Fixed the SystemError in cProfile when locating
the actual C function of a method raises an exception.
- gh-132064: annotationlib.get_annotations() now uses
the __annotate__ attribute if it is present, even if
__annotations__ is not present. Additionally, the function
now raises a TypeError if it is passed an object that does
not have any annotatins.
- gh-130664: Support the '_' digit separator in formatting
of the integral part of Decimal’s. Patch by Sergey B
Kirpichev.
- gh-131952: Add color output to the json CLI. Patch by Tomas
Roun.
- gh-132063: Prevent exceptions that evaluate as
falsey (namely, when their __bool__ method returns
False or their __len__ method returns 0) from being
ignored by concurrent.futures.ProcessPoolExecutor and
concurrent.futures.ThreadPoolExecutor.
- gh-132106: logging.handlers.QueueListener now implements
the context manager protocol, allowing it to be used in a
with statement.
- gh-132054: The application/yaml mime type (RFC 9512) is now
supported by mimetypes. Patch by Sasha “Nelie” Chernykh and
Hugo van Kemenade.
- gh-119605: Respect follow_wrapped for __init__() and
__new__() methods when getting the class signature for a
class with inspect.signature(). Preserve class signature
after wrapping with warnings.deprecated(). Patch by Xuehai
Pan.
- gh-118761: Improve import times by up to 33x for the shlex
module, and improve the performance of shlex.quote() by up
to 12x. Patch by Adam Turner.
- gh-85302: Add support for BTPROTO_SCO in sockets on
FreeBSD.
- gh-131757: Make functools.lru_cache() call the cached
function unlocked to allow concurrency.
- gh-131423: ssl can show descriptions for errors added in
OpenSSL 3.4.1. Patch by Bénédikt Tran.
- gh-131434: Improve error reporting for incorrect format in
time.strptime().
- gh-131524: Add help message to platform command-line
interface. Contributed by Harry Lees.
- gh-100926: Move ctypes.POINTER() types cache from
a global internal cache (_pointer_type_cache) to
the ctypes._CData.__pointer_type__ attribute of the
corresponding ctypes types. This will stop the cache from
growing without limits in some situations.
- gh-85702: If zoneinfo._common.load_tzdata is given a
package without a resource a ZoneInfoNotFoundError is
raised rather than a IsADirectoryError.
- gh-123471: Make concurrent iterations over itertools.repeat
safe under free-threading.
- gh-131127: Systems using LibreSSL now successfully build.
- gh-89157: Make the pure Python implementation of
datetime.date.fromisoformat(), only accept ASCII strings
for consistency with the C implementation.
- gh-130941: Fix configparser.ConfigParser parsing empty
interpolation with allow_no_value set to True.
- gh-110067: Make heapq max-heap functions
heapq.heapify_max(), heapq.heappush_max(),
heapq.heappop_max(), and heapq.heapreplace_max()
public. Previous underscored naming is kept for backwards
compatibility. Additionally, the missing function
heapq.heappushpop_max() has been added to both the C and
Python implementations.
- gh-129098: Fix REPL traceback reporting when using
compile() with an inexisting file. Patch by Bénédikt Tran.
- gh-130631: http.cookiejar.join_header_words() is now more
similar to the original Perl version. It now quotes the
same set of characters and always quote values that end
with "\n".
- gh-130482: Add ability to specify name for
tkinter.OptionMenu and tkinter.ttk.OptionMenu.
- gh-77065: Add keyword-only optional argument echo_char for
getpass.getpass() for optional visual keyboard feedback
support. Patch by Semyon Moroz.
- gh-130317: Fix PyFloat_Pack2() and PyFloat_Unpack2()
for NaN’s with payload. This corrects round-trip for
struct.unpack() and struct.pack() in case of the IEEE
754 binary16 “half precision” type. Patch by Sergey B
Kirpichev.
- gh-130402: Joining running daemon threads during
interpreter shutdown now raises PythonFinalizationError.
- gh-130167: Improve speed of difflib.IS_LINE_JUNK(). Patch
by Semyon Moroz.
- gh-101410: Added more detailed messages for domain errors
in the math module.
- gh-128384: Make warnings.catch_warnings use a context
variable for holding the warning filtering state if
the sys.flags.context_aware_warnings flag is set to
true. This makes using the context manager thread-safe
in multi-threaded programs. The flag is true by default
in free-threaded builds and is otherwise false. The
value of the flag can be overridden by the the -X
context_aware_warnings command-line option or by the
PYTHON_CONTEXT_AWARE_WARNINGS environment variable.
- gh-129719: Fix missing socket.CAN_RAW_ERR_FILTER constant
in the socket module on Linux systems. It was missing since
Python 3.11.
- gh-129027: Raise DeprecationWarning for
sys._clear_type_cache(). This function was deprecated in
Python 3.13 but it didn’t raise a runtime warning.
- gh-128307: Add eager_start keyword argument to
asyncio.loop.create_task()
- gh-127604: Add support for printing the C stack trace on
systems that support it via faulthandler.dump_c_stack() or
via the c_stack argument in faulthandler.enable().
- gh-127385: Add the F_DUPFD_QUERY constant to the fcntl
module.
- gh-126838: Add resolve_host keyword-only parameter to
urllib.request.url2pathname(), and fix handling of file
URLs with authorities.
- gh-82129: Fix NameError when calling
typing.get_type_hints() on a dataclasses.dataclass()
created by dataclasses.make_dataclass() with un-annotated
fields.
- gh-122559: Remove __reduce__() and __reduce_ex__() methods
that always raise TypeError in the C implementation
of io.FileIO, io.BufferedReader, io.BufferedWriter
and io.BufferedRandom and replace them with default
__getstate__() methods that raise TypeError. This restores
fine details of behavior of Python 3.11 and older versions.
- gh-122179: hashlib.file_digest() now raises BlockingIOError
when no data is available during non-blocking I/O. Before,
it added spurious null bytes to the digest.
- gh-53032: Expose decimal.IEEEContext() to support creation
of contexts corresponding to the IEEE 754 (2008) decimal
interchange formats. Patch by Sergey B Kirpichev.
- gh-120220: Deprecate the tkinter.Variable
methods trace_variable(), trace_vdelete() and
trace_vinfo(). Methods trace_add(), trace_remove() and
trace_info() can be used instead.
- gh-113539: webbrowser: Names in the BROWSER environment
variable can now refer to already registered web browsers,
instead of always generating a new browser command.
This makes it possible to set BROWSER to the value of one
of the supported browsers on macOS.
- bpo-44172: Keep a reference to original curses windows in
subwindows so that the original window does not get deleted
before subwindows.
- gh-75223: Deprecate undotted extensions in
mimetypes.MimeTypes.add_type(). Patch by Hugo van Kemenade.
- IDLE
- gh-112936: fix IDLE: no Shell menu item in single-process
mode.
- Documentation
- gh-107006: Move documentation and example code for
threading.local from its docstring to the official docs.
- gh-125142: As part of the builtin help intro text, show the
keyboard shortcuts for the new, non-basic REPL (F1, F2, and
F3).
- Core and Builtins
- gh-133336: -J is no longer reserved for use by
Jython. Patch by Adam Turner.
- gh-133261: Fix bug where the cycle GC could untrack
objects in the trashcan because they looked like they were
immortal. When objects are added to the trashcan, we take
care to ensure they keep a mortal reference count.
- gh-133346: Added experimental color theming support to the
_colorize module.
- gh-132917: For the free-threaded build, check the process
memory usage increase before triggering a full automatic
garbage collection. If the memory used has not increased
10% since the last collection then defer it.
- gh-91048: Add a new python -m asyncio ps PID command-line
interface to inspect asyncio tasks in a running Python
process. Displays a flat table of await relationships. A
variant showing a tree view is also available as python -m
asyncio pstree PID. Both are useful for debugging async
code. Patch by Pablo Galindo, Łukasz Langa, Yury Selivanov,
and Marta Gomez Macias.
- gh-133304: Workaround NaN’s “canonicalization” in
PyFloat_Pack4() and PyFloat_Unpack4() on RISC-V.
- gh-133197: Improve SyntaxError error messages for
incompatible string / bytes prefixes.
- gh-133231: Add new utilities of observing JIT compilation:
sys._jit.is_available(), sys._jit.is_enabled(), and
sys._jit.is_active().
- gh-133194: ast.parse() will no longer parse new PEP 758
syntax with older feature_version passed.
- gh-131798: Split CALL_LEN into several uops allowing the
JIT to remove them when optimizing. Patch by Diego Russo.
- gh-131798: Use sym_new_type instead of sym_new_not_null for
_BUILD_STRING, _BUILD_SET
- gh-132942: Fix two races in the type lookup cache. This
affected the free-threaded build and could cause crashes
(apparently quite difficult to trigger).
- gh-131798: Propagate the return type of
_BINARY_OP_SUBSCR_TUPLE_INT in JIT. Patch by Tomas Roun
- gh-132952: Speed up startup with the -S argument by
importing the private _io module instead of io. This fixes
a performance regression introduced earlier in Python 3.14
development and restores performance to the level of Python
3.13.
- gh-131798: Allow the JIT to remove int guards after
_CALL_LEN by setting the return type to int. Patch by Diego
Russo
- gh-131798: Split CALL_TUPLE_1 into several uops allowing
the JIT to remove some of them. Patch by Tomas Roun
- gh-131798: Split CALL_STR_1 into several uops allowing the
JIT to remove some of them. Patch by Tomas Roun
- gh-132825: Enhance unhashable key/element error messages
for dict and set. Patch by Victor Stinner.
- gh-131591: Reset any PEP 768 remote debugging pending call
in children after os.fork() calls.
- gh-132713: Fix repr(list) race condition: hold a strong
reference to the item while calling repr(item). Patch by
Victor Stinner.
- gh-132661: Implement PEP 750 (Template Strings). Add
new syntax for t-strings and implement new
internal string.templatelib.Template and
string.templatelib.Interpolation types.
- gh-132479: Fix compiler crash in certain circumstances
where multiple module-level annotations include
comprehensions and other nested scopes.
- gh-132747: Fix a crash when calling __get__() of a method
with a None second argument.
- gh-132744: Certain calls now check for runaway recursion
and respect the system recursion limit.
- gh-132449: Syntax errors that look like misspellings of
Python keywords now provide a helpful fix suggestion for
the typo. Contributed by Pablo Galindo Salgado.
- gh-132737: Support profiling code that requires __main__,
such as pickle.
- gh-132639: Added PyLong_AsNativeBytes(),
PyLong_FromNativeBytes() and
PyLong_FromUnsignedNativeBytes() to the limited C API.
- gh-100239: Add specialisation for BINARY_OP/SUBSCR on list
and slice.
- gh-132508: Uses tagged integers on the evaluation stack
to represent the instruction offsets when reraising an
exception. This avoids the need to box the integer which
could fail in low memory conditions.
- gh-124476: Fix decoding from the locale encoding in the
C.UTF-8 locale.
- gh-131927: Compiler warnings originating from the same
module and line number are now only emitted once, matching
the behaviour of warnings emitted from user code. This can
also be configured with warnings filters.
- gh-132457: Make staticmethod() and classmethod() generic.
- gh-131798: Use sym_new_type instead of sym_new_not_null for
_BUILD_LIST, _BUILD_SET, _BUILD_MAP
- gh-131798: Split CALL_TYPE_1 into several uops allowing the
JIT to remove some of them.
- gh-132386: Fix crash when passing a dict subclass as the
globals parameter to exec().
- gh-127682: No longer call __iter__ twice when creating and
executing a generator expression. Creating a generator
expression from a non-interable will raise only when the
generator expression is executed. This brings the behavior
of generator expressions in line with other generators.
- gh-132261: The internal storage for annotations and
annotate functions on classes now uses different keys in
the class dictionary. This eliminates various edge cases
where access to the __annotate__ and __annotations__
attributes would behave unpredictably.
- gh-132284: Don’t wrap base PyCFunction slots on class
creation if not overridden.
- gh-130415: Improve the JIT’s ability to remove unused
constant and local variable loads, and fix an issue where
deallocating unused values could cause JIT code to crash or
behave incorrectly.
- gh-126703: Fix possible use after free in cases where a
method’s definition has the same lifetime as its self.
- gh-132286: Fix that type.__annotate__ was not deleted, when
type.__annotations__ was deleted.
- gh-131798: Allow the JIT to remove an extra _TO_BOOL_BOOL
instruction after _CONTAINS_OP_DICT by setting the return
type to bool.
- gh-124715: Prevents against stack overflows when calling
Py_DECREF(). Third-party extension objects no longer need
to use the “trashcan” mechanism, as protection is now built
into the Py_DECREF() macro.
- gh-131798: Allow the JIT compiler to remove some type
checks for operations on lists, tuples, dictionaries, and
sets.
- gh-128398: Improve error message when an object supporting
the synchronous (resp. asynchronous) context manager
protocol is entered using async with (resp. with) instead
of with (resp. async with). Patch by Bénédikt Tran.
- gh-131798: Allow the JIT to remove unicode guards after
_BINARY_OP_SUBSCR_STR_INT by setting the return type to
string.
- gh-131878: Handle uncaught exceptions in the main input
loop for the new REPL.
- gh-131878: Fix support of unicode characters with two or
more codepoints on Windows in the new REPL.
- gh-126835: Move constant folding to the peephole
optimizer. Rename AST optimization related files
(Python/ast_opt.c -> Python/ast_preprocess.c), structs
(_PyASTOptimizeState -> _PyASTPreprocessState) and
functions (_PyAST_Optimize -> _PyAST_Preprocess,
_PyCompile_AstOptimize -> _PyCompile_AstPreprocess).
- gh-114809: Add support for macOS multi-arch builds with the
JIT enabled
- gh-131507: PyREPL now supports syntax
highlighing. Contributed by Łukasz Langa.
- gh-130907: If the __annotations__ of a module object
are accessed while the module is executing, return the
annotations that have been defined so far, without caching
them.
- gh-130104: Three-argument pow() now try calling __rpow__()
if necessary. Previously it was only called in two-argument
pow() and the binary power operator.
- gh-130070: Fixed an assertion error for exec() passed a
string source and a non-None closure. Patch by Bartosz
Sławecki.
- gh-129958: Fix a bug that was allowing newlines
inconsitently in format specifiers for single-quoted
f-strings. Patch by Pablo Galindo.
- gh-129858: elif statements that follow an else block now
have a specific error message.
- gh-69605: Add module autocomplete to PyREPL.
- gh-128555: Add the sys.flags.thread_inherit_context flag.
- This flag is set to true by default on the
free-threaded build and false otherwise. If the flag
is true, starting a new thread using threading.Thread
will, by default, use a copy of the contextvars.Context
from the caller of threading.Thread.start() rather than
using an empty context.
- Add the -X thread_inherit_context command-line option
and PYTHON_THREAD_INHERIT_CONTEXT environment variable,
which set the thread_inherit_context flag.
- Add the context keyword parameter to Thread. It can be
used to explicitly pass a context value to be used by a
new thread.
- Make the _contextvars module built-in.
- gh-123539: Improve SyntaxError message for using import ...
as and from ... import ... as with not a name.
- gh-102567: -X importtime now accepts value 2, which
indicates that an importtime entry should also be printed
if an imported module has already been loaded. Patch by
Noah Kim and Adam Turner.
- gh-116436: Improve error message when TypeError occurs
during dict.update()
- gh-103997: String arguments passed to “-c” are now
automatically dedented as if by textwrap.dedent(). This
allows “python -c” invocations to be indented in shell
scripts without causing indentation errors. (Patch by Jon
Crall and Steven Sun)
- gh-89562: Remove hostflags member from PySSLContext struct.
- C API
- gh-133166: Fix regression where PyType_GetModuleByDef()
returns NULL without setting TypeError when a static type
is passed.
- gh-133164: Add
PyUnstable_Object_IsUniqueReferencedTemporary() function
for determining if an object exists as a unique temporary
variable on the interpreter’s stack. This is a replacement
for some cases where checking that Py_REFCNT() is one is
no longer sufficient to determine if it’s safe to modify a
Python object in-place with no visible side effects.
- gh-133140: Add PyUnstable_Object_IsUniquelyReferenced()
as a replacement for Py_REFNCT(op) == 1 on free threaded
builds of Python.
- gh-131747: On non-Windows platforms, deprecate using
ctypes.Structure._pack_ to use a Windows-compatible layout
on non-Windows platforms. The layout should be specified
explicitly by setting ctypes.Structure._layout_ to 'ms'.
- gh-128972: For non-free-threaded builds, the memory layout
of PyASCIIObject is reverted to match Python 3.13. (Note
that the structure is not part of stable ABI and so its
memory layout is guaranteed to remain stable.)
- gh-133079: The undocumented APIs Py_C_RECURSION_LIMIT and
PyThreadState.c_recursion_remaining, added in 3.13, are
removed without a deprecation period.
- gh-132987: The k and K formats in PyArg_Parse() now support
the __index__() special method, like all other integer
formats.
- gh-132909: Fix an overflow when handling the K format in
Py_BuildValue(). Patch by Bénédikt Tran.
- gh-132798: Deprecated and undocumented
functions PyUnicode_AsEncodedObject(),
PyUnicode_AsDecodedObject(), PyUnicode_AsEncodedUnicode()
and PyUnicode_AsDecodedUnicode() are scheduled for removal
in 3.15.
- gh-132470: Creating a ctypes.CField with a byte_size that
does not match the actual type size now raises a ValueError
instead of crashing the interpreter.
- gh-112068: Add support of nullable arguments in
PyArg_Parse() and similar functions. Adding ? after any
format unit makes None be accepted as a value.
- gh-50333: Non-tuple sequences are deprecated as argument
for the (items) format unit in PyArg_ParseTuple() and other
argument parsing functions if items contains format units
which store a borrowed buffer or a borrowed reference.
- Build
- gh-113464: Use the cpython-bin-deps “externals” repository
for Windows LLVM dependency management. Installing LLVM
manually is no longer necessary for Windows JIT builds.
- gh-133183: iOS compiler shims now include
IPHONEOS_DEPLOYMENT_TARGET in target triples, ensuring that
SDK version minimums are honored.
- gh-133167: Fix compilation process with
--enable-optimizations and --without-docstrings.
- gh-133171: Since free-threaded builds do not support the
experimental JIT compiler, prevent these configurations
from being combined.
- gh-132758: Fix building with tail call interpreter and
pystats.
- gh-132649: The PClayout script now allows passing
--include-tcltk on Windows ARM64.
- gh-132257: Change the default LTO flags on GCC to not
pass -flto-partition=none, and allow parallelization of
LTO. For newer GNU makes and GCC, this has a multiple
factor speedup for LTO build times, with no noticeable loss
in performance.
- gh-132026: Fix use of undefined identifiers in platform
triplet detection on MIPS Linux platforms.
- Disabled GIL and experimental JIT cannot be combined.
- Remove python-3.3.0b1-test-posix_fadvise.patch (not needed
since kernel 3.6-rc1)
- _contextvars is not a dynamic module any more
(gh#python/cpython#128384)
- rename _testexternalinspection to _remotedebugging
(gh#python/cpython!133284)
OBS-URL: https://build.opensuse.org/request/show/1276737
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=9
|
|||
| b22a5b6895 |
remove string from general
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=62 |
|||
| fb2d2de9c8 |
compression should go general
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=61 |
|||
| 219d04a564 |
try
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=60 |
|||
| bcecd415f0 |
try
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=59 |
|||
| 00c73b878c |
try
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=58 |
|||
| ffa51c1d70 |
- rename _testexternalinspection to _remotedebugging
(gh#python/cpython!133284) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=57 |
|||
| bd8190196b |
- Remove python-3.3.0b1-test-posix_fadvise.patch (not needed
since kernel 3.6-rc1) - _contextvars is not a dynamic module any more (gh#python/cpython#128384) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=56 |
|||
| ce7b31e84c |
- Remove python-3.3.0b1-test-posix_fadvise.patch (not needed
since kernel 3.6-rc1) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=55 |
|||
| 2dd8922f18 |
- Disabled GIL and experimental JIT cannot be combined.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=54 |
|||
| 0b9e0525eb |
- Update to 3.14.0~b1:
- Tools/Demos
- gh-130453: Allow passing multiple keyword arguments with
the same function name in pygettext.
- gh-130195: Add warning messages when pygettext
unimplemented -a/--extract-all option is called.
- Tests
- gh-133131: The iOS testbed will now select the most
recently released “SE-class” device for testing if a device
isn’t explicitly specified.
- gh-91048: Add ability to externally inspect all pending
asyncio tasks, even if no task is currently entered on the
event loop.
- gh-109981: The test helper that counts the list of open
file descriptors now uses the optimised /dev/fd approach on
all Apple platforms, not just macOS. This avoids crashes
caused by guarded file descriptors.
- gh-132678: Add --prioritize to -m test. This option allows
the user to specify which selected tests should execute
first, even if the order is otherwise randomized. This is
particularly useful for tests that run the longest.
- gh-131290: Tests in Lib/test can now be correctly executed
as standalone scripts.
- Security
- gh-115322: The underlying extension modules behind
readline:, subprocess, and ctypes now raise audit events
on previously uncovered code paths that could lead to file
system access related to C function calling and external
binary execution. The ctypes.call_function audit hook has
also been fixed to use an unsigned value for its function
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=53
|
|||
| 8ed89cbb85 |
Accepting request 1273280 from devel:languages:python:Factory
- Update to 3.14.0~a7:
- Tools/Demos
- gh-132121: Always escape non-printable Unicode characters in
pygettext.
- gh-131852: msgfmt no longer adds the POT-Creation-Date to
generated .mo files for consistency with GNU msgfmt.
- Tests
- gh-131277: Allow to unset one or more environment variables
at once via EnvironmentVarGuard.unset(). Patch by Bénédikt
Tran.
- gh-131050: test_ssl.test_dh_params is skipped if the
underlying TLS library does not support finite-field
ephemeral Diffie-Hellman.
- Security
- gh-131809: Update bundled libexpat to 2.7.1
- gh-131261: Upgrade to libexpat 2.7.0
- gh-121284: Fix bug in the folding of rfc2047 encoded-words
when flattening an email message using a modern email
policy. Previously when an encoded-word was too long for
a line, it would be decoded, split across lines, and
re-encoded. But commas and other special characters in the
original text could be left unencoded and unquoted. This
could theoretically be used to spoof header lines using a
carefully constructed encoded-word if the resulting rendered
email was transmitted or re-parsed.
- Library
- gh-132174: Fix function name in error message of
_interpreters.run_string.
- gh-132171: Fix crash of _interpreters.run_string on string
subclasses.
OBS-URL: https://build.opensuse.org/request/show/1273280
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=8
|
|||
| 4a9e333027 |
Another attempt to fix %files
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=51 |
|||
| e3c6266f22 |
Fix hmac %files
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=50 |
|||
| 4a7c0d6f4d |
_hmac is conditional
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=49 |
|||
| a14458a112 |
Fix %files
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=48 |
|||
| c92dd19832 |
Fix typo
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=47 |
|||
| 5b45f7d9c2 |
Fix typo
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=46 |
|||
| 5e9c8316a3 |
Fix version of clang
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=45 |
|||
| 3ed435649a |
- Update to 3.14.0~a7:
- Tools/Demos
- gh-132121: Always escape non-printable Unicode characters in
pygettext.
- gh-131852: msgfmt no longer adds the POT-Creation-Date to
generated .mo files for consistency with GNU msgfmt.
- Tests
- gh-131277: Allow to unset one or more environment variables
at once via EnvironmentVarGuard.unset(). Patch by Bénédikt
Tran.
- gh-131050: test_ssl.test_dh_params is skipped if the
underlying TLS library does not support finite-field
ephemeral Diffie-Hellman.
- Security
- gh-131809: Update bundled libexpat to 2.7.1
- gh-131261: Upgrade to libexpat 2.7.0
- gh-121284: Fix bug in the folding of rfc2047 encoded-words
when flattening an email message using a modern email
policy. Previously when an encoded-word was too long for
a line, it would be decoded, split across lines, and
re-encoded. But commas and other special characters in the
original text could be left unencoded and unquoted. This
could theoretically be used to spoof header lines using a
carefully constructed encoded-word if the resulting rendered
email was transmitted or re-parsed.
- Library
- gh-132174: Fix function name in error message of
_interpreters.run_string.
- gh-132171: Fix crash of _interpreters.run_string on string
subclasses.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=44
|
|||
| f52da509da |
Accepting request 1251945 from devel:languages:python:Factory
- Skip PGO with %want_reproducible_builds (bsc#1239210). OBS-URL: https://build.opensuse.org/request/show/1251945 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=7 |
|||
| b459adb683 |
Fix bug reference in the changelog
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=42 |
|||
| 67f03bbbc0 |
Accepting request 1251861 from home:bmwiedemann:branches:devel:languages:python:Factory
Skip PGO with %want_reproducible_builds (boo#1040589) OBS-URL: https://build.opensuse.org/request/show/1251861 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=41 |
|||
| 35eb81a93f |
Accepting request 1245486 from devel:languages:python:Factory
- Update to the fifth development version of 3.14.0:
- Tools/Demos
- gh-129248: The iOS test runner now strips the log prefix
from each line output by the test suite.
- gh-104400: Fix several bugs in extraction by switching to
an AST parser in pygettext.
- Tests
- gh-129386: Add test.support.reset_code, which can be used
to reset various bytecode-level optimizations and local
instrumentation for a function.
- gh-128474: Disable test_embed test cases that segfault on
BOLT instrument binaries. The tests are only disabled when
BOLT is enabled.
- gh-128003: Add an option --parallel-threads=N to the
regression test runner that runs individual tests in
multiple threads in parallel in order to find concurrency
bugs. Note that most of the test suite is not yet reviewed
for thread-safety or annotated with @thread_unsafe when
necessary.
- Security
- gh-105704: When using urllib.parse.urlsplit() and
urllib.parse.urlparse() host parsing would not reject
domain names containing square brackets ([ and ]). Square
brackets are only valid for IPv6 and IPvFuture hosts
according to RFC 3986 Section 3.2.2. (bsc#1236705,
CVE-2025-0938, gh#python/cpython#105704).
- gh-126108: Fix a possible NULL pointer dereference in
PySys_AddWarnOptionUnicode().
- gh-80222: Fix bug in the folding of quoted strings
when flattening an email message using a modern email
policy. Previously when a quoted string was folded so
that it spanned more than one line, the surrounding
quotes and internal escapes would be omitted. This could
theoretically be used to spoof header lines using a
carefully constructed quoted string if the resulting
rendered email was transmitted or re-parsed.
- gh-119511: Fix a potential denial of service in the imaplib
module. When connecting to a malicious server, it could
cause an arbitrary amount of memory to be allocated. On
many systems this is harmless as unused virtual memory is
only a mapping, but if this hit a virtual address size
limit it could lead to a MemoryError or other process
crash. On unusual systems or builds where all allocated
memory is touched and backed by actual ram or storage
it could’ve consumed resources doing so until similarly
crashing.
- Library
- gh-129939: Comparison pages with highlighted changes
generated by the difflib.HtmlDiff class now support dark
mode.
- gh-129928: Raise sqlite3.ProgrammingError if a user-defined
SQL function with invalid number of parameters is
created. Patch by Erlend Aasland.
- gh-129583: Update bundled pip to 25.0.1
- gh-129766: Fix crash in warnings, when calling
_release_lock() with no existing lock.
- gh-129005: _pyio.FileIO.readall() now allocates, resizes,
and fills a data buffer using the same algorithm
_io.FileIO.readall() uses.
- gh-129646: Update the locale alias mapping in the locale
module to match the latest X Org locale alias mapping and
support new locales in Glibc 2.41.
- gh-128317: Put CLI calendar highlighting in private class,
removing highlight_day from public calendar.TextCalendar
API. Patch by Hugo van Kemenade.
- gh-129603: Fix bugs where sqlite3.Row objects could
segfault if their inherited description was set to
None. Patch by Erlend Aasland.
- gh-129559: Add bytearray.resize() method so bytearray can
be efficiently resized in place.
- gh-129502: Unlikely errors in preparing arguments for
ctypes callback are now handled in the same way as errors
raised in the callback of in converting the result of
the callback – using sys.unraisablehook() instead of
sys.excepthook() and not setting sys.last_exc and other
variables.
- gh-129403: Corrected ValueError message for asyncio.Barrier
and threading.Barrier.
- gh-129409: Fix an integer overflow in the csv module when
writing a data field larger than 2GB.
- gh-126400: Add a socket timeout keyword argument to
logging.handlers.SysLogHandler.
- gh-118761: Always lazy import warnings in threading. Patch
by Taneli Hukkinen.
- gh-118761: Improve import time of subprocess by lazy
importing locale and signal. Patch by Taneli Hukkinen.
- gh-129346: In sqlite3, handle out-of-memory when creating
user-defined SQL functions.
- gh-129005: Optimize _pyio.FileIO.readinto by avoiding
unnecessary objects and copies using os.readinto().
- gh-129195: Support reporting call graph information from
asyncio.staggered.staggered_race().
- gh-129205: Add os.readinto() to read into a buffer object
from a file descriptor.
- gh-128772: Fix pydoc for methods with the __module__
attribute equal to None.
- gh-129061: Fix FORCE_COLOR and NO_COLOR when empty
strings. Patch by Hugo van Kemenade.
- gh-92897: Scheduled the deprecation of the check_home
argument of sysconfig.is_python_build() to Python 3.15.
- gh-129064: Deprecate sysconfig.expand_makefile_vars(),
in favor of using sysconfig.get_paths() with the vars
argument.
- gh-128550: Removed an incorrect optimization relating
to eager tasks in asyncio.TaskGroup that resulted in
cancellations being missed.
- gh-128991: Release the enter frame reference within bdb
callback
- gh-118761: Reduce import time of pstats and zipfile by up
to 20%, by removing unnecessary imports to typing. Patch by
Bénédikt Tran.
- gh-128978: Fix a NameError in
sysconfig.expand_makefile_vars(). Patch by Bénédikt Tran.
- gh-128961: Fix a crash when setting state on an exhausted
array.array iterator.
- gh-128894: Fix
traceback.TracebackException._format_syntax_error not to
fail on exceptions with custom metadata.
- gh-128916: Do not attempt to set SO_REUSEPORT on sockets of
address families other than AF_INET and AF_INET6, as it is
meaningless with these address families, and the call with
fail with Linux kernel 6.12.9 and newer.
- gh-118761: Improve import time of tomllib by removing
typing, string, and tomllib._types imports. Patch by Taneli
Hukkinen.
- gh-128679: tracemalloc: Fix race conditions when
tracemalloc.stop() is called by a thread, while other
threads are tracing memory allocations. Patch by Victor
Stinner.
- gh-128891: Add specialized opcodes to opcode.opname.
- gh-118761: Reduce import time of gettext by up to ten
times, by importing re on demand. In particular, re is
no longer implicitly exposed as gettext.re. Patch by Eli
Schwartz.
- gh-118761: Reduce the import time of optparse when no help
text is printed. Patch by Eli Schwartz.
- gh-128657: Fix possible extra reference when using objects
returned by hashlib.sha256() under free threading.
- gh-118761: Reduce the import time of csv by up to five
times, by importing re on demand. In particular, re is no
more implicitly exposed as csv.re. Patch by Bénédikt Tran.
- gh-128308: Support the name keyword argument
for eager tasks in asyncio.loop.create_task(),
asyncio.create_task() and asyncio.TaskGroup.create_task(),
by passing on all kwargs to the task factory set by
asyncio.loop.set_task_factory().
- gh-118761: Improve the performance of base64.b16decode()
by up to ten times by more efficiently checking the
byte-string for hexadecimal digits. Reduce the import
time of base64 by up to six times, by no longer importing
re. Patch by Bénédikt Tran, Chris Markiewicz, and Adam
Turner.
- gh-128156: When using macOS system libffi, support for
complex types in ctypes is now checked at runtime (macOS
10.15 or newer). The types must also be available at build
time.
- gh-128636: Fix PyREPL failure when os.environ is
overwritten with an invalid value.
- gh-128498: Default to stdout isatty for color detection
instead of stderr. Patch by Hugo van Kemenade.
- gh-128384: Add locking to warnings to avoid some
data races when free-threading is used. Change
_warnings_runtime_state.mutex to be a recursive mutex
and expose it to warnings, via the _acquire_lock() and
_release_lock() functions. The lock is held when filters
and _filters_version are updated.
- gh-128509: Add sys._is_immortal() for identifying immortal
objects at runtime.
- gh-128479: Fix asyncio.staggered.staggered_race() leaking
tasks and issuing an unhandled exception.
- gh-128427: uuid.NIL and uuid.MAX are now available to
represent the Nil and Max UUID formats as defined by RFC
9562.
- gh-91279: zipfile.ZipFile.writestr() now respect
SOURCE_DATE_EPOCH that distributions can set centrally
and have build tools consume this in order to produce
reproducible output.
- gh-112064: Fix incorrect handling of negative read sizes in
HTTPResponse.read. Patch by Yury Manushkin.
- gh-58956: Fixed a frame reference leak in bdb.
- gh-128131: Completely support random access of uncompressed
unencrypted read-only zip files obtained by ZipFile.open.
- gh-127975: Avoid reusing quote types in ast.unparse() if
not needed.
- gh-115514: Fix exceptions and incomplete writes after
asyncio._SelectorTransport is closed before writes are
completed.
- gh-121604: Add missing Deprecation warnings for
importlib.machinery.DEBUG_BYTECODE_SUFFIXES,
importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES,
importlib.machinery.WindowsRegistryFinder,
importlib.abc.ResourceLoader,
importlib.abc.SourceLoader.path_mtime().
- gh-127873: When -E is set, only ignore PYTHON_COLORS
and not FORCE_COLOR/NO_COLOR/TERM when colourising
output. Patch by Hugo van Kemenade.
- gh-125413: Add pathlib.Path.info attribute, which stores
an object implementing the pathlib.types.PathInfo protocol
(also new). The object supports querying the file type and
internally caching stat() results. Path objects generated
by iterdir() are initialized with file type information
gleaned from scanning the parent directory.
- gh-127712: Fix handling of the secure argument of
logging.handlers.SMTPHandler.
- gh-127096: Do not recreate unnamed section on every read in
configparser.ConfigParser. Patch by Andrey Efremov.
- gh-124369: Deprecate pdb.Pdb.curframe_locals
- gh-126332: Fix _pyrepl crash when entering a double CTRL-Z
on an overflowing line.
- gh-125553: Fix round-trip invariance for backslash
continuations in tokenize.untokenize().
- gh-91048: Add asyncio.capture_call_graph() and
asyncio.print_call_graph() functions.
- gh-124703: Quitting pdb in inline mode will emit a
confirmation prompt and exit gracefully now, instead of
printing an exception traceback.
- gh-123987: Fixed issue in NamespaceReader where a non-path
item in a namespace path, such as a sentinel added by an
editable installer, would break resource loading.
- gh-119349: Add the ctypes.util.dllist() function to list
the loaded shared libraries for the current process.
- gh-55454: Add IMAP4 IDLE support to the imaplib
module. Patch by Forest.
- gh-119257: Show tab completions menu below the current
line, which results in less janky behaviour, and fixes a
cursor movement bug. Patch by Daniel Hollas
- gh-101410: Support custom messages for domain errors in the
math module (math.sqrt(), math.log() and math.atanh() were
modified as examples). Patch by Charlie Zhao and Sergey B
Kirpichev.
- gh-81340: Use os.copy_file_range() in shutil.copy(),
shutil.copy2(), and shutil.copyfile() functions by
default. An underlying Linux system call gives filesystems
an opportunity to implement the use of copy-on-write (in
case of btrfs and XFS) or server-side copy (in the case of
NFS.) Patch by Illia Volochii.
- bpo-27307: Add attribute and item access support to
string.Formatter in auto-numbering mode, which allows
format strings like ‘{.name}’ and ‘{[1]}’.
- IDLE
- gh-129873: Simplify displaying the IDLE doc by only copying
the text section of idle.html to idlelib/help.html. Patch
by Stan Ulbrych.
- Documentation
- gh-125722: Require Sphinx 8.1.3 or later to build the
Python documentation. Patch by Adam Turner.
- gh-67206: Document that string.printable is not
printable in the POSIX sense. In particular,
string.printable.isprintable() returns False. Patch by
Bénédikt Tran.
- Core and Builtins
- gh-100239: Replace the opcode BINARY_SUBSCR and its family
by BINARY_OP with oparg NB_SUBSCR.
- gh-129732: Fixed a race in _Py_qsbr_reserve in the free
threading build.
- gh-129763: Remove the internal LLTRACE macro (use Py_DEBUG
instead).
- gh-129715: Improve JIT performance for generators.
- gh-129643: Fix thread safety of PyList_Insert() in
free-threading builds.
- gh-129668: Fix race condition when raising MemoryError in
the free threaded build.
- gh-129643: Fix thread safety of PyList_SetItem() in
free-threading builds. Patch by Kumar Aditya.
- gh-128563: Fix an issue where the “lltrace” debug feature
could have been incorrectly enabled for some frames.
- gh-129393: On FreeBSD, sys.platform doesn’t contain the
major version anymore. It is always 'freebsd', instead of
'freebsd13' or 'freebsd14'.
- gh-129345: Fix null pointer dereference in syslog.openlog()
when an audit hook raises an exception.
- gh-129231: Improve memory layout of JIT traces. Patch by
Diego Russo
- gh-129149: Add fast path for medium-size integers in
PyLong_FromUnsignedLong(), PyLong_FromUnsignedLongLong()
and PyLong_FromSize_t().
- gh-129201: The free-threaded version of the cyclic garbage
collector has been optimized to conditionally use CPU
prefetch instructions during the collection. This can
reduce collection times by making it more likely that
data is in the CPU cache when it is needed. The prefetch
instructions are enabled if the number of long-lived
objects (objects surviving a full collection) exceeds a
threshold.
- gh-129093: Fix f-strings such as f'{expr=}' sometimes not
displaying the full expression when the expression contains
!=.
- gh-124363: Treat debug expressions in f-string as raw
strings. Patch by Pablo Galindo
- gh-128714: Fix the potential races in get/set dunder
methods __annotations__, __annotate__ and __type_params__
for function object, and add related tests.
- gh-128799: Add frame of except* to traceback when it wraps
a naked exception.
- gh-128842: Collect JIT memory stats using pystats. Patch by
Diego Russo.
- gh-100239: Specialize BINARY_OP for bitwise logical
operations on compact ints.
- gh-128910: Undocumented and unused private C-API functions
_PyTrash_begin and _PyTrash_end are removed.
- gh-128807: Add a marking phase to the free-threaded
GC. This is similar to what was done in gh-126491. Since
the free-threaded GC does not have generations and is
not incremental, the marking phase looks for all objects
reachable from known roots. The roots are objects known to
not be garbage, like the module dictionary for sys. For
most programs, this marking phase should make the GC a bit
faster since typically less work is done per object.
- gh-100239: Add opcode BINARY_OP_EXTEND which executes a
pair of functions (guard and specialization functions)
accessed from the inline cache.
- gh-128563: A new type of interpreter has been added
to CPython. This interpreter uses tail calls for its
instruction handlers. Preliminary benchmark results suggest
7-11% geometric mean faster on pyperformance (depending
on platform), and up to 30% faster on Python-intensive
workloads. This interpreter currently only works on newer
compilers, such as clang-19. Other compilers will continue
using the old interpreter. Patch by Ken Jin, with ideas on
how to implement this in CPython by Mark Shannon, Garret
Gu, Haoran Xu, and Josh Haberman.
- gh-126703: Improve performance of iterating over lists and
tuples by using a freelist for the iterator objects.
- gh-127953: The time to handle a LINE event in
sys.monitoring (and sys.settrace) is now independent of the
number of lines in the code object.
- gh-128330: Restore terminal control characters on REPL
exit.
- gh-128016: Improved the SyntaxWarning message for invalid
escape sequences to clarify that such sequences will raise
a SyntaxError in future Python releases. The new message
also suggests a potential fix, i.e., Did you mean "\\e"?.
- gh-126004: Fix handling of UnicodeError.start and
UnicodeError.end values in the codecs.replace_errors()
error handler. Patch by Bénédikt Tran.
- gh-126004: Fix handling of UnicodeError.start
and UnicodeError.end values in the
codecs.backslashreplace_errors() error handler. Patch by
Bénédikt Tran.
- gh-126004: Fix handling of UnicodeError.start
and UnicodeError.end values in the
codecs.xmlcharrefreplace_errors() error handler. Patch by
Bénédikt Tran.
- gh-127119: Slightly optimize the int deallocator.
- gh-127349: Fixed the error when resizing terminal in Python
REPL. Patch by Semyon Moroz.
- gh-125723: Fix crash with gi_frame.f_locals when generator
frames outlive their generator. Patch by Mikhail Efimov.
- gh-126349: Add turtle.fill(), turtle.poly() and
turtle.no_animation() context managers. Patch by Marie
Roald and Yngve Mardal Moe.
- gh-115911: If the current working directory cannot be
determined due to permissions, then import will no longer
raise PermissionError. Patch by Alex Willmer.
- gh-112713: Added support for the Partitioned cookie flag in
http.cookies.
- C API
- gh-129533: Update PyGC_Enable(), PyGC_Disable(),
PyGC_IsEnabled() to use atomic operation for thread-safety
at free-threading build. Patch by Donghee Na.
- gh-89188: Implement PyUnicode_KIND() and PyUnicode_DATA()
as function, in addition to the macros with the same
names. The macros rely on C bit fields which have
compiler-specific layout. Patch by Victor Stinner.
- gh-91417: Remove PySequence_Fast() from the limited
C API, since this function has to be used with
PySequence_Fast_GET_ITEM which never worked in the limited
C API. Patch by Victor Stinner.
- gh-128509: Add PyUnstable_IsImmortal() for determining
whether an object is immortal.
- gh-129033: Remove _PyInterpreterState_GetConfigCopy() and
_PyInterpreterState_SetConfig() private functions. Use
instead PyConfig_Get() and PyConfig_Set(), public C API
added by PEP 741 “Python Configuration C API”. Patch by
Victor Stinner.
- gh-129033: Remove the private _Py_InitializeMain()
function. It was a provisional API added to Python 3.8 by
PEP 587. Patch by Victor Stinner.
- gh-128844: Add PyUnstable_TryIncRef() and
PyUnstable_EnableTryIncRef() unstable APIs. These
are helpers for dealing with unowned references in a
thread-safe way, particularly in the free threading build.
- gh-128911: Add PyImport_ImportModuleAttr() and
PyImport_ImportModuleAttrString() helper functions to
import a module and get an attribute of the module. Patch
by Victor Stinner.
- gh-128863: The following private functions are deprecated
and planned for removal in Python 3.18:
_PyBytes_Join(): use PyBytes_Join().
_PyDict_GetItemStringWithError(): use PyDict_GetItemStringRef().
_PyDict_Pop(): use PyDict_Pop().
_PyLong_Sign(): use PyLong_GetSign().
_PyLong_FromDigits() and _PyLong_New(): use PyLongWriter_Create().
_PyThreadState_UncheckedGet(): use PyThreadState_GetUnchecked().
_PyUnicode_AsString(): use PyUnicode_AsUTF8().
_Py_HashPointer(): use Py_HashPointer().
_Py_fopen_obj(): use Py_fopen().
The pythoncapi-compat project can be used to get these new
public functions on Python 3.13 and older. Patch by Victor Stinner.
- gh-126599: Remove some internal test APIs for the
experimental JIT compiler.
- gh-127925: Convert the decimal module to use PEP 757 C API
(export-import integers), offering some speed-up if the
integer part of the Decimal instance is small. Patch by
Sergey B Kirpichev.
- Build
- gh-129660: Drop test_embed from PGO training, whose
contribution in recent versions is considered to be
ignorable.
- gh-128902: Fix compile errors with Clang 9 and older due to
lack of __attribute__((fallthrough)) support.
- Remove upstreamed patches:
- CVE-2025-0938-sq-brackets-domain-names.patch
- 314a4-no-SO_REUSEPORT.patch
OBS-URL: https://build.opensuse.org/request/show/1245486
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=6
|
|||
| aa6f469fcc |
according to RFC 3986 Section 3.2.2. (bsc#1236705,
CVE-2025-0938, gh#python/cpython#105704). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=39 |
|||
| d5816cb839 |
- Update to the fifth development version of 3.14.0:
- Tools/Demos
- gh-129248: The iOS test runner now strips the log prefix
from each line output by the test suite.
- gh-104400: Fix several bugs in extraction by switching to
an AST parser in pygettext.
- Tests
- gh-129386: Add test.support.reset_code, which can be used
to reset various bytecode-level optimizations and local
instrumentation for a function.
- gh-128474: Disable test_embed test cases that segfault on
BOLT instrument binaries. The tests are only disabled when
BOLT is enabled.
- gh-128003: Add an option --parallel-threads=N to the
regression test runner that runs individual tests in
multiple threads in parallel in order to find concurrency
bugs. Note that most of the test suite is not yet reviewed
for thread-safety or annotated with @thread_unsafe when
necessary.
- Security
- gh-105704: When using urllib.parse.urlsplit() and
urllib.parse.urlparse() host parsing would not reject
domain names containing square brackets ([ and ]). Square
brackets are only valid for IPv6 and IPvFuture hosts
according to RFC 3986 Section 3.2.2.
- gh-126108: Fix a possible NULL pointer dereference in
PySys_AddWarnOptionUnicode().
- gh-80222: Fix bug in the folding of quoted strings
when flattening an email message using a modern email
policy. Previously when a quoted string was folded so
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=38
|
|||
| 8659ae7c2d |
Accepting request 1244271 from devel:languages:python:Factory
- Add CVE-2025-0938-sq-brackets-domain-names.patch which disallows square brackets ([ and ]) in domain names for parsed URLs (bsc#1236705, CVE-2025-0938, gh#python/cpython#105704) - Add 314a4-no-SO_REUSEPORT.patch to fix build on new kernel (gh#python/cpython#128916). - Configure externally_managed with a bcond https://en.opensuse.org/openSUSE:Python:Externally_managed bsc#1228165 - Update to the fourth development version of 3.14.0: - Tools/Demos - gh-128152: Fix a bug where Argument Clinic’s C pre-processor parser tried to parse pre-processor directives inside C comments. Patch by Erlend Aasland. - Tests - gh-128690: Temporarily do not use test_embed in PGO profile builds until the problem with test_init_pyvenv_cfg failing in some configurations is resolved. - Library - gh-128731: Fix ResourceWarning in urllib.robotparser.RobotFileParser.read(). - gh-71339: Add new assertion methods for unittest: assertHasAttr(), assertNotHasAttr(), assertIsSubclass(), assertNotIsSubclass() assertStartsWith(), assertNotStartsWith(), assertEndsWith() and assertNotEndsWith(). - gh-118761: Improve import time of pickle by 25% by removing an unnecessary regular expression. As such, re is no more implicitly available as pickle.re. Patch by Bénédikt Tran. - gh-128661: Fixes typing.evaluate_forward_ref() not showing deprecation when type_params arg is not passed. - gh-128562: Fix possible conflicts in generated tkinter widget names if the widget class name ends with a digit. - gh-128559: Improved import time of asyncio. - gh-128552: Fix cyclic garbage introduced by asyncio.loop.create_task() and asyncio.TaskGroup.create_task() holding a reference to the created task if it is eager. - gh-128340: Add internal thread safe handle to be used in asyncio.loop.call_soon_threadsafe() for thread safe cancellation. - gh-128182: Fix crash when using ctypes pointers concurrently on the free threaded build. - gh-128400: Only show the current thread in faulthandler on the free threaded build to prevent races. - gh-128400: Fix crash when using faulthandler.dump_traceback() while other threads are active on the free threaded build. - gh-128388: Fix PyREPL on Windows to support more keybindings, like the Control-← and Control-→ word-skipping keybindings and those with meta (i.e. Alt), e.g. Alt-d to kill-word or Alt-Backspace backward-kill-word. - gh-88834: Unify the instance check for typing.Union and types.UnionType: Union now uses the instance checks against its parameters instead of the subclass checks. - gh-128302: Fix xml.dom.xmlbuilder.DOMEntityResolver.resolveEntity(), which was broken by the Python 3.0 transition. - gh-128317: Highlight today in colour in calendar’s CLI output. Patch by Hugo van Kemenade. - gh-128302: Allow xml.dom.xmlbuilder.DOMParser.parse() to correctly handle xml.dom.xmlbuilder.DOMInputSource instances that only have a systemId attribute set. - gh-128151: Improve generation of UUID objects version 3, 4, 5, and 8 via their dedicated functions by 30%. Patch by Bénédikt Tran. - gh-128118: Improve performance of copy.copy() by 30% via a fast path for atomic types and container types. - gh-127946: Fix crash when modifying ctypes._CFuncPtr objects concurrently on the free threaded build. - gh-128062: Revert the font of turtledemo’s menu bar to its default value and display the shortcut keys in the correct position. - gh-128014: Fix resetting the default window icon by passing default='' to the tkinter method wm_iconbitmap(). - gh-41872: Fix quick extraction of module docstrings from a file in pydoc. It now supports docstrings with single quotes, escape sequences, raw string literals, and other Python syntax. - gh-127060: Set TERM environment variable to “dumb” to disable traceback colors in IDLE, since IDLE doesn’t understand ANSI escape sequences. Patch by Victor Stinner. - gh-126742: Fix support of localized error messages reported by dlerror(3) and gdbm_strerror in ctypes and dbm.gnu functions respectively. Patch by Bénédikt Tran. - gh-122548: Adds two new local events to sys.monitoring, BRANCH_LEFT and BRANCH_RIGHT. This allows the two arms of the branch to be disabled independently, which should hugely improve performance of branch-level coverage tools. The old branch event, BRANCH is now deprecated. - gh-127847: Fix the position when doing interleaved seeks and reads in uncompressed, unencrypted zip files returned by zipfile.ZipFile.open(). - gh-127688: Add the SCHED_DEADLINE and SCHED_NORMAL constants to the os module. - gh-83662: Add missing __class_getitem__ method to the Python implementation of functools.partial(), to make it compatible with the C version. This is mainly relevant for alternative Python implementations like PyPy and GraalPy, because CPython will usually use the C-implementation of that function. - gh-127586: multiprocessing.pool.Pool now properly restores blocked signal handlers of the parent thread when creating processes via either spawn or forkserver. - gh-98188: Fix an issue in email.message.Message.get_payload() where data cannot be decoded if the Content Transfer Encoding mechanism contains trailing whitespaces or additional junk text. Patch by Hui Liu. - gh-127529: Correct behavior of asyncio.selector_events.BaseSelectorEventLoop._accept_connection() in handling ConnectionAbortedError in a loop. This improves performance on OpenBSD. - gh-127360: When a descriptive error message cannot be provided for an ssl.SSLError, the “unknown error” message now shows the internal error code (as retrieved by ERR_get_error and similar OpenSSL functions). - gh-127196: Fix crash when dict with keys in invalid encoding were passed to several functions in _interpreters module. - gh-124130: Fix a bug in matching regular expression \B in empty input string. Now it is always the opposite of \b. To get an old behavior, use (?!\A\Z)\B. To get a new behavior in old Python versions, use (?!\b). - gh-126639: tempfile.NamedTemporaryFile will now issue a ResourceWarning when it is finalized by the garbage collector without being explicitly closed. - gh-126624: Expose error code XML_ERROR_NOT_STARTED of Expat >=2.6.4 in xml.parsers.expat.errors. - gh-126225: getopt and optparse are no longer marked as deprecated. There are legitimate reasons to use one of these modules in preference to argparse, and none of these modules are at risk of being removed from the standard library. Of the three, argparse remains the recommended default choice, unless one of the concerns noted at the top of the optparse module documentation applies. - gh-124761: Add SO_REUSEPORT_LB constant to socket for FreeBSD. - gh-121720: enum.EnumDict can now be used without resorting to private API. - gh-123424: Add zipfile.ZipInfo._for_archive() setting default properties on ZipInfo objects. Patch by Bénédikt Tran and Jason R. Coombs. - gh-121676: Deprecate calling the Python implementation of functools.reduce() with a function or sequence as a keyword argument. This will be forbidden in Python 3.16 in order to match the C implementation. - gh-112015: ctypes.memoryview_at() now exists to create a memoryview object that refers to the supplied pointer and length. This works like ctypes.string_at() except it avoids a buffer copy, and is typically useful when implementing pure Python callback functions that are passed dynamically-sized buffers. - gh-95371: Added support for other image formats (PNG, PGM, and PPM) to the turtle module. Patch by Shin-myoung-serp. - Core and Builtins - gh-128078: Fix a SystemError when using anext() with a default tuple value. Patch by Bénédikt Tran. - gh-128717: Fix a crash when setting the recursion limit while other threads are active on the free threaded build. - gh-124483: Treat Py_DECREF and variants as escaping when generating opcode and uop metadata. This prevents the possibility of a __del__ method causing the JIT to behave incorrectly. - gh-126703: Improve performance of class methods by using a freelist. - gh-128137: Update PyASCIIObject layout to handle interned field with the atomic operation. Patch by Donghee Na. - gh-128192: Upgrade HTTP digest authentication algorithm for urllib.request by supporting SHA-256 digest authentication as specified in RFC 7616. - gh-126868: Increase usage of freelist for int allocation. - gh-114203: Optimize Py_BEGIN_CRITICAL_SECTION for simple recursive calls. - gh-127705: Adds stackref debugging when Py_STACKREF_DEBUG Inis set. Finds all double-closes and leaks, logging the Inorigin and last borrow. spired by HPy’s debug mode. Inhttps://docs.hpyproject.org/en/latest/debug-mode.html - gh-128079: Fix a bug where except* does not properly check the return value of an ExceptionGroup’s split() function, leading to a crash in some cases. Now when split() returns an invalid object, except* raises a TypeError with the original raised ExceptionGroup object chained to it. - gh-128030: Avoid error from calling PyModule_GetFilenameObject on a non-module object when importing a non-existent symbol from a non-module object. - gh-128035: Indicate through ssl.HAS_PHA whether the ssl module supports TLSv1.3 post-handshake client authentication (PHA). Patch by Will Childs-Klein. - gh-127274: Add a new flag, CO_METHOD, to co_flags that indicates whether the code object belongs to a function defined in class scope. - gh-66409: During the path initialization, we now check if base_exec_prefix is the same as base_prefix before falling back to searching the Python interpreter directory. - gh-127970: We now use the location of the libpython runtime library used in the current proccess to determine sys.base_prefix on all platforms implementing the dladdr function defined by the UNIX standard — this includes Linux, Android, macOS, iOS, FreeBSD, etc. This was already the case on Windows and macOS Framework builds. - gh-127773: Do not use the type attribute cache for types with incompatible MRO. - gh-127903: Objects/unicodeobject.c: fix a crash on DEBUG builds in _copy_characters when there is nothing to copy. - gh-127809: Fix an issue where the experimental JIT may infer an incorrect result type for exponentiation (** and **=), leading to bugs or crashes. - gh-126862: Fix a possible overflow when a class inherits from an absurd number of super-classes. Reported by Valery Fedorenko. Patch by Bénédikt Tran. - C API - gh-128400: Py_FatalError() no longer shows all threads on the free threaded build to prevent crashes. - gh-128629: Add macros Py_PACK_VERSION() and Py_PACK_FULL_VERSION() for bit-packing Python version numbers. - gh-128008: Add PyWeakref_IsDead() function, which tests if a weak reference is dead. - gh-127350: Add Py_fopen() function to open a file. Similar to the fopen() function, but the path parameter is a Python object and an exception is set on error. Add also Py_fclose() function to close a file, function needed for Windows support. Patch by Victor Stinner. - Build - gh-128627: For Emscripten builds the function pointer cast call trampoline now uses the wasm-gc ref.test instruction if it’s available instead of Wasm JS type reflection. - gh-128472: Skip BOLT optimization of functions using computed gotos, fixing errors on build with LLVM 19. - gh-115765: GNU Autoconf 2.72 is now required to generate !configure. Patch by Erlend Aasland. - gh-123925: Fix building the curses module on platforms with libncurses but without libncursesw. - gh-90905: Add support for cross-compiling to x86_64 on aarch64/arm64 macOS. - gh-128321: Set LIBS instead of LDFLAGS when checking if sqlite3 library functions are available. This fixes the ordering of linked libraries during checks, which was incorrect when using a statically linked libsqlite3. - gh-100384: Error on unguarded-availability in macOS builds, preventing invalid use of symbols that are not available in older versions of the OS. - gh-128104: Remove Py_STRFTIME_C99_SUPPORT conditions in favor of requiring C99 strftime(3) specifier support at build time. When cross-compiling, there is no build time check and support is assumed. - gh-127951: Add option --pystats to the Windows build to enable performance statistics collection. OBS-URL: https://build.opensuse.org/request/show/1244271 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=5 |
|||
| b3baeedca9 |
- Add 314a4-no-SO_REUSEPORT.patch to fix build on new kernel
(gh#python/cpython#128916). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=36 |
|||
| fb6c6692db |
Fix changelog
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=35 |
|||
| 8b94bc8090 |
- Add CVE-2025-0938-sq-brackets-domain-names.patch which
disallows square brackets ([ and ]) in domain names for parsed URLs (bsc#1236705, CVE-2025-0938, gh#python/cpython#105704) OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=34 |
|||
| 666a05a468 |
- Configure externally_managed with a bcond
https://en.opensuse.org/openSUSE:Python:Externally_managed bsc#1228165 OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=33 |
|||
| b7a4629611 |
- Update to the fourth development version of 3.14.0:
- Tools/Demos
- gh-128152: Fix a bug where Argument Clinic’s C
pre-processor parser tried to parse pre-processor
directives inside C comments. Patch by Erlend Aasland.
- Tests
- gh-128690: Temporarily do not use test_embed in PGO profile
builds until the problem with test_init_pyvenv_cfg failing
in some configurations is resolved.
- Library
- gh-128731: Fix ResourceWarning in
urllib.robotparser.RobotFileParser.read().
- gh-71339: Add new assertion methods for unittest:
assertHasAttr(), assertNotHasAttr(), assertIsSubclass(),
assertNotIsSubclass() assertStartsWith(),
assertNotStartsWith(), assertEndsWith() and
assertNotEndsWith().
- gh-118761: Improve import time of pickle by 25% by removing
an unnecessary regular expression. As such, re is no more
implicitly available as pickle.re. Patch by Bénédikt Tran.
- gh-128661: Fixes typing.evaluate_forward_ref() not showing
deprecation when type_params arg is not passed.
- gh-128562: Fix possible conflicts in generated tkinter
widget names if the widget class name ends with a digit.
- gh-128559: Improved import time of asyncio.
- gh-128552: Fix cyclic garbage introduced
by asyncio.loop.create_task() and
asyncio.TaskGroup.create_task() holding a reference to the
created task if it is eager.
- gh-128340: Add internal thread safe handle to be used
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=32
|
|||
| 1f2a8a5568 |
Accepting request 1233306 from devel:languages:python:Factory
Automatic submission by obs-autosubmit OBS-URL: https://build.opensuse.org/request/show/1233306 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=4 |
|||
| 5305209e15 |
Fix %%files
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=30 |
|||
| 27c84829c0 |
Add _sysconfig_*.json file to %%files.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=29 |
|||
| b4a03c8ca5 |
- Update to the third development version of 3.14.0:
- Tools/Demos
- gh-126700: Add support for multi-argument gettext functions
in pygettext.py.
- Tests
- gh-127906: Test the limited C API in test_cppext. Patch by
Victor Stinner.
- gh-127637: Add tests for the dis command-line
interface. Patch by Bénédikt Tran.
- gh-126925: iOS test results are now streamed during test
execution, and the deprecated xcresulttool is no longer
used.
- gh-127076: Disable strace based system call tests when
LD_PRELOAD is set.
- gh-127076: Filter out memory-related mmap, munmap, and
mprotect calls from file-related ones when testing io
behavior using strace.
- Security
- gh-127655: Fixed the
asyncio.selector_events._SelectorSocketTransport
transport not pausing writes for the protocol when
the buffer reaches the high water mark when using
asyncio.WriteTransport.writelines().
- Library
- gh-126907: Fix crash when using atexit concurrently on the
free-threaded build.
- gh-127870: Detect recursive calls in ctypes _as_parameter_
handling. Patch by Victor Stinner.
- gh-127732: The platform module now correctly detects
Windows Server 2025.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=28
|
|||
| fce5013011 |
Accepting request 1228813 from devel:languages:python:Factory
- Update to the second development version of 3.14.0a2.
- Tools/Demos
- gh-126807: Fix extraction warnings in pygettext.py caused
by mistaking function definitions for function calls.
- gh-126167: The iOS testbed was modified so that it can be
used by third-party projects for testing purposes.
- Tests
- gh-126909: Fix test_os extended attribute tests to work on
filesystems with 1 KiB xattr size limit.
- gh-125730: Change make test to not run GUI tests by
default. Use make ci to run tests with GUI tests instead.
- gh-124295: Add translation tests to the argparse module.
- Security
- gh-126623: Upgrade libexpat to 2.6.4
- Library
- gh-85957: Add missing MIME types for images with RFCs: emf,
fits, g3fax, jp2, jpm, jpx, t38, tiff-fx and wmf. Patch by
Hugo van Kemenade.
- gh-126920: Fix the prefix and exec_prefix keys from
sysconfig.get_config_vars() incorrectly having the same
value as sys.base_prefix and sys.base_exec_prefix,
respectively, inside virtual environments. They now
accurately reflect sys.prefix and sys.exec_prefix.
- gh-67877: Fix memory leaks when regular expression matching
terminates abruptly, either because of a signal or because
memory allocation fails.
- gh-125063: marshal now supports slice objects. The marshal
format version was increased to 5.
- gh-126789: Fixed the values of sysconfig.get_config_vars(),
sysconfig.get_paths(), and their siblings when the site
initialization happens after sysconfig has built a cache
for sysconfig.get_config_vars().
- gh-126188: Update bundled pip to 24.3.1
- gh-126766: Fix issue where urllib.request.url2pathname()
failed to discard two leading slashes introducing an empty
authority section.
- gh-126705: Allow os.PathLike to be a base for Protocols.
- gh-126699: Allow collections.abc.AsyncIterator to be a base
for Protocols.
- gh-126654: Fix crash when non-dict was passed to several
functions in _interpreters module.
- gh-104745: Limit starting a patcher (from
unittest.mock.patch() or unittest.mock.patch.object()) more
than once without stopping it
- gh-126595: Fix a crash when instantiating itertools.count
with an initial count of sys.maxsize on debug builds. Patch
by Bénédikt Tran.
- gh-120423: Fix issue where urllib.request.pathname2url()
mishandled Windows paths with embedded forward slashes.
- gh-126565: Improve performances of zipfile.Path.open() for
non-reading modes.
- gh-126505: Fix bugs in compiling case-insensitive regular
expressions with character classes containing non-BMP
characters: upper-case non-BMP character did was ignored
and the ASCII flag was ignored when matching a character
range whose upper bound is beyond the BMP region.
- gh-117378: Fixed the multiprocessing "forkserver"
start method forkserver process to correctly inherit
the parent’s sys.path during the importing of
multiprocessing.set_forkserver_preload() modules in the
same manner as sys.path is configured in workers before
executing work items.
- This bug caused some forkserver module preloading to
silently fail to preload. This manifested as a performance
degration in child processes when the sys.path was required
due to additional repeated work in every worker.
- It could also have a side effect of "" remaining in
sys.path during forkserver preload imports instead of the
absolute path from os.getcwd() at multiprocessing import
time used in the worker sys.path.
- The sys.path differences between phases in the child
process could potentially have caused preload to import
incorrect things from the wrong location. We are unaware of
that actually having happened in practice.
- gh-125679: The multiprocessing.Lock and
multiprocessing.RLock repr values no longer say “unknown”
on macOS.
- gh-126476: Raise calendar.IllegalMonthError (now a subclass
of IndexError) for calendar.month() when the input month is
not correct.
- gh-126489: The Python implementation of pickle no longer
calls pickle.Pickler.persistent_id() for the result of
persistent_id().
- gh-126451: Register the contextvars.Context type to
collections.abc.Mapping.
- gh-126175: Add msg, doc, pos, lineno and colno attributes
to tomllib.TOMLDecodeError. Deprecate instantiating with
free-form arguments.
- gh-89416: Add RFC 9559 MIME types for Matroska audiovisual
container formats. Patch by Hugo van Kemenade.
- gh-126417: Register the multiprocessing.managers.DictProxy
and multiprocessing.managers.ListProxy types in
multiprocessing.managers to collections.abc.MutableMapping
and collections.abc.MutableSequence, respectively.
- gh-126390: Add support for returning intermixed options and
non-option arguments in order in getopt.gnu_getopt().
- gh-126374: Add support for options with optional arguments
in the getopt module.
- gh-126363: Speed up pattern parsing in pathlib.Path.glob()
by skipping creation of a pathlib.Path object for the
pattern.
- gh-126353: asyncio.get_event_loop() now does not implicitly
creates an event loop. It now raises a RuntimeError if
there is no set event loop. Patch by Kumar Aditya.
- gh-126313: Fix an issue in curses.napms() when
curses.initscr() has not yet been called. Patch by Bénédikt
Tran.
- gh-126303: Fix pickling and copying of os.sched_param
objects.
- gh-126138: Fix a use-after-free crash on asyncio.Task
objects whose underlying coroutine yields an object that
implements an evil __getattribute__(). Patch by Nico
Posada.
- gh-120057: Replace the os.environ.refresh() method with a
new os.reload_environ() function. Patch by Victor Stinner.
- gh-126220: Fix crash in cProfile.Profile and
_lsprof.Profiler when their callbacks were directly called
with 0 arguments.
- gh-126212: Fix issue where urllib.request.pathname2url()
and url2pathname() removed slashes from Windows DOS drive
paths and URLs.
- gh-126223: Raise a UnicodeEncodeError instead of a
SystemError upon calling _interpreters.create() with an
invalid Unicode character.
- gh-126205: Fix issue where urllib.request.pathname2url()
generated URLs beginning with four slashes (rather than
two) when given a Windows UNC path.
- gh-126156: Improved performances of creating Morsel objects
by a factor of 3.8x.
- gh-126105: Fix a crash in ast when the ast.AST._fields
attribute is deleted.
- gh-126106: Fixes a possible NULL pointer dereference in
ssl.
- gh-126080: Fix a use-after-free crash on asyncio.Task
objects for which the underlying event loop implements an
evil __getattribute__(). Reported by Nico-Posada. Patch by
Bénédikt Tran.
- gh-125322: Correct detection of complex numbers support in
libffi.
- gh-126083: Fixed a reference leak in asyncio.Task objects
when reinitializing the same object with a non-None
context. Patch by Nico Posada.
- gh-126068: Fix exceptions in the argparse module so that
only error messages for ArgumentError and ArgumentTypeError
are now translated. ArgumentError is now only used for
command line errors, not for logical errors in the
program. TypeError is now raised instead of ValueError for
some logical errors.
- gh-125413: Add pathlib.Path.scandir() method to efficiently
fetch directory children and their file attributes. This is
a trivial wrapper of os.scandir().
- gh-125984: Fix use-after-free crashes on asyncio.Future
objects for which the underlying event loop implements an
evil __getattribute__(). Reported by Nico-Posada. Patch by
Bénédikt Tran.
- gh-125926: Fix urllib.parse.urljoin() for base URI with
undefined authority. Although RFC 3986 only specify
reference resolution for absolute base URI, urljoin()
should continue to return sensible result for relative base
URI.
- gh-125969: Fix an out-of-bounds crash when an evil
asyncio.loop.call_soon() mutates the length of the internal
callbacks list. Patch by Bénédikt Tran.
- gh-125966: Fix a use-after-free crash in
asyncio.Future.remove_done_callback(). Patch by Bénédikt
Tran.
- gh-125789: Fix possible crash when mutating list of
callbacks returned by asyncio.Future._callbacks. It
now always returns a new copy in C implementation
_asyncio. Patch by Kumar Aditya.
- gh-126916: Allow the initial parameter of
functools.reduce() to be passed as a keyword
argument. Patch by Sayandip Dutta.
- gh-124452: Fix an issue in
email.policy.EmailPolicy.header_source_parse() and
email.policy.Compat32.header_source_parse() that introduced
spurious leading whitespaces into header values when the
header includes a newline character after the header name
delimiter (:) and before the value.
- gh-117941: argparse.BooleanOptionalAction now rejects
option names starting with --no-.
- gh-125884: Fixed the bug for pdb where it can’t set
breakpoints on functions with certain annotations.
- gh-125355: Fix several bugs in
argparse.ArgumentParser.parse_intermixed_args().
- The parser no longer changes temporarily during
parsing.
- Default values are not processed twice.
- Required mutually exclusive groups containing
positional arguments are now supported.
- The missing arguments report now includes the names of
all required optional and positional arguments.
- Unknown options can be intermixed with positional
arguments in parse_known_intermixed_args().
- gh-125767: super objects are now pickleable and copyable.
- gh-124969: locale.nl_langinfo(locale.ALT_DIGITS) now
returns a string again. The returned value consists of up
to 100 semicolon-separated symbols.
- gh-84850: Remove URLopener and FancyURLopener classes
from urllib.request. They had previously raised
DeprecationWarning since Python 3.3.
- gh-125666: Avoid the exiting the interpreter if a null byte
is given as input in the new REPL.
- gh-125710: [Enum] fix hashable<->nonhashable comparisons
for member values
- gh-125631: Restore ability to set persistent_id and
persistent_load attributes of instances of the Pickler and
Unpickler classes in the pickle module.
- gh-125378: Fixed the bug in pdb where after a multi-line
command, an empty line repeats the first line of the
multi-line command, instead of the full command.
- gh-125682: Reject non-ASCII digits in the Python
implementation of json.loads() conforming to the JSON
specification.
- gh-125660: Reject invalid unicode escapes for Python
implementation of json.loads().
- gh-52551: Use wcsftime() to implement time.strftime() on
Windows.
- gh-125259: Fix the notes removal logic for errors thrown in
enum initialization.
- gh-125633: Add function inspect.ispackage() to determine
whether an object is a package or not.
- gh-125614: In the FORWARDREF format of annotationlib,
fix bug where nested expressions were not returned as
annotationlib.ForwardRef format.
- gh-125590: Allow FrameLocalsProxy to delete and pop if the
key is not a fast variable.
- gh-125600: Only show stale code warning in pdb when we
display source code.
- gh-125542: Deprecate passing keyword-only prefix_chars
argument to argparse.ArgumentParser.add_argument_group().
- gh-125541: Pressing Ctrl-C while blocked in
threading.Lock.acquire(), threading.RLock.acquire(), and
threading.Thread.join() now interrupts the function call
and raises a KeyboardInterrupt exception on Windows,
similar to how those functions behave on macOS and Linux.
- gh-125519: Improve traceback if importlib.reload() is
called with an object that is not a module. Patch by Alex
Waygood.
- gh-125451: Fix deadlock when
concurrent.futures.ProcessPoolExecutor shuts down
concurrently with an error when feeding a job to a worker
process.
- gh-125115: Fixed a bug in pdb where arguments starting with
- can’t be passed to the debugged script.
- gh-125398: Fix the conversion of the VIRTUAL_ENV path in
the activate script in venv when running in Git Bash for
Windows.
- gh-125245: Fix race condition when importing
collections.abc, which could incorrectly return an empty
module.
- gh-52551: Fix encoding issues in time.strftime(), the
strftime() method of the datetime classes datetime, date
and time and formatting of these classes. Characters
not encodable in the current locale are now acceptable
in the format string. Surrogate pairs and sequence
of surrogatescape-encoded bytes are no longer
recombinated. Embedded null character no longer terminates
the format string.
- gh-124984: Fixed thread safety in ssl in the free-threaded
build. OpenSSL operations are now protected by a per-object
lock.
- gh-124651: Properly quote template strings in venv
activation scripts.
- gh-124694: We’ve added
concurrent.futures.InterpreterPoolExecutor, which allows
you to run code in multiple isolated interpreters. This
allows you to circumvent the limitations of CPU-bound
threads (due to the GIL). Patch by Eric Snow.
- This addition is unrelated to PEP 734.
- gh-58032: Deprecate the argparse.FileType type converter.
- gh-99749: Adds a feature to optionally enable suggestions
for argument choices and subparser names if mistyped by the
user.
- gh-58956: Fixed a bug in pdb where sometimes the breakpoint
won’t trigger if it was set on a function which is already
in the call stack.
- gh-124111: The tkinter module can now be built to use
either the new version 9.0.0 of Tcl/Tk or the latest
release 8.6.15 of Tcl/Tk 8. Tcl/Tk 9 includes many
improvements, both to the Tcl language and to the
appearance and utility of the graphical user interface
provided by Tk.
- gh-80958: unittest discovery supports PEP 420 namespace
packages as start directory again.
- gh-123370: Fix the canvas not clearing after running
turtledemo clock.
- gh-89083: Add uuid.uuid8() for generating UUIDv8 objects as
specified in RFC 9562. Patch by Bénédikt Tran
- gh-122549: Add platform.invalidate_caches() to invalidate
cached results.
- gh-120754: Update unbounded read calls in zipfile to
specify an explicit size putting a limit on how much data
they may read. This also updates handling around ZIP max
comment size to match the standard instead of reading
comments that are one byte too long.
- gh-121267: Improve the performance of tarfile when writing
files, by caching user names and group names.
- gh-70764: Fixed an issue where inspect.getclosurevars()
would incorrectly classify an attribute name as a global
variable when the name exists both as an attribute name and
a global variable.
- gh-118289: posixpath.realpath() now raises
NotADirectoryError when strict mode is enabled and a
non-directory path with a trailing slash is supplied.
- gh-119826: Always return an absolute path for
os.path.abspath() on Windows.
- gh-97850: Remove deprecated pkgutil.get_loader() and
pkgutil.find_loader().
- gh-118986: Add socket.IPV6_RECVERR constant (available
since Linux 2.2).
- gh-116897: Accepting objects with false values (like 0 and
[]) except empty strings, byte-like objects and None in
urllib.parse functions parse_qsl() and parse_qs() is now
deprecated.
- gh-101955: Fix SystemError when match regular expression
pattern containing some combination of possessive
quantifier, alternative and capture group.
- gh-71936: Fix a race condition in
multiprocessing.pool.Pool.
- bpo-46128: Strip unittest.IsolatedAsyncioTestCase stack
frames from reported stacktraces.
- gh-84852: Add MIME types for MS Embedded OpenType, OpenType
Layout, TrueType, WOFF 1.0 and 2.0 fonts. Patch by Sahil
Prajapati and Hugo van Kemenade.
- Documentation
- gh-126622: Added stub pages for removed modules explaining
their removal, where to find replacements, and linking to
the last Python version that supported them. Contributed by
Ned Batchelder.
- gh-125277: Require Sphinx 7.2.6 or later to build the
Python documentation. Patch by Adam Turner.
- gh-60712: Include the object type in the lists of
documented types. Change by Furkan Onder and Martin Panter.
- Core and Builtins
- gh-126795: Increase the threshold for JIT code
warmup. Depending on platform and workload, this can result
in performance gains of 1-9% and memory savings of 3-5%.
- gh-126341: Now ValueError is raised instead of SystemError
when trying to iterate over a released memoryview object.
- gh-126688: Fix a crash when calling os.fork() on some
operating systems, including SerenityOS.
- gh-126066: Fix importlib to not write an incomplete
.pyc files when a ulimit or some other operating system
mechanism is preventing the write to go through fully.
- gh-126222: Do not include count of “peek” items in
_PyUop_num_popped. This ensures that the correct number of
items are popped from the stack when a micro-op exits with
an error.
- gh-126366: Fix crash when using yield from on an object
that raises an exception in its __iter__.
- gh-126209: Fix an issue with skip_file_prefixes parameter
which resulted in an inconsistent behaviour between the C
and Python implementations of warnings.warn(). Patch by
Daehee Kim.
- gh-126312: Fix crash during garbage collection on an object
frozen by gc.freeze() on the free-threaded build.
- gh-103951: Relax optimization requirements to allow fast
attribute access to module subclasses.
- gh-126072: Following gh-126101, for Code Objects like
lambda, annotation and type alias, we no longer add None to
its co_consts.
- gh-126195: Improve JIT performance by 1.4% on macOS Apple
Silicon by using platform-specific memory protection
APIs. Patch by Diego Russo.
- gh-126139: Provide better error location when attempting to
use a future statement with an unknown future feature.
- gh-126072: Add a new attribute in co_flags to indicate
whether the first item in co_consts is the docstring. If a
code object has no docstring, None will NOT be inserted.
- gh-126076: Relocated objects such as tuple, bytes and
str objects are properly tracked by tracemalloc and its
associated hooks. Patch by Pablo Galindo.
- gh-90370: Avoid temporary tuple creation for vararg in
argument passing with Argument Clinic generated code (if
arguments either vararg or positional-only).
- gh-126018: Fix a crash in sys.audit() when passing a
non-string as first argument and Python was compiled in
debug mode.
- gh-126012: The memoryview type now supports subscription,
making it a generic type.
- gh-125837: Adds LOAD_SMALL_INT and LOAD_CONST_IMMORTAL
instructions. LOAD_SMALL_INT pushes a small integer equal
to the oparg to the stack. LOAD_CONST_IMMORTAL does the
same as LOAD_CONST but is more efficient for immortal
objects. Removes RETURN_CONST instruction.
- gh-125942: On Android, the errors setting of sys.stdout was
changed from surrogateescape to backslashreplace.
- gh-125859: Fix a crash in the free threading build when
gc.get_objects() or gc.get_referrers() is called during an
in-progress garbage collection.
- gh-125868: It was possible in 3.14.0a1 only for
attribute lookup to give the wrong value. This was
due to an incorrect specialization in very specific
circumstances. This is fixed in 3.14.0a2.
- gh-125498: The JIT has been updated to leverage Clang 19’s
new preserve_none attribute, which supports more platforms
and is more useful than LLVM’s existing ghccc calling
convention. This also removes the need to manually patch
the calling convention in LLVM IR, simplifying the JIT
compilation process.
- gh-125703: Correctly honour tracemalloc hooks in
specialized Py_DECREF paths. Patch by Pablo Galindo
- gh-125593: Use color to highlight error locations in
traceback from exception group
- gh-125017: Fix crash on certain accesses to the
__annotations__ of staticmethod and classmethod objects.
- gh-125588: The Python PEG generator can now use f-strings
in the grammar actions. Patch by Pablo Galindo
- gh-125444: Fix illegal instruction for older Arm
architectures. Patch by Diego Russo, testing by Ross
Burton.
- gh-118423: Add a new INSTRUCTION_SIZE macro to the cases
generator which returns the current instruction size.
- gh-125038: Fix crash when iterating over a generator
expression after direct changes on gi_frame.f_locals. Patch
by Mikhail Efimov.
- gh-124855: Don’t allow the JIT and perf support to be
active at the same time. Patch by Pablo Galindo
- gh-123714: Update JIT compilation to use LLVM 19
- gh-123930: Improve the error message when a script
shadowing a module from the standard library causes
ImportError to be raised during a “from” import. Similarly,
improve the error message when a script shadowing a third
party module attempts to “from” import an attribute from
that third party module while still initialising.
- gh-119793: The map() built-in now has an optional
keyword-only strict flag like zip() to check that all the
iterables are of equal length. Patch by Wannes Boeykens.
- gh-118950: Fix bug where SSLProtocol.connection_lost wasn’t
getting called when OSError was thrown on writing to
socket.
- gh-113570: Fixed a bug in reprlib.repr where it incorrectly
called the repr method on shadowed Python built-in types.
- C API
- gh-126554: Fix error handling in ctypes.CDLL objects which
could result in a crash in rare situations.
- gh-126061: Add PyLong_IsPositive(), PyLong_IsNegative() and
PyLong_IsZero() for checking if a PyLongObject is positive,
negative, or zero, respectively.
- gh-125608: Fix a bug where dictionary watchers
(e.g., PyDict_Watch()) on an object’s attribute dictionary
(__dict__) were not triggered when the object’s attributes
were modified.
- gh-123619: Added the
PyUnstable_Object_EnableDeferredRefcount() function for
enabling PEP 703 deferred reference counting.
- gh-121654: Add PyType_Freeze() function to make a type
immutable. Patch by Victor Stinner.
- gh-120026: The Py_HUGE_VAL macro is soft deprecated.
- Build
- gh-126691: Removed the --with-emscripten-target configure
flag. We unified the node and browser options and the same
build can now be used, independent of target runtime.
- gh-123877: Use wasm32-wasip1 as the target triple for
WASI instead of wasm32-wasi. The latter will eventually
be reclaimed for WASI 1.0 while CPython currently only
supports WASI preview1.
- gh-126458: Disable SIMD support for HACL under WASI.
- gh-89640: Hard-code float word ordering as little endian on
WASM.
- gh-126206: make clinic now runs Argument Clinic using the
--force option, thus forcefully regenerating generated
code.
- gh-126187: Introduced Tools/wasm/emscripten.py to simplify
doing Emscripten builds.
- gh-124932: For cross builds, there is now support for
having a different install prefix than the host_prefix used
by getpath.py. This is set to / by default for Emscripten,
on other platforms the default behavior is the same as
before.
- gh-125946: The minimum supported Android version is now 7.0
(API level 24).
- gh-125940: The Android build now supports 16 KB page sizes.
- gh-89640: Improve detection of float word ordering on Linux
when link-time optimizations are enabled.
- gh-124928: Emscripten builds now require node >= 18.
- gh-115382: Fix cross compile failures when the host and
target SOABIs match.
- Remove upstreamed patches:
- fix_test_generated_data.patch
- fix_test_ftp_error.patch
- gh125535-Lib_IntVector_Intrinsics_vec128.patch
- Don't limit clang to clang18.
OBS-URL: https://build.opensuse.org/request/show/1228813
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=3
|
|||
| c7164168dc |
Update F00251-change-user-install-location.patch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=26 |
|||
| 0596163e48 |
- Don't limit clang to clang18.
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=25 |
|||
| 809f944b62 |
Don't limit to clang18
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=24 |
|||
| 9d574d767b |
- Update to the second development version of 3.14.0a2.
- Tools/Demos
- gh-126807: Fix extraction warnings in pygettext.py caused
by mistaking function definitions for function calls.
- gh-126167: The iOS testbed was modified so that it can be
used by third-party projects for testing purposes.
- Tests
- gh-126909: Fix test_os extended attribute tests to work on
filesystems with 1 KiB xattr size limit.
- gh-125730: Change make test to not run GUI tests by
default. Use make ci to run tests with GUI tests instead.
- gh-124295: Add translation tests to the argparse module.
- Security
- gh-126623: Upgrade libexpat to 2.6.4
- Library
- gh-85957: Add missing MIME types for images with RFCs: emf,
fits, g3fax, jp2, jpm, jpx, t38, tiff-fx and wmf. Patch by
Hugo van Kemenade.
- gh-126920: Fix the prefix and exec_prefix keys from
sysconfig.get_config_vars() incorrectly having the same
value as sys.base_prefix and sys.base_exec_prefix,
respectively, inside virtual environments. They now
accurately reflect sys.prefix and sys.exec_prefix.
- gh-67877: Fix memory leaks when regular expression matching
terminates abruptly, either because of a signal or because
memory allocation fails.
- gh-125063: marshal now supports slice objects. The marshal
format version was increased to 5.
- gh-126789: Fixed the values of sysconfig.get_config_vars(),
sysconfig.get_paths(), and their siblings when the site
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=23
|
|||
| 5478a684d8 |
Accepting request 1224239 from devel:languages:python:Factory
- Remove -IVendor/ from python-config boo#1231795 - Require exact clang18 and llvm18, because apparently CPython is not ready for 19 yet (gh#python/cpython!125499). OBS-URL: https://build.opensuse.org/request/show/1224239 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=2 |
|||
| 7561ffd453 |
- Remove -IVendor/ from python-config boo#1231795
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=21 |
|||
| bad4db9a6e |
- Require exact clang18 and llvm18, because apparently CPython is
not ready for 19 yet (gh#python/cpython!125499). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=20 |
|||
| ec6360c6b5 |
Accepting request 1218446 from devel:languages:python:Factory
new version of the Python interpreter OBS-URL: https://build.opensuse.org/request/show/1218446 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=1 |
|||
| c070616633 |
- Fix version number to 3.14.0~a1
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=18 |
|||
| fff9b66773 |
Recover patch CVE-2023-52425-libexpat-2.6.0-backport-15.6.patch
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=17 |
|||
| a15f7b0fad |
- Add fix_test_generated_data.patch to skip failing test
(gh#python/cpython#121938). OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=16 |
|||
| 3f3cf2ab15 |
requiring network access, and explicitly declare we have no
network. OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=15 |
|||
| 3a5dd04770 |
More debugging
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python:Factory/python314?expand=0&rev=14 |