Hence my proposal to go back to 0.y.z-SNAPSHOT versioning scheme and
actually
raise the version when making a breaking change.
That's exactly how it should be done. SNAPSHOTSs until we hit breaking changes, then
releases.
Of course, in our current stage of development, isn't everything a breaking change? :)
Can you imagine what Jay and Heiko would have had to go through yesterday if they had to
bump up version numbers to their maven modules and push a "release" for
everything they did while trying to get that metric data JSON to flow correctly between
their pinger and alerts components (and I think it involved inventory)? It would have been
unbearable and useless.
Here's another example, and why I have a problem using release versions always - this
is just to give another actual instance that happened. Yesterday, Libor published for me
some enhancements and fixes to his nice Wildfly extension maven plugin. I bumped up the
plugin version in the parent pom so I can use it. I didn't realize snapshots of the
parent pom weren't yet published. So I completely foo-bared the builds. I was supposed
to have created a PR to the parent pom, waited for that PR to be peer-reviewed and merged
to master, waited for someone to bump up the parent-pom version number, do a mvn release
on the parent pom, and once it was published, only then could I have gone back to my own
pom, bump up its parent-pom version, THEN use Libor's new maven features.
All to be able to use a new version of a maven plugin.
Surely, that can't be what we want people to go through for such a trivial change.
Now, if some API changes (say, someone wants to bump up a <dependency> in parent pom
to a new major or major.minor version that changes to incompatible API changes, OR someone
changes a maven plugin to a version that isn't compatible with older versions) then
ABSOLUTELY we need to go through that new version/release cycle for reasons that were
brought up earlier.
But not for trivial changes that don't have such effects. That's where SNAPSHOT
helps us move fast.
As for Travis, that's another issue :)