"Fred L. Drake, Jr." <fdrake(a)acm.org> writes:
> I've created the branch release22-maint as the Python 2.2
> maintenance branch.
> We don't yet have a Patch Czar for 2.2.1, though.
I've just spent half an hour fiddling with gnus to the point that it
should be easy for me to keep a log of checkins that should be put on
the release22-maint branch.
This isn't me volunteering to be Patch Czar, by the way... I don't
know if I'll have time for that, but I hope that doing this will help
whoever it ends up being.
About the use of language: it is impossible to sharpen a
pencil with a blunt axe. It is equally vain to try to do
it with ten blunt axes instead.
-- E.W.Dijkstra, 18th June 1975. Perl did not exist at the time.
Guido van Rossum <guido(a)python.org> writes:
> On December 21, just in time to be placed under the Christmas tree,
> we're issuing the final release of Python 2.2.
ARTHUR: Why should a rock hum?
FORD: Maybe it feels good about being a rock.
-- The Hitch-Hikers Guide to the Galaxy, Episode 8
I've created the branch release22-maint as the Python 2.2
We don't yet have a Patch Czar for 2.2.1, though.
Fred L. Drake, Jr. <fdrake at acm.org>
PythonLabs at Zope Corporation
On December 21, just in time to be placed under the Christmas tree,
we're issuing the final release of Python 2.2. We're proud of this
release, and expect that you'll like it. Please check it out here:
Our thanks to everyone who helped test Python 2.2 during the alpha,
beta and release candidate phases, and to everyone who contributed
patches, feedback, and suggestions! Please continue to report any
bugs you find to the bug tracker:
Highlights of what's new for this release are outlined below. For a
more complete list, please see:
What's new since 2.1
In brief (for PEPs, see http://www.python.org/peps/):
- type/class unification (PEP 252 and 253)
- iterators (PEP 234) and generators (PEP 255)
- nested scopes standard (PEP 227)
- int overflows return longs (PEP 237)
- new operator // to future-proof int division (PEP 238)
Andrew Kuchling has written a gentle introduction to the most important
changes, titled "What's New in Python 2.2":
A thorough introduction to the type/class unification is at:
Status of the type/class unification
With a set of changes as large as this, it's unavoidable that after
the release we'll find that there are certain things that would work
better if we did them a little differently. Also, it is clear that
some of the new features (e.g. class and static methods, properties,
super, and slots, to mention a few) could use additional syntactic
sugar to make their use easier and more intuitive.
This will almost certainly require us to make changes in future
releases. However, with the release of these features as part of the
Python 2.2 release, we are committed to the same standard of
release-to-release compatibility that we have used in the past, as
explained in PEP 5.
When we feel the need to change things, we'll use the PEP system to
propose changes, and we'll provide warnings and backwards compatiblity
for at least a year -- or more in cases where a year is deemed too
short by the user community.
In the meantime, we'll work on completing the documentation for these
features (both in Python and in the C API) as they are found in Python
2.2. This documentation will clarify the status of individual
What's new since 2.2c1
(Adapted from the Misc/NEWS file.)
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
- binascii.b2a_base64(): fix a potential buffer overrun when encoding
very short strings.
- cPickle: the obscure "fast" mode caused stack overflows on the Mac.
We fixed this by setting the recursion limit much smaller. If the
limit is too low (it only affects performance), you can change it by
defining PY_CPICKLE_FAST_LIMIT when compiling cPickle.c (or in
- dumbdbm.py: fixed a dumb old bug (the file didn't get synched at
close or delete time).
- rfc822.py: fixed a bug where the address '<>' was converted to None
instead of an empty string (also fixes the email.Utils module).
- xmlrpclib.py: version 1.0.0; uses precision for doubles.
- test suite: the pickle and cPickle tests were not executing any code
when run from the standard regresssion test.
- distutils package: fixed broken Windows installers (bdist_wininst).
- tempfile.py: prevent mysterious warnings when TemporaryFileWrapper
instances are deleted at process exit time.
- socket.py: prevent mysterious warnings when socket instances are
deleted at process exit time.
- posixmodule.c: fix a Windows crash with stat() of a filename ending
- The Carbon toolbox modules have been upgraded to Universal Headers
3.4, and experimental CoreGraphics and CarbonEvents modules have
been added. All only for framework-enabled MacOSX.
--Guido van Rossum (home page: http://www.python.org/~guido/)
As Mark mentioned in his email to python-dev, he is no longer employed
by ActiveState. While I'm dealing with my grief about that unfortunate
event in private, I think it's worth clarifying a few things in public:
1) Over the last two years, Mark has become my personal god of
programming. ActiveState as a whole has benefited tremendously from
having Mark on staff, I have learned a tremendous amount from him, and
the entire ActiveState team hope to be able to bring him back on board
as soon as possible.
2) The reason for Mark's departure is simple -- ActiveState has had to
make some painful cuts in staff in order to ensure our continued
survival in these difficult economic times. We hope these cuts will be
short-lived and that we will be able to bring back the excellent
personel that had to be let go soon.
3) ActiveState is still committed to supporting its Python initiatives and
current product line. For example, a release of ActivePython based on
Python 2.2 is forthcoming. As regards Komodo, we do have plans for future
releases. The features we are looking at adding in future releases
* Integrated version control support (right now it's done
through the "external command" interface)
* Perl autocompletion (not sure that python-dev'ers care about
that one =)
* Improved web services consumption (1.2 has support
for this already)
* Macro support
* Key-mappings (like emacs and vi key modes)
As usual, we look forward to feedback from customers as to what the next
version of Komodo should look like.
If you have any questions about any of the above, feel free to contact me.
I'm on vacation but am reading email periodically.
Friend of Mark's
Director, Programming Tools
I have a trivial change for asynchat to shut up pychecker:
/usr/local/lib/python2.2/asynchat.py:83: Local variable (why) not used
/usr/local/lib/python2.2/asynchat.py:217: Local variable (why) not used
(delete the "why" variable in both cases).
Can I check in on the main trunk and have it go into 2.3 without disturbing
the 2.2 release? I'm never sure during these alpha/beta/release candidate
situations what is and isn't allowed (other than that Barry's new branch is
clearly off-limits). This is such a trivial change that it seems like
overkill to me to submit a bug report or a patch, have it assigned to
someone who two weeks later says, "sure, looks fine to me - check it in".
(Hint: For those of us with rotting neurons, whenever development enters a
release phase such as we are in right now, it would be helpful to remind us
what we can do as well as what we can't.)
I'm churning through the list of "things that I want to get fixed" for 2.1.2.
I've had to abandon my initial plan of examining pretty much all patches for
suitability - the backlog since 2.1.1 is just too huge. If there's something
you know of that you think really should be in there, and you're not sure if
it is actually there yet, please let me know ASAP!
I've made a few last updates and called it complete for 2.2final.
(Bug reports and suggestions are still welcome, though.)
Note for the PythonLabs gang: if you want to make a copy on python.org
or zope.com (for press release purposes, consistent page design, or
whatever), feel free to do so; the LaTeX source is in the pyhowto CVS
tree at sourceforge.net.
Oh, yeah, the URL: still http://www.amk.ca/python/2.2/ .
The Sony Walkman will become obsolete thanks to the Sony rnman. The
instructions will be on a separate device, the Sony manman.
-- Kibo, in the Happynet Manifesto
Mail to you from me bounces, Jack:
Reporting-MTA: dns; femail4.home.com
Arrival-Date: Thu, 20 Dec 2001 18:43:54 -0800
Received-From-MTA: dns; CJ569191B (220.127.116.11)
Final-Recipient: RFC822; <jack(a)cwi.nl>
Remote-MTA: dns; hera.cwi.nl (18.104.22.168)
Diagnostic-Code: smtp; 550 <tim.one(a)home.com>... Blocked relay
I'm not sure CWI wants to cut off the 4 million remaining @Home customers
via one dumb spam trick -- although I'm sure it's an effective one <wink>.