[Python-Dev] Proto-PEP for maintaining backward compatibility

Guido van Rossum guido@python.org
Thu, 06 Jun 2002 14:22:32 -0400


> Since the subject has come up several times recently,
> and some one (Walter?) suggested a PEP be written....here goes.
> 
> Attached is a draft PEP.  Comments?

Good idea.

Maybe you should mention some of the most common things you need to avoid
to preserve backwards compatibility with 1.5.2, 2.0, 2.1?

Without trying for completeness:

For 1.5.2 (these were introduced in 2.0): string methods, unicode,
augmented assignment, list comprehensions, zip(), dict.setdefault(),
print >>f, calling f(*args), plus all of the following.

For 2.0 (introduced in 2.1): nested scopes with future statement, rich
comparisons, function attributes, plus all of the following.

For 2.1 (introduced in 2.2): new-style classes, iterators, generators
with future statement, nested scopes without future statement, plus
all of the following.

For 2.2 (introduced in 2.3): generators without future statement, bool
(what else?).

--Guido van Rossum (home page: http://www.python.org/~guido/)