[Python-checkins] python/nondist/peps pep-291.txt,NONE,1.1 pep-0000.txt,1.184,1.185

nnorwitz@users.sourceforge.net nnorwitz@users.sourceforge.net
Thu, 06 Jun 2002 12:25:34 -0700


Update of /cvsroot/python/python/nondist/peps
In directory usw-pr-cvs1:/tmp/cvs-serv21267

Modified Files:
	pep-0000.txt 
Added Files:
	pep-291.txt 
Log Message:
Add PEP 291 for backward compatibility

--- NEW FILE: pep-291.txt ---
PEP: 291
Title: Backward Compatibility for Standard Library
Version: $Revision: 1.1 $
Last-Modified: $Date: 2002/06/06 19:25:31 $
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:

Index: pep-0000.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/peps/pep-0000.txt,v
retrieving revision 1.184
retrieving revision 1.185
diff -C2 -d -r1.184 -r1.185
*** pep-0000.txt	29 May 2002 21:17:42 -0000	1.184
--- pep-0000.txt	6 Jun 2002 19:25:31 -0000	1.185
***************
*** 94,97 ****
--- 94,98 ----
   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)
***************
*** 268,271 ****
--- 269,273 ----
   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
  
***************
*** 315,318 ****
--- 317,321 ----
      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