ReST-ification of the NEWS file. While the total number of changes are

fairly large, most are caused by reformatting section and subsection
headings.  The changes fall into the following categories:

    * reformatted section and subsection headers.

    * escaped isolated asterisks which would be interpreted as starting bold
      or italic text (e.g. "void (*)(PyObject \*)").

    * quoted stuff that looks like internal references but isn't
      (e.g. ``PyCmp_``).

    * changed visually balanced quotes to just use apostrophes
      (e.g. "'string'" instead of "`string'").

    * introduced and indenting multiline chunks of code.

    * created one table (search for "New codecs").
This commit is contained in:
Skip Montanaro 2002-09-20 14:16:59 +00:00
parent f0cfdf7314
commit e5d7f7f3af

182
Misc/NEWS
View File

@ -1,8 +1,14 @@
+++++++++++
Python News
+++++++++++
What's New in Python 2.3 alpha 1?
XXX Release date: DD-MMM-2002 XXX
=================================
*XXX Release date: DD-MMM-2002 XXX*
Type/class unification and new-style classes
--------------------------------------------
- Assignment to __class__ is disallowed if either the old and the new
class is a statically allocated type object (such as defined by an
@ -56,6 +62,7 @@ Type/class unification and new-style classes
state of the slots would be lost.)
Core and builtins
-----------------
- Codec error handling callbacks (PEP 293) are implemented.
Error handling in unicode.encode or str.decode can now be customized.
@ -161,7 +168,7 @@ Core and builtins
precedes B in the list at the start, A precedes B after the sort too),
although the language definition does not guarantee stability. A
potential drawback is that list.sort() may require temp space of
len(list)*2 bytes (*4 on a 64-bit machine). It's therefore possible
len(list)*2 bytes (\*4 on a 64-bit machine). It's therefore possible
for list.sort() to raise MemoryError now, even if a comparison function
does not. See <http://www.python.org/sf/587076> for full details.
@ -273,6 +280,7 @@ Core and builtins
An exception will now be raised if more than one argument is used.
Extension modules
-----------------
- cPickle.BadPickleGet is now a class.
@ -324,6 +332,7 @@ Extension modules
interpreter was compiled.
Library
-------
- mimetypes has two new functions: guess_all_extensions() which
returns a list of all known extensions for a mime type, and
@ -469,6 +478,7 @@ Library
honored.
Tools/Demos
-----------
- The SGI demos (Demo/sgi) have been removed. Nobody thought they
were interesting any more. (The SGI library modules and extensions
@ -485,6 +495,7 @@ Tools/Demos
the generated binary.
Build
-----
- The public Python C API will generally be declared using PyAPI_FUNC
and PyAPI_DATA macros, while Python extension module init functions
@ -550,6 +561,7 @@ Build
modules in the README file for details.
C API
-----
- The string object's layout has changed: the pointer member
ob_sinterned has been replaced by an int member ob_sstate. On some
@ -593,8 +605,8 @@ C API
coercion if both arguments have the same type but this type has the
CHECKTYPES flag set. This is to better support proxies.
- The type of tp_free has been changed from "void (*)(PyObject *)" to
"void (*)(void *)".
- The type of tp_free has been changed from "void (*)(PyObject \*)" to
"void (*)(void \*)".
- PyObject_Del, PyObject_GC_Del are now functions instead of macros.
@ -610,7 +622,7 @@ C API
- The "u#" parser marker will now pass through Unicode objects as-is
without going through the buffer API.
- The enumerators of cmp_op have been renamed to use the prefix PyCmp_.
- The enumerators of cmp_op have been renamed to use the prefix ``PyCmp_``.
- An old #define of ANY as void has been removed from pyport.h. This
hasn't been used since Python's pre-ANSI days, and the #define has
@ -624,6 +636,7 @@ C API
scheme to a new one. See Python/import.c for details.
New platforms
-------------
- AtheOS is now supported.
@ -632,8 +645,12 @@ New platforms
- GNU/Hurd is now supported.
Tests
-----
Yet to be written.
Windows
-------
- Sometimes the uninstall executable (UNWISE.EXE) vanishes. One cause
of that has been fixed in the installer (disabled Wise's "delete in-
@ -681,23 +698,30 @@ Windows
specified with O_CREAT too).
Mac
----
Yet to be written.
What's New in Python 2.2 final?
Release date: 21-Dec-2001
===============================
*Release date: 21-Dec-2001*
Type/class unification and new-style classes
--------------------------------------------
- pickle.py, cPickle: allow pickling instances of new-style classes
with a custom metaclass.
Core and builtins
-----------------
- weakref proxy object: when comparing, unwrap both arguments if both
are proxies.
Extension modules
-----------------
- binascii.b2a_base64(): fix a potential buffer overrun when encoding
very short strings.
@ -709,6 +733,7 @@ Extension modules
when compiling cPickle.c (or in pyconfig.h).
Library
-------
- dumbdbm.py: fixed a dumb old bug (the file didn't get synched at
close or delete time).
@ -722,16 +747,22 @@ Library
when run from the standard regression test.
Tools/Demos
-----------
Build
-----
C API
-----
New platforms
-------------
Tests
-----
Windows
-------
- distutils package: fixed broken Windows installers (bdist_wininst).
@ -745,6 +776,7 @@ Windows
in backslash.
Mac
----
- The Carbon toolbox modules have been upgraded to Universal Headers
3.4, and experimental CoreGraphics and CarbonEvents modules have
@ -752,10 +784,12 @@ Mac
What's New in Python 2.2c1?
Release date: 14-Dec-2001
===========================
*Release date: 14-Dec-2001*
Type/class unification and new-style classes
--------------------------------------------
- Guido's tutorial introduction to the new type/class features has
been extensively updated. See
@ -798,6 +832,7 @@ Type/class unification and new-style classes
dictionary, but saves space if the object is not used further.
Core and builtins
-----------------
- -Qnew now works as documented in PEP 238: when -Qnew is passed on
the command line, all occurrences of "/" use true division instead
@ -815,10 +850,12 @@ Core and builtins
or if the second arg is specified when the first is a string.
Extension modules
-----------------
- gc.get_referents was renamed to gc.get_referrers.
Library
-------
- Functions in the os.spawn() family now release the global interpreter
lock around calling the platform spawn. They should always have done
@ -840,11 +877,13 @@ Library
- The pulldom and minidom modules were synchronized to PyXML.
Tools/Demos
-----------
- A new script called Tools/scripts/google.py was added, which fires
off a search on Google.
Build
-----
- Note that release builds of Python should arrange to define the
preprocessor symbol NDEBUG on the command line (or equivalent).
@ -859,6 +898,7 @@ Build
directory an extension is used, but not in the installed python.
C API
-----
- New function PyDict_MergeFromSeq2() exposes the builtin dict
constructor's logic for updating a dictionary from an iterable object
@ -872,12 +912,16 @@ C API
previously went unchallenged.
New platforms
-------------
Tests
-----
Windows
-------
Mac
----
- In unix-Python on Mac OS X (and darwin) sys.platform is now "darwin",
without any trailing digits.
@ -889,10 +933,12 @@ Mac
What's New in Python 2.2b2?
Release date: 16-Nov-2001
===========================
*Release date: 16-Nov-2001*
Type/class unification and new-style classes
--------------------------------------------
- Multiple inheritance mixing new-style and classic classes in the
list of base classes is now allowed, so this works now:
@ -926,6 +972,7 @@ Type/class unification and new-style classes
- The socket function has been converted to a type; see below.
Core and builtins
-----------------
- Assignment to __debug__ raises SyntaxError at compile-time. This
was promised when 2.1c1 was released as "What's New in Python 2.1c1"
@ -935,6 +982,7 @@ Core and builtins
(like 1 + '').
Extension modules
-----------------
- mmap has a new keyword argument, "access", allowing a uniform way for
both Windows and Unix users to create read-only, write-through and
@ -961,6 +1009,7 @@ Extension modules
bytes on its input.
Library
-------
- tkFileDialog exposes a Directory class and askdirectory
convenience function.
@ -991,7 +1040,7 @@ Library
- mimetypes.py has optional support for non-standard, but commonly
found types. guess_type() and guess_extension() now accept an
optional `strict' flag, defaulting to true, which controls whether
optional 'strict' flag, defaulting to true, which controls whether
recognize non-standard types or not. A few non-standard types we
know about have been added. Also, when run as a script, there are
new -l and -e options.
@ -1000,7 +1049,7 @@ Library
- email.Utils.formatdate() now produces the preferred RFC 2822 style
dates with numeric timezones (it used to produce obsolete dates
hard coded to "GMT" timezone). An optional `localtime' flag is
hard coded to "GMT" timezone). An optional 'localtime' flag is
added to produce dates in the local timezone, with daylight savings
time properly taken into account.
@ -1010,8 +1059,10 @@ Library
in pickle, as it already was supported in cPickle.
Tools/Demos
-----------
Build
-----
- The dbm module is built using libdb1 if available. The bsddb module
is built with libdb3 if available.
@ -1019,6 +1070,7 @@ Build
- Misc/Makefile.pre.in has been removed by BDFL pronouncement.
C API
-----
- New function PySequence_Fast_GET_SIZE() returns the size of a non-
NULL result from PySequence_Fast(), more quickly than calling
@ -1037,6 +1089,7 @@ C API
argument supports the single-segment readable buffer interface.
New platforms
-------------
- We've finally confirmed that this release builds on HP-UX 11.00,
*with* threads, and passes the test suite.
@ -1047,13 +1100,16 @@ New platforms
- Updated RISCOS port by Dietmar Schwertberger.
Tests
-----
- Added a test script for the curses module. It isn't run automatically;
regrtest.py must be run with '-u curses' to enable it.
Windows
-------
Mac
----
- PythonScript has been moved to unsupported and is slated to be
removed completely in the next release.
@ -1068,10 +1124,12 @@ Mac
What's New in Python 2.2b1?
Release date: 19-Oct-2001
===========================
*Release date: 19-Oct-2001*
Type/class unification and new-style classes
--------------------------------------------
- New-style classes are now always dynamic (except for built-in and
extension types). There is no longer a performance penalty, and I
@ -1090,6 +1148,7 @@ Type/class unification and new-style classes
class methods, static methods, and properties.
Core and builtins
-----------------
- A very subtle syntactical pitfall in list comprehensions was fixed.
For example: [a+b for a in 'abc', for b in 'def']. The comma in
@ -1127,6 +1186,7 @@ Core and builtins
returns true if x is an instance of A or B.
Extension modules
-----------------
- thread.start_new_thread() now returns the thread ID (previously None).
@ -1161,6 +1221,7 @@ Extension modules
exports O_LARGEFILE, O_DIRECT, O_DIRECTORY, and O_NOFOLLOW.
Library
-------
- doctest now excludes functions and classes not defined by the module
being tested, thanks to Tim Hochberg.
@ -1204,7 +1265,7 @@ Library
- The SocketServer.ThreadingMixIn class now closes the request after
finish_request() returns. (Not when it errors out though.)
- The nntplib module's NNTP.body() method has grown a `file' argument
- The nntplib module's NNTP.body() method has grown a 'file' argument
to allow saving the message body to a file.
- The email package has added a class email.Parser.HeaderParser which
@ -1221,6 +1282,7 @@ Library
and item() method as required by the DOM specifications.
Tools/Demos
-----------
- Demo/dns was removed. It no longer serves any purpose; a package
derived from it is now maintained by Anthony Baxter, see
@ -1230,11 +1292,13 @@ Tools/Demos
been added: -X and -E.
Build
-----
- configure will use CXX in LINKCC if CXX is used to build main() and
the system requires to link a C++ main using the C++ compiler.
C API
-----
- The documentation for the tp_compare slot is updated to require that
the return value must be -1, 0, 1; an arbitrary number <0 or >0 is
@ -1257,10 +1321,13 @@ C API
input.
New platforms
-------------
Tests
-----
Windows
-------
- Installer: If you install IDLE, and don't disable file-extension
registration, a new "Edit with IDLE" context (right-click) menu entry
@ -1269,13 +1336,12 @@ Windows
- The signal module now supports SIGBREAK on Windows, thanks to Steven
Scott. Note that SIGBREAK is unique to Windows. The default SIGBREAK
action remains to call Win32 ExitProcess(). This can be changed via
signal.signal(). For example:
signal.signal(). For example: ::
# Make Ctrl+Break raise KeyboardInterrupt, like Python's default Ctrl+C
# (SIGINT) behavior.
import signal
signal.signal(signal.SIGBREAK,
signal.default_int_handler)
signal.signal(signal.SIGBREAK, signal.default_int_handler)
try:
while 1:
@ -1288,10 +1354,12 @@ Windows
What's New in Python 2.2a4?
Release date: 28-Sep-2001
===========================
*Release date: 28-Sep-2001*
Type/class unification and new-style classes
--------------------------------------------
- pydoc and inspect are now aware of new-style classes;
e.g. help(list) at the interactive prompt now shows proper
@ -1362,6 +1430,7 @@ Type/class unification and new-style classes
- Provisional support for pickling new-style objects has been added.
Core
----
- file.writelines() now accepts any iterable object producing strings.
@ -1381,6 +1450,7 @@ Core
to let other runnable threads be scheduled.
Library
-------
- StringIO.StringIO instances and cStringIO.StringIO instances support
read character buffer compatible objects for their .write() methods.
@ -1428,8 +1498,10 @@ Library
a sample driver.)
Tools
-----
Build
-----
- Large file support (LFS) is now automatic when the platform supports
it; no more manual configuration tweaks are needed. On Linux, at
@ -1450,16 +1522,19 @@ Build
using "make -s", thanks to a -q option to setup.py.
C API
-----
- The "structmember" API now supports some new flag bits to deny read
and/or write access to attributes in restricted execution mode.
New platforms
-------------
- Compaq's iPAQ handheld, running the "familiar" Linux distribution
(http://familiar.handhelds.org).
Tests
-----
- The "classic" standard tests, which work by comparing stdout to
an expected-output file under Lib/test/output/, no longer stop at
@ -1476,6 +1551,7 @@ Tests
especially in regard to reporting errors.
Windows
-------
- Large file support now also works for files > 4GB, on filesystems
that support it (NTFS under Windows 2000). See "What's New in
@ -1483,10 +1559,12 @@ Windows
What's New in Python 2.2a3?
Release Date: 07-Sep-2001
===========================
*Release Date: 07-Sep-2001*
Core
----
- Conversion of long to float now raises OverflowError if the long is too
big to represent as a C double.
@ -1528,14 +1606,13 @@ Core
all uses of classic division for int and long arguments; -Qwarnall
also warns about classic division for float and complex arguments
(for use with fixdiv.py).
[Note: the remainder of this paragraph (preserved below) became
obsolete in 2.2c1 -- -Qnew has global effect in 2.2]
<obsolete>
[Note: the remainder of this item (preserved below) became
obsolete in 2.2c1 -- -Qnew has global effect in 2.2] ::
Using -Qnew is questionable; it turns on new division by default, but
only in the __main__ module. You can usefully combine -Qwarn or
-Qwarnall and -Qnew: this gives the __main__ module new division, and
warns about classic division everywhere else.
</obsolete>
- Many built-in types can now be subclassed. This applies to int,
long, float, str, unicode, and tuple. (The types complex, list and
@ -1571,6 +1648,7 @@ Core
exponent, such as 1e and 3.1e-. Such literals now raise SyntaxError.
Library
-------
- telnetlib includes symbolic names for the options, and support for
setting an option negotiation callback.
@ -1604,11 +1682,13 @@ Library
to objects that should be garbage collected between tests.
Tools
-----
- Tools/scripts/fixdiv.py has been added which can be used to fix
division operators as per PEP 238.
Build
-----
- If you are an adventurous person using Mac OS X you may want to look at
Mac/OSX. There is a Makefile there that will build Python as a real Mac
@ -1616,12 +1696,13 @@ Build
Discussion of this on pythonmac-sig, please.
C API
-----
- New function PyObject_Dir(obj), like Python __builtin__.dir(obj).
- Note that PyLong_AsDouble can fail! This has always been true, but no
callers checked for it. It's more likely to fail now, because overflow
errors are properly detected now. The proper way to check:
errors are properly detected now. The proper way to check: ::
double x = PyLong_AsDouble(some_long_object);
if (x == -1.0 && PyErr_Occurred()) {
@ -1650,6 +1731,7 @@ C API
by PyErr_Format()).
New platforms
-------------
- Stephen Hansen contributed patches sufficient to get a clean compile
under Borland C (Windows), but he reports problems running it and ran
@ -1658,8 +1740,10 @@ New platforms
causing later failures too.
Tests
-----
Windows
-------
- Large file support is now enabled on Win32 platforms as well as on
Win64. This means that, for example, you can use f.tell() and f.seek()
@ -1676,10 +1760,12 @@ Windows
What's New in Python 2.2a2?
Release Date: 22-Aug-2001
===========================
*Release Date: 22-Aug-2001*
Build
-----
- Tim Peters developed a brand new Windows installer using Wise 8.1,
generously donated to us by Wise Solutions.
@ -1695,15 +1781,17 @@ Build
- The NeXT platform is no longer supported.
- The `new' module is now statically linked.
- The 'new' module is now statically linked.
Tools
-----
- The new Tools/scripts/cleanfuture.py can be used to automatically
edit out obsolete future statements from Python source code. See
the module docstring for details.
Tests
-----
- regrtest.py now knows which tests are expected to be skipped on some
platforms, allowing to give clearer test result output. regrtest
@ -1714,6 +1802,7 @@ Tests
Nick Mathewson.
Core
----
- The floor division operator // has been added as outlined in PEP
238. The / operator still provides classic division (and will until
@ -1753,6 +1842,7 @@ Core
older distribution.
Library
-------
- New class Differ and new functions ndiff() and restore() in difflib.py.
These package the algorithms used by the popular Tools/scripts/ndiff.py,
@ -1770,13 +1860,15 @@ Library
- Added Ka-Ping Yee's cgitb.py module.
- The `new' module now exposes the CO_xxx flags.
- The 'new' module now exposes the CO_xxx flags.
- The gc module offers the get_referents function.
New platforms
-------------
C API
-----
- Two new APIs PyOS_snprintf() and PyOS_vsnprintf() were added
which provide a cross-platform implementations for the
@ -1799,16 +1891,19 @@ C API
deprecated.
Windows
-------
- "import module" now compiles module.pyw if it exists and nothing else
relevant is found.
What's New in Python 2.2a1?
Release date: 18-Jul-2001
===========================
*Release date: 18-Jul-2001*
Core
----
- TENTATIVELY, a large amount of code implementing much of what's
described in PEP 252 (Making Types Look More Like Classes) and PEP
@ -1854,14 +1949,21 @@ Core
New codecs were added to demonstrate these new features (the .encode()
and .decode() columns indicate the type of the returned objects):
Name | .encode() | .decode() | Description
----------------------------------------------------------------------
uu | string | string | UU codec (e.g. for email)
base64 | string | string | base64 codec
quopri | string | string | quoted-printable codec
zlib | string | string | zlib compression
hex | string | string | 2-byte hex codec
rot-13 | string | Unicode | ROT-13 Unicode charmap codec
+---------+-----------+-----------+-----------------------------+
|Name | .encode() | .decode() | Description |
+=========+===========+===========+=============================+
|uu | string | string | UU codec (e.g. for email) |
+---------+-----------+-----------+-----------------------------+
|base64 | string | string | base64 codec |
+---------+-----------+-----------+-----------------------------+
|quopri | string | string | quoted-printable codec |
+---------+-----------+-----------+-----------------------------+
|zlib | string | string | zlib compression |
+---------+-----------+-----------+-----------------------------+
|hex | string | string | 2-byte hex codec |
+---------+-----------+-----------+-----------------------------+
|rot-13 | string | Unicode | ROT-13 Unicode charmap codec|
+---------+-----------+-----------+-----------------------------+
- Some operating systems now support the concept of a default Unicode
encoding for file system operations. Notably, Windows supports 'mbcs'
@ -1934,7 +2036,8 @@ Core
Iterating over a file generates its lines.
- The following functions were generalized to work nicely with iterator
arguments:
arguments: ::
map(), filter(), reduce(), zip()
list(), tuple() (PySequence_Tuple() and PySequence_Fast() in C API)
max(), min()
@ -1942,7 +2045,7 @@ Core
extend() method of lists
'x in y' and 'x not in y' (PySequence_Contains() in C API)
operator.countOf() (PySequence_Count() in C API)
right-hand side of assignment statements with multiple targets, such as
right-hand side of assignment statements with multiple targets, such as ::
x, y, z = some_iterable_object_returning_exactly_3_values
- Accessing module attributes is significantly faster (for example,
@ -1966,6 +2069,7 @@ Core
Library
-------
- The constants ascii_letters, ascii_lowercase. and ascii_uppercase
were added to the string module. These a locale-independent
@ -2013,6 +2117,7 @@ Library
'help(object)'.
Tests
-----
- New test_mutants.py runs dict comparisons where the key and value
comparison operators mutate the dicts randomly during comparison. This
@ -2024,6 +2129,11 @@ Tests
cases produce correct output.
C API
-----
- Removed the unused last_is_sticky argument from the internal
_PyTuple_Resize(). If this affects you, you were cheating.
----
**(For information about older versions, consult the HISTORY file.)**