mirror of https://github.com/python/cpython
282 lines
10 KiB
Plaintext
282 lines
10 KiB
Plaintext
+++++++++++
|
|
Python News
|
|
+++++++++++
|
|
|
|
(editors: check NEWS.help for information about editing NEWS using ReST.)
|
|
|
|
What's New in Python 3.1 alpha 0
|
|
================================
|
|
|
|
*Release date: XX-XXX-200X*
|
|
|
|
Core and Builtins
|
|
-----------------
|
|
|
|
- Issue #1180193: When importing a module from a .pyc (or .pyo) file with
|
|
an existing .py counterpart, override the co_filename attributes of all
|
|
code objects if the original filename is obsolete (which can happen if the
|
|
file has been renamed, moved, or if it is accessed through different paths).
|
|
Patch by Ziga Seilnacht and Jean-Paul Calderone.
|
|
|
|
- Issue #4580: Fix slicing of memoryviews when the item size is greater than
|
|
one byte. Also fixes the meaning of len() so that it returns the number of
|
|
items, rather than the size in bytes.
|
|
|
|
- Issue #4075: Use OutputDebugStringW in Py_FatalError.
|
|
|
|
- Issue #4747: When the terminal does not use utf-8, executing a script with
|
|
non-ascii characters in its name could fail with a "SyntaxError: None" error.
|
|
|
|
- Issue #4797: IOError.filename was not set when _fileio.FileIO failed to open
|
|
file with `bytes' filename on Windows.
|
|
|
|
- Issue #3680: Reference cycles created through a dict, set or deque iterator
|
|
did not get collected.
|
|
|
|
- Issue #4701: PyObject_Hash now implicitly calls PyType_Ready on types
|
|
where the tp_hash and tp_dict slots are both NULL.
|
|
|
|
- Issue #4759: None is now allowed as the first argument of
|
|
bytearray.translate(). It was always allowed for bytes.translate().
|
|
|
|
- Added test case to ensure attempts to read from a file opened for writing
|
|
fail.
|
|
|
|
- Issue #3106: Speedup some comparisons (str/str and int/int).
|
|
|
|
- Issue #2183: Simplify and optimize bytecode for list, dict and set
|
|
comprehensions. Original patch for list comprehensions by Neal Norwitz.
|
|
|
|
- Issue #2467: gc.DEBUG_STATS reported invalid elapsed times. Also, always
|
|
print elapsed times, not only when some objects are uncollectable /
|
|
unreachable. Original patch by Neil Schemenauer.
|
|
|
|
- Issue #3439: Add a bit_length method to int.
|
|
|
|
- Issue #2173: When getting device encoding, check that return value of
|
|
nl_langinfo is not the empty string. This was causing silent build
|
|
failures on OS X.
|
|
|
|
- Issue #4597: Fixed several opcodes that weren't always propagating
|
|
exceptions.
|
|
|
|
- Issue #4589: Fixed exception handling when the __exit__ function of a
|
|
context manager returns a value that cannot be converted to a bool.
|
|
|
|
- Issue #4445: Replace "sizeof(PyBytesObject)" with
|
|
"offsetof(PyBytesObject, ob_sval) + 1" when allocating memory for
|
|
bytes instances. On a typical machine this saves 3 bytes of memory
|
|
(on average) per allocation of a bytes instance.
|
|
|
|
- Issue #4533: File read operation was dreadfully slow due to a slowly
|
|
growing read buffer. Fixed by using the same growth rate algorithm as
|
|
Python 2.x.
|
|
|
|
- Issue #4509: Various issues surrounding resize of bytearray objects to
|
|
which there are buffer exports (e.g. memoryview instances).
|
|
|
|
- Issue #4233: Changed semantic of ``_fileio.FileIO``'s ``close()``
|
|
method on file objects with closefd=False. The file descriptor is still
|
|
kept open but the file object behaves like a closed file. The ``FileIO``
|
|
object also got a new readonly attribute ``closefd``.
|
|
|
|
- Issue #4569: Interpreter crash when mutating a memoryview with an item size
|
|
larger than 1.
|
|
|
|
- Issue #4748: Lambda generators no longer return a value.
|
|
|
|
Library
|
|
-------
|
|
|
|
- Issue #4867: Fixed a crash in ctypes when passing a string to a
|
|
function without defining argtypes.
|
|
|
|
- Issue #4272: Add an optional argument to the GzipFile constructor to override
|
|
the timestamp in the gzip stream. The default value remains the current time.
|
|
The information can be used by e.g. gunzip when decompressing. Patch by
|
|
Jacques Frechet.
|
|
|
|
- Restore Python 2.3 compatibility for decimal.py.
|
|
|
|
- Issue #3638: Remove functions from _tkinter module level that depend on
|
|
TkappObject to work with multiple threads.
|
|
|
|
- Issue #4718: Adapt the wsgiref package so that it actually works with
|
|
Python 3.x, in accordance with the `official amendments of the spec
|
|
<http://www.wsgi.org/wsgi/Amendments_1.0>`_.
|
|
|
|
- Issue #4796: Added Decimal.from_float() and Context.create_decimal_from_float()
|
|
to the decimal module.
|
|
|
|
- Fractions.from_float() no longer loses precision for integers too big to
|
|
cast as floats.
|
|
|
|
- Issue #4812: add missing underscore prefix to some internal-use-only
|
|
constants in the decimal module. (Dec_0 becomes _Dec_0, etc.)
|
|
|
|
- Issue 4790: The nsmallest() and nlargest() functions in the heapq module
|
|
did unnecessary work in the common case where no key function was specified.
|
|
|
|
- Issue #4795: inspect.isgeneratorfunction() returns False instead of None when
|
|
the function is not a generator.
|
|
|
|
- Issue #4702: Throwing a DistutilsPlatformError instead of IOError in case
|
|
no MSVC compiler is found under Windows. Original patch by Philip Jenvey.
|
|
|
|
- Issue #4646: distutils was choking on empty options arg in the setup
|
|
function. Original patch by Thomas Heller.
|
|
|
|
- Issue #3767: Convert Tk object to string in tkColorChooser.
|
|
|
|
- Issue #3248: Allow placing ScrolledText in a PanedWindow.
|
|
|
|
- Issue #4444: Allow assertRaises() to be used as a context handler, so that
|
|
the code under test can be written inline if more practical.
|
|
|
|
- Issue #4739: Add pydoc help topics for symbols, so that e.g. help('@')
|
|
works as expected in the interactive environment.
|
|
|
|
- Issue #4756: zipfile.is_zipfile() now supports file-like objects. Patch by
|
|
Gabriel Genellina.
|
|
|
|
- Issue #4574: reading an UTF16-encoded text file crashes if \r on 64-char
|
|
boundary.
|
|
|
|
- Issue #4223: inspect.getsource() will now correctly display source code
|
|
for packages loaded via zipimport (or any other conformant PEP 302
|
|
loader). Original patch by Alexander Belopolsky.
|
|
|
|
- Issue #4201: pdb can now access and display source code loaded via
|
|
zipimport (or any other conformant PEP 302 loader). Original patch by
|
|
Alexander Belopolsky.
|
|
|
|
- Issue #4197: doctests in modules loaded via zipimport (or any other PEP
|
|
302 conformant loader) will now work correctly in most cases (they
|
|
are still subject to the constraints that exist for all code running
|
|
from inside a module loaded via a PEP 302 loader and attempting to
|
|
perform IO operations based on __file__). Original patch by
|
|
Alexander Belopolsky.
|
|
|
|
- Issues #4082 and #4512: Add runpy support to zipimport in a manner that
|
|
allows backporting to maintenance branches. Original patch by
|
|
Alexander Belopolsky.
|
|
|
|
- Issue #4163: textwrap module: allow word splitting on a hyphen preceded by
|
|
a non-ASCII letter.
|
|
|
|
- Issue #4616: TarFile.utime(): Restore directory times on Windows.
|
|
|
|
- Issue #4021: tokenize.detect_encoding() now raises a SyntaxError when the
|
|
codec cannot be found. This is for compatibility with the builtin behavior.
|
|
|
|
- Issue #4084: Fix max, min, max_mag and min_mag Decimal methods to
|
|
give correct results in the case where one argument is a quiet NaN
|
|
and the other is a finite number that requires rounding.
|
|
|
|
- Issue #4483: _dbm module now builds on systems with gdbm & gdbm_compat
|
|
libs.
|
|
|
|
- Added the subprocess.check_call_output() convenience function to get output
|
|
from a subprocess on success or raise an exception on error.
|
|
|
|
- Issue #1055234: cgi.parse_header(): Fixed parsing of header parameters to
|
|
support unusual filenames (such as those containing semi-colons) in
|
|
Content-Disposition headers.
|
|
|
|
- Issue #4384: Added logging integration with warnings module using
|
|
captureWarnings(). This change includes a NullHandler which does nothing;
|
|
it will be of use to library developers who want to avoid the "No handlers
|
|
could be found for logger XXX" message which can appear if the library user
|
|
doesn't configure logging.
|
|
|
|
- Issue #3741: DISTUTILS_USE_SDK set causes msvc9compiler.py to raise an
|
|
exception.
|
|
|
|
- Issue #4529: fix the parser module's validation of try-except-finally
|
|
statements.
|
|
|
|
- Issue #4458: getopt.gnu_getopt() now recognizes a single "-" as an argument,
|
|
not a malformed option.
|
|
|
|
- Added the subprocess.check_output() convenience function to get output
|
|
from a subprocess on success or raise an exception on error.
|
|
|
|
- Issue #4542: On Windows, binascii.crc32 still accepted str as binary input;
|
|
the corresponding tests now pass.
|
|
|
|
- Issue #4537: webbrowser.UnixBrowser would fail to open the browser because
|
|
it was calling the wrong open() function.
|
|
|
|
- Issue #1055234: cgi.parse_header(): Fixed parsing of header parameters to
|
|
support unusual filenames (such as those containing semi-colons) in
|
|
Content-Disposition headers.
|
|
|
|
Tools/Demos
|
|
-----------
|
|
|
|
- Issue #4677: add two list comprehension tests to pybench.
|
|
|
|
|
|
Build
|
|
-----
|
|
|
|
- Issue #4472: "configure --enable-shared" now works on OSX
|
|
|
|
- Issues #4728 and #4060: WORDS_BIGEDIAN is now correct in Universal builds.
|
|
|
|
- Issue #4389: Add icon to the uninstall entry in "add-and-remove-programs".
|
|
|
|
- Issue #4289: Remove Cancel button from AdvancedDlg.
|
|
|
|
- Issue #1656675: Register a drop handler for .py* files on Windows.
|
|
|
|
- Issue #4120: Exclude manifest from extension modules in VS2008.
|
|
|
|
- Issue #4091: Install pythonxy.dll in system32 again.
|
|
|
|
- Issue #4018: Disable "for me" installations on Vista.
|
|
|
|
- Issue #3758: Add ``patchcheck`` build target to .PHONY.
|
|
|
|
- Issue #4204: Fixed module build errors on FreeBSD 4.
|
|
|
|
|
|
C-API
|
|
-----
|
|
|
|
- Issue #4720: The format for PyArg_ParseTupleAndKeywords can begin with '|'.
|
|
|
|
- Issue #3632: from the gdb debugger, the 'pyo' macro can now be called when
|
|
the GIL is released, or owned by another thread.
|
|
|
|
- Issue #4122: On Windows, fix a compilation error when using the
|
|
Py_UNICODE_ISSPACE macro in an extension module.
|
|
|
|
|
|
Extension Modules
|
|
-----------------
|
|
|
|
- Issue #4051: Prevent conflict of UNICODE macros in cPickle.
|
|
|
|
- Issue #4738: Each zlib object now has a separate lock, allowing to compress
|
|
or decompress several streams at once on multi-CPU systems. Also, the GIL
|
|
is now released when computing the CRC of a large buffer. Patch by ebfe.
|
|
|
|
- Issue #4228: Pack negative values the same way as 2.4 in struct's L format.
|
|
|
|
- Issue #1040026: Fix os.times result on systems where HZ is incorrect.
|
|
|
|
- Issues #3167, #3682: Fix test_math failures for log, log10 on Solaris,
|
|
OpenBSD.
|
|
|
|
- Issue #4583: array.array would not always prohibit resizing when a buffer
|
|
has been exported, resulting in an interpreter crash when accessing the
|
|
buffer.
|
|
|
|
|
|
Docs
|
|
----
|
|
|
|
|
|
**(For information about older versions, consult the HISTORY file.)**
|