<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">I also vote for SemVer, we got used to it :)<div class=""><br class=""></div><div class=""><div><blockquote type="cite" class=""><div class="">On Nov 17, 2014, at 15:31 , Tobias Pietzsch <<a href="mailto:tobias.pietzsch@gmail.com" class="">tobias.pietzsch@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">Hi Curtis,</span><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">I would prefer SemVer, but mainly because this seems closer to the way its currently done and I’m getting used to that way. So really no strong opinion at all.</div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">What would be nice would be some kind of notification when new pom parents are released. When revisiting some projects I haven’t been working on for a while, I often find myself checking<span class="Apple-converted-space"> </span><a href="http://maven.imagej.net/" class="">maven.imagej.net</a><span class="Apple-converted-space"> </span>to find out, eg, what the latest pom-fiji version is, so that I can use the latest and greatest as a parent. Is there already some mailing-list or similar in place that sends such release notifications?</div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">best regards,</div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">Tobias</div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class=""><div class=""><div class=""><div class="">On 17 Nov 2014, at 20:39, Curtis Rueden <<a href="mailto:ctrueden@wisc.edu" class="">ctrueden@wisc.edu</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite" class=""><div dir="ltr" class="">Hi everyone,<div class=""><br class=""></div><div class="">This is a question for anyone consuming the pom-* parents of the SciJava software stack.</div><div class=""><br class=""></div><div class="">We want to start versioning these POM parents according to consistent rules. (Unfortunately, right now, the approach is vague and potentially inconsistent [1].) We came up with the following two possible schemes, and would like your feedback on which one you would prefer.</div><div class=""><br class=""></div><div class="">== 1) SemVer ==</div><div class=""><br class=""></div><div class="">Every POM parent has three digits, X.Y.Z.</div><div class=""><br class=""></div><div class="">The X digit is "major" and when incremented indicates a breaking change of some sort: either A) plugin config changes requiring downstream changes, or more commonly B) major SemVer dependency version bumps (e.g., managed scijava-common version updated from 2.35.0 to 3.0.0). This would exclude 0.x and beta components though (so e.g. imglib2-realtransform could go from 2.0.0-beta-27 to 2.0.0-beta-28 without bumping pom-imglib2's X digit).</div><div class=""><br class=""></div><div class="">The Y digit is "minor" and incremented when dependency versions change in a SemVer-compatible manner, or when plugin configuration is added or improved.<br class=""></div><div class=""><br class=""></div><div class="">For critical bug-fixes where a given POM parent is somehow compromised or broken, the third digit Z can be bumped before going to the next Y. (See e.g. the recent pom-fiji 5.0.Z series of releases.)</div><div class=""><br class=""></div><div class="">== 2) Bread crumb version trail ==</div><div class=""><br class=""></div><div class="">The pom-scijava parent would have a single version digit. The pom-imagej (which is the next POM down) would have two: the first in lockstep with its pom-scijava parent, and the second being its dedicated version digit. POMs which extend pom-imagej (i.e.: pom-scifio, pom-imglib2 and pom-fiji) would have three digits: the first two in lockstep with pom-imagej and the third their own. And so on down the line—e.g., pom-trakem2 would need four digits: the first three matching the pom-fiji parent and the fourth its own.</div><div class=""><br class=""></div><div class="">== Pros and cons ==</div><div class=""><br class=""></div><div class="">Option 1:</div><div class="">[PRO] Semantic meaning. You can reason whether a given POM is somehow "breaking".</div><div class="">[PRO] Succinctness. Every parent POM has at most three digits at any one time.</div><div class="">[CON] Lack of provenance. Not obvious which parent POMs go together without leaning on a tool.</div><div class=""><br class=""></div><div class="">Option 2:</div><div class="">[PRO] Clear provenance. You can trivially derive the chain of parent POM versions.</div><div class="">[CON] Lack of semantics. Harder to tell which POM parent releases might break backwards compatibility.</div><div class="">[CON] Aesthetics. More than 3 digits in a version string may not be desirable.</div><div class=""><br class=""></div><div class="">Note that either way, we are in the process of creating a scijava-maven-plugin goal to dump all the component version properties associated with a given parent POM.</div><div class=""><br class=""></div><div class="">Since either scheme is consistent and useful, we want to institute whichever scheme will annoy everyone less. ;-) So which do people like better: SemVer or breadcrumbs?</div><div class=""><br class=""></div><div class="">Thanks,</div><div class="">Curtis<br class=""></div><div class=""><br class=""></div><div class="">[1] The 5.x POM versioning approach was an attempt to achieve _both_ options above, but Mark & I realized today that the two goals are rather mutually exclusive. That is, we cannot keep POM parent versions fully in lockstep while also maintaining a SemVer versioning scheme.</div></div><div class=""><br class="webkit-block-placeholder"></div>--<span class="Apple-converted-space"> </span><br class="">You received this message because you are subscribed to the Google Groups "scijava" group.<br class="">To unsubscribe from this group and stop receiving emails from it, send an email to<span class="Apple-converted-space"> </span><a href="mailto:scijava+unsubscribe@googlegroups.com" class="">scijava+unsubscribe@googlegroups.com</a>.<br class="">For more options, visit<span class="Apple-converted-space"> </span><a href="https://groups.google.com/d/optout" class="">https://groups.google.com/d/optout</a>.<br class=""></blockquote></div><br class=""></div></div><div style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><br class="webkit-block-placeholder"></div><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">--<span class="Apple-converted-space"> </span></span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">You received this message because you are subscribed to the Google Groups "scijava" group.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">To unsubscribe from this group and stop receiving emails from it, send an email to<span class="Apple-converted-space"> </span></span><a href="mailto:scijava+unsubscribe@googlegroups.com" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">scijava+unsubscribe@googlegroups.com</a><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">.</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">For more options, visit<span class="Apple-converted-space"> </span></span><a href="https://groups.google.com/d/optout" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;" class="">https://groups.google.com/d/optout</a><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; float: none; display: inline !important;" class="">.</span></div></blockquote></div><br class=""></div></body></html>