db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Db-derby Wiki] Update of "SharedComponentVersioningGuidelines" by DavidVanCouvering
Date Sat, 22 Oct 2005 00:01:29 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.

The following page has been changed by DavidVanCouvering:
http://wiki.apache.org/db-derby/SharedComponentVersioningGuidelines

------------------------------------------------------------------------------
  
  == Guidelines for Forward Compatibility ==
  
- In general, a consumer built against version X.Y of a shared component should work with
version X.Y' of a module where Y' < Y.  This is called ''forward compatibility''.  
+ A consumer built against version X.Y of a shared component should work with version X.Y'
of a module where Y' < Y.  This is called ''forward compatibility''.  
  
  If the consumer uses new functionality added in version X.Y of the module, it should degrade
to X.Y' level functionality.  In the ''rare cases'' where this is not achievable, the consumer
should throw an exception explaining that it requires version X.Y or greater of the shared
component (rather than an obtuse Java exception like `NoSuchMethodException`).  
  
- Forward compatibility should be guaranteed between patch revisions (from X.Y.Z to X.Y.Z')
and minor revisions (from X.Y to X.Y').  We should strive for forward compatibility between
major releases, but it is not a guarantee.
+ Forward compatibility must be guaranteed between patch revisions (from X.Y.Z to X.Y.Z')
and minor revisions (from X.Y to X.Y').  We should strive for forward compatibility between
major releases, but it is not a guarantee.
  
  The consumer decides it can work with a given version of a shared component not by looking
up its version number and then extrapolating what features are available, but instead by directly
querying the component to see if the shared component provides the feature or features it
is looking for.  
  

Mime
View raw message