1 // Copyright Joyent, Inc. and other Node contributors. 2 // 3 // Permission is hereby granted, free of charge, to any person obtaining a 4 // copy of this software and associated documentation files (the 5 // "Software"), to deal in the Software without restriction, including 6 // without limitation the rights to use, copy, modify, merge, publish, 7 // distribute, sublicense, and/or sell copies of the Software, and to permit 8 // persons to whom the Software is furnished to do so, subject to the 9 // following conditions: 10 // 11 // The above copyright notice and this permission notice shall be included 12 // in all copies or substantial portions of the Software. 13 // 14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS 15 // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN 17 // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, 18 // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR 19 // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE 20 // USE OR OTHER DEALINGS IN THE SOFTWARE. 21 22 #ifndef SRC_NODE_VERSION_H_ 23 #define SRC_NODE_VERSION_H_ 24 25 #define NODE_MAJOR_VERSION 10 26 #define NODE_MINOR_VERSION 24 27 #define NODE_PATCH_VERSION 1 28 29 #define NODE_VERSION_IS_LTS 1 30 #define NODE_VERSION_LTS_CODENAME "Dubnium" 31 32 #define NODE_VERSION_IS_RELEASE 1 33 34 #ifndef NODE_STRINGIFY 35 #define NODE_STRINGIFY(n) NODE_STRINGIFY_HELPER(n) 36 #define NODE_STRINGIFY_HELPER(n) #n 37 #endif 38 39 #ifndef NODE_RELEASE 40 #define NODE_RELEASE "node" 41 #endif 42 43 #ifndef NODE_TAG 44 # if NODE_VERSION_IS_RELEASE 45 # define NODE_TAG "" 46 # else 47 # define NODE_TAG "-pre" 48 # endif 49 #else 50 // NODE_TAG is passed without quotes when rc.exe is run from msbuild 51 # define NODE_EXE_VERSION NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \ 52 NODE_STRINGIFY(NODE_MINOR_VERSION) "." \ 53 NODE_STRINGIFY(NODE_PATCH_VERSION) \ 54 NODE_STRINGIFY(NODE_TAG) 55 #endif 56 57 # define NODE_VERSION_STRING NODE_STRINGIFY(NODE_MAJOR_VERSION) "." \ 58 NODE_STRINGIFY(NODE_MINOR_VERSION) "." \ 59 NODE_STRINGIFY(NODE_PATCH_VERSION) \ 60 NODE_TAG 61 #ifndef NODE_EXE_VERSION 62 # define NODE_EXE_VERSION NODE_VERSION_STRING 63 #endif 64 65 #define NODE_VERSION "v" NODE_VERSION_STRING 66 67 68 #define NODE_VERSION_AT_LEAST(major, minor, patch) \ 69 (( (major) < NODE_MAJOR_VERSION) \ 70 || ((major) == NODE_MAJOR_VERSION && (minor) < NODE_MINOR_VERSION) \ 71 || ((major) == NODE_MAJOR_VERSION && \ 72 (minor) == NODE_MINOR_VERSION && (patch) <= NODE_PATCH_VERSION)) 73 74 /** 75 * Node.js will refuse to load modules that weren't compiled against its own 76 * module ABI number, exposed as the process.versions.modules property. 77 * 78 * When this version number is changed, node.js will refuse 79 * to load older modules. This should be done whenever 80 * an API is broken in the C++ side, including in v8 or 81 * other dependencies. 82 * 83 * Node.js will not change the module version during a Major release line 84 * We will at times update the version of V8 shipped in the release line 85 * if it can be made ABI compatible with the previous version. 86 * 87 * Module version by Node.js version: 88 * Node.js v0.10.x: 11 89 * Node.js v0.12.x: 14 90 * Node.js v4.x: 46 91 * Node.js v5.x: 47 92 * Node.js v6.x: 48 93 * Node.js v7.x: 51 94 * Node.js v8.x: 57 95 * 96 * Module version by V8 ABI version: 97 * V8 5.4: 51 98 * V8 5.5: 52 99 * V8 5.6: 53 100 * V8 5.7: 54 101 * V8 5.8: 55 102 * V8 5.9: 56 103 * V8 6.0: 57 104 * V8 6.1: 58 105 * V8 6.2: 59 106 * V8 6.3: 60 107 * V8 6.4: 61 108 * V8 6.5: 62 109 * V8 6.6: 63 110 * V8 6.7: 64 111 * 112 * More information can be found at https://nodejs.org/en/download/releases/ 113 */ 114 #define NODE_MODULE_VERSION 64 115 116 // The NAPI_VERSION provided by this version of the runtime. This is the version 117 // which the Node binary being built supports. 118 #define NAPI_VERSION 7 119 120 #endif // SRC_NODE_VERSION_H_ 121