2.3.2 (November 16, 2021)
-------------------------
Fix the generation of man pages, so that installation-dependent paths are
correctly inserted.
Improve error reporting when enchant-lsmod cannot open a dictionary for a
given language, in particular with the Aspell backend.
Fix compilation on MingW.
Some minor code cleanup.
open-vm-tools 11.3.5
For issues resolved in this release, see Resolved Issues section.
Added a configurable logging capability to the network script.
The network script has been updated to:
use vmware-toolbox-cmd to query any network logging configuration from the tools.conf file.
use vmtoolsd --cmd "log ..." to log a message to the vmx logfile when the logging handler is configured to "vmx" or when the logfile is full or is not writeable.
The hgfsmounter (mount.vmhgfs) command has been removed from open-vm-tools.
The hgfsmounter (mount.vmhgfs) command is no longer used in Linux open-vm-tools. It has been replaced by hgfs-fuse. Therefore, removing all references to the hgfsmounter in Linux builds.
Open-vm-tools 11.3.0
A small command line tool, vmwgfxctrl, has been added to open-vm-tools for Linux that can be used to control various aspects of the vmwgfx Linux kernel module. Currently it can both display and set the current topology of the vmwgfx kernel driver. It is useful when trying to configure custom resolutions on recent Linux distributions, including multi-monitor setups.
A command line tool, vmware-alias-import, has been added to open-vm-tools that can be used to import vgauth config data and apply it to the running vgauth service.
0.34 (2021/11/30)
* add commands "albumart", "readpicture"
* don't print status after error
* custom status format
* support grouping "list" results
* meson: auto-build libmpdclient if not available
* require libmpdclient 2.16 or newer
* require MPD 0.21 or newer
dpkg (1.21.1) unstable; urgency=medium
[ Guillem Jover ]
* dpkg-buildpackage: Remove duplicate command print for dpkg-genchanges.
* dpkg-buildpackage: Fix build description due to improper multiline match.
* dpkg-realpath: Remove spurious heading space from --help output.
* update-alternatives: When initializing admindir from DPKG_ADMINDIR append
"/alternatives".
* Code internals:
- Remove <ar.h> inclusions.
* Packaging:
- Install deb-md5sums(5) into dpkg-dev package.
dpkg (1.21.0) unstable; urgency=medium
[ Guillem Jover ]
* dpkg-genchanges: Include orig tarball on source package renames.
* scripts: Consider SHA-1 and RIPEMD-160 weak algorithms in OpenPGP
signatures.
* dpkg: During unpack print a removal message due to Conflicts.
* scripts: Add zsh completions for dpkg-parsechangelog.
* dpkg-buildpackage: When printing build type match the extension exactly.
* dpkg-maintscript-helper: Use xargs -I argument instead of deprecated -i.
* dpkg-maintscript-helper: Quote variable inside ${} to avoid pattern match.
* libdpkg: Fix dpkg_fsys_get_path() to always strip leading / and ./.
* libdpkg: Set the default database directory relative to the system root.
* dpkg-divert, dpkg-statoverride: Set admindir after instdir.
* update-alternatives: Fix admindir setting.
Prompted by Johannes Schauer Marin Rodrigues <josch@debian.org>.
* dselect: Honor DPKG_ADMINDIR environment variable.
* dpkg-query, dpkg-trigger, dselect: Add support for setting the root
directory.
* dpkg-fsys-usrunmess: Move forced reconfiguration to the last step.
* dpkg-fsys-usrunmess: Install a local policy-rc.d to ignore service
restarts.
* dpkg-fsys-usrunmess: Do not fail when removing lingering directories.
* dpkg-fsys-usrunmess: Generate a regression prevention package.
* dpkg-fsys-usrunmess: Fix typo in debug message.
* dpkg: Distinguish deconfiguration message for installation and multi-arch
syncs.
* dpkg-buildpackage: Add new --changes-file option.
Prompted by Niels Thykier <niels@thykier.net>.
* dpkg-buildpackage: Add new --buildinfo-file option.
* dpkg: Rework --assert-<feature> logic to be more robust.
Prompted by Helmut Grohne <helmut@subdivi.de>.
Prompted by David Kalnischkies <donkult@debian.org>.
* dpkg: Improve --assert-<feature> descriptions.
* dpkg: Add a new --assert-help option.
* scripts/mk: Pass DEB_BUILD_PATH to dpkg-buildflags.
* dpkg-db-backup: New program factored out from Debian-specific daily cron.
* dpkg-db-backup: Accept an option to override the number of rotation cycles.
* dpkg-db-backup: Honor the admindir set at configure time.
* update-alternatives: Fix --auto and --set-selections output progress.
* update-alternatives: Print defaults for configuration and database
pathnames.
* scripts: Replace shebang in dpkg-error shell library with shellcheck
directive.
* dpkg-buildpackage: Add support for terse DEB_BUILD_OPTIONS.
* dpkg-mergechangelogs: Add new --merge-unreleased option.
* dpkg: Restore fallback to "new-prerm failed-upgrade" for downgrades.
* dselect: Use safe temporary file creation in methods setup.
* dselect: Remove bashism from update script in multicd method.
* dpkg: Fix --verify to handle missing or inaccessible pathnames.
* dpkg: Add partial --verify support for mode checks.
* Use «digest» instead of «hash» in output messages.
Reported by Sven Joachim <svenjoac@gmx.de>.
* dselect: use `grep -E` instead of `egrep`.
* libdpkg: Fix memory leak on End Of Tape condition in tar parser.
* dpkg: Fix short lived memory leak with --recursive.
* dpkg: Fix conffile removal-on-upgrade handling.
* dpkg-deb: Fix conffile name length tracking on remove-on-upgrade parsing.
Reported by uau on IRC.
* Architecture support:
- Clarify that the regex columns need to be ordered to match first.
- Add support for ARCv2 CPU.
Based on a patch by Alexey Brodkin <Alexey.Brodkin@synopsys.com>.
* Portability:
- start-stop-daemon: Define SOCK_NONBLOCK to 0 if not defined.
- libdpkg: Add support for AIX to dpkg_get_progname().
* Perl modules:
- Dpkg::Source::Quilt: Add hint to check missing files on patch apply
failures.
Reported by Joseph Nahmias <jello@debian.org>.
- Dpkg::Changelog::Parse: Require format plugins to inherit from
Dpkg::Changelog.
- Dpkg::OpenPGP: Refactor openpgp implementation execution into a new
function.
- Dpkg::Vendor::Debian: Refactor compiler flag names into an array.
- Dpkg::Vendor::Debian: Add new lto feature in new optimize area.
- Test::Dpkg: Print actual error messages in test_neutralize_checksums().
- Dpkg::Deps: Use current_sub feature for __SUB__.
- Dpkg::BuildFlags: Add support for ASFLAGS.
See https://salsa.debian.org/debian/debhelper/-/merge_requests/50.
- Dpkg::Compression: Use gzip --rsyncable unconditionally.
- Dpkg::Changelog::Entry::Debian: Fix full month misuse warning.
- Dpkg::Shlibs::Symbol: Emit a warning on fully qualified symver patterns.
- Dpkg::Control::HashCore: Add new keep_duplicate option.
- Dpkg::Control::FieldsCore: Add new field_parse_binary_source().
- Dpkg::Control::FieldsCore: Fix types allowed for
field_parse_binary_source().
- Dpkg::Shlibs::Objdump: Fix apply_relocations to work with versioned
symbols.
- Dpkg::Vendor::Ubuntu: Update Maintainer field logic to include
“canonical”.
- Dpkg::Source::Package::V2: Add hint about version matching source tree.
* Documentation:
- man: Itemize dpkg-gensymbols -c levels.
- man: Add man page for deb-md5sums(5).
Reported by Maxim Cournoyer (on IRC).
- man: Switch the Architecture field in deb-control(5) to required.
Reported by Maxim Cournoyer (on IRC).
- man: Make clear that dpkg-query arguments accept multiple values.
- man: Document dpkg-query --search and --listfiles output formats.
- doc: Fix incorrect use of ‘an’ article.
- doc: Update coding style to document POD instead of troff.
- doc: Update THANKS file.
- doc: Annotate current maintainer start year.
- doc: Sort maintenance information chronologically.
- man: Add versions since features where introduced.
- man: Further clarify when re-inclusions of excluded pathnames happen.
- doc: Update Doxygen configuration from version 1.9.1.
- doc: Improve description of dpkg suite.
Prompted by Fabrice Bauzac-Stehly <noon@mykolab.com>.
- man: Add a reference to where the Installed-Size algorithm is described.
- man: Improve dpkg --verify-format rpm format documentation.
- man: Document in deb-substvars(5) what ${} is good for.
Prompted by Paul Wise <pabs@debian.org>.
- man: Document in dpkg-architecture(1) target being useful for emulators
too. Prompted by Helmut Grohne <helmut@subdivi.de>.
- man: Document in dpkg-query(1) full --search and --listfiles output
format. Prompted by Johannes Schauer Marin Rodrigues <josch@debian.org>.
* Code internals:
- Remove irrelevant or obsolete FIXME markers.
- Turn FIXME markers denoting pending actions into TODO markers.
- Turn FIXME markers giving historic information into simple Notes.
- update-alternatives: Turn FIXME for explicit behavior choice into an XXX.
- Use localtime_r() instead of localtime().
- libdpkg: Remove MDEBUG support from m_malloc() implementation.
- libdpkg: Mark dpkg_arch_unmark() arch_remove argument as const.
- libdpkg: Mark treewalk_open() func argument as const.
- dpkg: Mark ignore_depends() pkg argument as const.
- dpkg: Mark deb_parse_conffiles() pkg argument as const.
- libcompat: Remove local setexecfilecon() and require libselinux 2.3.
- libdpkg: Add missing DPKG_{BEGIN,END}_DECLS in header files.
- dpkg: Move SE Linux function declarations into its own header file.
- dpkg: Move the command action enum to its own header file.
- dpkg: Switch from including "main.h" to "force.h".
- dselect: Rename dme() to display_menu_entry().
- dpkg: Split function handling deconfiguration due to install and removal.
- libdpkg: Add new ACTION_MUX macro for continued options.
- dpkg: Refactor --assert-<feature> handling to be data driven.
- dpkg-fsys-usrunmess: Do not use interpolated strings for literals.
- dpkg-db-backup: Add a license header comment.
* Build system:
- Fallback to $^X and 'perl' if $Config{perlpath} is unset or empty.
- Bump minimal Perl version to 5.28.1.
- Remove redundant localedir and pkgconfdir initializations.
- Check for libsocket.
- Do not set have_libmd on the found branch in AC_SEARCH_LIBS.
- Switch DPKG_FUNC_C99_SNPRINTF from AC_LANG_SOURCE to AC_LANG_PROGRAM.
- Check whether fsync(3) works on directories.
- Remove obsolete AC_HEADER_STDC.
- Detect appropriate sed program at configure time.
- Rename DPKG_DEB_PROG_TAR to DPKG_PROG_TAR.
- Parametrize the backups directory with a configure option.
- Add a check for symlinks in the git repository.
- Rename shell scripts to .sh.
- Switch from hardcoded /run to parametrized runstatedir.
- Use new Dpkg::Control keep_duplicate option in gen-changelog.
- Use title-case for field in gen-changelog.
- Execute run-script via CONFIG_SHELL.
Reported by Larkin Nickle <me@larbob.org>.
- Quote variables containing pathnames in m4 macros.
- Add support for commit message fix up machinery in gen-changelog.
* Packaging:
- Use absolute pathnames in .install debhelper fragments.
- Remove unused dh_installcron call for arch-indep targets.
- Add support for a native systemd timer.
- Create auotpkgtest installation directory.
- Bump Standards-Version to 4.6.0 (no changes needed).
* Test suite:
- Pass --ignore-builtin-builddeps to dpkg-buildpackage.
- Use can_run() instead of find_command().
- Add descriptions to makefile test runners.
- Add unit tests for architecture bijective mapping property.
- Suppress cppcheck constParameter check.
- Suppress bogus cppcheck for nullPointerRedundantCheck.
- Mark external sourced shell files for checking.
- Ignore new shellcheck checks.
- Remove shipped dpkg database.
- Add re-inclusion of symlink case to t-filtering.
- Generate symlink during test build time.
- Remove superfluous long filename.
- Refactor parse_ctrl() from parse_dsc().
- Update codespell stopwords.
2021-12-04:
Update version number.
2021-10-04:
Consistently use semicolons after DOUBLE_CONVERSION_ASSERT.
2021-07-16:
Fix spelling.
2021-05-19:
Loongarch is a RISC-style command system architecture.
Add support for loongarch architecture.
This CycloneDX module for Python can generate valid CycloneDX
bill-of-material document containing an aggregate of all project
dependencies.
This module is not designed for standalone use.
This project provides a runnable Python-based application for
generating CycloneDX bill-of-material documents from either:
* Your current Python Environment
* Your project's manifest (e.g. Pipfile.lock, poetry.lock or
requirements.txt)
* Conda as a Package Manager
The BOM will contain an aggregate of all your current project's
dependencies, or those defined by the manifest you supply.
CycloneDX is a lightweight BOM specification that is easily created,
human-readable, and simple to parse.
This is a PEP 561 type stub package for the toml package. It can
be used by type-checking tools like mypy, PyCharm, pytype etc. to
check code that uses toml.
This is a PEP 561 type stub package for the setuptools package. It
can be used by type-checking tools like mypy, PyCharm, pytype etc.
to check code that uses setuptools.
This release contains bug fixes plus a number of additional features. A
summary is below. See git for the full changelog.
Thanks to everyone who contributed to this release.
Bugs fixed in version 0.81
- info complete - return 0 if the script is missing an end quote
- sqlite3 - return integers as 64 bit values, not 32 bit
Features and improvements added in version 0.81
- New redis client extension
- expr - TIP 582 - support comments in expressions
- Many commands now accept “safe” integer expressions rather than simple
integers: loop, range, incr, string repeat, lrepeat, pack, unpack, rand
- string and list indexes now accept “safe” integer expressions
- loop can now omit the start value
- New xtrace command for execution trace support
- Add history keep
- Add support for lsearch -index and lsearch -stride, the latter per TIP 351
- lsort -index now supports multiple indices
- Add support for lsort -stride
- open now supports POSIX-style access arguments
- sdl extension now supports SDL2, and basic text support is added as well
as polling support
- ABI version checking is now available to allow dynamic modules to verify
they are loaded into a compatible interpreter
Possible incompatibilities in version 0.81
- If the --compat configure option is not set, expr now only allows a single
argument (per TIP 526)
2.3.17.1:
- dsync: Add back accidentically removed parameters.
- lib-ssl-iostream: Fix assert-crash when OpenSSL returned syscall error
without errno.
- master: Dovecot failed to start if ssl_ca was too large.
2.66.2 (stable):
Glib, Gio:
* Replace all g_quark_from_static_string() by g_quark_from_string()
Gio:
* FileEnumerator: Remove refreturn to avoid memory leak
* ListModel::get_object(): Make it work for interface classes
Build:
* MSVC build: Remove extraneous GLIBMM_API in Glib::ustring
Fixes issues seen on e.g. older Solaris with the legacy /bin/sh. Add our
bootstrap shells to the list of POSIX-compatible shells, required for correct
operation of .ONESHELL mode, fixing the test suite with mksh.
Bump PKGREVISION.
Overview of changes in GLib 2.70.2
==================================
* Fix use of the default log writer with journald namespaces (diagnosis by Ilya Basin)
* Fix hang in `dbus-daemon` under `GTestDBus` when `G_MESSAGES_DEBUG=all` is set (work by Marco Trevisan)
* Speed up `g_canonicalize_filename()` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi)
* Fix URI for pcre subproject as itâs moved upstream (work by Albert Astals Cid)
* Fix storing GSettings dictionaries on macOS (work by Maurice)
* Speed up âremove dot segmentsâ algorithm in `GUri` to avoid pathogenic cases with `..` (work by Sebastian Wilhelmi)
* Fix infinite loops in D-Bus message parsing for truncated inputs (work by Sebastian Wilhelmi)
* Improve correctness of version information returned by `g_get_os_info()` for Windows 10/Server 2019+ (work by Chun-wei Fan)
* Bugs fixed:
- Use-after-free in invoke_set_property_in_idle_cb()
- GSettings delayed apply generates runtime warnings
- g_dbus_message_new_from_blob goes into infinite loop for certain inputs
- g_log_writer_is_journald fails if a Journal Namespace is used
- GTestDBus dbus daemon causes child process to hang when using verbose output
- g_canonicalize_filename should work in linear time complexity
- Backport !2265 âgdbusconnection: Fix race between method calls and object unregistrationâ to glib-2-70
- Backport !2260 âGWin32AppInfo: Remove assertion on the opened registry keyâ to glib-2-70
- Backport !2308 âgthread-win32: Remove an unnecessary volatile qualifierâ to glib-2-70
- Backport !2309 âRename libpcre.wrap to pcre.wrapâ to glib-2-70
- Backport !2161 âgdelayedsettingsbackend: Fix applying after calling g_settings_reset()â to glib-2-70
- Backport !2324 âFix link to pcre-8.37.tar.bz2â to glib-2-70
- Backport !2325 âFix GSettings dict error macOSâ to glib-2-70
- Backport !2338 âgmessages: Support namespaced journalsâ to glib-2-70
- Backport !2327 âguri: Improve performance of remove_dot_segments() algorithmâ to glib-2-70
- Backport !2355 âgdbusmessage: Add more bounds checking when parsing D-Bus messagesâ to glib-2-70
- gutils.c: Improve g_get_os_info() for Windows 10/Server 2019+
- Backport !2354 âgtestdbus: Print the dbus address on a specific FD intead of stdoutâ to glib-2-70
- Backport !2360 âmeson: specify when commands need to succeed in run_commandâ to glib-2-70
- Backport !2364 âtests: Allow `objcopy --help` to fail, because it fails on FreeBSDâ to glib-2-70
- Backport !2374 âgfileutils: Improve performance of g_canonicalize_filename()â to glib-2-70
- Backport !2382 âgfileutils: Correctly reset start value when canonicalising pathsâ to glib-2-70
* Translation updates:
- Croatian
- Italian
- Occitan (post 1500)
- Polish
- Portuguese
- Portuguese (Brazil)
- Russian
- Swedish
- Ukrainian
0.29.25
=======
Bugs fixed
----------
* Several incompatibilities with CPython 3.11 were resolved.
* Some C compiler warnings were resolved.
* C++ ``std::move()`` should only be used automatically in MSVC versions that support it.
* The ``Py_hash_t`` type failed to accept arbitrary "index" values.
* Avoid copying unaligned 16-bit values since some platforms require them to be aligned.
Use memcpy() instead to let the C compiler decide how to do it.
* Cython crashed on invalid truthiness tests on C++ types without ``operator bool``.
Patch by David Woods.
* The declaration of ``PyUnicode_CompareWithASCIIString()`` in ``cpython.unicode`` was incorrect.
ugrep v3.3.10
Faster grep files containing long Iines of text and binary files. This update corrects and further improves the input buffering method, which performed sub-optimally for long lines containing many pattern matches.
Python 3.10.1 final
Release date: 2021-12-06
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.
Windows
bpo-45901: When installed through the Microsoft Store and set as the default app for *.py files, command line arguments will now be passed to Python when invoking a script without explicitly launching Python (that is, script.py args rather than python script.py args).
bpo-45616: Fix Python Launcher’s ability to distinguish between versions 3.1 and 3.10 when either one is explicitly requested. Previously, 3.1 would be used if 3.10 was requested but not installed, and 3.10 would be used if 3.1 was requested but 3.10 was installed.
bpo-45732: Updates bundled Tcl/Tk to 8.6.12.
bpo-45720: Internal reference to shlwapi.dll was dropped to help improve startup time. This DLL will no longer be loaded at the start of every Python process.
bpo-43652: Update Tcl/Tk to 8.6.11, actually this time. The previous update incorrectly included 8.6.10.
bpo-45337: venv now warns when the created environment may need to be accessed at a different path, due to redirections, links or junctions. It also now correctly installs or upgrades components when the alternate path is required.
macOS
bpo-45732: Update python.org macOS installer to use Tcl/Tk 8.6.12.
bpo-44828: Avoid tkinter file dialog failure on macOS 12 Monterey when using the Tk 8.6.11 provided by python.org macOS installers. Patch by Marc Culler of the Tk project.
bpo-34602: When building CPython on macOS with ./configure --with-undefined-behavior-sanitizer --with-pydebug, the stack size is now quadrupled to allow for the entire test suite to pass.
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.
This release includes a number of bug fixes and adds support for the
_EVDEVK keysyms added in xorgproto 2021.2.
Alan Coopersmith (2):
Build xz tarballs instead of bzip2
libX11 1.7.3
Alex Richardson (2):
Fix cross-compilation from macOS
Avoid undefined behaviour after realloc()
Hodong (1):
Fix a typo
Igor V. Kovalenko (1):
libX11: do not crash in GetResReq() macro
Lev Korol (1):
nls: Add en_IL locale
Liang Chang (1):
Make Xutf8DrawString works correctly with ISO10646 fonts.
Matthieu Herrb (1):
Avoid NULL pointer deref. Fixes issue #47.
Peter Hutterer (2):
makekeys: handle the new _EVDEVK xorgproto symbols
gitlab CI: update to use the ci-fairy image
Tatu Frisk (1):
Fix hanging issue in _XReply