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. 
> > 
>

-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nodejs@googlegroups.com
To unsubscribe from this group, send email to
nodejs+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Reply via email to