HBASE-17802 Add note that minor versions can add methods to Interfaces
Project: http://git-wip-us.apache.org/repos/asf/hbase/repo Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/7c03a213 Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/7c03a213 Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/7c03a213 Branch: refs/heads/hbase-12439 Commit: 7c03a213ffc074c941333677065031a5c2c12d41 Parents: 261aa94 Author: Michael Stack <st...@apache.org> Authored: Fri Mar 17 16:53:47 2017 -0700 Committer: Michael Stack <st...@apache.org> Committed: Sun Mar 19 14:51:11 2017 -0700 ---------------------------------------------------------------------- src/main/asciidoc/_chapters/upgrading.adoc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hbase/blob/7c03a213/src/main/asciidoc/_chapters/upgrading.adoc ---------------------------------------------------------------------- diff --git a/src/main/asciidoc/_chapters/upgrading.adoc b/src/main/asciidoc/_chapters/upgrading.adoc index b0a5565..df5bbfe 100644 --- a/src/main/asciidoc/_chapters/upgrading.adoc +++ b/src/main/asciidoc/_chapters/upgrading.adoc @@ -74,12 +74,15 @@ In addition to the usual API versioning considerations HBase has other compatibi * An API needs to be deprecated for a major version before we will change/remove it. * APIs available in a patch version will be available in all later patch versions. However, new APIs may be added which will not be available in earlier patch versions. * New APIs introduced in a patch version will only be added in a source compatible way footnote:[See 'Source Compatibility' https://blogs.oracle.com/darcy/entry/kinds_of_compatibility]: i.e. code that implements public APIs will continue to compile. -* Example: A user using a newly deprecated API does not need to modify application code with HBase API calls until the next major version. +** Example: A user using a newly deprecated API does not need to modify application code with HBase API calls until the next major version. +* .Client Binary compatibility * Client code written to APIs available in a given patch release can run unchanged (no recompilation needed) against the new jars of later patch versions. * Client code written to APIs available in a given patch release might not run against the old jars from an earlier patch version. -* Example: Old compiled client code will work unchanged with the new jars. +** Example: Old compiled client code will work unchanged with the new jars. +* If a Client implements an HBase Interface, a recompile MAY be required upgrading to a newer minor version (See release notes +for warning about incompatible changes). All effort will be made to provide a default implementation so this case should not arise. .Server-Side Limited API compatibility (taken from Hadoop) * Internal APIs are marked as Stable, Evolving, or Unstable