From ba9ab5c6f10ad346a8a37f5fac8f4a297c9cc64a Mon Sep 17 00:00:00 2001 From: Neal Norwitz Date: Thu, 6 Jun 2002 19:25:31 +0000 Subject: [PATCH] Add PEP 291 for backward compatibility --- pep-0000.txt | 3 ++ pep-291.txt | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 pep-291.txt diff --git a/pep-0000.txt b/pep-0000.txt index 8bf77edc6..8bba638c6 100644 --- a/pep-0000.txt +++ b/pep-0000.txt @@ -93,6 +93,7 @@ Index by Category S 284 Integer for-loops Eppstein, Ewing S 286 Enhanced Argument Tuples von Loewis S 287 reStructuredText Standard Docstring Format Goodger + I 291 Backward Compatibility for Standard Library Norwitz Finished PEPs (done, implemented in CVS) @@ -267,6 +268,7 @@ Numerical Index S 287 reStructuredText Standard Docstring Format Goodger SD 288 Generators Attributes and Exceptions Hettinger SR 289 Generator Comprehensions Hettinger + I 291 Backward Compatibility for Standard Library Norwitz SR 666 Reject Foolish Indentation Creighton @@ -314,6 +316,7 @@ Owners Mick, Trent trentm@activestate.com Montanaro, Skip skip@pobox.com Moore, Paul gustav@morpheus.demon.co.uk + Norwitz, Neal neal@metaslash.com Oliphant, Travis oliphant@ee.byu.edu Pelletier, Michel michel@digicool.com Peters, Tim tim@digicool.com diff --git a/pep-291.txt b/pep-291.txt new file mode 100644 index 000000000..ed16dc644 --- /dev/null +++ b/pep-291.txt @@ -0,0 +1,92 @@ +PEP: 291 +Title: Backward Compatibility for Standard Library +Version: $Revision$ +Last-Modified: $Date$ +Author: neal@metaslash.com (Neal Norwitz) +Status: Active +Type: Informational +Created: 06-Jun-2002 +Post-History: +Python-Version: 2.3 + + +Abstract + + This PEP describes the packages and modules in the standard + library which should remain backward compatible with previous + versions of Python. + + +Rationale + + Authors have various reasons why packages and modules should + continue to work with previous versions of Python. In order to + maintain backward compatibility for these modules while moving the + rest of the standard library forward, it is necessary to know + which modules can be modified and which should use old and + possibly deprecated features. + + Generally, authors should attempt to keep changes backward + compatible with the previous released version of Python in order + to make bug fixes easier to backport. + + +Features to Avoid + + The following list contains common features to avoid in order + to maintain backward compatibility with each version of Python. + This list is not complete! It is only meant as a general guide. + + Note the features to avoid were implemented in the following + version. For example, features listed next to 1.5.2 were + implemented in 2.0. + + Version Features + ------- -------- + 1.5.2 string methods, Unicode, list comprehensions, + augmented assignment (eg, +=), zip(), import x as y, + dict.setdefault(), print >> f, calling f(*args, **kw), + plus 2.0 features + + 2.0 nested scopes, rich comparisons, function attributes, + plus 2.1 features + + 2.1 use of object or new-style classes, iterators, + using generators, nested scopes, or // + without from __future__ import ... statement, + plus 2.2 features + + 2.2 bool, True, False, basestring, enumerate(), {}.pop(), + PendingDeprecationWarning, Universal Newlines, + plus 2.3 features + + +Backward Compatible Packages, Modules, and Tools + + Package/Module Maintainer(s) Python Version + -------------- ------------- -------------- + compiler Jeremy Hylton 2.1 + distutils Andrew Kuchling 1.5.2 + email Barry Warsaw 2.1 + sre Fredrik Lundh 1.5.2 + xml (PyXML) Martin v. Loewis 2.0 + xmlrpclib Fredrik Lundh 1.5.2 + + + Tool Maintainer(s) Python Version + ---- ------------- -------------- + scripts/freeze/modulefinder Thomas Heller 1.5.2 + + +Copyright + + This document has been placed in the public domain. + + + +Local Variables: +mode: indented-text +indent-tabs-mode: nil +sentence-end-double-space: t +fill-column: 70 +End: