mirror of
https://github.com/python/cpython.git
synced 2025-11-28 22:18:54 +00:00
Summary of changes between 2.0b2 and 2.0c1
This commit is contained in:
parent
30e78773eb
commit
ed9e644793
1 changed files with 124 additions and 1 deletions
125
Misc/NEWS
125
Misc/NEWS
|
|
@ -1,4 +1,4 @@
|
||||||
What's New in Python 2.0b2?
|
What's New in Python 2.0c1?
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
Below is a list of all relevant changes since release 1.6. Older
|
Below is a list of all relevant changes since release 1.6. Older
|
||||||
|
|
@ -14,6 +14,129 @@ http://starship.python.net/crew/amk/python/writing/new-python/.
|
||||||
|
|
||||||
======================================================================
|
======================================================================
|
||||||
|
|
||||||
|
What's new in 2.0 release candidate 1 (since beta 2)?
|
||||||
|
=====================================================
|
||||||
|
|
||||||
|
All the changes since the last beta release are bug fixes or changes
|
||||||
|
to build support for specific platforms.
|
||||||
|
|
||||||
|
Core language, builtins, and interpreter
|
||||||
|
|
||||||
|
- A bug that caused crashes when __coerce__ was used with augmented
|
||||||
|
assignment, e.g. +=, was fixed.
|
||||||
|
|
||||||
|
- Raise ZeroDivisionError when raising zero to a negative number,
|
||||||
|
e.g. 0.0 ** -2.0. Note that math.pow is unrelated to the builtin
|
||||||
|
power operator and the result of math.pow(0.0, -2.0) will vary by
|
||||||
|
platform. On Linux, it raises a ValueError.
|
||||||
|
|
||||||
|
- A bug in Unicode string interpolation was fixed that occasionally
|
||||||
|
caused errors with formats including "%%". For example, the
|
||||||
|
following expression "%% %s" % u"abc" no longer raises a TypeError.
|
||||||
|
|
||||||
|
- Compilation of deeply nested expressions raises MemoryError instead
|
||||||
|
of SyntaxError, e.g. eval("[" * 50 + "]" * 50).
|
||||||
|
|
||||||
|
- In 2.0b2 on Windows, the interpreter wrote .pyc files in text mode,
|
||||||
|
rendering them useless. They are now written in binary mode again.
|
||||||
|
|
||||||
|
Standard library
|
||||||
|
|
||||||
|
- Keyword arguments are now accepted for most pattern and match object
|
||||||
|
methods in SRE, the standard regular expression engine.
|
||||||
|
|
||||||
|
- In SRE, fix error with negative lookahead and lookbehind that
|
||||||
|
manifested itself as a runtime error in patterns like "?<!abc)(def)".
|
||||||
|
|
||||||
|
- Tkinter now supports Unicode strings and will set a Python exception
|
||||||
|
when an error occurs handling a specific Unicode string.
|
||||||
|
|
||||||
|
- Fix memory management errors in Merge() and Tkapp_Call() routines.
|
||||||
|
|
||||||
|
- Several changes were made to cStringIO to make it compatible with
|
||||||
|
the file-like object interface and with StringIO. If operations are
|
||||||
|
performed on a closed object, an exception is raised. The truncate
|
||||||
|
method now accepts a position argument and readline accepts a size
|
||||||
|
argument.
|
||||||
|
|
||||||
|
- There were many changes made to the linuxaudiodev module and its
|
||||||
|
test suite; as a result, a short, unexpected audio sample should now
|
||||||
|
play when the regression test is run.
|
||||||
|
|
||||||
|
Note that this module is named poorly, because it should work
|
||||||
|
correctly on any platform that supports the Open Sound System
|
||||||
|
(OSS).
|
||||||
|
|
||||||
|
The module now raises exceptions when errors occur instead of
|
||||||
|
crashing. It also defines the AFMT_A_LAW format (logarithmic A-law
|
||||||
|
audio) and defines a getptr() method that calls the
|
||||||
|
SNDCTL_DSP_GETxPTR ioctl defined in the OSS Programmer's Guide.
|
||||||
|
|
||||||
|
- The library_version attribute, introduced in an earlier beta, was
|
||||||
|
removed because it can not be supported with early versions of the C
|
||||||
|
readline library, which provides no way to determine the version at
|
||||||
|
compile-time.
|
||||||
|
|
||||||
|
- The binascii module is now enabled on Win64.
|
||||||
|
|
||||||
|
Internals
|
||||||
|
|
||||||
|
- Fix several buffer overflow vulnerabilities in calculate_path(),
|
||||||
|
which is called when the interpreter starts up to determine where
|
||||||
|
the standard library is installed. These vulnerabilities affect all
|
||||||
|
previous versions of Python and can be exploited by setting very
|
||||||
|
long values for PYTHONHOME or argv[0]. The risk is greatest for a
|
||||||
|
setuid Python script, although use of the wrapper in
|
||||||
|
Misc/setuid-prog.c will eliminate the vulnerability.
|
||||||
|
|
||||||
|
- Fixed garbage collection bugs in instance creation that were
|
||||||
|
triggered when errors occurred during initialization. The solution,
|
||||||
|
applied in cPickle and in PyInstance_New(), is to call
|
||||||
|
PyObject_GC_Init() after the initialization of the object's
|
||||||
|
container attributes is complete.
|
||||||
|
|
||||||
|
- pyexpat adds definitions of PyModule_AddStringConstant and
|
||||||
|
PyModule_AddObject if the Python version is less than 2.0, which
|
||||||
|
provides compatibility with PyXML on Python 1.5.2.
|
||||||
|
|
||||||
|
- If the platform has a bogus definition for LONG_BIT (the number of
|
||||||
|
bits in a long), an error will be reported at compile time.
|
||||||
|
|
||||||
|
- Fix bugs in _PyTuple_Resize() which caused hard-to-interpret garbage
|
||||||
|
collection crashes and possibly other, unreported crashes.
|
||||||
|
|
||||||
|
- Fixed a memory leak in _PyUnicode_Fini().
|
||||||
|
|
||||||
|
Build issues
|
||||||
|
|
||||||
|
- configure now accepts a --with-suffix option that specifies the
|
||||||
|
executable. This is useful for builds on Cygwin and Mac OS X, for
|
||||||
|
example.
|
||||||
|
|
||||||
|
- The mmap.PAGESIZE constant is now initialized using sysconf when
|
||||||
|
possible, which eliminates a dependency on -lucb for Reliant UNIX.
|
||||||
|
|
||||||
|
- The md5 file should now compile on all platforms.
|
||||||
|
|
||||||
|
- The select module now compiles on platforms that do not define
|
||||||
|
POLLRDNORM and related constants.
|
||||||
|
|
||||||
|
- Darwin (Mac OS X): Initial support for static builds on this
|
||||||
|
platform.
|
||||||
|
|
||||||
|
- BeOS: Many changes were made to support compilation on BeOS 4.5 and
|
||||||
|
5.0.
|
||||||
|
|
||||||
|
- Cygwin: Support for shared libraries, Tkinter, and sockets.
|
||||||
|
|
||||||
|
- SunOS 4.1.4_JL: Fix test for directory existence in configure.
|
||||||
|
|
||||||
|
Tools and other miscellany
|
||||||
|
|
||||||
|
- Removed debugging prints from main used with freeze.
|
||||||
|
|
||||||
|
- IDLE auto-indent internals no longer crashes when it encounters
|
||||||
|
Unicode characters in the range 128 to 255.
|
||||||
|
|
||||||
What's new in 2.0 beta 2 (since beta 1)?
|
What's new in 2.0 beta 2 (since beta 1)?
|
||||||
========================================
|
========================================
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue