RELEASED Python 2.3 (final)

Barry A. Warsaw barry at python.org
Tue Jul 29 20:02:26 EDT 2003


On behalf of the Python development team and the Python community, I'm
happy to announce the release of Python 2.3 (final).

Nineteen months in the making, Python 2.3 represents a commitment to
stability and improved performance, with a minimum of new language
features.  Countless bugs and memory leaks have been fixed, many new
and updated modules have been added, and the new type/class system
introduced in Python 2.2 has been significantly improved.  Python 2.3
can be up to 30% faster than Python 2.2.

For more information on Python 2.3, including download links for
various platforms, release notes, and known issues, please see:

    http://www.python.org/2.3

Highlights of this new release include:

- A brand new version of IDLE, the Python IDE, from the IDLEfork
  project at SourceForge.

- Many new and improved library modules including: sets, heapq,
  datetime, textwrap, optparse, logging, bsddb, bz2, tarfile,
  ossaudiodev, itertools, platform, csv, timeit, shelve,
  DocXMLRPCServer, imaplib, imp, trace, and a new random number
  generator based on the highly acclaimed Mersenne Twister algorithm
  (with a period of 2**19937-1).  Some obsolete modules have been
  deprecated.

- New and improved built-ins including:
    o enumerate(): an iterator yielding (index, item) pairs
    o sum(): a new function to sum a sequence of numbers
    o basestring: an abstract base string type for str and unicode
    o bool: a proper type with instances True and False
    o compile(), eval(), exec: fully support Unicode, and allow input
      not ending in a newline
    o range(): support for long arguments (magnitude > sys.maxint)
    o dict(): new constructor signatures
    o filter(): returns Unicode when the input is Unicode
    o int() can now return long
    o isinstance(), super(): Now support instances whose type() is not
      equal to their __class__.  super() no longer ignores data
      descriptors, except for __class__.
    o raw_input(): can now return Unicode objects
    o slice(), buffer(): are now types rather than functions

- Many new doctest extensions, allowing them to be run by unittest.

- 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.  (PEP 227)

- Karatsuba long multiplication (running time O(N**1.58) instead of
  O(N**2)).

- pickle, cPickle, and copy support a new pickling protocol for more
  efficient pickling of (especially) new-style class instances.

- The socket module now supports optional timeouts on all operations.

- ssl support has been incorporated into the Windows installer.

- Many improvements to Tkinter.

Python 2.3 contains many other improvements, including the adoption of
many Python Enhancement Proposals (PEPs).  For details see:

    http://www.python.org/2.3/highlights.html

Enjoy.

happy-50th-birthday-geddy-ly y'rs,
-Barry

Barry Warsaw
barry at python.org
Python 2.3 Release Manager
(and the PythonLabs team: Tim, Fred, Jeremy, and Guido)





More information about the Python-list mailing list