Message from discussion
Keeping semantics in your version numbers, i.e. please don't release major version zero
Received: by 10.66.74.40 with SMTP id q8mr506818pav.19.1348167054429;
Thu, 20 Sep 2012 11:50:54 -0700 (PDT)
X-BeenThere: nodejs@googlegroups.com
Received: by 10.68.197.72 with SMTP id is8ls9118220pbc.5.gmail; Thu, 20 Sep
2012 11:50:41 -0700 (PDT)
Received: by 10.68.238.201 with SMTP id vm9mr1040248pbc.6.1348167041278;
Thu, 20 Sep 2012 11:50:41 -0700 (PDT)
Date: Thu, 20 Sep 2012 11:50:40 -0700 (PDT)
From: Austin William Wright <diamondma...@users.sourceforge.net>
To: nodejs@googlegroups.com
Message-Id: <d890dfe5-a94f-472c-873f-f127d689bc6e@googlegroups.com>
In-Reply-To: <CADNgbTH7eN3_HpcdW6Ye3AJ1Pd7L-xQJtt10SW=Y8GfRtjo_gw@mail.gmail.com>
References: <ef65e5fc-3b3a-4ead-816b-545470fe01d7@googlegroups.com>
<1e8e7c53-0808-4439-9d48-d01f91b901bb@googlegroups.com>
<c76991fe-b2ef-41bc-8acf-f827e3248979@googlegroups.com>
<CACrj35FYfcTurCVwmrFgRLpwK1ieAeAqLL-BFUd_nSaM3kdCTA@mail.gmail.com>
<CAGkHjAXMHUi2OysHAvZDV5P0Pz_D8FNk3AKJcSg5fnbTvQmgoQ@mail.gmail.com>
<CADNgbTH7eN3_HpcdW6Ye3AJ1Pd7L-xQJtt10SW=Y8GfRtjo_gw@mail.gmail.com>
Subject: Re: [nodejs] Re: Keeping semantics in your version numbers, i.e.
please don't release major version zero
MIME-Version: 1.0
Content-Type: multipart/mixed;
boundary="----=_Part_527_1579044.1348167040675"
------=_Part_527_1579044.1348167040675
Content-Type: multipart/alternative;
boundary="----=_Part_528_31006209.1348167040675"
------=_Part_528_31006209.1348167040675
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit
I was going to suggest some version numbers that Node.js could have gone
with, but it's not really my place to say something like that. However,
Node.js appears to have largely ended it's rapid-breakage phase around
0.4.0 at the latest.
There hasn't been any major overhauls, however I've still come across three
breakages: Change in handling of buffers, changes in http/https and some
related crypto and certificate changes, and biggest of all, a change in
process.on('exit') that completely and totally breaks programs that used
'child_process'. I think there was also a change in process.nextTick that
broke some programs. Now maybe some of these were a part of larger
bugfixes, and the developers didn't realize it broke programs. But even
still, that doesn't stop you from updating the version number accordingly.
Also note that many of these occurred often in the *very middle* of an
otherwise "stable" release. There's just no way to guess that 0.8.4
introduced a breaking change, without knowing what the change was, and
where it occurred. This is exactly the sort of problem I'm talking about
that wastes developer time.
On Thursday, September 20, 2012 11:37:27 AM UTC-7, Karl Tiedt wrote:
>
> By this formula, Node has been 1.0+ since day one and never broken
> backwards compatibility... Its understandable that young projects
> hover below 1.0 in order to get a more throughly designed API in place
> (and maybe fix/remove API kinks that were bad ideas at one point in
> time)... but some would say that 3+ years is kinda pushing that safety
> net for such a largely used project...
>
> Essentially anyone familiar with semver would be leery of using Node
> for a large scale application with the lack of guarantee in backwards
> compatibility (or they should be without better explanation of the
> "Node way" of doing things).
>
> -Karl Tiedt
>
>
> On Thu, Sep 20, 2012 at 1:24 PM, Tim Caswell <t...@creationix.com<javascript:>>
> wrote:
>
> > To convert
> > node-community-style semver numbers to "official" semver numbers, use
> > this table.
> >
> > 0.0.x -> 0.0.x
> > x.y.z -> (x + 1).y.z
> >
> > So 0.3.14 would be 1.3.14 and 0.0.14 would stay 0.0.14.
> >
>
------=_Part_528_31006209.1348167040675
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
I was going to suggest some version numbers that Node.js could have gone wi=
th, but it's not really my place to say something like that. However, Node.=
js appears to have largely ended it's rapid-breakage phase around 0.4.0 at =
the latest.<div><br></div><div>There hasn't been any major overhauls, howev=
er I've still come across three breakages: Change in handling of buffers, c=
hanges in http/https and some related crypto and certificate changes, and b=
iggest of all, a change in process.on('exit') that completely and totally b=
reaks programs that used 'child_process'. I think there was also a change i=
n process.nextTick that broke some programs. Now maybe some of these were a=
part of larger bugfixes, and the developers didn't realize it broke progra=
ms. But even still, that doesn't stop you from updating the version number =
accordingly.</div><div><br></div><div>Also note that many of these occ=
urred often in the <i>very middle</i> of an otherwise "stable" re=
lease. There's just no way to guess that 0.8.4 introduced a breaking change=
, without knowing what the change was, and where it occurred. This is =
exactly the sort of problem I'm talking about that wastes developer time.</=
div><div><br>On Thursday, September 20, 2012 11:37:27 AM UTC-7, Karl Tiedt =
wrote:<blockquote class=3D"gmail_quote" style=3D"margin: 0;margin-left: 0.8=
ex;border-left: 1px #ccc solid;padding-left: 1ex;">By this formula, Node ha=
s been 1.0+ since day one and never broken
<br>backwards compatibility... Its understandable that young projects
<br>hover below 1.0 in order to get a more throughly designed API in place
<br>(and maybe fix/remove API kinks that were bad ideas at one point in
<br>time)... but some would say that 3+ years is kinda pushing that safety
<br>net for such a largely used project...
<br>
<br>Essentially anyone familiar with semver would be leery of using Node
<br>for a large scale application with the lack of guarantee in backwards
<br>compatibility (or they should be without better explanation of the
<br>"Node way" of doing things).
<br>
<br>-Karl Tiedt
<br>
<br>
<br>On Thu, Sep 20, 2012 at 1:24 PM, Tim Caswell <<a href=3D"javascript:=
" target=3D"_blank" gdf-obfuscated-mailto=3D"VIeKzBW9e3cJ">t...@creationix.=
com</a>> wrote:
<br>
<br>> To convert
<br>> node-community-style semver numbers to "official" semver numbers, =
use
<br>> this table.
<br>>
<br>> 0.0.x -> 0.0.x
<br>> x.y.z -> (x + 1).y.z
<br>>
<br>> So 0.3.14 would be 1.3.14 and 0.0.14 would stay 0.0.14.
<br>>
<br></blockquote></div>
------=_Part_528_31006209.1348167040675--
------=_Part_527_1579044.1348167040675--