Node: Should we align Module Version Number to V8 ABI Version?

Created on 31 Oct 2017  路  11Comments  路  Source: nodejs/node

We seem to have reached a pace where we are aligning each subsequent V8 release with a new Module Version number, which is currently off by three

https://github.com/nodejs/node/blob/master/src/node_version.h#L71-L105

Should we consider bumping Module version number to 63 in https://github.com/nodejs/node/pull/16271

/cc @nodejs/tsc @nodejs/v8

C++ V8 Engine addons discuss

Most helpful comment

@MylesBorins I鈥檓 just worried it gives the false impression that alignment with the V8 version is something we want to provide in the future, even though that鈥檚 not really what鈥檚 happening and we can鈥檛 promise it

All 11 comments

I think we already discussed this somewhere. The current module version is aligned with Electron IIRC.

@targos I've pinged the people over in the electron maintainers slack to chime in

A couple things:

  • We only bump this for V8 upgrades because the V8 API is the part of our own that鈥檚 modified most frequently and with the least regard for backwards compatibility, but updates to Node鈥檚 own API or the ones of other dependencies (zlib, openssl) could also change the API, even when we don鈥檛 bundle a breaking V8 update
  • Conversely, there is no guarantee that a major V8 upgrade will always be breaking ABI-breaking; e.g. V8 6.2 is pretty close to full compatibility with 6.1. I鈥檇 say we should not be bumping the number if there is no breakage
  • With the goal of multi-VM support in mind, the V8 version number is going to become less meaningful over time anyway

From Electron's point of view, most tools that help people with automatically rebuilding Node modules against a certain target use node-abi, which contains a rather simple map and doesn't really care about the logic behind the number.

Without electron-rebuild, we're currently telling people to configure npm. I can't really see how this would break people, but @zcbenz might have more informed opinions.

@addaleax I totally agree with all of those points, just figured that bumping by three isn't likely to break anything and will make things less confusing. Open to closing this if you think it is a non starter

@MylesBorins I鈥檓 just worried it gives the false impression that alignment with the V8 version is something we want to provide in the future, even though that鈥檚 not really what鈥檚 happening and we can鈥檛 promise it

I agree with @addaleax

I agree with @addaleax.

I agree with @addaleax as well.

I agree with @addaleax as well.

Closing

Was this page helpful?
0 / 5 - 0 ratings

Related issues

addaleax picture addaleax  路  146Comments

mikeal picture mikeal  路  90Comments

nicolo-ribaudo picture nicolo-ribaudo  路  147Comments

jonathanong picture jonathanong  路  91Comments

thecodingdude picture thecodingdude  路  158Comments