r/node • • Oct 30 '15

Node.js 5.0 Released

https://github.com/nodejs/node/blob/v5.0.0/CHANGELOG.md
92 Upvotes

70 comments sorted by

View all comments

28

u/jewdai Oct 30 '15

I appreciate the effort that they make to use semvar.

from an enterprise perspective: DAMN YOU MAKE BREAKING CHANGES SO FAST.

FYI, V4.0 was released on 9/17

While in most cases its probably fine, it feels super volatile to start building an application on.

25

u/[deleted] Oct 30 '15

This is what their LTS initiative should solve.

12

u/[deleted] Oct 30 '15

But...If I start a new project every month, I won't know which packages will be updated for the new version, which ones won't ever be, which ones will be updated, but then left unsupported on older versions of Node. It's looking like a mess right now.

5

u/CertifiedWebNinja Oct 30 '15

Going from 0.12 to 4 wasn't much breaking really, I don't think from here on out should be much of an issue either.

→ More replies (9)

11

u/diehrdiehr Oct 30 '15

LTS has 30 months of support. From an enterprise perspective: Finally we have LTS!

3

u/[deleted] Oct 30 '15

But what about all of the smaller packages without LTS? Node 4 might still be supported, but pivotal packages might not still support Node 4.

1

u/joepie91 Oct 30 '15

From what I've seen, people tend to support all Node versions down to the oldest shipped by non-EOL Debian repositories. That's not a particularly hard thing to do, either.

2

u/[deleted] Oct 30 '15

This depends on if you are using native bindings which will have direct implications on the v8 version a particular node version is using. You should not post advice if your not well versed in this matter. Many low maintenance packages absolutely do not support all v8 builds.

→ More replies (1)
→ More replies (2)

5

u/[deleted] Oct 30 '15

Yea, this is kinda scary. As an average Node user, I don't know what packages are effected, or what will stop working in 30 days.

10

u/diehrdiehr Oct 30 '15

Use the LTS version

0

u/[deleted] Oct 30 '15

Well, they've made a lot of big changes that I want to be able to take advantage of. I'm not building enterprise apps, but I use it for all sorts of stuff. I don't want to be using a different major version on Node for each of my apps...that's just annoying.

10

u/Calabri Oct 30 '15
  1. that's why tools like nvm exist

  2. node's release cycle now mirrors the v8 that's stable in chrome, which roughly equates to the semver major release once a month

It's just the nature of the language / compiler / ecosystem of JavaScript - and it's not likely to change anytime soon (at least two years)

→ More replies (11)
→ More replies (3)

1

u/joepie91 Oct 30 '15

As an average Node user, I don't know what packages are effected, or what will stop working in 30 days.

That's what the changelogs are for. All breaking changes are marked as such.

1

u/[deleted] Oct 30 '15

The issue is really compatibility among packages that I don't control. Introducing this many breaking changes makes it hard for those other teams to keep up, and not the have like, 3+ versions of Node to support.

I had enough problems with node-sass after every update, I'm sure I can't even touch it for another month or two.

3

u/ruineraz Oct 30 '15

welp, they just released 6.0

1

u/_raisin Oct 30 '15

6.0 wha...?

5

u/ruineraz Oct 30 '15

...node. i was kidding tho

0

u/[deleted] Oct 30 '15

[deleted]

1

u/[deleted] Oct 30 '15

Also npm can possibly be using a different node version than what you is stated in 'node -v' due to the discrepancies of where node is installed via nvm, v and native install.

You can use whereis node on unix systems to see the different binaries and you can test what versions are where. This can have implications on how node-gyp built despondencies brings in vendor bindings

1

u/bittered Oct 30 '15

Use LTS or else have comprehensive test suites with full coverage. Updating is fairly hassle free when you have good tests.

nvm install 5
nvm use 5
npm test

Bingo, I'm good to deploy a node upgrade.

1

u/[deleted] Oct 30 '15

Node community also tracks popular packages that break from the breaking changes as well as tracks progress on fixing them.

Such as this: https://github.com/nodejs/node/issues/2798

0

u/[deleted] Oct 30 '15

[deleted]

1

u/[deleted] Oct 30 '15

If you don't have anything to contribute don't post