Library
-------
-- Issue #12467: warnings: fix a race condition if a warning is emitted at
- shutdown, if globals()['__file__'] is None.
++- Issues #11104, #8688: Fix the behavior of distutils' sdist command with
++ manually-maintained MANIFEST files.
+
-Tests
------
+- Issue #11281: smtplib.STMP gets source_address parameter, which adds the
+ ability to bind to specific source address on a machine with multiple
+ interfaces. Patch by Paulo Scardine.
-- Skip network tests when getaddrinfo() returns EAI_AGAIN, meaning a temporary
- failure in name resolution.
+- Issue #12464: tempfile.TemporaryDirectory.cleanup() should not follow
+ symlinks: fix it. Patch by Petri Lehtinen.
-- Avoid failing in test_urllibnet.test_bad_address when some overzealous
- DNS service (e.g. OpenDNS) resolves a non-existent domain name. The test
- is now skipped instead.
+- Issue #8887: "pydoc somebuiltin.somemethod" (or help('somebuiltin.somemethod')
+ in Python code) now finds the doc of the method.
+- Issue #10968: Remove indirection in threading. The public names (Thread,
+ Condition, etc.) used to be factory functions returning instances of hidden
+ classes (_Thread, _Condition, etc.), because (if Guido recalls correctly) this
+ code pre-dates the ability to subclass extension types. It is now possible to
+ inherit from Thread and other classes, without having to import the private
+ underscored names like multiprocessing did.
-What's New in Python 3.2.1 release candidate 2?
-===============================================
+- Issue #9723: Add shlex.quote functions, to escape filenames and command
+ lines.
-*Release date: 03-Jul-2011*
+- Issue #12603: Fix pydoc.synopsis() on files with non-negative st_mtime.
-Core and Builtins
------------------
+- Issue #12514: Use try/finally to assure the timeit module restores garbage
+ collections when it is done.
+
+- Issue #12607: In subprocess, fix issue where if stdin, stdout or stderr is
+ given as a low fd, it gets overwritten.
-- Issue #12291: You can now load multiple marshalled objects from a stream, with
- other data interleaved between marshalled objects.
+- Issue #12590: IDLE editor window now always displays the first line
+ when opening a long file. With Tk 8.5, the first line was hidden.
-- Issue #12084: os.stat on Windows now works properly with relative symbolic
- links when called from any directory.
+- Issue #12576: Fix urlopen behavior on sites which do not send (or obfuscates)
+ Connection:close header.
-- Issue #1195: my_fgets() now always clears errors before calling fgets(). Fix
- the following case: sys.stdin.read() stopped with CTRL+d (end of file),
- raw_input() interrupted by CTRL+c.
+- Issue #12102: Document that buffered files must be flushed before being used
+ with mmap. Patch by Steffen Daode Nurpmeso.
-- Issue #9670: Increase the default stack size for secondary threads on Mac OS X
- and FreeBSD to reduce the chances of a crash instead of a "maximum recursion
- depth" RuntimeError exception (patch by Ronald Oussoren).
+- Issue #12560: Build libpython.so on OpenBSD. Patch by Stefan Sperling.
-Library
--------
+- Issue #1813: Fix codec lookup under Turkish locales.
+
+- Issue #12591: Improve support of "universal newlines" in the subprocess
+ module: the piped streams can now be properly read from or written to.
+
+- Issue #12591: Allow io.TextIOWrapper to work with raw IO objects (without
+ a read1() method), and add a *write_through* parameter to mandate
+ unbuffered writes.
+
+- Issue #10883: Fix socket leaks in urllib.request when using FTP.
+
+- Issue #12592: Make Python build on OpenBSD 5 (and future major releases).
+
+- Issue #12372: POSIX semaphores are broken on AIX: don't use them.
+
+- Issue #12551: Provide a get_channel_binding() method on SSL sockets so as
+ to get channel binding data for the current SSL session (only the
+ "tls-unique" channel binding is implemented). This allows the implementation
+ of certain authentication mechanisms such as SCRAM-SHA-1-PLUS. Patch by
+ Jacek Konieczny.
+
+- Issue #665194: email.utils now has format_datetime and parsedate_to_datetime
+ functions, allowing for round tripping of RFC2822 format dates.
+
+- Issue #12571: Add a plat-linux3 directory mirroring the plat-linux2
+ directory, so that "import DLFCN" and other similar imports work on
+ Linux 3.0.
+
+- Issue #7484: smtplib no longer puts <> around addresses in VRFY and EXPN
+ commands; they aren't required and in fact postfix doesn't support that form.
+
+- Issue #12273: Remove ast.__version__. AST changes can be accounted for by
+ checking sys.version_info or sys._mercurial.
+
+- Silence spurious "broken pipe" tracebacks when shutting down a
+ ProcessPoolExecutor.
+
+- Fix potential resource leaks in concurrent.futures.ProcessPoolExecutor
+ by joining all queues and processes when shutdown() is called.
+
+- Issue #11603: Fix a crash when __str__ is rebound as __repr__. Patch by
+ Andreas Stührk.
+
+- Issue #11321: Fix a crash with multiple imports of the _pickle module when
+ embedding Python. Patch by Andreas Stührk.
+
+- Issue #6755: Add get_wch() method to curses.window class. Patch by Iñigo
+ Serna.
+
+- Add cgi.closelog() function to close the log file.
+
+- Issue #12502: asyncore: fix polling loop with AF_UNIX sockets.
+
+- Issue #4376: ctypes now supports nested structures in a endian different than
+ the parent structure. Patch by Vlad Riscutia.
+
+- Raise ValueError when attempting to set the _CHUNK_SIZE attribute of a
+ TextIOWrapper to a huge value, not TypeError.
+
+- Issue #12504: Close file handles in a timely manner in packaging.database.
+ This fixes a bug with the remove (uninstall) feature on Windows.
+
+- Issues #12169 and #10510: Factor out code used by various packaging commands
+ to make HTTP POST requests, and make sure it uses CRLF.
+
+- Issue #12016: Multibyte CJK decoders now resynchronize faster. They only
+ ignore the first byte of an invalid byte sequence. For example,
+ b'\xff\n'.decode('gb2312', 'replace') gives '\ufffd\n' instead of '\ufffd'.
+
+- Issue #12459: time.sleep() now raises a ValueError if the sleep length is
+ negative, instead of an infinite sleep on Windows or raising an IOError on
+ Linux for example, to have the same behaviour on all platforms.
+
+- Issue #12451: pydoc: html_getfile() now uses tokenize.open() to support
+ Python scripts using a encoding different than UTF-8 (read the coding cookie
+ of the script).
+
+- Issue #12493: subprocess: Popen.communicate() now also handles EINTR errors
+ if the process has only one pipe.
+
+- Issue #12467: warnings: fix a race condition if a warning is emitted at
+ shutdown, if globals()['__file__'] is None.
+
+- Issue #12451: pydoc: importfile() now opens the Python script in binary mode,
+ instead of text mode using the locale encoding, to avoid encoding issues.
+
+- Issue #12451: runpy: run_path() now opens the Python script in binary mode,
+ instead of text mode using the locale encoding, to support other encodings
+ than UTF-8 (scripts using the coding cookie).
+
+- Issue #12451: xml.dom.pulldom: parse() now opens files in binary mode instead
+ of the text mode (using the locale encoding) to avoid encoding issues.
- Issue #12147: Adjust the new-in-3.2 smtplib.send_message method for better
- conformance to the RFCs: correctly handle Sender and Resent headers.
+ conformance to the RFCs: correctly handle Sender and Resent- headers.
- Issue #12352: Fix a deadlock in multiprocessing.Heap when a block is freed by
the garbage collector while the Heap lock is held.
Tests
-----
++- Issue #12331: The test suite for lib2to3 can now run from an installed
++ Python.
++
+- Issue #12626: In regrtest, allow to filter tests using a glob filter
+ with the ``-m`` (or ``--match``) option. This works with all test cases
+ using the unittest module. This is useful with long test suites
+ such as test_io or test_subprocess.
+
+- Issue #12624: It is now possible to fail after the first failure when
+ running in verbose mode (``-v`` or ``-W``), by using the ``--failfast``
+ (or ``-G``) option to regrtest. This is useful with long test suites
+ such as test_io or test_subprocess.
+
+- Issue #12587: Correct faulty test file and reference in test_tokenize.
+ (Patch by Robert Xiao)
+
+- Issue #12573: Add resource checks for dangling Thread and Process objects.
+
+- Issue #12549: Correct test_platform to not fail when OS X returns 'x86_64'
+ as the processor type on some Mac systems.
+
+- Skip network tests when getaddrinfo() returns EAI_AGAIN, meaning a temporary
+ failure in name resolution.
+
+- Avoid failing in test_robotparser when mueblesmoraleda.com is flaky and
+ an overzealous DNS service (e.g. OpenDNS) redirects to a placeholder
+ Web site.
+
+- Avoid failing in test_urllibnet.test_bad_address when some overzealous
+ DNS service (e.g. OpenDNS) resolves a non-existent domain name. The test
+ is now skipped instead.
+
+- Issue #12440: When testing whether some bits in SSLContext.options can be
+ reset, check the version of the OpenSSL headers Python was compiled against,
+ rather than the runtime version of the OpenSSL library.
+
+- Issue #11512: Add a test suite for the cgitb module. Patch by Robbie Clemons.
+
+- Issue #12497: Install test/data to prevent failures of the various codecmaps
+ tests.
+
+- Issue #12496: Install test/capath directory to prevent test_connect_capath
+ testcase failure in test_ssl.
+
+- Issue #12469: Run wakeup and pending signal tests in a subprocess to run the
+ test in a fresh process with only one thread and to not change signal
+ handling of the parent process.
+
+- Issue #8716: Avoid crashes caused by Aqua Tk on OSX when attempting to run
+ test_tk or test_ttk_guionly under a username that is not currently logged
+ in to the console windowserver (as may be the case under buildbot or ssh).
+
+- Issue #12407: Explicitly skip test_capi.EmbeddingTest under Windows.
+
+- Issue #12400: regrtest -W doesn't rerun the tests twice anymore, but captures
+ the output and displays it on failure instead. regrtest -v doesn't print the
+ error twice anymore if there is only one error.
+
+- Issue #12141: Install copies of template C module file so that
+ test_build_ext of test_distutils and test_command_build_ext of
+ test_packaging are no longer silently skipped when
+ run outside of a build directory.
+
+- Issue #8746: Add additional tests for os.chflags() and os.lchflags().
+ Patch by Garrett Cooper.
+
+- Issue #10736: Fix test_ttk test_widgets failures with Cocoa Tk 8.5.9
+ 2.8 + on Mac OS X. (Patch by Ronald Oussoren)
+
+- Issue #12057: Add tests for ISO 2022 codecs (iso2022_jp, iso2022_jp_2,
+ iso2022_kr).
+
+- Issue #12180: Fixed a few remaining errors in test_packaging when no
+ threading.
+
+- Issue #12120, #12119: skip a test in packaging and distutils
+ if sys.dont_write_bytecode is set to True.
+
+- Issue #12096: Fix a race condition in test_threading.test_waitfor(). Patch
+ written by Charles-François Natali.
+
+- Issue #11614: import __hello__ prints "Hello World!". Patch written by
+ Andreas Stührk.
+
+- Issue #5723: Improve json tests to be executed with and without accelerations.
+
+- Issue #12041: Make test_wait3 more robust.
+
- Issue #11873: Change regex in test_compileall to fix occasional failures when
when the randomly generated temporary path happened to match the regex.