Changes between Version 19 and Version 20 of CompatibilityPolicy


Ignore:
Timestamp:
07/02/2012 06:17:57 AM (2 years ago)
Author:
exarkun
Comment:

Clarify the deprecation/removal timeline

Legend:

Unmodified
Added
Removed
Modified
  • CompatibilityPolicy

    v19 v20  
    8282    * New functionality is added. 
    8383    * Old functionality is deprecated with a {{{DeprecationWarning}}}. 
    84   1. Release R+1: 
    85     * Old functionality will raise a new exception type {{{DeprecationError}}}.  This allows application authors to upgrade and provide an ugly work-around to silence this error in this particular place, to keep their code working for one more version. 
    86   1. Release R+2: 
     84  1. ''At the earliest'', release R+2 and one year after release R, but often ''much later'': 
    8785    * Old functionality is completely removed. 
     86 
     87Removal should happen once the deprecated API becomes an additional maintenance burden.  For example, if it makes implementation of a new feature more difficult, if it makes documentation of non-deprecated APIs more confusing, or if its unit tests become an undue burden on the continuous integration system.  Removal should not be undertaken just to follow a timeline.  Twisted should strive, as much as practical, not to break applications relying on it. 
    8888 
    8989== Application Developer Upgrade Procedure ==