Node: Should Node.js update to newer V8 than the current stable branch?

Created on 28 Mar 2017  Â·  13Comments  Â·  Source: nodejs/node

Whenever Node.js updates to a new version of V8, the latest stable version is chosen. For Node 8, this is V8 5.7. V8's active branch is always three months ahead, currently 5.9.

That version of Node.js then undergoes active development for six months (according to this) before release. So at the time of Node 8's release, V8 5.9 would long have turned stable.

V8 only merges important fixes to older branches, and I don't expect API changes to occur unless critically necessary, and I don't remember this every happening. Taking the newest V8 works for Chromium, so I wonder whether it makes sense to update to the V8's active branch for a new Node.js version.

The advantage is that Node.js gets to ship with a more up-to-date V8 (language features, performance, awesomeness, etc.), and V8 has to merge critical fixes to fewer past versions, which is not only more convenient, but also safer.

@fhinkel @bmeurer @ofrobots

V8 Engine discuss

Most helpful comment

... I'd say something about "great minds thinking alike" but no one has ever accused me of having a "great mind" ;-)

All 13 comments

Probably relevant to: @nodejs/v8 @nodejs/lts as well.

That version of Node.js then undergoes active development for six months (according to this) before release. So at the time of Node 8's release, V8 5.9 would long have turned stable.

Maybe there’s a misunderstanding here – the Node 8 release is due a month from now, so I don’t think it could ship with a stable V8 5.9. What happens after 6 months is that our release line goes into Long Term Support mode, or is put into maintenance mode and receives only critical fixes.

I see. How long does it usually take from version bump to release?

@hashseed Referring to performance: https://github.com/nodejs/node/issues/11851 Your question seems very interesting.

But here official answer: https://github.com/nodejs/node/issues/11851#issuecomment-288979954

targos:

On master, this won't land before June

How long does it usually take from version bump to release?

Do you mean V8 version bump or Node version bump?

It's also worth noting that the version of V8 that initially ships with Node 8 is not necessarily the version that will ship with Node 8 when it goes LTS. I think the rule is generally to update as long as API/ABI compatibility is kept.

Fwiw, the current plan for 8.0.0 is to release on April 25th with V8 5.7. We can jump up to 5.8 in an 8.x point release if and only if ABI stability is maintained. We are unlikely to move up to 5.9 until 9.0 unless the new optimization tool chain is proven out by the time we hit LTS in October.

Do you mean V8 version bump or Node version bump?

V8 version bump. I was trying to figure out how much time there is between Node.js updating to a newer V8, and that updated Node.js to be released. If it's only one month, there is no other option than taking V8's stable branch. If there is more than 6 weeks however, it might make sense to take a branch of V8 that will turn stable by the time the updated Node.js is released.

Would it make sense though to update V8 on master sooner? Master is currently on 5.7, which has been stable for a month. Are people interested in a "canary" version on master that has a beta V8? See Chrome Release Schedule.

On master no, I think we should not get into the habit of updating V8 too quickly. A canary branch that can be used to play around with the latest V8 would be helpful tho, and would help when we actually do decide to land the new V8 stable in master.

We already have such a canary branch for that managed by @targos, by the way.

... I'd say something about "great minds thinking alike" but no one has ever accused me of having a "great mind" ;-)

The other concern that has been mentioned in other issues talking about updating to a later version for Node version 8 is that the later versions drop support for the older debug protocol and its not certain that we are ready for that in node version 8.

Closing this. Feel free to reopen if needed.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

Icemic picture Icemic  Â·  3Comments

akdor1154 picture akdor1154  Â·  3Comments

fanjunzhi picture fanjunzhi  Â·  3Comments

danielstaleiny picture danielstaleiny  Â·  3Comments

filipesilvaa picture filipesilvaa  Â·  3Comments