Sean Busbey created CURATOR-193:
-----------------------------------

             Summary: Release note incompatibilities between Curator 2.6 and 2.7
                 Key: CURATOR-193
                 URL: https://issues.apache.org/jira/browse/CURATOR-193
             Project: Apache Curator
          Issue Type: Task
          Components: Documentation
    Affects Versions: 2.7.1, 2.7.0, 2.6.0
            Reporter: Sean Busbey
            Priority: Critical


Please release note that Curator 2.7 is incompatible with Curator 2.6 in the 
following ways:

* org.apache.curator.utils.PathUtils.validatePath(String) in curator-client

In release 2.7.0, CURATOR-136 changed the return type of this method from void 
to String. This is fine for a semver minor version under source compatibility, 
but is a violation of semver under binary compatibility. A downstream user will 
get NoSuchMethodError if their already compiled class uses this method.

Downstream users should recompile their code against Curator 2.7.0+

* 
org.apache.curator.framework.recipes.shared.SharedCountReader.getVersionedValue()
 in curator-recipes
* 
org.apache.curator.framework.recipes.shared.SharedValueReader.getVersionedValue()
 in curator-recipes

In release 2.7.0, I think CURATOR-151 added these two methods to these 
interfaces as a part of improving an API.

The changes are fine for binary compatibility provided nothing in the framework 
ever calls them (doing so will result in NoSuchMethodError when called on an 
instance compiled against the older interface).  AFAICT, nothing in the 
framework accepts one of these interfaces and then calls this method.

However, the addition of methods to Java interfaces breaks source 
compatibility. The inter-process semaphore recipes work on arbitrary 
SharedCountReader instances. That means that downstream folks who made their 
own implementation of the SharedCountReader interface under 2.6.0 will get a 
compilation error when they attempt to update to 2.7.0+.

Downstream users will need to implement the added method before compiling 
against Curator 2.7.0+.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to