Opened 2 years ago

Closed 2 years ago

Last modified 2 years ago

#4963 closed enhancement (fixed)

python3-3.10.1

Reported by: Bruce Dubbs Owned by: lfs-book
Priority: normal Milestone: 11.1
Component: Book Version: git
Severity: normal Keywords:
Cc:

Description

New point version.

Change History (2)

comment:1 by Bruce Dubbs, 2 years ago

Resolution: fixed
Status: newclosed

Fixed at commit 05dcee7980f0ed17e75c3df09d5b5b87a4688d8f

Package updates.
    Update to python3-3.10.1.
    Update to openssl-1.1.1m.
    Update to linux-5.15.7.
    Update to libcap-2.62.

comment:2 by Douglas R. Reno, 2 years ago

Core and Builtins

    bpo-42268: Fail the configure step if the selected compiler doesn’t support memory sanitizer. Patch by Pablo Galindo

    bpo-45727: Refine the custom syntax error that suggests that a comma may be missing to trigger only when the expressions are detected between parentheses or brackets. Patch by Pablo Galindo

    bpo-45614: Fix traceback display for exceptions with invalid module name.

    bpo-45848: Allow the parser to obtain error lines directly from encoded files. Patch by Pablo Galindo

    bpo-45826: Fixed a crash when calling .with_traceback(None) on NameError. This occurs internally in unittest.TestCase.assertRaises().

    bpo-45822: Fixed a bug in the parser that was causing it to not respect PEP 263 coding cookies when no flags are provided. Patch by Pablo Galindo

    bpo-45820: Fix a segfault when the parser fails without reading any input. Patch by Pablo Galindo

    bpo-42540: Fix crash when os.fork() is called with an active non-default memory allocator.

    bpo-45738: Fix computation of error location for invalid continuation characters in the parser. Patch by Pablo Galindo.

    bpo-45773: Fix a compiler hang when attempting to optimize certain jump patterns.

    bpo-45716: Improve the SyntaxError message when using True, None or False as keywords in a function call. Patch by Pablo Galindo.

    bpo-45688: sys.stdlib_module_names now contains the macOS-specific module _scproxy.

    bpo-30570: Fixed a crash in issubclass() from infinite recursion when searching pathological __bases__ tuples.

    bpo-45521: Fix a bug in the obmalloc radix tree code. On 64-bit machines, the bug causes the tree to hold 46-bits of virtual addresses, rather than the intended 48-bits.

    bpo-45494: Fix parser crash when reporting errors involving invalid continuation characters. Patch by Pablo Galindo.

    bpo-45408: Fix a crash in the parser when reporting tokenizer errors that occur at the same time unclosed parentheses are detected. Patch by Pablo Galindo.

    bpo-45385: Fix reference leak from descr_check. Patch by Dong-hee Na.

    bpo-45167: Fix deepcopying of types.GenericAlias objects.

    bpo-44219: Release the GIL while performing isatty system calls on arbitrary file descriptors. In particular, this affects os.isatty(), os.device_encoding() and io.TextIOWrapper. By extension, io.open() in text mode is also affected. This change solves a deadlock in os.isatty(). Patch by Vincent Michel in bpo-44219.

    bpo-44959: Added fallback to extension modules with ‘.sl’ suffix on HP-UX

    bpo-44050: Extensions that indicate they use global state (by setting m_size to -1) can again be used in multiple interpreters. This reverts to behavior of Python 3.8.

    bpo-45121: Fix issue where Protocol.__init__ raises RecursionError when it’s called directly or via super(). Patch provided by Yurii Karabas.

    bpo-45083: When the interpreter renders an exception, its name now has a complete qualname. Previously only the class name was concatenated to the module name, which sometimes resulted in an incorrect full name being displayed.

    (This issue impacted only the C code exception rendering, the traceback module was using qualname already).

    bpo-45056: Compiler now removes trailing unused constants from co_consts.

Library

    bpo-27946: Fix possible crash when getting an attribute of class:xml.etree.ElementTree.Element simultaneously with replacing the attrib dict.

    bpo-37658: Fix issue when on certain conditions asyncio.wait_for() may allow a coroutine to complete successfully, but fail to return the result, potentially causing memory leaks or other issues.

    bpo-44649: Handle dataclass(slots=True) with a field that has default a default value, but for which init=False.

    bpo-45803: Added missing kw_only parameter to dataclasses.make_dataclass().

    bpo-45831: faulthandler can now write ASCII-only strings (like filenames and function names) with a single write() syscall when dumping a traceback. It reduces the risk of getting an unreadable dump when two threads or two processes dump a traceback to the same file (like stderr) at the same time. Patch by Victor Stinner.

    bpo-41735: Fix thread lock in zlib.Decompress.flush() method before PyObject_GetBuffer.

    bpo-45235: Reverted an argparse bugfix that caused regression in the handling of default arguments for subparsers. This prevented leaf level arguments from taking precedence over root level arguments.

    bpo-45765: In importlib.metadata, fix distribution discovery for an empty path.

    bpo-45757: Fix bug where dis produced an incorrect oparg when EXTENDED_ARG is followed by an opcode that does not use its argument.

    bpo-45644: In-place JSON file formatting using python3 -m json.tool infile infile now works correctly, previously it left the file empty. Patch by Chris Wesseling.

    bpo-45679: Fix caching of multi-value typing.Literal. Literal[True, 2] is no longer equal to Literal[1, 2].

    bpo-45664: Fix types.resolve_bases() and types.new_class() for types.GenericAlias instance as a base.

    bpo-45663: Fix dataclasses.is_dataclass() for dataclasses which are subclasses of types.GenericAlias.

    bpo-45662: Fix the repr of dataclasses.InitVar with a type alias to the built-in class, e.g. InitVar[list[int]].

    bpo-45438: Fix typing.Signature string representation for generic builtin types.

    bpo-45574: Fix warning about print_escape being unused.

    bpo-45581: sqlite3.connect() now correctly raises MemoryError if the underlying SQLite API signals memory error. Patch by Erlend E. Aasland.

    bpo-45557: pprint.pprint() now handles underscore_numbers correctly. Previously it was always setting it to False.

    bpo-45515: Add references to zoneinfo in the datetime documentation, mostly replacing outdated references to dateutil.tz. Change by Paul Ganssle.

    bpo-45475: Reverted optimization of iterating gzip.GzipFile, bz2.BZ2File, and lzma.LZMAFile (see bpo-43787) because it caused regression when user iterate them without having reference of them. Patch by Inada Naoki.

    bpo-45428: Fix a regression in py_compile when reading filenames from standard input.

    bpo-45467: Fix incremental decoder and stream reader in the “raw-unicode-escape” codec. Previously they failed if the escape sequence was split.

    bpo-45461: Fix incremental decoder and stream reader in the “unicode-escape” codec. Previously they failed if the escape sequence was split.

    bpo-45239: Fixed email.utils.parsedate_tz() crashing with UnboundLocalError on certain invalid input instead of returning None. Patch by Ben Hoyt.

    bpo-45249: Fix the behaviour of traceback.print_exc() when displaying the caret when the end_offset in the exception is set to 0. Patch by Pablo Galindo

    bpo-45416: Fix use of asyncio.Condition with explicit asyncio.Lock objects, which was a regression due to removal of explicit loop arguments. Patch by Joongi Kim.

    bpo-45419: Correct interfaces on DegenerateFiles.Path.

    bpo-44904: Fix bug in the doctest module that caused it to fail if a docstring included an example with a classmethod property. Patch by Alex Waygood.

    bpo-45406: Make inspect.getmodule() catch FileNotFoundError raised by :’func:inspect.getabsfile, and return None to indicate that the module could not be determined.

    bpo-45262: Prevent use-after-free in asyncio. Make sure the cached running loop holder gets cleared on dealloc to prevent use-after-free in get_running_loop

    bpo-45386: Make xmlrpc.client more robust to C runtimes where the underlying C strftime function results in a ValueError when testing for year formatting options.

    bpo-45371: Fix clang rpath issue in distutils. The UnixCCompiler now uses correct clang option to add a runtime library directory (rpath) to a shared library.

    bpo-20028: Improve error message of csv.Dialect when initializing. Patch by Vajrasky Kok and Dong-hee Na.

    bpo-45343: Update bundled pip to 21.2.4 and setuptools to 58.1.0

    bpo-45329: Fix freed memory access in pyexpat.xmlparser when building it with an installed expat library <= 2.2.0.

    bpo-41710: On Unix, if the sem_clockwait() function is available in the C library (glibc 2.30 and newer), the threading.Lock.acquire() method now uses the monotonic clock (time.CLOCK_MONOTONIC) for the timeout, rather than using the system clock (time.CLOCK_REALTIME), to not be affected by system clock changes. Patch by Victor Stinner.

    bpo-45328: Fixed http.client.HTTPConnection to work properly in OSs that don’t support the TCP_NODELAY socket option.

    bpo-1596321: Fix the threading._shutdown() function when the threading module was imported first from a thread different than the main thread: no longer log an error at Python exit.

    bpo-45274: Fix a race condition in the Thread.join() method of the threading module. If the function is interrupted by a signal and the signal handler raises an exception, make sure that the thread remains in a consistent state to prevent a deadlock. Patch by Victor Stinner.

    bpo-45238: Fix unittest.IsolatedAsyncioTestCase.debug(): it runs now asynchronous methods and callbacks.

    bpo-36674: unittest.TestCase.debug() raises now a unittest.SkipTest if the class or the test method are decorated with the skipping decorator.

    bpo-45235: Fix an issue where argparse would not preserve values in a provided namespace when using a subparser with defaults.

    bpo-45183: Have zipimport.zipimporter.find_spec() not raise an exception when the underlying zip file has been deleted and the internal cache has been reset via invalidate_cache().

    bpo-45234: Fixed a regression in copyfile(), copy(), copy2() raising FileNotFoundError when source is a directory, which should raise IsADirectoryError

    bpo-45228: Fix stack buffer overflow in parsing J1939 network address.

    bpo-45192: Fix the tempfile._infer_return_type function so that the dir argument of the tempfile functions accepts an object implementing the os.PathLike protocol.

    Patch by Kyungmin Lee.

    bpo-42135: Fix typo: importlib.find_loader is really slated for removal in Python 3.12 not 3.10, like the others in GH-25169.

    Patch by Hugo van Kemenade.

    bpo-45160: When tracing a tkinter variable used by a ttk OptionMenu, callbacks are no longer made twice.

    bpo-35474: Calling mimetypes.guess_all_extensions() with strict=False no longer affects the result of the following call with strict=True. Also, mutating the returned list no longer affects the global state.

    bpo-45166: typing.get_type_hints() now works with Final wrapped in ForwardRef.

    bpo-20499: Improve the speed and accuracy of statistics.pvariance().

    bpo-24444: Fixed an error raised in argparse help display when help for an option is set to 1+ blank spaces or when choices arg is an empty container.

    bpo-45021: Fix a potential deadlock at shutdown of forked children when using concurrent.futures module

    bpo-39039: tarfile.open raises ReadError when a zlib error occurs during file extraction.

    bpo-44594: Fix an edge case of ExitStack and AsyncExitStack exception chaining. They will now match with block behavior when __context__ is explicitly set to None when the exception is in flight.

    bpo-44295: Ensure deprecation warning from assertDictContainsSubset() points at calling code - by Anthony Sottile.

    bpo-43498: Avoid a possible “RuntimeError: dictionary changed size during iteration” when adjusting the process count of ProcessPoolExecutor.

Documentation

    bpo-45640: Properly marked-up grammar tokens in the documentation are now clickable and take you to the definition of a given piece of grammar. Patch by Arthur Milchior.

    bpo-45788: Link doc for sys.prefix to sysconfig doc on installation paths.

    bpo-45772: socket.socket documentation is corrected to a class from a function.

    bpo-45392: Update the docstring of the type built-in to remove a redundant line and to mention keyword arguments for the constructor.

    bpo-45726: Improve documentation for functools.singledispatch() and functools.singledispatchmethod.

    bpo-45680: Amend the docs on GenericAlias objects to clarify that non-container classes can also implement __class_getitem__. Patch contributed by Alex Waygood.

    bpo-45655: Add a new “relevant PEPs” section to the top of the documentation for the typing module. Patch by Alex Waygood.

    bpo-45604: Add level argument to multiprocessing.log_to_stderr function docs.

    bpo-45250: Update the documentation to note that CPython does not consistently require iterators to define __iter__.

    bpo-45464: Mention in the documentation of Built-in Exceptions that inheriting from multiple exception types in a single subclass is not recommended due to possible memory layout incompatibility.

    bpo-45449: Add note about PEP 585 in collections.abc.

    bpo-45516: Add protocol description to the importlib.abc.Traversable documentation.

    bpo-20692: Add Programming FAQ entry explaining that int literal attribute access requires either a space after or parentheses around the literal.

    bpo-45216: Remove extra documentation listing methods in difflib. It was rendering twice in pydoc and was outdated in some places.

    bpo-45024: collections.abc documentation has been expanded to explicitly cover how instance and subclass checks work, with additional doctest examples and an exhaustive list of ABCs which test membership purely by presence of the right special methods. Patch by Raymond Hettinger.

    bpo-25381: In the extending chapter of the extending doc, update a paragraph about the global variables containing exception information.

    bpo-43905: Expanded astuple() and asdict() docs, warning about deepcopy being applied and providing a workaround.

Tests

    bpo-19460: Add new Test for email.mime.nonmultipart.MIMENonMultipart.

    bpo-45835: Fix race condition in test_queue tests with multiple “feeder” threads.

    bpo-45678: Add tests for scenarios in which functools.singledispatchmethod is stacked on top of a method that has already been wrapped by two other decorators. Patch by Alex Waygood.

    bpo-45578: Add tests for dis.distb()

    bpo-45678: Add tests to ensure that functools.singledispatchmethod correctly wraps the attributes of the target function.

    bpo-45577: Add subtests for all pickle protocols in test_zoneinfo.

    bpo-45566: Fix test_frozen_pickle in test_dataclasses to check all pickle versions.

    bpo-43592: test.libregrtest now raises the soft resource limit for the maximum number of file descriptors when the default is too low for our test suite as was often the case on macOS.

    bpo-39679: Add more test cases for @functools.singledispatchmethod when combined with @classmethod or @staticmethod.

    bpo-45400: Fix test_name_error_suggestions_do_not_trigger_for_too_many_locals() of test_exceptions if a directory name contains “a1” (like “Python-3.11.0a1”): use a stricter regular expression. Patch by Victor Stinner.

    bpo-40173: Fix test.support.import_helper.import_fresh_module().

    bpo-45280: Add a test case for empty typing.NamedTuple.

    bpo-45269: Cover case when invalid markers type is supplied to c_make_encoder.

    bpo-45128: Fix test_multiprocessing_fork failure due to test_logging and sys.modules manipulation.

    bpo-45209: Fix UserWarning: resource_tracker warning in _test_multiprocessing._TestSharedMemory.test_shared_memory_cleaned_after_process_termination

    bpo-45195: Fix test_readline.test_nonascii(): sometimes, the newline character is not written at the end, so don’t expect it in the output. Patch by Victor Stinner.

    bpo-45156: Fixes infinite loop on unittest.mock.seal() of mocks created by create_autospec().

    bpo-45125: Improves pickling tests and docs of SharedMemory and SharableList objects.

    bpo-44860: Update test_sysconfig.test_user_similar() for the posix_user scheme: platlib doesn’t use sys.platlibdir. Patch by Victor Stinner.

    bpo-25130: Add calls of gc.collect() in tests to support PyPy.

Build

    bpo-44035: CI now verifies that autoconf files have been regenerated with a current and unpatched autoconf package.

    bpo-33393: Update config.guess to 2021-06-03 and config.sub to 2021-08-14. Makefile now has an update-config target to make updating more convenient.

    bpo-45866: make regen-all now produces the same output when run from a directory other than the source tree: when building Python out of the source tree. pegen now strips directory of the “generated by pygen from <FILENAME>” header Patch by Victor Stinner.

    bpo-41498: Python now compiles on platforms without sigset_t. Several functions in signal are not available when sigset_t is missing.

    Based on patch by Roman Yurchak for pyodide.

    bpo-45881: setup.py now uses CC from environment first to discover multiarch and cross compile paths.

    bpo-43158: setup.py now uses values from configure script to build the _uuid extension module. Configure now detects util-linux’s libuuid, too.

    bpo-45571: Modules/Setup now use PY_CFLAGS_NODIST instead of PY_CFLAGS to compile shared modules.

    bpo-45561: Run smelly.py tool from $(srcdir).

    bpo-45532: Update sys.version to use main as fallback information. Patch by Jeong YunWon.

    bpo-45536: The configure script now checks whether OpenSSL headers and libraries provide required APIs. Most common APIs are verified. The check detects outdated or missing OpenSSL. Failures do not stop configure.

    bpo-45221: Fixed regression in handling of LDFLAGS and CPPFLAGS options where argparse.parse_known_args() could interpret an option as one of the built-in command line argument, for example -h for help.

    bpo-45405: Prevent internal configure error when running configure with recent versions of non-Apple clang. Patch by David Bohman.

    bpo-45220: Avoid building with the Windows 11 SDK previews automatically. This may be overridden by setting the DefaultWindowsSDKVersion environment variable before building.

    bpo-45067: The ncurses function extended_color_content was introduced in 2017

    (https://invisible-island.net/ncurses/NEWS.html#index-t20170401). The

    ncurses-devel package in CentOS 7 had a older version ncurses resulted in compilation error. For compiling ncurses with extended color support, we verify the version of the ncurses library >= 20170401.

IDLE

    bpo-45495: Add context keywords ‘case’ and ‘match’ to completions list.

    bpo-45296: On Windows, change exit/quit message to suggest Ctrl-D, which works, instead of <Ctrl-Z Return>, which does not work in IDLE.

    bpo-45193: Make completion boxes appear on Ubuntu again.

Tools/Demos

    bpo-44786: Fix a warning in regular expression in the c-analyzer script.

C API

    bpo-39026: Fix Python.h to build C extensions with Xcode: remove a relative include from Include/cpython/pystate.h.

    bpo-45307: Restore the private C API function _PyImport_FindExtensionObject(). It will be removed in Python 3.11.

    bpo-44687: BufferedReader.peek() no longer raises ValueError when the entire file has already been buffered.

    bpo-44751: Remove crypt.h include from the public Python.h header.
Note: See TracTickets for help on using tickets.