"maximum recursion depth" RuntimeError exception.
(patch by Ronald Oussoren)
-- Correct lookup of __dir__ on objects. Among other things, this causes errors
- besides AttributeError found on lookup to be propagated.
+Library
+-------
-- Issue #12060: Use sig_atomic_t type and volatile keyword in the signal
- module. Patch written by Charles-François Natali.
++- Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by
++ the garbage collector while the Heap lock is held.
+
-- Issue #1195: Fix input() if it is interrupted by CTRL+d and then CTRL+c,
- clear the end-of-file indicator after CTRL+d.
+- Issue #12451: The XInclude default loader of xml.etree now decodes files from
+ UTF-8 instead of the locale encoding if the encoding is not specified. It now
+ also opens XML files for the parser in binary mode instead of the text mode
+ to avoid encoding issues.
-- Issue #9756: When calling a method descriptor or a slot wrapper descriptor,
- the check of the object type doesn't read the __class__ attribute anymore.
- Fix a crash if a class override its __class__ attribute (e.g. a proxy of the
- str type). Patch written by Andreas Stührk.
+- Issue #12451: doctest.debug_script() doesn't create a temporary file
+ anymore to avoid encoding issues.
-- Issue #6780: fix starts/endswith error message to mention that tuples are
- accepted too.
+- Issue #12451: pydoc.synopsis() now reads the encoding cookie if available,
+ to read the Python script from the right encoding.
-- Issue #5057: fix a bug in the peepholer that led to non-portable pyc files
- between narrow and wide builds while optimizing BINARY_SUBSCR on non-BMP
- chars (e.g. "\U00012345"[0]).
+- Issue #12451: distutils now opens the setup script in binary mode to read the
+ encoding cookie, instead of opening it in UTF-8.
-- Issue #11650: PyOS_StdioReadline() retries fgets() if it was interrupted
- (EINTR), for example if the program is stopped with CTRL+z on Mac OS X. Patch
- written by Charles-Francois Natali.
+- Issue #9516: On Mac OS X, change Distutils to no longer globally attempt to
+ check or set the MACOSX_DEPLOYMENT_TARGET environment variable for the
+ interpreter process. This could cause failures in non-Distutils subprocesses
+ and was unreliable since tests or user programs could modify the interpreter
+ environment after Distutils set it. Instead, have Distutils set the the
+ deployment target only in the environment of each build subprocess. It is
+ still possible to globally override the default by setting
+ MACOSX_DEPLOYMENT_TARGET before launching the interpreter; its value must be
+ greater or equal to the default value, the value with which the interpreter
+ was built.
-- Issue #8651: PyArg_Parse*() functions raise an OverflowError if the file
- doesn't have PY_SSIZE_T_CLEAN define and the size doesn't fit in an int
- (length bigger than 2^31-1 bytes).
+- Issue #12404: Remove C89 incompatible code from mmap module. Patch by Akira
+ Kitada.
-- Issue #11450: Don't truncate hg version info in Py_GetBuildInfo() when
- there are many tags (e.g. when using mq). Patch by Nadeem Vawda.
+- Issue #12383: Fix subprocess module with env={}: don't copy the environment
+ variables, start with an empty environment.
-- Issue #10451: memoryview objects could allow to mutate a readable buffer.
- Initial patch by Ross Lagerwall.
+- Issue #11584: email.header.decode_header no longer fails if the header
+ passed to it is a Header object, and Header/make_header no longer fail
+ if given binary unknown-8bit input.
-- Issue #10892: Don't segfault when trying to delete __abstractmethods__ from a
- class.
+- Issue #11700: mailbox proxy object close methods can now be called multiple
+ times without error.
-- Issue #8020: Avoid a crash where the small objects allocator would read
- non-Python managed memory while it is being modified by another thread.
- Patch by Matt Bandy.
+- Issue #11767: Correct file descriptor leak in mailbox's __getitem__ method.
-- Issue #8278: On Windows and with a NTFS filesystem, os.stat() and os.utime()
- can now handle dates after 2038.
+- Issue #12133: AbstractHTTPHandler.do_open() of urllib.request closes the HTTP
+ connection if its getresponse() method fails with a socket error. Patch
+ written by Ezio Melotti.
-- issue #11828: startswith and endswith don't accept None as slice index.
- Patch by Torsten Becker.
+- Issue #9284: Allow inspect.findsource() to find the source of doctest
+ functions.
-- Issue #4236: PyModule_Create2 now checks the import machinery directly
- rather than the Py_IsInitialized flag, avoiding a Fatal Python
- error in certain circumstances when an import is done in __del__.
+- Issue #12009: Fixed regression in netrc file comment handling.
-- Issue #10596: Fix float.__mod__ to have the same behaviour as
- float.__divmod__ with respect to signed zeros. -4.0 % 4.0 should be
- 0.0, not -0.0.
+- Issue #10694: zipfile now ignores garbage at the end of a zipfile.
-- Issue #5587: add a repr to dict_proxy objects. Patch by David Stanek and
- Daniel Urban.
+- Issue #12283: Fixed regression in smtplib quoting of leading dots in DATA.
-- Issue #11506: Trying to assign to a bytes literal should result in a
- SyntaxError.
+- Issue #12168: SysLogHandler now allows NUL termination to be controlled using
+ a new 'append_nul' attribute on the handler.
-Library
--------
+- Issue #11583: Speed up os.path.isdir on Windows by using GetFileAttributes
+ instead of os.stat.
-- Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by
- the garbage collector while the Heap lock is held.
+- Named tuples now work correctly with vars().
+
+- Issue #12085: Fix an attribute error in subprocess.Popen destructor if the
+ constructor has failed, e.g. because of an undeclared keyword argument. Patch
+ written by Oleg Oshmyan.
- Issue #985064: Make plistlib more resilient to faulty input plists.
Patch by Mher Movsisyan.