Ferry is correct. I would say that the JLS is wrong in this area, since adding a method to an interface demonstrably *does* break compatibility with pre-existing binaries, if those binaries include implementations of the interface.
On Fri, Apr 12, 2013 at 3:54 PM, Ferry Huberts <[email protected]> wrote: > > > On 12/04/13 16:13, Andrei Pozolotin wrote: > > Hello. > > > > can you please clarify the following from the semantic versioning > spec: > > > > 1) adding new method to an interface is a binary compatible change > > per JLS > > > http://docs.oracle.com/javase/specs/jls/se7/html/jls-13.html#jls-13.5.3 > > > > 2) and aries versioning plugin enforces this rule by requiring MINOR > > version change. > > > https://github.com/apache/aries/blob/trunk/versioning/versioning-checker/src/test/java/org/apache/aries/versioning/tests/BinaryCompatibilityTest.java#L1472 > > > > 3) am I correct in understanding that semantic versioning spec > > http://www.osgi.org/wiki/uploads/Links/SemanticVersioning.pdf > > requires a MAJOR version change instead of MINOR, for the same > > interface change > > WHEN the interface is a @ConsumerType interface? > > > > yes, because it is a breaking change for the intented use of the interface > > see also > > > https://github.com/bndtools/bnd/blob/master/biz.aQute.bndlib/src/aQute/bnd/annotation/ConsumerType.java > > and > > > https://github.com/bndtools/bnd/blob/master/biz.aQute.bndlib/src/aQute/bnd/annotation/ProviderType.java > > > > Thank you. > > > > Andrei. > > > > > > > > _______________________________________________ > > OSGi Developer Mail List > > [email protected] > > https://mail.osgi.org/mailman/listinfo/osgi-dev > > > > -- > Ferry Huberts > _______________________________________________ > OSGi Developer Mail List > [email protected] > https://mail.osgi.org/mailman/listinfo/osgi-dev >
_______________________________________________ OSGi Developer Mail List [email protected] https://mail.osgi.org/mailman/listinfo/osgi-dev
