This commit is contained in:
Georg Brandl 2010-09-05 17:06:50 +00:00
parent da0a2117aa
commit 649971e63b
1 changed files with 152 additions and 159 deletions

311
Misc/NEWS
View File

@ -12,39 +12,38 @@ What's New in Python 3.2 Alpha 2?
Core and Builtins
-----------------
- Issue #9225: Remove the ROT_FOUR and DUP_TOPX opcode, the latter replaced
by the new (and simpler) DUP_TOP_TWO. Performance isn't changed, but
our bytecode is a bit simplified. Patch by Demur Rumed.
- Issue #9225: Remove the ROT_FOUR and DUP_TOPX opcode, the latter replaced by
the new (and simpler) DUP_TOP_TWO. Performance isn't changed, but our
bytecode is a bit simplified. Patch by Demur Rumed.
- Issue #9766: Rename poorly named variables exposed by _warnings to prevent
confusion with the proper variables names from 'warnings' itself.
- Issue #9212: dict_keys and dict_items now provide the isdisjoint()
method, to conform to the Set ABC. Patch by Daniel Urban.
- Issue #9212: dict_keys and dict_items now provide the isdisjoint() method, to
conform to the Set ABC. Patch by Daniel Urban.
- Issue #9737: Fix a crash when trying to delete a slice or an item from
a memoryview object.
- Issue #9737: Fix a crash when trying to delete a slice or an item from a
memoryview object.
- Issue #9549: sys.setdefaultencoding() and PyUnicode_SetDefaultEncoding()
are now removed, since their effect was inexistent in 3.x (the default
encoding is hardcoded to utf-8 and cannot be changed).
- Issue #9549: sys.setdefaultencoding() and PyUnicode_SetDefaultEncoding() are
now removed, since their effect was inexistent in 3.x (the default encoding is
hardcoded to utf-8 and cannot be changed).
- Issue #7415: PyUnicode_FromEncodedObject() now uses the new buffer API
properly. Patch by Stefan Behnel.
- Issue #5553: The Py_LOCAL_INLINE macro now results in inlining on
most platforms. Previously, it inlined when using Microsoft
Visual C.
- Issue #5553: The Py_LOCAL_INLINE macro now results in inlining on most
platforms. Previously, it inlined only when using Microsoft Visual C.
- Issue #9712: Fix tokenize on identifiers that start with non-ascii names.
- Issue #9688: __basicsize__ and __itemsize__ must be accessed as Py_ssize_t.
- Issue #9684: Added a definition for SIZEOF_WCHAR_T to PC/pyconfig.h,
to match the pyconfig.h generated by configure on other systems.
- Issue #9684: Added a definition for SIZEOF_WCHAR_T to PC/pyconfig.h, to match
the pyconfig.h generated by configure on other systems.
- Issue #9666: Only catch AttributeError in hasattr(). All other exceptions
that occur during attribute lookup are now propagated to the caller.
- Issue #9666: Only catch AttributeError in hasattr(). All other exceptions that
occur during attribute lookup are now propagated to the caller.
- Issue #8622: Add PYTHONFSENCODING environment variable to override the
filesystem encoding.
@ -64,35 +63,34 @@ Core and Builtins
- Issue #9612: The set object is now 64-bit clean under Windows.
- Issue #8202: sys.argv[0] is now set to '-m' instead of '-c' when searching
for the module file to be executed with the -m command line option.
- Issue #8202: sys.argv[0] is now set to '-m' instead of '-c' when searching for
the module file to be executed with the -m command line option.
- Issue #9599: Create PySys_FormatStdout() and PySys_FormatStderr() functions
to write a message formatted by PyUnicode_FromFormatV() to sys.stdout and
- Issue #9599: Create PySys_FormatStdout() and PySys_FormatStderr() functions to
write a message formatted by PyUnicode_FromFormatV() to sys.stdout and
sys.stderr.
- Issue #9542: Create PyUnicode_FSDecoder() function, a ParseTuple converter:
decode bytes objects to unicode using PyUnicode_DecodeFSDefaultAndSize();
str objects are output as-is.
decode bytes objects to unicode using PyUnicode_DecodeFSDefaultAndSize(); str
objects are output as-is.
- Issue #9203: Computed gotos are now enabled by default on supported
compilers (which are detected by the configure script). They can still
be disable selectively by specifying --without-computed-gotos.
- Issue #9203: Computed gotos are now enabled by default on supported compilers
(which are detected by the configure script). They can still be disable
selectively by specifying --without-computed-gotos.
- Issue #9425: Create PyErr_WarnFormat() function, similar to PyErr_WarnEx()
but use PyUnicode_FromFormatV() to format the warning message.
- Issue #9425: Create PyErr_WarnFormat() function, similar to PyErr_WarnEx() but
use PyUnicode_FromFormatV() to format the warning message.
- Issue #8530: Prevent stringlib fastsearch from reading beyond the front
of an array.
- Issue #8530: Prevent stringlib fastsearch from reading beyond the front of an
array.
- Issue #5319: Print an error if flushing stdout fails at interpreter
shutdown.
- Issue #5319: Print an error if flushing stdout fails at interpreter shutdown.
- Issue #9337: The str() of a float or complex number is now identical
to its repr().
- Issue #9337: The str() of a float or complex number is now identical to its
repr().
- Issue #9416: Fix some issues with complex formatting where the
output with no type specifier failed to match the str output:
- Issue #9416: Fix some issues with complex formatting where the output with no
type specifier failed to match the str output:
- format(complex(-0.0, 2.0), '-') omitted the real part from the output,
- format(complex(0.0, 2.0), '-') included a sign and parentheses.
@ -103,103 +101,100 @@ Extensions
- Issue #8734: Avoid crash in msvcrt.get_osfhandle() when an invalid file
descriptor is provided. Patch by Pascal Chambon.
- Issue #7736: Release the GIL around calls to opendir() and closedir()
in the posix module. Patch by Marcin Bachry.
- Issue #7736: Release the GIL around calls to opendir() and closedir() in the
posix module. Patch by Marcin Bachry.
- Issue #4835: make PyLong_FromSocket_t() and PyLong_AsSocket_t() private
to the socket module, and fix the width of socket descriptors to be
correctly detected under 64-bit Windows.
- Issue #4835: make PyLong_FromSocket_t() and PyLong_AsSocket_t() private to the
socket module, and fix the width of socket descriptors to be correctly
detected under 64-bit Windows.
- Issue #1027206: Support IDNA in gethostbyname, gethostbyname_ex,
getaddrinfo and gethostbyaddr. getnameinfo is now restricted to numeric
addresses as input.
- Issue #1027206: Support IDNA in gethostbyname, gethostbyname_ex, getaddrinfo
and gethostbyaddr. getnameinfo is now restricted to numeric addresses as
input.
- Issue #9214: Set operations on a KeysView or ItemsView in collections
now correctly return a set. (Patch by Eli Bendersky.)
- Issue #9214: Set operations on a KeysView or ItemsView in collections now
correctly return a set. Patch by Eli Bendersky.
- Issue #5737: Add Solaris-specific mnemonics in the errno module. Patch by
Matthew Ahrens.
- Restore GIL in nis_cat in case of error. Decode NIS data to fs encoding,
using the surrogate error handler.
- Restore GIL in nis_cat in case of error. Decode NIS data to fs encoding, using
the surrogate error handler.
- Issue #665761: ``functools.reduce()`` will no longer mask exceptions
other than ``TypeError`` raised by the iterator argument.
- Issue #665761: ``functools.reduce()`` will no longer mask exceptions other
than ``TypeError`` raised by the iterator argument.
- Issue #9570: Use PEP 383 decoding in os.mknod and os.mkfifo.
- Issue #6915: Under Windows, os.listdir() didn't release the Global
Interpreter Lock around all system calls. Original patch by Ryan Kelly.
- Issue #6915: Under Windows, os.listdir() didn't release the Global Interpreter
Lock around all system calls. Original patch by Ryan Kelly.
- Issue #8524: Add a detach() method to socket objects, so as to put the
socket into the closed state without closing the underlying file
descriptor.
- Issue #8524: Add a detach() method to socket objects, so as to put the socket
into the closed state without closing the underlying file descriptor.
- Issue #477863: Print a warning at shutdown if gc.garbage is not empty.
- Issue #6869: Fix a refcount problem in the _ctypes extension.
- Issue #5504: ctypes should now work with systems where mmap can't
be PROT_WRITE and PROT_EXEC.
- Issue #5504: ctypes should now work with systems where mmap can't be
PROT_WRITE and PROT_EXEC.
- Issue #9507: Named tuple repr will now automatically display the right
name in a tuple subclass.
- Issue #9507: Named tuple repr will now automatically display the right name in
a tuple subclass.
- Issue #9324: Add parameter validation to signal.signal on Windows in order
to prevent crashes.
- Issue #9324: Add parameter validation to signal.signal on Windows in order to
prevent crashes.
- Issue #9526: Remove some outdated (int) casts that were preventing
the array module from working correctly with arrays of more than
2**31 elements.
- Issue #9526: Remove some outdated (int) casts that were preventing the array
module from working correctly with arrays of more than 2**31 elements.
- Fix memory leak in ssl._ssl._test_decode_cert.
- Issue #8065: Fix memory leak in readline module (from failure to
free the result of history_get_history_state()).
- Issue #8065: Fix memory leak in readline module (from failure to free the
result of history_get_history_state()).
- Issue #9450: Fix memory leak in readline.replace_history_item and
readline.remove_history_item for readline version >= 5.0.
- Issue #8105: Validate file descriptor passed to mmap.mmap on Windows.
- Issue #8046: Add context manager protocol support and .closed property
to mmap objects.
- Issue #8046: Add context manager protocol support and .closed property to mmap
objects.
Library
-------
- Issue #7451: Improve decoding performance of JSON objects, and reduce
the memory consumption of said decoded objects when they use the same
strings as keys.
- Issue #7451: Improve decoding performance of JSON objects, and reduce the
memory consumption of said decoded objects when they use the same strings as
keys.
- Issue #1100562: Fix deep-copying of objects derived from the list and
dict types. Patch by Michele Orrù and Björn Lindqvist.
- Issue #1100562: Fix deep-copying of objects derived from the list and dict
types. Patch by Michele Orrù and Björn Lindqvist.
- Issue #9753: Fixed socket.dup, which did not always work correctly
on Windows.
- Issue #9753: Fixed socket.dup, which did not always work correctly on Windows.
- Issue #9421: Made the get<type> methods consistently accept the vars
and default arguments on all parser classes.
- Issue #9421: Made the get<type> methods consistently accept the vars and
default arguments on all parser classes.
- Issue #7005: Fixed output of None values for RawConfigParser.write and
ConfigParser.write.
- Issue #8990: array.fromstring() and array.tostring() get renamed to
frombytes() and tobytes(), respectively, to avoid confusion. Furthermore,
array.frombytes(), array.extend() as well as the array.array()
constructor now accept bytearray objects. Patch by Thomas Jollans.
array.frombytes(), array.extend() as well as the array.array() constructor now
accept bytearray objects. Patch by Thomas Jollans.
- Issue #808164: Fixed socket.close to avoid references to globals, to
avoid issues when socket.close is called from a __del__ method.
- Issue #808164: Fixed socket.close to avoid references to globals, to avoid
issues when socket.close is called from a __del__ method.
- Issue #9706: ssl module provides a better error handling in various
- Issue #9706: ssl module provides a better error handling in various
circumstances.
- Issue #1868: Eliminate subtle timing issues in thread-local objects by
getting rid of the cached copy of thread-local attribute dictionary.
- Issue #1868: Eliminate subtle timing issues in thread-local objects by getting
rid of the cached copy of thread-local attribute dictionary.
- Issue #1512791: In setframerate() in the wave module, non-integral
frame rates are rounded to the nearest integer.
- Issue #1512791: In setframerate() in the wave module, non-integral frame rates
are rounded to the nearest integer.
- Issue #8797: urllib2 does a retry for Basic Authentication failure instead of
falling into recursion.
@ -210,54 +205,53 @@ Library
- Issue #8750: Fixed MutableSet's methods to correctly handle reflexive
operations on its self, namely x -= x and x ^= x.
- Issue #9129: smtpd.py is vulnerable to DoS attacks deriving from missing
error handling when accepting a new connection.
- Issue #9129: smtpd.py is vulnerable to DoS attacks deriving from missing error
handling when accepting a new connection.
- Issue #9601: ftplib now provides a workaround for non-compliant
implementations such as IIS shipped with Windows server 2003 returning
invalid response codes for MKD and PWD commands.
implementations such as IIS shipped with Windows server 2003 returning invalid
response codes for MKD and PWD commands.
- Issue #658749: asyncore's connect() method now correctly interprets winsock
errors.
- Issue #9501: Fixed logging regressions in cleanup code.
- Fix functools.total_ordering() to skip methods inherited from object().
- Fix functools.total_ordering() to skip methods inherited from object.
- Issue #9572: Importlib should not raise an exception if a directory it
thought it needed to create was done concurrently by another process.
- Issue #9572: Importlib should not raise an exception if a directory it thought
it needed to create was done concurrently by another process.
- Issue #9617: Signals received during a low-level write operation aren't
ignored by the buffered IO layer anymore.
- Issue #843590: Make "macintosh" an alias to the "mac_roman" encoding.
- Create os.fsdecode(): decode from the filesystem encoding with
surrogateescape error handler, or strict error handler on Windows.
- Create os.fsdecode(): decode from the filesystem encoding with surrogateescape
error handler, or strict error handler on Windows.
- Issue #3488: Provide convenient shorthand functions ``gzip.compress``
and ``gzip.decompress``. Original patch by Anand B. Pillai.
- Issue #3488: Provide convenient shorthand functions ``gzip.compress`` and
``gzip.decompress``. Original patch by Anand B. Pillai.
- Issue #8807: poplib.POP3_SSL class now accepts a context parameter, which is
a ssl.SSLContext object allowing bundling SSL configuration options,
- Issue #8807: poplib.POP3_SSL class now accepts a context parameter, which is a
ssl.SSLContext object allowing bundling SSL configuration options,
certificates and private keys into a single (potentially long-lived)
structure.
- Issue #8866: parameters passed to socket.getaddrinfo can now be specified as
single keyword arguments.
- Address XXX comment in dis.py by having inspect.py prefer to reuse the
dis.py compiler flag values over defining its own
- Address XXX comment in dis.py by having inspect.py prefer to reuse the dis.py
compiler flag values over defining its own.
- Issue #9147: Added dis.code_info() which is similar to show_code()
but returns formatted code information in a string rather than
displaying on screen.
- Issue #9147: Added dis.code_info() which is similar to show_code() but returns
formatted code information in a string rather than displaying on screen.
- Issue #9567: functools.update_wrapper now adds a __wrapped__ attribute
pointing to the original callable
pointing to the original callable.
- Issue #3445: functools.update_wrapper now tolerates missing attributes
on wrapped callables
- Issue #3445: functools.update_wrapper now tolerates missing attributes on
wrapped callables.
- Issue #5867: Add abc.abstractclassmethod and abc.abstractstaticmethod.
@ -268,79 +262,79 @@ Library
encoding and surrogateescape error handler. Patch written by David Watson.
- Issue #9603: posix.ttyname() and posix.ctermid() decode the terminal name
using the filesystem encoding and surrogateescape error handler. Patch
written by David Watson.
using the filesystem encoding and surrogateescape error handler. Patch written
by David Watson.
- Issue #7647: The posix module now has the ST_RDONLY and ST_NOSUID
constants, for use with the statvfs() function. Patch by Adam Jackson.
- Issue #7647: The posix module now has the ST_RDONLY and ST_NOSUID constants,
for use with the statvfs() function. Patch by Adam Jackson.
- Issue #8688: MANIFEST files created by distutils now include a magic
comment indicating they are generated. Manually maintained MANIFESTs
without this marker will not be overwritten or removed.
- Issue #8688: MANIFEST files created by distutils now include a magic comment
indicating they are generated. Manually maintained MANIFESTs without this
marker will not be overwritten or removed.
- Issue #7467: when reading a file from a ZIP archive, its CRC is checked
and a BadZipfile error is raised if it doesn't match (as used to be the
case in Python 2.5 and earlier).
- Issue #7467: when reading a file from a ZIP archive, its CRC is checked and a
BadZipfile error is raised if it doesn't match (as used to be the case in
Python 2.5 and earlier).
- Issue #9550: a BufferedReader could issue an additional read when the
original read request had been satisfied, which could block indefinitely
when the underlying raw IO channel was e.g. a socket. Report and original
patch by Jason V. Miller.
- Issue #9550: a BufferedReader could issue an additional read when the original
read request had been satisfied, which could block indefinitely when the
underlying raw IO channel was e.g. a socket. Report and original patch by
Jason V. Miller.
- Issue #3757: thread-local objects now support cyclic garbage collection.
Thread-local objects involved in reference cycles will be deallocated
timely by the cyclic GC, even if the underlying thread is still running.
Thread-local objects involved in reference cycles will be deallocated timely
by the cyclic GC, even if the underlying thread is still running.
- Issue #9452: Add read_file, read_string, and read_dict to the configparser
API; new source attribute to exceptions.
- Issue #6231: Fix xml.etree.ElementInclude to include the tail of the
current node.
- Issue #6231: Fix xml.etree.ElementInclude to include the tail of the current
node.
- Issue #8047: Fix the xml.etree serializer to return bytes by default. Use
``encoding="unicode"`` to generate a Unicode string.
- Issue #8280: urllib2's Request method will remove fragments in the url.
This is how it is supposed to work, wget and curl do the same. Previous
behavior was wrong.
- Issue #8280: urllib2's Request method will remove fragments in the url. This
is how it is supposed to work, wget and curl do the same. Previous behavior
was wrong.
- Issue #6683: For SMTP logins we now try all authentication methods advertised
by the server. Many servers are buggy and advertise authentication methods
they do not support in reality.
- Issue #8814: function annotations (the ``__annotations__`` attribute)
are now included in the set of attributes copied by default by
functools.wraps and functools.update_wrapper. Patch by Terrence Cole.
- Issue #8814: function annotations (the ``__annotations__`` attribute) are now
included in the set of attributes copied by default by functools.wraps and
functools.update_wrapper. Patch by Terrence Cole.
- Issue #2944: asyncore doesn't handle connection refused correctly.
- Issue #4184: Private attributes on smtpd.SMTPChannel made public and
deprecate the private attributes. Add tests for smtpd module.
- Issue #4184: Private attributes on smtpd.SMTPChannel made public and deprecate
the private attributes. Add tests for smtpd module.
- Issue #3196: email header decoding is now forgiving if an RFC2047
encoded word encoded in base64 is lacking padding.
- Issue #3196: email header decoding is now forgiving if an RFC2047 encoded word
encoded in base64 is lacking padding.
- Issue #9444: Argparse now uses the first element of prefix_chars as
the option character for the added 'h/help' option if prefix_chars
does not contain a '-', instead of raising an error.
- Issue #9444: Argparse now uses the first element of prefix_chars as the option
character for the added 'h/help' option if prefix_chars does not contain a
'-', instead of raising an error.
- Issue #7372: Fix pstats regression when stripping paths from profile
data generated with the profile module.
- Issue #7372: Fix pstats regression when stripping paths from profile data
generated with the profile module.
- Issue #9428: Fix running scripts with the profile/cProfile modules from
the command line.
- Issue #9428: Fix running scripts with the profile/cProfile modules from the
command line.
- Issue #7781: Fix restricting stats by entry counts in the pstats
interactive browser.
- Issue #7781: Fix restricting stats by entry counts in the pstats interactive
browser.
- Issue #9209: Do not crash in the pstats interactive browser on invalid
regular expressions.
- Issue #9209: Do not crash in the pstats interactive browser on invalid regular
expressions.
- Update collections.OrderedDict to match the implementation in Py2.7
(based on lists instead of weakly referenced Link objects).
- Update collections.OrderedDict to match the implementation in Py2.7 (based on
lists instead of weakly referenced Link objects).
- Issue #8397: Raise an error when attempting to mix iteration and regular
reads on a BZ2File object, rather than returning incorrect results.
- Issue #8397: Raise an error when attempting to mix iteration and regular reads
on a BZ2File object, rather than returning incorrect results.
- Issue #9448: Fix a leak of OS resources (mutexes or semaphores) when
re-initializing a buffered IO object by calling its ``__init__`` method.
@ -356,19 +350,19 @@ Library
- Issue #8230: Fix Lib/test/sortperf.py.
- Issue #8620: when a Cmd is fed input that reaches EOF without a final
newline, it no longer truncates the last character of the last command line.
- Issue #8620: when a Cmd is fed input that reaches EOF without a final newline,
it no longer truncates the last character of the last command line.
- Issue #5146: Handle UID THREAD command correctly in imaplib.
- Issue #5147: Fix the header generated for cookie files written by
http.cookiejar.MozillaCookieJar.
- Issue #8198: In pydoc, output all help text to the correct stream
when sys.stdout is reassigned.
- Issue #8198: In pydoc, output all help text to the correct stream when
sys.stdout is reassigned.
- Issue #7909: Do not touch paths with the special prefixes ``\\.\``
or ``\\?\`` in ntpath.normpath().
- Issue #7909: Do not touch paths with the special prefixes ``\\.\`` or ``\\?\``
in ntpath.normpath().
- Issue #1286: Allow using fileinput.FileInput as a context manager.
@ -405,9 +399,8 @@ Build
- Issue #9193: PEP 3149 is accepted.
- Issue #3101: Helper functions _add_one_to_index_C() and
_add_one_to_index_F() become _Py_add_one_to_index_C() and
_Py_add_one_to_index_F(), respectively.
- Issue #3101: Helper functions _add_one_to_index_C() and _add_one_to_index_F()
become _Py_add_one_to_index_C() and _Py_add_one_to_index_F(), respectively.
- Issue #9700: define HAVE_BROKEN_POSIX_SEMAPHORES under AIX 6.x. Patch by
Sébastien Sablé.