For what it's worth, I see the value in using all three numbers to
their fullest potential as the spec describes.

Also I explained my usage of node-style semver incorrectly and I apologize.

My personal standard is I bump the last digit for both bug fixes and
feature additions.  Basically any change that won't break any code
that depends on my library.  I bump the middle number when I make a
breaking change.  So basically it's like the official semver except
the first digit is 0 forever (nearly) and the last two are merged
together.

So the only missing feature is you can't tell the difference between a
bug-fix release and a release that adds a new feature.  Honestly this
isn't super important to me.  I always do my dependencies in the form
"~0.2.3" and npm will match >= 0.2.3 and < 0.3.0.  I depend on
bugfixes and features present in 0.2.3 and am ok with getting any new
features or bug fixes as long as it doesn't break my app.

In the context of shared libraries this is a good thing.  If feature
additions were the middle digit and the first digit was breaking
changes then people would either always match ~2.3 ignoring the last
digit or ~2.3.5 and be locked to a certain set of features.  For
common libraries that are shared among several modules, this would
cause duplication.

By merging the feature addition digit with the bugfix digit the first
digit is freed for major changes which is also useful.

So the question is, which is more valuable?  Being able to mark
architectural changes or being able to tell feature additions apart
from bug fixes.  I think we all agree it's a good thing to be able to
get bug fixes automatically without pulling in API breaking changes.
But only two digits are required for that.

As far as node itself, I have no say in how it's numbered and I
understand it's system, so it's fine by me.  As a linux user I'm used
to the platform using different numbering systems than libraries.

On Thu, Sep 20, 2012 at 1:37 PM, Karl Tiedt <kti...@gmail.com> 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> 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

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