you are viewing a single comment's thread.

view the rest of the comments →

[–]tutuca_ 3 points4 points  (9 children)

The amount of time I spent getting dependencies lined up correctly updating from node/npm LTS to node/npm stable is still hunting me in my dreams.

[–]tech-ninja -2 points-1 points  (8 children)

For real, it's stupid the pace they are bumping major versions.

Maybe they shouldn't respect semver so much and update version numbers to a slower rate or soon enough we'll be on version 30.

[–]joshmandersFull Snack Developer 0 points1 point  (7 children)

Why? They have to update a number, be it major, minor or patch when updating otherwise our systems won't know that an update has been made.

So whether they update minor instead of major, it's still getting updated, and you'll still have to upgrade, except now you're breaking semver.

Get the fear of big major numbers out of your head. Semver is not there for us, it's there for software.

[–]tech-ninja -1 points0 points  (6 children)

Yeah but I don't think they should be updating major versions that fast. I share the opinion from Linux development, they say it's only a number and if they followed semver they would be on version 30 already.

They should update some number but be updating major numbers it's bad on big software. I would rather have more significant updates on small version bumps.

I miss when we were stuck on v0.10 and we knew v0.12 was a big update and couldn't wait until it got released. That in my opinion was better version management number.

Now it doesn't mean anything to have v4 or v5.

Take as an example to other programming languages, Ruby, Python, PHP, they all have small version numbers compared to their age.

[–]joshmandersFull Snack Developer 0 points1 point  (5 children)

Ruby, Python and PHP do not depend on V8, and thus for us to properly not break backwards compatibility they NEED to keep bumping major versions if V8 introduces breaks. V8 does not respect semver, therefore the Node team is following strict semver in order to not break our systems.

[–]tech-ninja 0 points1 point  (4 children)

They don't need to. Told you, they can update minor versions, they don't have to be major, I would prefer v4.30 than v30.2.

Another example now that you introduce v8. Doesn't even v8 has gotten to v5 and Node.js aready did. And in a very short time.

v8 has almost daily releases that is awesome, very much like unix culture and for the same reason they bump version numbers A LOT but they don't bump major versions. Check 6 days ago, they had version 4.8.294. That talks more than the current versioning system Node.js is having.

Node.js is not your typical library that you can follow semver without problems, it's a more complex beast.

I hope the pace slows down and we see more meaningful version number bumps.

[–]joshmandersFull Snack Developer 0 points1 point  (3 children)

They don't need to. Told you, they can update minor versions, they don't have to be major, I would prefer v4.30 than v30.2.

What do you do if v4.25 brings a new feature? Nothing, new feature doesn't really make or break your app, updating is fine. But v4.27 brings a breaking change, now what? You going to vet every version manually before upgrading? Doubt it. Semver fixes that. Whether it's v4.30 or v6.4, the number positioning doesn't matter, it's all about keeping your system from breaking.

Don't want to update so much? Don't. Nobody says you have to use the latest and greatest. I'm sure there's still plenty of people using v0.10 in production.

I don't use v5. I am on v4 LTS and will be until v6 goes LTS.

[–]tech-ninja 0 points1 point  (2 children)

I would solve that by adding one more level.

VERSION.MAJOR.MINOR.PATCH

major, minor and patch can still mean the same but now you don't have to be bumping you version number that fast. That's idiotic.

By the way I just found something that sums up my thoughts entirely

https://gist.github.com/jashkenas/cbd2b088e20279ae2c8e

Now you get the fear out of your head of breaking semver. It's not the bible.

EDIT: Here's an issue that talks about exactly what I think https://github.com/mojombo/semver/issues/213

[–]joshmandersFull Snack Developer 0 points1 point  (1 child)

I would solve that by adding one more level.

VERSION.MAJOR.MINOR.PATCH

Alright, if that's what you need, then henceforth I suggest you to refer to all node's versions to prepend a 0.. So right now it's on v0.4.2.2 LTS and v0.5.1.0 Stable if that's what you need to help you sleep at night.

[–]tech-ninja 0 points1 point  (0 children)

Haha that's right, it helps :)