← Back to context

Comment by thomasfoster96

11 years ago

From what I can understand, io.js is now node with the latest version of v8 and ES6(+ES7) features enabled by default (as opposed to behind a flag).

I'm wondering, what technical reasons are there for Node not using the latest version of v8 for each release? I can understand Node keeping some new ES6/7 features behind a flag (just as some are behind a flag in Chrome).

V8 updates bring incompatible changes to the V8 API, and many node extensions written in C++ need to be updated. Hence the decision to stick with an old V8, even though it's no longer maintained by Google.

There is a compatibility layer to assist with making these modules work across different V8 versions: https://github.com/rvagg/nan