forked from pool/python314
9a13683c02305cc0e8092c77ce77c7035ddc257456b150bcc61aa2f88b983ea7
- Update to 3.14.0~b3:
- Tests
- gh-132815: Fix test__opcode: add JUMP_BACKWARD to
specialization stats.
- gh-135489: Show verbose output for failing tests during PGO
profiling step with –enable-optimizations.
- gh-135120: Add test.support.subTests().
- Security
- gh-135462: Fix quadratic complexity in processing specially
crafted input in html.parser.HTMLParser. End-of-file errors
are now handled according to the HTML5 specs – comments and
declarations are automatically closed, tags are ignored.
- gh-135034: Fixes multiple issues that allowed tarfile
extraction filters (filter="data" and filter="tar") to be
bypassed using crafted symlinks and hard links.
Addresses CVE 2024-12718, CVE 2025-4138, CVE 2025-4330, and
CVE 2025-4517.
- Library
- gh-65697: configparser’s error message when attempting to
write an invalid key is now more helpful.
- gh-135497: Fix os.getlogin() failing for longer usernames
on BSD-based platforms.
- gh-135429: Fix the argument mismatch in _lsprof for
PY_THROW event.
- gh-135368: Fix unittest.mock.Mock generation on
dataclasses.dataclass() objects. Now all special attributes
are set as it was before gh-124429.
- gh-133967: Do not normalize locale name ‘C.UTF-8’ to
‘en_US.UTF-8’.
- gh-135321: Raise a correct exception for values greater
than 0x7fffffff for the BINSTRING opcode in the C
implementation of pickle.
- gh-135276: Backported bugfixes in zipfile.Path from
zipp 3.23. Fixed .name, .stem and other basename-based
properties on Windows when working with a zipfile on disk.
- gh-135244: uuid: when the MAC address cannot be
determined, the 48-bit node ID is now generated with a
cryptographically-secure pseudo-random number generator
(CSPRNG) as per RFC 9562, §6.10.3. This affects uuid1() and
uuid6().
- gh-134970: Fix the “unknown action” exception in
argparse.ArgumentParser.add_argument_group() to correctly
replace the action class.
- gh-134718: ast.dump() now only omits None and [] values if
they are default values.
- gh-134939: Add the concurrent.interpreters module. See PEP
734.
- gh-134885: Fix possible crash in the compression.zstd
module related to setting parameter types. Patch by Jelle
Zijlstra.
- gh-134857: Improve error report for doctests run with
unittest. Remove doctest module frames from tracebacks and
redundant newline character from a failure message.
- gh-128840: Fix parsing long IPv6 addresses with embedded
IPv4 address.
- gh-134637: Fix performance regression in calling a ctypes
function pointer in free threading.
- gh-134696: Built-in HACL* and OpenSSL implementations of
hash function constructors now correctly accept the same
documented named arguments. For instance, md5() could be
previously invoked as md5(data=data) or md5(string=string)
depending on the underlying implementation but these calls
were not compatible. Patch by Bénédikt Tran.
- gh-134151: email: Fix TypeError in
email.utils.decode_params() when sorting RFC 2231
continuations that contain an unnumbered section.
- gh-134210: curses.window.getch() now correctly handles
signals. Patch by Bénédikt Tran.
- gh-134152: email: Fix parsing of email message ID with
invalid domain.
- gh-133489: random.getrandbits() can now generate more that
231 bits. random.randbytes() can now generate more that 256
MiB.
- gh-132813: Improve error messages for incorrect types and
values of csv.Dialect attributes.
- gh-132969: Prevent the ProcessPoolExecutor executor thread,
which remains running when shutdown(wait=False), from
attempting to adjust the pool’s worker processes after the
object state has already been reset during shutdown. A
combination of conditions, including a worker process
having terminated abormally, resulted in an exception and
a potential hang when the still-running executor thread
attempted to replace dead workers within the pool.
- gh-127081: Fix libc thread safety issues with os by
replacing getlogin with getlogin_r re-entrant version.
- gh-131884: Fix formatting issues in json.dump() when both
indent and skipkeys are used.
- gh-130999: Avoid exiting the new REPL and offer suggestions
even if there are non-string candidates when errors occur.
- Documentation
- gh-135171: Document that the iterator for the leftmost for
clause in the generator expression is created immediately.
- bpo-45210: Document that error indicator may be set in
tp_dealloc, and how to avoid clobbering it.
- Core and Builtins
- gh-135496: Fix typo in the f-string conversion type error
(“exclamanation” -> “exclamation”).
- gh-135371: Fixed asyncio debugging tools to properly
display internal coroutine call stacks alongside external
task dependencies. The python -m asyncio ps and python
-m asyncio pstree commands now show complete execution
context. Patch by Pablo Galindo.
- gh-127319: Set the allow_reuse_port class variable to False
on the XMLRPC, logging, and HTTP servers. This matches the
behavior in prior Python releases, which is to not allow
port reuse.
- gh-135171: Reverts the behavior of async generator
expressions when created with object w/o __aiter__ method
to the pre-3.13 behavior of raising a TypeError.
- gh-130077: Properly raise custom syntax errors when
incorrect syntax containing names that are prefixes of soft
keywords is encountered. Patch by Pablo Galindo.
- gh-135171: Reverts the behavior of generator expressions
when created with a non-iterable to the pre-3.13 behavior
of raising a TypeError. It is no longer possible to
cause a crash in the debugger by altering the generator
expression’s local variables. This is achieved by moving
the GET_ITER instruction back to the creation of the
generator expression and adding an additional check to
FOR_ITER.
- gh-116738: Make methods in heapq thread-safe on the free
threaded build.
- gh-134876: Add support to PEP 768 remote debugging for
Linux kernels which don’t have CONFIG_CROSS_MEMORY_ATTACH
configured.
- gh-134889: Fix handling of a few opcodes that leave
operands on the stack when optimizing LOAD_FAST.
- gh-134908: Fix crash when iterating over lines in a text
file on the free threaded build.
- gh-132617: Fix dict.update() modification check that could
incorrectly raise a “dict mutated during update” error when
a different dictionary was modified that happens to share
the same underlying keys object.
- gh-134679: Fix crash in the free threading build’s QSBR
code that could occur when changing an object’s __dict__
attribute.
- gh-127682: No longer call __iter__ twice in list
comprehensions. This brings the behavior of list
comprehensions in line with other forms of iteration
- gh-133912: Fix the C API function PyObject_GenericSetDict
to handle extension classes with inline values.
- C API
- gh-134989: Fix Py_RETURN_NONE, Py_RETURN_TRUE and
Py_RETURN_FALSE macros in the limited C API 3.11 and
older: don’t treat Py_None, Py_True and Py_False as
immortal. Patch by Victor Stinner.
- gh-134989: Implement PyObject_DelAttr() and
PyObject_DelAttrString() as macros in the limited C API
3.12 and older. Patch by Victor Stinner.
- gh-133968: Add PyUnicodeWriter_WriteASCII() function to
write an ASCII string into a PyUnicodeWriter. The function
is faster than PyUnicodeWriter_WriteUTF8(), but has an
undefined behavior if the input string contains non-ASCII
characters. Patch by Victor Stinner.
- Build
- gh-119132: Remove “experimental” tag from the CPython
free-threading build.
- gh-135497: Fix the detection of MAXLOGNAME in the
configure.ac script.
- gh-134923: Windows builds with profile-guided optimization
enabled now use /GENPROFILE and /USEPROFILE instead of
deprecated /LTCG: options.
- gh-134774: Fix Py_DEBUG macro redefinition warnings on
Windows debug builds. Patch by Chris Eibl.
- gh-134632: Fixed build-details.json generation to use
INCLUDEPY, in order to reference the pythonX.Y subdirectory
of the include directory, as required in PEP 739, instead
of the top-level include directory.
OBS-URL: https://build.opensuse.org/request/show/1287713
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/python314?expand=0&rev=13
Python 3 in SUSE
==============
* Subpackages *
Python 3 is split into several subpackages, based on external dependencies.
The main package 'python3' has soft dependencies on all subpackages needed to
assemble the standard library; however, these might not all be installed by default.
If you attempt to import a module that is currently not installed, an ImportError is thrown,
with instructions to install the missing subpackage. Installing the subpackage might result
in installing libraries that the subpackage requires to function.
* ensurepip *
The 'ensurepip' module from Python 3 standard library (PEP 453) is supposed to deploy
a bundled copy of the pip installer. This makes no sense in a managed distribution like SUSE.
Instead, you need to install package 'python3-pip'. Usually this will be installed automatically
with 'python3'.
Using 'ensurepip' when pip is not installed will result in an ImportError with instructions
to install 'python3-pip'.
* Documentation *
You can find documentation in seprarate packages: python3-doc and
python3-doc-pdf. These contan following documents:
Tutorial, What's New in Python, Global Module Index, Library Reference,
Macintosh Module Reference, Installing Python Modules, Distributing Python
Modules, Language Reference, Extending and Embedding, Python/C API,
Documenting Python
The python3-doc package constains many text files from source tarball.
* Interactive mode *
Interactive mode is by default enhanced with of history and command completion.
If you don't like these features, you can unset the PYTHONSTARTUP variable
in your .profile or disable it system wide in /etc/profile.d/python.sh.
Description
Languages
Python
54.5%
Shell
45.5%