RELEASED: Python 2.2a1

Guido van Rossum guido at
Wed Jul 18 09:58:56 EDT 2001

Are you worried that Python 2.2 will break all your old Python code?
Don't be!  Help us make Python 2.2 as compatible and stable as any
release before it.  I've released the first alpha release, Python
2.2a1, for your perusal.  Download it from:

Give it a good try, and report what breaks to the bug tracker:

New features in this release include:

- *TENTATIVELY*, a new way of introspecting instances of built-in
  types (PEP 252) and the ability to subclass built-in types (PEP 253)
  have been added.  This falls under the header of "type/class
  unification".  More about this below.

- Iterators (PEP 234) and generators (PEP 255) were added.  The second
  PEP adds a new reserved word, "yield", which must be enabled by
  adding "from __future__ import generators" to the top of every
  module that uses it.  Without that, "yield" is treated as an
  identifier but a warning is issued.

- Fredrik Lundh's xmlrpclib is now a standard library module. This
  provides full client-side XML-RPC support.

For the full list of changes, see the release notes on SourceForge:

As usual, Andrew Kuchling is writing a gentle introduction to the most
important changes (currently excluding type/class unification), titled
"What's New in Python 2.2":

Regarding the changes for type/class unification: these have
*TENTATIVE* status.  While I've done my best to make them backwards
compatible, it's unavoidable that a few things may break.  In
particular, programs doing introspection (looking inside objects to
find out what they are) will find that things have changed.  I believe
the changes are for the better: for example, you can now find out the
methods defined for socket objects, and their docstrings, without
actually opening a socket.

The purpuse of the alpha cycle is to decide whether to go forward with
these changes.  It's unlinkely, but possible, that we run into
unexpected snags during alpha testing, and I may even have to withdraw
the changes completely if we conclude they break too much code and we
can't fix it any other way.  More likely, the second alpha release
will introduce fixes to improve the backwards compatibility.  In the
mean time, for those of you using the CVS tree, these changes are not
checked in on the trunk, but on a branch tagged "descr-branch".

I'm writing an introduction to the type/class unification:

This currently isn't finished yet, but it already contains a list of
the most visible backwards incompatibilities.  I hope to complete it
this week.  Until then, please refer to PEP 252 and PEP 253.  These
aren't intended as tutorials, but they do have most of the information
you might be looking for.  Here's the URL for the PEP index:

Thanks to everybody who contributed to this release.  Special thanks
go to Tim Peters, who worked through the night to build the Windows
installer using an uncooperative installer maker.


--Guido van Rossum (home page:

More information about the Python-list mailing list