<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sun, Sep 15, 2019 at 6:05 AM Max Lapshin <<a href="mailto:max.lapshin@gmail.com">max.lapshin@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">We have completely refused from semver, because it seems to be hardly useable today.<div><br></div><div>Main reason is that nowadays nobody want to make major releases each 1,5 year with large changes, big migration path and 1,2 years of pain after each big release.</div><div><br></div><div>Features are split into small steps and slowly implemented in services, softwares, libraries, etc.</div><div><br></div><div>So it is too hard to say when 0.9.999-pre15-beta17 becomes 1.0.0.</div><div><br></div><div><br></div><div>Ubuntu lives with <a href="http://YY.MM" target="_blank">YY.MM</a> and it is very convenient.  Firefox and Chrome just give some release number without major/minor/patch.</div><div><br></div><div>I'm afraid that semantic versioning is not where modern software development practice is going.</div></div>
_______________________________________________<br><br></blockquote><div><br></div><div><div>The ecosystems I'm familiar with have all aligned on semver or something very close to it. I'd be interested to know of one that hasn't.<br></div><div><br></div><div>Python: <a href="https://packaging.python.org/guides/distributing-packages-using-setuptools/#semantic-versioning-preferred" target="_blank">https://packaging.python.org/guides/distributing-packages-using-setuptools/#semantic-versioning-preferred</a></div><div>Rust: <a href="https://doc.rust-lang.org/cargo/reference/manifest.html#the-version-field" target="_blank">https://doc.rust-lang.org/cargo/reference/manifest.html#the-version-field</a></div><div>Beam: <a href="https://hex.pm/docs/publish#adding-metadata-to-code-classinlinemixexscode" target="_blank">https://hex.pm/docs/publish#adding-metadata-to-code-classinlinemixexscode</a></div><div><br></div><div>The network effects of choosing semver seem to outweigh the disadvantages of it not being perfect for everything.</div><div><br></div><div>I'll certainly be using samovar, safe in the knowledge that the author is unlikely to break compatibility in a patch release ;)</div> </div></div></div>