[ANN] samovar 1.0.0

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[ANN] samovar 1.0.0

PAILLEAU Eric
Hi !

samovar 1.0.0 has been released !

samovar is an Erlang library implementing SEMVER standard.

Implementation is Erlang/OTP friendly by allowing use of old OTP release
version syntax both for version and ranges.

Available on github[1] and hex.pm[2] .

Enjoy !

[1] https://github.com/crownedgrouse/samovar
[2] https://hex.pm/packages/samovar
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] samovar 1.0.0

Max Lapshin-2
We have completely refused from semver, because it seems to be hardly useable today.

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.

Features are split into small steps and slowly implemented in services, softwares, libraries, etc.

So it is too hard to say when 0.9.999-pre15-beta17 becomes 1.0.0.


Ubuntu lives with YY.MM and it is very convenient.  Firefox and Chrome just give some release number without major/minor/patch.

I'm afraid that semantic versioning is not where modern software development practice is going.

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] samovar 1.0.0

Siraaj Khandkar-3
On Sat, Sep 14, 2019 at 2:05 PM Max Lapshin <[hidden email]> wrote:

>
> We have completely refused from semver, because it seems to be hardly useable today.
>
> 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.
>
> Features are split into small steps and slowly implemented in services, softwares, libraries, etc.
>
> So it is too hard to say when 0.9.999-pre15-beta17 becomes 1.0.0.
>
>
> Ubuntu lives with YY.MM and it is very convenient.  Firefox and Chrome just give some release number without major/minor/patch.
>
> I'm afraid that semantic versioning is not where modern software development practice is going.

It isn't without inconveniences, but the fundamental question is: what
does a given versioning scheme intend to express?

Semver defines a very clear and simple method for incrementing any and
all parts of the version, each of which expresses something meaningful
and useful for dependency constraint resolution (both mental and
automated).

0.9.999-pre15-beta17 becomes 1.0.0 as soon as any other software
package relies on it as a dependency.
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] samovar 1.0.0

Siraaj Khandkar-3
On Sat, Sep 14, 2019 at 2:42 PM Siraaj Khandkar <[hidden email]> wrote:

>
> On Sat, Sep 14, 2019 at 2:05 PM Max Lapshin <[hidden email]> wrote:
> >
> > We have completely refused from semver, because it seems to be hardly useable today.
> >
> > 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.
> >
> > Features are split into small steps and slowly implemented in services, softwares, libraries, etc.
> >
> > So it is too hard to say when 0.9.999-pre15-beta17 becomes 1.0.0.
> >
> >
> > Ubuntu lives with YY.MM and it is very convenient.  Firefox and Chrome just give some release number without major/minor/patch.
> >
> > I'm afraid that semantic versioning is not where modern software development practice is going.
>
> It isn't without inconveniences, but the fundamental question is: what
> does a given versioning scheme intend to express?
>
> Semver defines a very clear and simple method for incrementing any and
> all parts of the version, each of which expresses something meaningful
> and useful for dependency constraint resolution (both mental and
> automated).
>
> 0.9.999-pre15-beta17 becomes 1.0.0 as soon as any other software
> package relies on it as a dependency.

Oh, and as far as release cycles, sizes if changes, migrations, etc. -
that is not related to the versioning scheme. Just do whatever is
convent for you and then somehow express the impact of your changes on
the dependent software - semver is only concerned with that
expression.
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] samovar 1.0.0

Loïc Hoguin-3
In reply to this post by Siraaj Khandkar-3
On 14/09/2019 20:42, Siraaj Khandkar wrote:> 0.9.999-pre15-beta17
becomes 1.0.0 as soon as any other software
> package relies on it as a dependency.

Wishful thinking.

In practice those other packages will happily rely on software that
     is far from ready for general consumption, let alone documented.

Even if you depend on an 1.0.0 library, if it's not documented then you
don't have any way of knowing what is considered internal and might
break in the future.

Semver is a useful tool but it doesn't guarantee much on its own.

--
Loïc Hoguin
https://ninenines.eu
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] samovar 1.0.0

Paul Oliver-2
In reply to this post by Max Lapshin-2


On Sun, Sep 15, 2019 at 6:05 AM Max Lapshin <[hidden email]> wrote:
We have completely refused from semver, because it seems to be hardly useable today.

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.

Features are split into small steps and slowly implemented in services, softwares, libraries, etc.

So it is too hard to say when 0.9.999-pre15-beta17 becomes 1.0.0.


Ubuntu lives with YY.MM and it is very convenient.  Firefox and Chrome just give some release number without major/minor/patch.

I'm afraid that semantic versioning is not where modern software development practice is going.
_______________________________________________


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.


The network effects of choosing semver seem to outweigh the disadvantages of it not being perfect for everything.

I'll certainly be using samovar, safe in the knowledge that the author is unlikely to break compatibility in a patch release ;)
 

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] samovar 1.0.0

PAILLEAU Eric
Hello,

I was currently writing something equivalent than your mail below, for
Max remarks.
I'm not saying that SEMVER is alpha (or 1.0.0-alpha ;>) ...) and omega .
Erlang ecosystem is using semver or something very close.
I didn't found libraries for this or very few documented ones.

As any human action, setting version number on a project is not error
proof ; but any version scheme have this problem.
I think this could be automatized by a tool in order to propose a
version change by comparing current code to former one.
Exported functions, function specifications could help to propose a
major or minor or patch change.

I was using CVS in the old times. I loved the $Id$ tag expanding to CVS
version of the file while commiting.
How many people here forgot once to change the .app.src file before
releasing ?
Semver versioning or a project should not be handled by human but
probably helped by AI.

BTW, semver itself is currently 2.0.0 with a low risk of any major
change that breaks compatibility, but always possible ...

Regards




Le 15/09/2019 à 09:55, Paul Oliver a écrit :

>
>
> On Sun, Sep 15, 2019 at 6:05 AM Max Lapshin <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     We have completely refused from semver, because it seems to be
>     hardly useable today.
>
>     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.
>
>     Features are split into small steps and slowly implemented in
>     services, softwares, libraries, etc.
>
>     So it is too hard to say when 0.9.999-pre15-beta17 becomes 1.0.0.
>
>
>     Ubuntu lives with YY.MM <http://YY.MM> and it is very convenient.
>     Firefox and Chrome just give some release number without
>     major/minor/patch.
>
>     I'm afraid that semantic versioning is not where modern software
>     development practice is going.
>     _______________________________________________
>
>
> 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.
>
> Python:
> https://packaging.python.org/guides/distributing-packages-using-setuptools/#semantic-versioning-preferred
> Rust:
> https://doc.rust-lang.org/cargo/reference/manifest.html#the-version-field
> Beam:
> https://hex.pm/docs/publish#adding-metadata-to-code-classinlinemixexscode
>

>
> _______________________________________________
> erlang-questions mailing list
> [hidden email]
> http://erlang.org/mailman/listinfo/erlang-questions
>

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] samovar 1.0.0

PAILLEAU Eric

Before somebody write me about 'rebar3 hex cut' and "git" tag.
It is a good help, but still a human decision to change major, minor or
patch.
An analyze of changes should propose a new semver version, and giving
the reasons in link to semver standard.


Le 15/09/2019 à 10:38, PAILLEAU Eric a écrit :
> As any human action, setting version number on a project is not error
> proof ; but any version scheme have this problem.
> I think this could be automatized by a tool in order to propose a
> version change by comparing current code to former one.
> Exported functions, function specifications could help to propose a
> major or minor or patch change.

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] samovar 1.0.0

Siraaj Khandkar-3
In reply to this post by Loïc Hoguin-3
On Sat, Sep 14, 2019 at 2:51 PM Loïc Hoguin <[hidden email]> wrote:

>
> On 14/09/2019 20:42, Siraaj Khandkar wrote:> 0.9.999-pre15-beta17
> becomes 1.0.0 as soon as any other software
> > package relies on it as a dependency.
>
> Wishful thinking.
>
> In practice those other packages will happily rely on software that
>      is far from ready for general consumption, let alone documented.
>
> Even if you depend on an 1.0.0 library, if it's not documented then you
> don't have any way of knowing what is considered internal and might
> break in the future.
>
> Semver is a useful tool but it doesn't guarantee much on its own.

Of course. We can write fiction in any language. To know facts,
scientific method is still needed :) Yet, language is still immensely
useful!
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions
Reply | Threaded
Open this post in threaded view
|

Re: [ANN] samovar 1.0.0

Gavin M. Roy
In reply to this post by PAILLEAU Eric
Thanks for this. 

It’s a shame that people used your thread announcing a contribution to the Erlang ecosystem by having a debate about the semvar standard.

Keep up the good work!

Gavin

On Sat, Sep 14, 2019 at 1:06 PM PAILLEAU Eric <[hidden email]> wrote:
Hi !

samovar 1.0.0 has been released !

samovar is an Erlang library implementing SEMVER standard.

Implementation is Erlang/OTP friendly by allowing use of old OTP release
version syntax both for version and ranges.

Available on github[1] and hex.pm[2] .

Enjoy !

[1] https://github.com/crownedgrouse/samovar
[2] https://hex.pm/packages/samovar
_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions

_______________________________________________
erlang-questions mailing list
[hidden email]
http://erlang.org/mailman/listinfo/erlang-questions