- Issue #941346: Fix broken shared library build on AIX.
-- Issue #7716: Under Solaris, don't assume existence of /usr/xpg4/bin/grep in
- the configure script but use $GREP instead. Patch by Fabian Groffen.
+Documentation
+-------------
-- Issue #10475: Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD
- and DragonFly BSD. Patch by Nicolas Joly.
+- Issue #10709: Add updated AIX notes in Misc/README.AIX.
-- Issue #10655: Fix the build on PowerPC on Linux with GCC when building with
- timestamp profiling (--with-tsc): the preprocessor test for the PowerPC
- support now looks for "__powerpc__" as well as "__ppc__": the latter seems to
+
+What's New in Python 3.2 Release Candidate 3?
+=============================================
+
+*Release date: 13-Feb-2011*
+
+Core and Builtins
+-----------------
+
+- Issue #11134: Add missing fields to typeslots.h.
+
+- Issue #11135: Remove redundant doc field from PyType_Spec.
+
+- Issue #11067: Add PyType_GetFlags, to support PyUnicode_Check in the limited
+ ABI.
+
+- Issue #11118: Fix bogus export of None in python3.dll.
+
+Library
+-------
+
+- Issue #11116: any error during addition of a message to a mailbox now causes a
+ rollback, instead of leaving the mailbox partially modified.
+
+- Issue #11132: Fix passing of "optimize" parameter when recursing in
+ compileall.compile_dir().
+
+- Issue #11110: Fix a potential decref of a NULL in sqlite3.
+
+- Issue #8275: Fix passing of callback arguments with ctypes under Win64. Patch
+ by Stan Mihai.
+
+Build
+-----
+
+- Issue #11079: The /Applications/Python x.x folder created by the Mac OS X
+ installers now includes a link to the installed documentation and no longer
+ includes an Extras directory. The Tools directory is now installed in the
+ framework under share/doc.
+
+- Issue #11121: Fix building with --enable-shared.
+
+Tests
+-----
+
+- Issue #10971: test_zipimport_support is once again compatible with the refleak
+ hunter feature of test.regrtest.
+
+
+What's New in Python 3.2 Release Candidate 2?
+=============================================
+
+*Release date: 30-Jan-2011*
+
+Core and Builtins
+-----------------
+
+- Issue #10451: memoryview objects could allow to mutate a readable buffer.
+ Initial patch by Ross Lagerwall.
+
+Library
+-------
+
+- Issue #9124: mailbox now accepts binary input and reads and writes mailbox
+ files in binary mode, using the email package's binary support to parse
+ arbitrary email messages. StringIO and text file input is deprecated,
+ and string input fails early if non-ASCII characters are used, where
+ previously it would fail when the email was processed in a later step.
+
+- Issue #10845: Mitigate the incompatibility between the multiprocessing
+ module on Windows and the use of package, zipfile or directory execution
+ by special casing main modules that actually *are* called __main__.py.
+
+- Issue #11045: Protect logging call against None argument.
+
+- Issue #11052: Correct IDLE menu accelerators on Mac OS X for Save
+ commands.
+
+- Issue #11053: Fix IDLE "Syntax Error" windows to behave as in 2.x,
+ preventing a confusing hung appearance on OS X with the windows
+ obscured.
+
+- Issue #10940: Workaround an IDLE hang on Mac OS X 10.6 when using the
+ menu accelerators for Open Module, Go to Line, and New Indent Width.
+ The accelerators still work but no longer appear in the menu items.
+
+- Issue #10989: Fix a crash on SSLContext.load_verify_locations(None, True).
+
+- Issue #11020: Command-line pyclbr was broken because of missing 2-to-3
+ conversion.
+
+- Issue #11019: Fixed BytesGenerator so that it correctly handles a Message
+ with a None body.
+
+- Issue #11014: Make 'filter' argument in tarfile.Tarfile.add() into a
+ keyword-only argument. The preceding positional argument was deprecated,
+ so it made no sense to add filter as a positional argument.
+
+- Issue #11004: Repaired edge case in deque.count().
+
+- Issue #10974: IDLE no longer crashes if its recent files list includes files
+ with non-ASCII characters in their path names.
+
+- Have hashlib.algorithms_available and hashlib.algorithms_guaranteed both
+ return sets instead of one returning a tuple and the other a frozenset.
+
+- Issue #10987: Fix the recursion limit handling in the _pickle module.
+
+- Issue #10983: Fix several bugs making tunnel requests in http.client.
+
+- Issue #10955: zipimport uses ASCII encoding instead of cp437 to decode
+ filenames, at bootstrap, if the codec registry is not ready yet. It is still
+ possible to have non-ASCII filenames using the Unicode flag (UTF-8 encoding)
+ for all file entries in the ZIP file.
+
+- Issue #10949: Improved robustness of rotating file handlers.
+
+- Issue #10955: Fix a potential crash when trying to mmap() a file past its
+ length. Initial patch by Ross Lagerwall.
+
+- Issue #10898: Allow compiling the posix module when the C library defines
+ a symbol named FSTAT.
+
+- Issue #10980: the HTTP server now encodes headers with iso-8859-1 (latin1)
+ encoding. This is the preferred encoding of PEP 3333 and the base encoding
+ of HTTP 1.1.
+
+- To match the behaviour of HTTP server, the HTTP client library now also
+ encodes headers with iso-8859-1 (latin1) encoding. It was already doing
+ that for incoming headers which makes this behaviour now consistent in
+ both incoming and outgoing direction.
+
+- Issue #9509: argparse now properly handles IOErrors raised by
+ argparse.FileType.
+
+- Issue #10961: The new pydoc server now better handles exceptions raised
+ during request handling.
+
+- Issue #10680: Fix mutually exclusive arguments for argument groups in
+ argparse.
+
+Build
+-----
+
+- Issue #11054: Allow Mac OS X installer builds to again work on 10.5 with
+ the system-provided Python.
+
+
+What's New in Python 3.2 Release Candidate 1
+============================================
+
+*Release date: 16-Jan-2011*
+
+Core and Builtins
+-----------------
+
+- Issue #10889: range indexing and slicing now works correctly on ranges with
+ a length that exceeds sys.maxsize.
+
+- Issue #10892: Don't segfault when trying to delete __abstractmethods__ from a
+ class.
+
+- 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 #10841: On Windows, set the binary mode on stdin, stdout, stderr and all
+ io.FileIO objects (to not translate newlines, \r\n <=> \n). The Python parser
+ translates newlines (\r\n => \n).
+
+- Remove buffer API from stable ABI for now, see #10181.
+
+- 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 #9015, #9611: FileIO.readinto(), FileIO.write(), os.write() and
+ stdprinter.write() clamp the length to 2^31-1 on Windows.
+
+- Issue #8278: On Windows and with a NTFS filesystem, os.stat() and os.utime()
+ can now handle dates after 2038.
+
+- Issue #10780: PyErr_SetFromWindowsErrWithFilename() and
+ PyErr_SetExcFromWindowsErrWithFilename() decode the filename from the
+ filesystem encoding instead of UTF-8.
+
+- Issue #10779: PyErr_WarnExplicit() decodes the filename from the filesystem
+ encoding instead of UTF-8.
+
+- Add sys.flags attribute for the new -q command-line option.
+
+- Issue #11506: Trying to assign to a bytes literal should result in a
+ SyntaxError.
+
+Library
+-------
+
+- Issue #10916: mmap should not segfault when a file is mapped using 0 as length
+ and a non-zero offset, and an attempt to read past the end of file is made
+ (IndexError is raised instead). Patch by Ross Lagerwall.
+
++- Issue #10154, #10090: change the normalization of UTF-8 to "UTF-8" instead
++ of "UTF8" in the locale module as the latter is not supported MacOSX and OpenBSD.
++
+- Issue #10684: shutil.move used to delete a folder on case insensitive
+ filesystems when the source and destination name where the same except
+ for the case.
+
+- Issue #10907: Warn OS X 10.6 IDLE users to use ActiveState Tcl/Tk 8.5, rather
+ than the currently problematic Apple-supplied one, when running with the
+ 64-/32-bit installer variant.
+
+- Issue #4953: cgi.FieldStorage and cgi.parse() parse the request as bytes, not
+ as unicode, and accept binary files. Add encoding and errors attributes to
+ cgi.FieldStorage. Patch written by Pierre Quentel (with many inputs by Glenn
+ Linderman).
+
+- Add encoding and errors arguments to urllib.parse_qs() and urllib.parse_qsl().
+
+- Issue #10899: No function type annotations in the standard library. Removed
+ function type annotations from _pyio.py.
+
+- Issue #10875: Update Regular Expression HOWTO; patch by 'SilentGhost'.
+
+- Issue #10872: The repr() of TextIOWrapper objects now includes the mode
+ if available.
+
+- Issue #10869: Fixed bug where ast.increment_lineno modified the root node
+ twice.
+
+- Issue #5871: email.header.Header.encode now raises an error if any
+ continuation line in the formatted value has no leading white space and looks
+ like a header. Since Generator uses Header to format all headers, this check
+ is made for all headers in any serialized message at serialization time. This
+ provides protection against header injection attacks.
+
+- Issue #10859: Make ``contextlib.GeneratorContextManager`` officially
+ private by renaming it to ``_GeneratorContextManager``.
+
+- Issue #10042: Fixed the total_ordering decorator to handle cross-type
+ comparisons that could lead to infinite recursion.
+
+- Issue #10686: the email package now :rfc:`2047`\ -encodes headers with
+ non-ASCII bytes (parsed by a Bytes Parser) when doing conversion to 7bit-clean
+ presentation, instead of replacing them with ?s.
+
+- email.header.Header was incorrectly encoding folding white space when
+ rfc2047-encoding header values with embedded newlines, leaving them without
+ folding whitespace. It now uses the continuation_ws, as it does for
+ continuation lines that it creates itself.
+
+- Issue #1777412, #10827: Changed the rules for 2-digit years. The
+ time.asctime(), time.ctime() and time.strftime() functions will now format
+ any year when ``time.accept2dyear`` is False and will accept years >= 1000
+ otherwise. ``time.mktime`` and ``time.strftime`` now accept full range
+ supported by the OS. With Visual Studio or on Solaris, the year is limited to
+ the range [1; 9999]. Conversion of 2-digit years to 4-digit is deprecated.
+
+- Issue #7858: Raise an error properly when os.utime() fails under Windows
+ on an existing file.
+
+- Issue #3839: wsgiref should not override a Content-Length header set by
+ the application. Initial patch by Clovis Fabricio.
+
+- Issue #10492: bdb.Bdb.run() only traces the execution of the code, not the
+ compilation (if the input is a string).
+
+- Issue #7995: When calling accept() on a socket with a timeout, the returned
+ socket is now always blocking, regardless of the operating system.
+
+- Issue #10756: atexit normalizes the exception before displaying it. Patch by
+ Andreas Stührk.
+
+- Issue #10790: email.header.Header.append's charset logic now works correctly
+ for charsets whose output codec is different from its input codec.
+
+- Issue #10819: SocketIO.name property returns -1 when its closed, instead of
+ raising a ValueError, to fix repr().
+
+- Issue #8650: zlib.compress() and zlib.decompress() raise an OverflowError if
+ the input buffer length doesn't fit into an unsigned int (length bigger than
+ 2^32-1 bytes).
+
+- Issue #6643: Reinitialize locks held within the threading module after fork to
+ avoid a potential rare deadlock or crash on some platforms.
+
+- Issue #10806, issue #9905: Fix subprocess pipes when some of the standard file
+ descriptors (0, 1, 2) are closed in the parent process. Initial patch by Ross
+ Lagerwall.
+
+- `unittest.TestCase` can be instantiated without a method name; for simpler
+ exploration from the interactive interpreter.
+
+- Issue #10798: Reject supporting concurrent.futures if the system has too
+ few POSIX semaphores.
+
+- Issue #10807: Remove base64, bz2, hex, quopri, rot13, uu and zlib codecs from
+ the codec aliases. They are still accessible via codecs.lookup().
+
+- Issue #10801: In zipfile, support different encodings for the header and the
+ filenames.
+
+- Issue #6285: IDLE no longer crashes on missing help file; patch by Scott
+ David Daniels.
+
+- Fix collections.OrderedDict.setdefault() so that it works in subclasses that
+ define __missing__().
+
+- Issue #10786: unittest.TextTestRunner default stream no longer bound at import
+ time. `sys.stderr` now looked up at instantiation time. Fix contributed by
+ Mark Roddy.
+
+- Issue #10753: Characters ';', '=' and ',' in the PATH_INFO environment variable
+ won't be quoted when the URI is constructed by the wsgiref.util's request_uri
+ method. According to RFC 3986, these characters can be a part of params in
+ PATH component of URI and need not be quoted.
+
+- Issue #10738: Fix webbrowser.Opera.raise_opts.
+
+- Issue #9824: SimpleCookie now encodes , and ; in values to cater to how
+ browsers actually parse cookies.
+
+- Issue #9333: os.symlink now available regardless of user privileges. The
+ function now raises OSError on Windows >=6.0 when the user is unable to create
+ symbolic links. XP and 2003 still raise NotImplementedError.
+
+- Issue #10783: struct.pack() no longer implicitly encodes unicode to UTF-8.
+
+- Issue #10730: Add SVG mime types to mimetypes module.
+
+- Issue #10768: Make the Tkinter ScrolledText widget work again.
+
+- Issue #10777: Fix "dictionary changed size during iteration" bug in
+ ElementTree register_namespace().
+
+- Issue #10626: test_logging now preserves logger disabled states.
+
+- Issue #10774: test_logging now removes temp files created during tests.
+
+- Issue #5258/#10642: if site.py encounters a .pth file that generates an error,
+ it now prints the filename, line number, and traceback to stderr and skips
+ the rest of that individual file, instead of stopping processing entirely.
+
+- Issue #10763: subprocess.communicate() closes stdout and stderr if both are
+ pipes (bug specific to Windows).
+
+- Issue #1693546: fix email.message RFC 2231 parameter encoding to be in better
+ compliance (no "s around encoded values).
+
+- Improved the diff message in the unittest module's assertCountEqual().
+
+- Issue #1155362: email.utils.parsedate_tz now handles a missing space before
+ the '-' of a timezone field as well as before a '+'.
+
+- Issue #4871: The zipfile module now gives a more useful error message if
+ an attempt is made to use a string to specify the archive password.
+
+- Issue #10750: The ``raw`` attribute of buffered IO objects is now read-only.
+
+- Deprecated assertDictContainsSubset() in the unittest module.
+
+C-API
+-----
+
+- Issue #10913: Deprecate misleading functions PyEval_AcquireLock() and
+ PyEval_ReleaseLock(). The thread-state aware APIs should be used instead.
+
+- Issue #10333: Remove ancient GC API, which has been deprecated since Python
+ 2.2.
+
+Build
+-----
+
+- Issue #10843: Update third-party library versions used in OS X 32-bit
+ installer builds: bzip2 1.0.6, readline 6.1.2, SQLite 3.7.4 (with FTS3/FTS4
+ and RTREE enabled), and ncursesw 5.5 (wide-char support enabled).
+
+- Issue #10820: Fix OS X framework installs to support version-specific
+ scripts (#10679).
+
+- Issue #7716: Under Solaris, don't assume existence of /usr/xpg4/bin/grep in
+ the configure script but use $GREP instead. Patch by Fabian Groffen.
+
+- Issue #10475: Don't hardcode compilers for LDSHARED/LDCXXSHARED on NetBSD
+ and DragonFly BSD. Patch by Nicolas Joly.
+
+- Issue #10679: The "idle", "pydoc" and "2to3" scripts are now installed with
+ a version-specific suffix on "make altinstall".
+
+- Issue #10655: Fix the build on PowerPC on Linux with GCC when building with
+ timestamp profiling (--with-tsc): the preprocessor test for the PowerPC
+ support now looks for "__powerpc__" as well as "__ppc__": the latter seems to
only be present on OS X; the former is the correct one for Linux with GCC.
- Issue #1099: Fix the build on MacOSX when building a framework with pydebug