From: Raymond Hettinger Date: Fri, 3 Jun 2011 06:49:44 +0000 (-0700) Subject: merge X-Git-Tag: v3.3.0a1~2183^2~12 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=22cc1183a3d92a29836de3c79f5e7b099e39c1f1;p=python merge --- 22cc1183a3d92a29836de3c79f5e7b099e39c1f1 diff --cc Misc/NEWS index 63a9ded752,16a0f290fb..db9bd000ac --- a/Misc/NEWS +++ b/Misc/NEWS @@@ -184,150 -94,152 +184,152 @@@ Core and Builtin Library ------- -- Issue #11088: don't crash when using F5 to run a script in IDLE on MacOSX - with Tk 8.5. +- Issue #12221: Remove __version__ attributes from pyexpat, pickle, tarfile, + pydoc, tkinter, and xml.parsers.expat. This were useless version constants + left over from the Mercurial transition -- Issue #9516: Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET - is set in shell. ++- Named tuples now work correctly with vars(). + -- Issue #12012: ssl.PROTOCOL_SSLv2 becomes optional. +- 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 #8650: Make zlib module 64-bit clean. compress(), decompress() and - their incremental counterparts now raise OverflowError if given an input - larger than 4GB, instead of silently truncating the input and returning - an incorrect result. +- Issue #12028: Make threading._get_ident() public, rename it to + threading.get_ident() and document it. This function was already used using + _thread.get_ident(). -- Issue #12050: zlib.decompressobj().decompress() now clears the unconsumed_tail - attribute when called without a max_length argument. +- Issue #12171: IncrementalEncoder.reset() of CJK codecs (multibytecodec) calls + encreset() instead of decreset(). -- Issue #12062: Fix a flushing bug when doing a certain type of I/O sequence - on a file opened in read+write mode (namely: reading, seeking a bit forward, - writing, then seeking before the previous write but still within buffered - data, and writing again). +- Issue #12218: Removed wsgiref.egg-info. -- Issue #1028: Tk returns invalid Unicode null in %A: UnicodeDecodeError. - With Tk < 8.5 _tkinter.c:PythonCmd() raised UnicodeDecodeError, caused - IDLE to exit. Converted to valid Unicode null in PythonCmd(). +- Issue #12196: Add pipe2() to the os module. -- Issue #11169: compileall module uses repr() to format filenames and paths to - escape surrogate characters and show spaces. +- Issue #985064: Make plistlib more resilient to faulty input plists. + Patch by Mher Movsisyan. -- Issue #10419, #6011: build_scripts command of distutils handles correctly - non-ASCII path (path to the Python executable). Open and write the script in - binary mode, but ensure that the shebang is decodable from UTF-8 and from the - encoding of the script. +- Issue #1625: BZ2File and bz2.decompress() now support multi-stream files. + Initial patch by Nir Aides. -- Issue #8498: In socket.accept(), allow to specify 0 as a backlog value in - order to accept exactly one connection. Patch by Daniel Evers. +- Issue #12175: BufferedReader.read(-1) now calls raw.readall() if available. -- Issue #11164: Stop trying to use _xmlplus in the xml module. +- Issue #12175: FileIO.readall() now only reads the file position and size + once. -Build ------ +- Issue #12175: RawIOBase.readall() now returns None if read() returns None. -- Issue #11347: Use --no-as-needed when linking libpython3.so. +- Issue #12175: FileIO.readall() now raises a ValueError instead of an IOError + if the file is closed. -Tools/Demos ------------ +- Issue #11109: New service_action method for BaseServer, used by ForkingMixin + class for cleanup. Initial Patch by Justin Wark. -- Issue #11996: libpython (gdb), replace "py-bt" command by "py-bt-full" and - add a smarter "py-bt" command printing a classic Python traceback. +- Issue #12045: Avoid duplicate execution of command in + ctypes.util._get_soname(). Patch by Sijin Joseph. -Tests ------ +- Issue #10818: Remove the Tk GUI and the serve() function of the pydoc module, + pydoc -g has been deprecated in Python 3.2 and it has a new enhanced web + server. -- Issue #12096: Fix a race condition in test_threading.test_waitfor(). Patch - written by Charles-François Natali. +- Issue #1441530: In imaplib, read the data in one chunk to speed up large + reads and simplify code. -- Issue #11614: import __hello__ prints "Hello World!". Patch written by - Andreas Stührk. +- Issue #12070: Fix the Makefile parser of the sysconfig module to handle + correctly references to "bogus variable" (e.g. "prefix=$/opt/python"). -- Issue #5723: Improve json tests to be executed with and without accelerations. +- Issue #12100: Don't reset incremental encoders of CJK codecs at each call to + their encode() method anymore, but continue to call the reset() method if the + final argument is True. -- Issue #11910: Fix test_heapq to skip the C tests when _heapq is missing. +- Issue #12049: Add RAND_bytes() and RAND_pseudo_bytes() functions to the ssl + module. +- Issue #12125: fixed the failures under Solaris due to improper test cleanup. -What's New in Python 3.2.1 beta 1? -================================== +- Issue #6501: os.device_encoding() returns None on Windows if the application + has no console. -*Release date: 08-May-2011* +- Issue #12132: Skip test_build_ext in case the xxmodule is not found. -Core and Builtins ------------------ +- Issue #12105: Add O_CLOEXEC to the os module. -- Issue #1856: Avoid crashes and lockups when daemon threads run while the - interpreter is shutting down; instead, these threads are now killed when they - try to take the GIL. +- Issue #12079: Decimal('Infinity').fma(Decimal('0'), (3.91224318126786e+19+0j)) + now raises TypeError (reflecting the invalid type of the 3rd argument) rather + than Decimal.InvalidOperation. -- 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 #12124: zipimport doesn't keep a reference to zlib.decompress() anymore + to be able to unload the module. -- Issue #10914: Initialize correctly the filesystem codec when creating a new - subinterpreter to fix a bootstrap issue with codecs implemented in Python, as - the ISO-8859-15 codec. +- Issue #12065: connect_ex() on an SSL socket now returns the original errno + when the socket's timeout expires (it used to return None). -- Issue #10517: After fork(), reinitialize the TLS used by the PyGILState_* - APIs, to avoid a crash with the pthread implementation in RHEL 5. Patch by - Charles-François Natali. +- Issue #8809: The SMTP_SSL constructor and SMTP.starttls() now support + passing a ``context`` argument pointing to an ssl.SSLContext instance. + Patch by Kasun Herath. -- Issue #6780: fix starts/endswith error message to mention that tuples are - accepted too. +- Issue #11088: don't crash when using F5 to run a script in IDLE on MacOSX + with Tk 8.5. -- 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 #9516: Issue #9516: avoid errors in sysconfig when MACOSX_DEPLOYMENT_TARGET + is set in shell. -- Issue #11845: Fix typo in rangeobject.c that caused a crash in - compute_slice_indices. Patch by Daniel Urban. +- Issue #8650: Make zlib module 64-bit clean. compress(), decompress() and + their incremental counterparts now raise OverflowError if given an input + larger than 4GB, instead of silently truncating the input and returning + an incorrect result. -- 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 #12050: zlib.decompressobj().decompress() now clears the unconsumed_tail + attribute when called without a max_length argument. -- Issue #11395: io.FileIO().write() clamps the data length to 32,767 bytes on - Windows if the file is a TTY to workaround a Windows bug. The Windows console - returns an error (12: not enough space error) on writing into stdout if stdout - mode is binary and the length is greater than 66,000 bytes (or less, depending - on heap usage). +- Issue #12062: Fix a flushing bug when doing a certain type of I/O sequence + on a file opened in read+write mode (namely: reading, seeking a bit forward, + writing, then seeking before the previous write but still within buffered + data, and writing again). -- Issue #11320: fix bogus memory management in Modules/getpath.c, leading to a - possible crash when calling Py_SetPath(). +- Issue #9971: Write an optimized implementation of BufferedReader.readinto(). + Patch by John O'Connor. -- Issue #11510: Fixed optimizer bug which turned "a,b={1,1}" into "a,b=(1,1)". +- Issue #1028: Tk returns invalid Unicode null in %A: UnicodeDecodeError. + With Tk < 8.5 _tkinter.c:PythonCmd() raised UnicodeDecodeError, caused + IDLE to exit. Converted to valid Unicode null in PythonCmd(). -- Issue #11432: A bug was introduced in subprocess.Popen on posix systems with - 3.2.0 where the stdout or stderr file descriptor being the same as the stdin - file descriptor would raise an exception. webbrowser.open would fail. fixed. +- Issue #11799: urllib.request Authentication Handlers will raise a ValueError + when presented with an unsupported Authentication Scheme. Patch contributed + by Yuval Greenfield. -- 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 #10419, #6011: build_scripts command of distutils handles correctly + non-ASCII path (path to the Python executable). Open and write the script in + binary mode, but ensure that the shebang is decodable from UTF-8 and from the + encoding of the script. -- Issue #11246: Fix PyUnicode_FromFormat("%V") to decode the byte string from - UTF-8 (with replace error handler) instead of ISO-8859-1 (in strict mode). - Patch written by Ray Allen. +- Issue #8498: In socket.accept(), allow to specify 0 as a backlog value in + order to accept exactly one connection. Patch by Daniel Evers. -- Issue #11286: Raise a ValueError from calling PyMemoryView_FromBuffer with a - buffer struct having a NULL data pointer. +- Issue #12011: signal.signal() and signal.siginterrupt() raise an OSError, + instead of a RuntimeError: OSError has an errno attribute. -- Issue #11272: On Windows, input() strips '\r' (and not only '\n'), and - sys.stdin uses universal newline (replace '\r\n' by '\n'). +- Issue #3709: a flush_headers method to BaseHTTPRequestHandler which manages + the sending of headers to output stream and flushing the internal headers + buffer. Patch contribution by Andrew Schaaf -- issue #11828: startswith and endswith don't accept None as slice index. Patch - by Torsten Becker. +- Issue #11743: Rewrite multiprocessing connection classes in pure Python. -- Issue #10830: Fix PyUnicode_FromFormatV("%c") for non-BMP characters on - narrow build. +- Issue #11164: Stop trying to use _xmlplus in the xml module. -- Check for NULL result in PyType_FromSpec. +- Issue #11888: Add log2 function to math module. Patch written by Mark + Dickinson. -- Issue #11386: bytearray.pop() now throws IndexError when the bytearray is - empty, instead of OverflowError. +- Issue #12012: ssl.PROTOCOL_SSLv2 becomes optional. -Library -------- +- Issue #8407: The signal handler writes the signal number as a single byte + instead of a nul byte into the wakeup file descriptor. So it is possible to + wait more than one signal and know which signals were raised. + +- Issue #8407: Add pthread_kill(), sigpending() and sigwait() functions to the + signal module. -- Issue #11927: SMTP_SSL now uses port 465 by default as documented. Patch by - Kasun Herath. +- Issue #11927: SMTP_SSL now uses port 465 by default as documented. Patch + by Kasun Herath. - Issue #12002: ftplib's abort() method raises TypeError.