On 14 September 2016 at 23:34, Gary Gregory <garydgreg...@gmail.com> wrote:
> Curious: what does "Semantic Versioning: 0.0.1" mean? And that what we
> really want?

I guess you mean as in

https://stain.github.io/commons-beanutils/1.9.3-rc2/japicmp.html

It's showing the calculated version difference according to semantic versioning.

>From https://github.com/siom79/japicmp
> The option --semantic-versioning tells you which part of the version you have 
> to increment in order to follow semantic versioning.

So in this case beanutiols moving from 1.9.2 to 1.9.3 is compatible
with semantic versioning increase of patch version.


Here's an example where japicmp detects a minor increase (e.g. adding
classes or methods):

http://commonsrdf.incubator.apache.org/commons-rdf-api/japicmp.html


The computer is only that clever - the above example is adding methods
to the RDFTermFactory interface; socially a major version change if
third-parties are meant to (or do so anyway) implement them, but minor
if all the implementations are within the same code base.


As within Apache Commons we have agreed to generally not release
updates that break binary compatibility, so generally if japicmp says
"semantic versioning 1.0.0" (indicating a major update)  - that should
be a red flag - if it's a true major increase we would instead rename
the artifact (e.g. beanutils2);  I guess we would let it masquerade as
a minor update if it was for instance a "breaking change" in an
internal/impl class.


-- 
Stian Soiland-Reyes
http://orcid.org/0000-0001-9842-9718

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to