[Python-Dev] RELEASED: Python 2.3b2
Barry Warsaw
barry@python.org
29 Jun 2003 21:57:43 -0400
Python 2.3b2 is the second beta release of Python 2.3. There have be a
slew of fixes since the first beta, and a few new "features". Our goal
is to have a final Python 2.3 release by early August, so we encourage
lots of testing for this beta. Highlights since beta 1 include:
- IDLEfork has been merged in and now replaces the old IDLE.
- The Windows installer now ships with Tcl/Tk 8.4.3.
- list.index() has grown optional `start' and `end' arguments.
- A new C-only API function PyThreadState_SetAsyncExc() which can be
used to interrupt threads by sending them exceptions.
- Python programs can enter the interactive prompt at program exit by
setting the PYTHONINSPECT environment variable.
- Many new doctest improvements, including the ability to write doctest
based unit tests.
- New and improved documentation for writing new types in C that
participate in cyclic garbage collection.
There is at least one known bug: we have seen crashes on both Windows
and Linux with certain interactions between test_logging and
test_bsddb3. We intend to fix this for the next release.
For more highlights, see http://www.python.org/2.3/highlights.html
Other new stuff since Python 2.2:
- Many new and improved library modules, e.g. sets, heapq, datetime,
textwrap, optparse, logging, bsddb, bz2, tarfile,
ossaudiodev, and a new random number generator based on the highly
acclaimed Mersenne Twister algorithm (with a period of 2**19937-1!).
- New builtin enumerate(): an iterator yielding (index, item) pairs.
- Extended slices, e.g. "hello"[::-1] returns "olleh".
- Universal newlines mode for reading files (converts \r, \n and \r\n
all into \n).
- Source code encoding declarations. (PEP 263)
- Import from zip files. (PEP 273 and PEP 302)
- FutureWarning issued for "unsigned" operations on ints. (PEP 237)
- Faster list.sort() is now stable.
- Unicode filenames on Windows.
- Karatsuba long multiplication (running time O(N**1.58) instead of
O(N**2)).
If you have an important Python application, we strongly recommend that
you try it out with a beta release and report any incompatibilities or
other problems you may encounter, so that they can be fixed before the
final release. To report problems, use the SourceForge bug tracker:
http://sourceforge.net/tracker/?group_id=5470&atid=105470
Enjoy,
-Barry