You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@lucene.apache.org by Apache Wiki <wi...@apache.org> on 2009/02/19 18:47:48 UTC

[Lucene-java Wiki] Update of "BackwardsCompatibility" by MichaelBusch

Dear Wiki user,

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

The following page has been changed by MichaelBusch:
http://wiki.apache.org/lucene-java/BackwardsCompatibility

------------------------------------------------------------------------------
  
  == APIs and Compilation ==
  
- Minor versions should always have complete API back-compatiblity.  That's to say, any code developed against '''X.0''' should continue to run without alteration and without recompilation (ie, simply drop in the new JAR) against all '''X.N''' releases.  
+ Minor versions should always have complete back-compatiblity for supported (i.e. public and protected) APIs.  That's to say, any code developed against '''X.0''' should continue to run without alteration and without recompilation (ie, simply drop in the new JAR) against all '''X.N''' releases, as long as only supported APIs are used.
  
  A major release may introduce incompatible API changes.  The transition strategy is to introduce new APIs in release '''X.N''', deprecating old APIs, then remove all deprecated APIs in release '''X+1.0'''.
+ 
+ Package-private APIs (e.g. methods without any modifier such as public or protected) are not supported and thus exempt from these back-compatibility requirements. They can change without warning or intermediate deprecation.
  
  == File Formats ==