Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

node-gyp

nodejs51.8mMIT11.0.0

Node.js native addon build tool

native, addon, module, c, c++, bindings, gyp

readme

node-gyp - Node.js native addon build tool

Build Status npm

node-gyp is a cross-platform command-line tool written in Node.js for compiling native addon modules for Node.js. It contains a vendored copy of the gyp-next project that was previously used by the Chromium team and extended to support the development of Node.js native addons.

Note that node-gyp is not used to build Node.js itself.

All current and LTS target versions of Node.js are supported. Depending on what version of Node.js is actually installed on your system node-gyp downloads the necessary development files or headers for the target version. List of stable Node.js versions can be found on Node.js website.

Features

  • The same build commands work on any of the supported platforms
  • Supports the targeting of different versions of Node.js

Installation

[!Important] Python >= v3.12 requires node-gyp >= v10

You can install node-gyp using npm:

npm install -g node-gyp

Depending on your operating system, you will need to install:

On Unix

On macOS

  • A supported version of Python
  • Xcode Command Line Tools which will install clang, clang++, and make.
    • Install the Xcode Command Line Tools standalone by running xcode-select --install. -- OR --
    • Alternatively, if you already have the full Xcode installed, you can install the Command Line Tools under the menu Xcode -> Open Developer Tool -> More Developer Tools....

On Windows

Install tools with Chocolatey:

choco install python visualstudio2022-workload-vctools -y

Or install and configure Python and Visual Studio tools manually:

  • Install the current version of Python from the Microsoft Store.

    • Install Visual C++ Build Environment: For Visual Studio 2019 or later, use the Desktop development with C++ workload from Visual Studio Community. For a version older than Visual Studio 2019, install Visual Studio Build Tools with the Visual C++ build tools option.

    If the above steps didn't work for you, please visit Microsoft's Node.js Guidelines for Windows for additional tips.

    To target native ARM64 Node.js on Windows on ARM, add the components "Visual C++ compilers and libraries for ARM64" and "Visual C++ ATL for ARM64".

    To use the native ARM64 C++ compiler on Windows on ARM, ensure that you have Visual Studio 2022 17.4 or later installed.

It's advised to install following Powershell module: VSSetup using Install-Module VSSetup -Scope CurrentUser. This will make Visual Studio detection logic to use more flexible and accessible method, avoiding Powershell's ConstrainedLanguage mode.

Configuring Python Dependency

node-gyp requires that you have installed a supported version of Python. If you have multiple versions of Python installed, you can identify which version node-gyp should use in one of the following ways:

  1. by setting the --python command-line option, e.g.:
node-gyp <command> --python /path/to/executable/python
  1. If node-gyp is called by way of npm, and you have multiple versions of Python installed, then you can set the npm_config_python environment variable to the appropriate path:

    export npm_config_python=/path/to/executable/python

        Or on Windows:

    py --list-paths  # To see the installed Python versions
    set npm_config_python=C:\path\to\python.exe  # CMD
    $Env:npm_config_python="C:\path\to\python.exe"  # PowerShell
  2. If the PYTHON environment variable is set to the path of a Python executable, then that version will be used if it is a supported version.

  3. If the NODE_GYP_FORCE_PYTHON environment variable is set to the path of a Python executable, it will be used instead of any of the other configured or built-in Python search paths. If it's not a compatible version, no further searching will be done.

Build for Third Party Node.js Runtimes

When building modules for third-party Node.js runtimes like Electron, which have different build configurations from the official Node.js distribution, you should use --dist-url or --nodedir flags to specify the headers of the runtime to build for.

Also when --dist-url or --nodedir flags are passed, node-gyp will use the config.gypi shipped in the headers distribution to generate build configurations, which is different from the default mode that would use the process.config object of the running Node.js instance.

Some old versions of Electron shipped malformed config.gypi in their headers distributions, and you might need to pass --force-process-config to node-gyp to work around configuration errors.

How to Use

To compile your native addon first go to its root directory:

cd my_node_addon

The next step is to generate the appropriate project build files for the current platform. Use configure for that:

node-gyp configure

Auto-detection fails for Visual C++ Build Tools 2015, so --msvs_version=2015 needs to be added (not needed when run by npm as configured above):

node-gyp configure --msvs_version=2015

Note: The configure step looks for a binding.gyp file in the current directory to process. See below for instructions on creating a binding.gyp file.

Now you will have either a Makefile (on Unix platforms) or a vcxproj file (on Windows) in the build/ directory. Next, invoke the build command:

node-gyp build

Now you have your compiled .node bindings file! The compiled bindings end up in build/Debug/ or build/Release/, depending on the build mode. At this point, you can require the .node file with Node.js and run your tests!

Note: To create a Debug build of the bindings file, pass the --debug (or -d) switch when running either the configure, build or rebuild commands.

The binding.gyp file

A binding.gyp file describes the configuration to build your module, in a JSON-like format. This file gets placed in the root of your package, alongside package.json.

A barebones gyp file appropriate for building a Node.js addon could look like:

{
  "targets": [
    {
      "target_name": "binding",
      "sources": [ "src/binding.cc" ]
    }
  ]
}

Further reading

The docs directory contains additional documentation on specific node-gyp topics that may be useful if you are experiencing problems installing or building addons using node-gyp.

Some additional resources for Node.js native addons and writing gyp configuration files:

Commands

node-gyp responds to the following commands:

Command Description
help Shows the help dialog
build Invokes make/msbuild.exe and builds the native addon
clean Removes the build directory if it exists
configure Generates project build files for the current platform
rebuild Runs clean, configure and build all in a row
install Installs Node.js header files for the given version
list Lists the currently installed Node.js header versions
remove Removes the Node.js header files for the given version

Command Options

node-gyp accepts the following command options:

Command Description
-j n, --jobs n Run make in parallel. The value max will use all available CPU cores
--target=v6.2.1 Node.js version to build for (default is process.version)
--silly, --loglevel=silly Log all progress to console
--verbose, --loglevel=verbose Log most progress to console
--silent, --loglevel=silent Don't log anything to console
debug, --debug Make Debug build (default is Release)
--release, --no-debug Make Release build
-C $dir, --directory=$dir Run command in different directory
--make=$make Override make command (e.g. gmake)
--thin=yes Enable thin static libraries
--arch=$arch Set target architecture (e.g. ia32)
--tarball=$path Get headers from a local tarball
--devdir=$path SDK download directory (default is OS cache directory)
--ensure Don't reinstall headers if already present
--dist-url=$url Download header tarball from custom URL
--proxy=$url Set HTTP(S) proxy for downloading header tarball
--noproxy=$urls Set urls to ignore proxies when downloading header tarball
--cafile=$cafile Override default CA chain (to download tarball)
--nodedir=$path Set the path to the node source code
--python=$path Set path to the Python binary
--msvs_version=$version Set Visual Studio version (Windows only)
--solution=$solution Set Visual Studio Solution version (Windows only)
--force-process-config Force using runtime's process.config object to generate config.gypi file

Configuration

Environment variables

Use the form npm_config_OPTION_NAME for any of the command options listed above (dashes in option names should be replaced by underscores).

For example, to set devdir equal to /tmp/.gyp, you would:

Run this on Unix:

export npm_config_devdir=/tmp/.gyp

Or this on Windows:

set npm_config_devdir=c:\temp\.gyp

npm configuration for npm versions before v9

Use the form OPTION_NAME for any of the command options listed above.

For example, to set devdir equal to /tmp/.gyp, you would run:

npm config set [--global] devdir /tmp/.gyp

Note: Configuration set via npm will only be used when node-gyp is run via npm, not when node-gyp is run directly.

License

node-gyp is available under the MIT license. See the LICENSE file for details.

changelog

Changelog

11.0.0 (2024-12-03)

⚠ BREAKING CHANGES

  • drop node 16 support (#3102)

Features

Miscellaneous

10.3.1 (2024-12-02)

Miscellaneous

  • fix npm-publish dependencies and add provenance (#3099) (6dded88)

10.3.0 (2024-11-29)

Features

  • prohibit compiling with ClangCL on Windows (#3098) (88260bf)

Bug Fixes

  • ci: use correct release-please-action domain after organization url was changed (#3032) (d1ed3d4)

Miscellaneous

10.2.0 (2024-07-09)

Features

  • allow VCINSTALLDIR to specify a portable instance (#3036) (d38af2e)
  • gyp: update gyp to v0.18.1 (#3039) (ea99fea)
  • support rebuild and build for cross-compiling Node-API module to wasm on Windows (#2974) (6318d2b)

Core

Doc

  • node-pre-gyp is no longer maintained (#3015) (93186f1)
  • add the way to configuring Python dependency for Windows PowerShell (#2996) (9fd7936)
  • Installation -- Python >= v3.12 requires node-gyp >= v10 (#3010) (a6b48fc)

Miscellaneous

10.1.0 (2024-03-13)

Features

Core

  • add support for locally installed headers (#2964) (3298731)
  • deps: bump actions/setup-python from 4 to 5 (#2960) (3f0df7e)
  • deps: bump google-github-actions/release-please-action (#2961) (b1f1808)
  • print Python executable path using UTF-8 (#2995) (c472912)
  • update supported vs versions (#2959) (391cc5b)

Doc

  • npm is currently v10 (#2970) (7705a22)
  • remove outdated Node versions from readme (#2955) (ae8478e)
  • remove outdated update engines.node reference in 10.0.0 changelog (b42e796)

Miscellaneous

  • only run release please on push (cff9ac2)
  • upgrade release please action from v2 to v4 (#2982) (0035d8e)

10.0.1 (2023-11-02)

Bug Fixes

  • use local util for findAccessibleSync() (b39e681)

Miscellaneous

  • add parallel test logging (7de1f5f)
  • lint fixes (4e0ed99)
  • use platform specific timeouts in tests (a68586a)

10.0.0 (2023-10-28)

⚠ BREAKING CHANGES

  • use .npmignore file to limit which files are published (#2921)
  • the Gyp class exported is now created using ECMAScript classes and therefore might have small differences to classes that were previously created with util.inherits.
  • All internal functions have been coverted to return promises and no longer accept callbacks. This is not a breaking change for users but may be breaking to consumers of node-gyp if you are requiring internal functions directly.
  • node-gyp now supports node ^16.14.0 || >=18.0.0

Features

  • convert all internal functions to async/await (355622f)
  • convert internal classes from util.inherits to classes (d52997e)
  • drop node 14 support (#2929) (1b3bd34)
  • drop rimraf dependency (4a50fe3)
  • gyp: update gyp to v0.16.1 (#2923) (707927c)
  • replace npmlog with proc-log (4a50fe3)
  • update engines.node to ^14.17.0 || ^16.13.0 || >=18.0.0 (4a50fe3)
  • use .npmignore file to limit which files are published (#2921) (864a979)

Bug Fixes

  • create Python symlink only during builds, and clean it up after (#2721) (0f1f667)
  • promisify build command (4a50fe3)
  • use fs/promises in favor of fs.promises (4a50fe3)

Tests

Doc

  • Add note about Python symlinks (PR 2362) to CHANGELOG.md for 9.1.0 (#2783) (b3d41ae)
  • README.md Do not hardcode the supported versions of Python (#2880) (bb93b94)
  • update applicable GitHub links from master to main (#2843) (d644ce4)
  • Update windows installation instructions in README.md (#2882) (c9caa2e)

Core

Miscellaneous

9.4.0 (2023-06-12)

Features

  • add support for native windows arm64 build tools (bb76021)
  • Upgrade Python linting from flake8 to ruff (#2815) (fc0ddc6)

Bug Fixes

  • extract tarball to temp directory on Windows (#2846) (aaa117c)
  • log statement is for devDir not nodedir (#2840) (55048f8)

Miscellaneous

  • get update-gyp.py to work with Python >= v3.5 (#2826) (337e8e6)

Doc

Tests

9.3.1 (2022-12-16)

Bug Fixes

Miscellaneous

9.3.0 (2022-10-10)

Features

9.2.0 (2022-10-02)

Features

  • Add proper support for IBM i (a26494f)
  • gyp: update gyp to v0.13.0 (3e2a532)

Bug Fixes

  • node.js debugger adds stderr (but exit code is 0) -> shouldn't throw (#2719) (c379a74)

Core

Miscellaneous

9.1.0 (2022-07-13)

Features

  • Update function getSDK() to support Windows 11 SDK (#2565) (ea8520e)

Bug Fixes

  • extend tap timeout length to allow for slow CI (6f74c76)
  • new ca & server certs, bundle in .js file and unpack for testing (147e3d3)
  • re-label (#2689) (f0b7863)
  • typo on readme (bf81cd4)

Doc

  • update docs/README.md with latest version number (62d2815)

Core

  • update due to rename of primary branch (ca1f068)
  • Add Python symlink to path (for non-Windows OSes only) (#2362) (b9ddcd5)

Tests

9.0.0 (2022-02-24)

⚠ BREAKING CHANGES

  • increase "engines" to "node" : "^12.22 || ^14.13 || >=16" (#2601)

Bug Fixes

  • _ in npm_config_ env variables (eef4eef)
  • update make-fetch-happen to a minimum of 10.0.3 (839e414)

Miscellaneous

Doc

  • Add notes/disclaimers for upgrading the copy of node-gyp that npm uses (#2585) (faf6d48)
  • Rename and update Common-issues.md --> docs/README.md (#2567) (2ef5fb8)
  • rephrase explanation of which node-gyp is used by npm (#2587) (a2f2988)
  • title match content (#2574) (6e8f93b)
  • Update Python versions (#2571) (e069f13)

Core

8.4.1 (2021-11-19)

Bug Fixes

Doc

  • fix typo in powershell node-gyp update (787cf7f)

Core

8.4.0 (2021-11-05)

Features

8.3.0 (2021-10-11)

Features

Tests

Miscellaneous

  • deps: bump make-fetch-happen from 8.0.14 to 9.1.0 (b05b4fe)
  • refactor the creation of config.gypi file (f2ad87f)

8.2.0 (2021-08-23)

Features

Bug Fixes

  • add error arg back into catch block for older Node.js users (5cde818)
  • change default gyp update message (#2420) (cfd12ff)
  • doc how to update node-gyp independently from npm (c8c0af7)
  • missing spaces (f0882b1)

Core

  • deep-copy process.config during configure (#2368) (5f1a06c)

Miscellaneous

Doc

  • correct link to "binding.gyp files out in the wild" (#2483) (660dd7b)
  • wiki: Add a link to the node-midi binding.gyp file. (b354711)
  • wiki: add bcrypt (e199cfa)
  • wiki: Add helpful information (4eda827)
  • wiki: Add node-canvas (13a9553)
  • wiki: Add node-openvg-canvas and node-openvg. (61f709e)
  • wiki: add one more example (77f3632)
  • wiki: add topcube, node-osmium, and node-osrm (1a75d2b)
  • wiki: Added details for properly fixing (3d4d9d5)
  • wiki: Added Ghostscript4JS (bf4bed1)
  • wiki: added levelup (1575bce)
  • wiki: Added nk-mysql (nodamysql) (5b4f2d0)
  • wiki: Added nk-xrm-installer .gyp references, including .py scripts for providing complete reference to examples of fetching source via http, extracting, and moving files (as opposed to copying) (ceb3088)
  • wiki: Added tip about resolving frustrating LNK1181 error (e64798d)
  • wiki: ADDED: Node.js binding to OpenCV (e2dc777)
  • wiki: Adding link to node-cryptopp's gyp file (875adbe)
  • wiki: Adding the sharp library to the list (9dce0e4)
  • wiki: Adds node-fann (23e3d48)
  • wiki: Adds node-inotify and v8-profiler (b6e542f)
  • wiki: Bumping Python version from 2.3 to 2.7 as per the node-gyp readme (55ebd6e)
  • wiki: C++ build tools version upgraded (5b899b7)
  • wiki: change bcrypt url to binding.gyp file (e11bdd8)
  • wiki: Clarification + direct link to VS2010 (531c724)
  • wiki: Correcting the link to node-osmium (fae7516)
  • wiki: Created "binding.gyp" files out in the wild (markdown) (d4fd143)
  • wiki: Created Common issues (markdown) (a38299e)
  • wiki: Created Error: "pre" versions of node cannot be installed (markdown) (98bc80d)
  • wiki: Created Linking to OpenSSL (markdown) (c46d00d)
  • wiki: Created Updating npm's bundled node gyp (markdown) (e0ac8d1)
  • wiki: Created use of undeclared identifier 'TypedArray' (markdown) (65ba711)
  • wiki: Created Visual Studio 2010 Setup (markdown) (5b80e83)
  • wiki: Created Visual studio 2012 setup (markdown) (becef31)
  • wiki: Destroyed Visual Studio 2010 Setup (markdown) (93423b4)
  • wiki: Destroyed Visual studio 2012 setup (markdown) (3601508)
  • wiki: Different commands for Windows npm v6 vs. v7 (0fce46b)
  • wiki: Drop in favor of (9285ff6)
  • wiki: Explicit link to Visual C++ 2010 Express (378c363)
  • wiki: fix link to gyp file used to build libsqlite3 (54db8d7)
  • wiki: Fix link to node-zipfile (92e49a8)
  • wiki: fixed node-serialport link (954ee53)
  • wiki: I highly missing it in common issue as every windows biggner face that issue (d617fae)
  • wiki: if ouns that the -h did not help. I founs on github that there was support for visual studio 2015, while i couldn't install node-red beacuse it kept telling me the key 2015 was missing. looking in he gyp python code i found the local file was bot up t dat with the github repo. updating took several efforts before i tried to drop the -g option. (408b72f)
  • wiki: If permissions error, please try and then the command. (ee8e1c1)
  • wiki: Improve Unix instructions (c3e5487)
  • wiki: link to docs/ from README (b52e487)
  • wiki: Lower case L (3aa2c6b)
  • wiki: Make changes discussed in https://github.com/nodejs/node-gyp/issues/2416 (1dcad87)
  • wiki: move wiki docs into doc/ (f0a4835)
  • wiki: node-sass in the wild (d310a73)
  • wiki: node-srs was a 404 (bbca21a)
  • wiki: Note: VS2010 seems to be no longer available! VS2013 or nothing! (7b5dcaf)
  • wiki: safer doc names, remove unnecessary TypedArray doc (161c235)
  • wiki: sorry, forgot to mention a specific windows version. (d69dffc)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (7444b47)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (d766b74)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (d319b0e)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (3c6692d)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (93392d5)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (8841158)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (81bfa1f)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (d1cd237)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (3de9e17)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (a9b7096)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (3236069)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (1462755)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (7ab1337)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (640895d)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (ced8c96)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (27b883a)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (d29fb13)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (2765891)
  • wiki: Updated "binding.gyp" files out in the wild (markdown) (dc97766)
  • wiki: Updated Error: "pre" versions of node cannot be installed (markdown) (e9f8b33)
  • wiki: Updated Home (markdown) (3407109)
  • wiki: Updated Home (markdown) (6e392bc)
  • wiki: Updated Home (markdown) (65efe32)
  • wiki: Updated Home (markdown) (ea28f09)
  • wiki: Updated Home (markdown) (0e37ff4)
  • wiki: Updated Home (markdown) (b398ef4)
  • wiki: Updated Linking to OpenSSL (markdown) (8919028)
  • wiki: Updated Linking to OpenSSL (markdown) (c00eb77)
  • wiki: Updated node-levelup to node-leveldown (broken links) (59668bb)
  • wiki: Updated Updating npm's bundled node gyp (markdown) (d314854)
  • wiki: Updated Updating npm's bundled node gyp (markdown) (11858b0)
  • wiki: Updated Updating npm's bundled node gyp (markdown) (33561e9)
  • wiki: Updated Updating npm's bundled node gyp (markdown) (4a7f2d0)
  • wiki: Updated Updating npm's bundled node gyp (markdown) (979a706)
  • wiki: Updated Updating npm's bundled node gyp (markdown) (e50e04d)

8.1.0 (2021-05-28)

Features

Miscellaneous

  • add release-please-action for automated releases (#2395) (07e9d7c)

Core

  • fail gracefully if we can't find the username (#2375) (fca4795)
  • log as yes/no whether build dir was created (#2370) (245dee5)

Doc

  • fix v8.0.0 release date (4b83c3d)
  • remove redundant version info (#2403) (1423670)
  • Update README.md Visual Studio Community page polski to auto (#2371) (1b4697a)

v8.0.0 2021-04-03

  • [0d8a6f1b19] - ci: update actions/setup-node to v2 (#2302) (Sora Morimoto) #2302
  • [15a5c7d45b] - ci: migrate deprecated grammar (#2285) (Jiawen Geng) #2285
  • [06ddde27f9] - deps: sync mutual dependencies with npm (DeeDeeG) #2348
  • [a5fd1f41e3] - doc: add downloads badge (#2352) (Jiawen Geng) #2352
  • [cc1cbce056] - doc: update macOS_Catalina.md (#2293) (iMrLopez) #2293
  • [6287118fc4] - doc: updated README.md to copy easily (#2281) (மனோஜ்குமார் பழனிச்சாமி) #2281
  • [66c0f04467] - doc: add missing sudo to Catalina doc (Karl Horky) #2244
  • [0da2e0140d] - gyp: update gyp to v0.8.1 (#2355) (DeeDeeG) #2355
  • [0093ec8646] - gyp: Improve our flake8 linting tests (Christian Clauss) #2356
  • [a78b584236] - (SEMVER-MAJOR) gyp: remove support for Python 2 (#2300) (Christian Clauss) #2300
  • [c3c510d89e] - gyp: update gyp to v0.8.0 (#2318) (Christian Clauss) #2318
  • [9e1397c52e] - (SEMVER-MAJOR) gyp: update gyp to v0.7.0 (#2284) (Jiawen Geng) #2284
  • [1bd18f3e77] - (SEMVER-MAJOR) lib: drop Python 2 support in find-python.js (#2333) (DeeDeeG) #2333
  • [e81602ef55] - (SEMVER-MAJOR) lib: migrate requests to fetch (#2220) (Matias Lopez) #2220
  • [392b7760b4] - lib: avoid changing process.config (#2322) (Michaël Zasso) #2322

v7.1.2 2020-10-17

  • [096e3aded5] - gyp: update gyp to 0.6.2 (Myles Borins) #2241
  • [54f97cd243] - doc: add cmd to reset xcode-select to initial state (Valera Rozuvan) #2235

v7.1.1 2020-10-15

This release restores the location of shared library builds to the pre-v7 location. In v7.0.0 until this release, shared library outputs were placed in a lib.target subdirectory inside the build/{Release,Debug} directory for builds using make (Linux, etc.). This is inconsistent with macOS (Xcode) behavior and previous node-gyp behavior so has been reverted. We consider this a bug-fix rather than semver-major change.

  • [18bf2d1d38] - deps: update deps to match npm@7 (Rod Vagg) #2240
  • [ee6a837cb7] - gyp: update gyp to 0.6.1 (Rod Vagg) #2238
  • [3e7f8ccafc] - lib: better log message when ps fails (Martin Midtgaard) #2229
  • [7fb314339f] - test: GitHub Actions: Test on Python 3.9 (Christian Clauss) #2230
  • [754996b9ec] - doc: replace status badges with new Actions badge (Rod Vagg) #2218
  • [2317dc400c] - ci: switch to GitHub Actions (Shelley Vohr) #2210
  • [2cca9b74f7] - doc: drop the --production flag for installing windows-build-tools (DeeDeeG) #2206

v7.1.0 2020-08-12

  • [aaf33c3029] - build: add update-gyp script (Samuel Attard) #2167
    • [3baa4e4172] - (SEMVER-MINOR) gyp: update gyp to 0.4.0 (Samuel Attard) #2165
    • [f461d56c53] - (SEMVER-MINOR) build: support apple silicon (arm64 darwin) builds (Samuel Attard) #2165
    • [ee6fa7d3bc] - docs: note that node-gyp@7 should solve Catalina CLT issues (Rod Vagg) #2156
    • [4fc8ff179d] - doc: silence curl for macOS Catalina acid test (Chia Wei Ong) #2150
    • [7857cb2eb1] - deps: increase "engines" to "node" : ">= 10.12.0" (DeeDeeG) #2153

v7.0.0 2020-06-03

  • [e18a61afc1] - build: shrink bloated addon binaries on windows (Shelley Vohr) #2060
  • [4937722cf5] - (SEMVER-MAJOR) deps: replace mkdirp with {recursive} mkdir (Rod Vagg) #2123
  • [d45438a047] - (SEMVER-MAJOR) deps: update deps, match to npm@7 (Rod Vagg) #2126
  • [ba4f34b7d6] - doc: update catalina xcode clt download link (Dario Vladovic) #2133
  • [f7bfce96ed] - doc: update acid test and introduce curl|bash test script (Dario Vladovic) #2105
  • [e529f3309d] - doc: update README to reflect upgrade to gyp-next (Ujjwal Sharma) #2092
  • [9aed6286a3] - doc: give more attention to Catalina issues doc (Matheus Marchini) #2134
  • [963f2a7b48] - doc: improve Catalina discoverability for search engines (Matheus Marchini) #2135
  • [7b75af349b] - doc: add macOS Catalina software update info (Karl Horky) #2078
  • [4f23c7bee2] - doc: update link to the code of conduct (#2073) (Michaël Zasso) #2073
  • [473cfa283f] - doc: note in README that Python 3.8 is supported (#2072) (Michaël Zasso) #2072
  • [e7402b4a7c] - doc: update catalina xcode cli tools download link (#2044) (Dario Vladović) #2044
  • [35de45984f] - doc: update catalina xcode cli tools download link; formatting (Jonathan Hult) #2034
  • [48642191f5] - doc: add download link for Command Line Tools for Xcode (Przemysław Bitkowski) #2029
  • [ae5b150051] - doc: Catalina suggestion: remove /Library/Developer/CommandLineTools (Christian Clauss) #2022
  • [d1dea13fe4] - doc: fix changelog 6.1.0 release year to be 2020 (Quentin Vernot) #2021
  • [6356117b08] - doc, bin: stop suggesting opening node-gyp issues (Bartosz Sosnowski) #2096
  • [a6b76a8b48] - gyp: update gyp to 0.2.1 (Ujjwal Sharma) #2092
  • [ebc34ec823] - gyp: update gyp to 0.2.0 (Ujjwal Sharma) #2092
  • [972780bde7] - (SEMVER-MAJOR) gyp: sync code base with nodejs repo (#1975) (Michaël Zasso) #1975
  • [c255ffbf6a] - lib: drop "-2" flag for "py.exe" launcher (DeeDeeG) #2131
  • [1f7e1e93b5] - lib: ignore VS instances that cause COMExceptions (Andrew Casey) #2018
  • [741ab096d5] - test: remove support for EOL versions of Node.js (Shelley Vohr)
  • [ca86ef2539] - test: bump actions/checkout from v1 to v2 (BSKY) #2063

v6.1.0 2020-01-08

  • [9a7dd16b76] - doc: remove backticks from Python version list (Rod Vagg) #2011
  • [26cd6eaea6] - doc: add GitHub Actions badge (#1994) (Rod Vagg) #1994
  • [312c12ef4f] - doc: update macOS_Catalina.md (#1992) (James Home) #1992
  • [f7b6b6b77b] - doc: fix typo in README.md (#1985) (Suraneti Rodsuwan) #1985
  • [6b8f2652dd] - doc: add travis badge (Rod Vagg) #1971
  • [20aa0b44f7] - doc: macOS Catalina add two commands (Christian Clauss) #1962
  • [14f2a07a39] - gyp: list(dict) so we can del dict(key) while iterating (Christian Clauss) #2009
  • [f242ce4d2c] - lib: compatibility with semver ≥ 7 (new for semver.Range) (Xavier Guimard) #2006
  • [3bcba2a01a] - (SEMVER-MINOR) lib: noproxy support, match proxy detection to request (Matias Lopez) #1978
  • [470cc2178e] - test: remove old docker test harness (#1993) (Rod Vagg) #1993
  • [31ecc8421d] - test: add Windows to GitHub Actions testing (#1996) (Christian Clauss) #1996
  • [5a729e86ee] - test: fix typo in header download test (#2001) (Richard Lau) #2001
  • [345c70e56d] - test: direct python invocation & simpler pyenv (Matias Lopez) #1979
  • [d6a7e0e1fb] - test: fix macOS Travis on Python 2.7 & 3.7 (Christian Clauss) #1979
  • [5a64e9bd32] - test: initial Github Actions with Ubuntu & macOS (Christian Clauss) #1985
  • [04da736d38] - test: fix Python unittests (cclauss) #1961
  • [0670e5189d] - test: add header download test (Rod Vagg) #1796
  • [c506a6a150] - test: configure proper devDir for invoking configure() (Rod Vagg) #1796

v6.0.1 2019-11-01

  • [8ec2e681d5] - doc: add macOS_Catalina.md document (cclauss) #1940
  • [1b11be63cc] - gyp: python3 fixes: utf8 decode, use of 'None' in eval (Wilfried Goesgens) #1925
  • [c0282daa48] - gyp: iteritems() -> items() in compile_commands_json.py (cclauss) #1947
  • [d8e09a1b6a] - gyp: make cmake python3 compatible (gengjiawen) #1944
  • [9c0f3404f0] - gyp: fix TypeError in XcodeVersion() (Christian Clauss) #1939
  • [bb2eb72a3f] - gyp: finish decode stdout on Python 3 (Christian Clauss) #1937
  • [f0693413d9] - src,win: allow 403 errors for arm64 node.lib (Richard Lau) #1934
  • [c60c22de58] - deps: update deps to roughly match current npm@6 (Rod Vagg) #1920
  • [b91718eefc] - test: upgrade Linux Travis CI to Python 3.8 (Christian Clauss) #1923
  • [3538a317b6] - doc: adjustments to the README.md for new users (Dan Pike) #1919
  • [4fff8458c0] - travis: ignore failed brew upgrade npm, update xcode (Christian Clauss) #1932
  • [60e4488f08] - build: avoid bare exceptions in xcode_emulation.py (Christian Clauss) #1932
  • [032db2a2d0] - lib,install: always download SHA sums on Windows (Sam Hughes) #1926
  • [5a83630c33] - travis: add Windows + Python 3.8 to the mix (Rod Vagg) #1921

v6.0.0 2019-10-04

  • [dd0e97ef0b] - (SEMVER-MAJOR) lib: try to find python after python3 (Sam Roberts) #1907
  • [f60ed47d14] - travis: add Python 3.5 and 3.6 tests on Linux (Christian Clauss) #1903
  • [c763ca1838] - (SEMVER-MAJOR) doc: Declare that node-gyp is Python 3 compatible (cclauss) #1811
  • [3d1c60ab81] - (SEMVER-MAJOR) lib: accept Python 3 by default (João Reis) #1844
  • [c6e3b65a23] - (SEMVER-MAJOR) lib: raise the minimum Python version from 2.6 to 2.7 (cclauss) #1818

v5.1.1 2020-05-25

  • [bdd3a79abe] - build: shrink bloated addon binaries on windows (Shelley Vohr) #2060
  • [1f2ba75bc0] - doc: add macOS Catalina software update info (Karl Horky) #2078
  • [c106d915f5] - doc: update catalina xcode cli tools download link (#2044) (Dario Vladović) #2044
  • [9a6fea92e2] - doc: update catalina xcode cli tools download link; formatting (Jonathan Hult) #2034
  • [59b0b1add8] - doc: add download link for Command Line Tools for Xcode (Przemysław Bitkowski) #2029
  • [bb8d0e7b10] - doc: Catalina suggestion: remove /Library/Developer/CommandLineTools (Christian Clauss) #2022
  • [fb2e80d4e3] - doc: update link to the code of conduct (#2073) (Michaël Zasso) #2073
  • [251d9c885c] - doc: note in README that Python 3.8 is supported (#2072) (Michaël Zasso) #2072
  • [2b6fc3c8d6] - doc, bin: stop suggesting opening node-gyp issues (Bartosz Sosnowski) #2096
  • [a876ae58ad] - test: bump actions/checkout from v1 to v2 (BSKY) #2063

v5.1.0 2020-02-05

  • [f37a8b40d0] - doc: add GitHub Actions badge (#1994) (Rod Vagg) #1994
  • [cb3f6aae5e] - doc: update macOS_Catalina.md (#1992) (James Home) #1992
  • [0607596a4c] - doc: fix typo in README.md (#1985) (Suraneti Rodsuwan) #1985
  • [0d5a415a14] - doc: add travis badge (Rod Vagg) #1971
  • [103740cd95] - gyp: list(dict) so we can del dict(key) while iterating (Christian Clauss) #2009
  • [278dcddbdd] - lib: ignore VS instances that cause COMExceptions (Andrew Casey) #2018
  • [1694907bbf] - lib: compatibility with semver ≥ 7 (new for semver.Range) (Xavier Guimard) #2006
  • [a3f1143514] - (SEMVER-MINOR) lib: noproxy support, match proxy detection to request (Matias Lopez) #1978
  • [52365819c7] - test: remove old docker test harness (#1993) (Rod Vagg) #1993
  • [bc509c511d] - test: add Windows to GitHub Actions testing (#1996) (Christian Clauss) #1996
  • [91ee26dd48] - test: fix typo in header download test (#2001) (Richard Lau) #2001
  • [0923f344c9] - test: direct python invocation & simpler pyenv (Matias Lopez) #1979
  • [32c8744b34] - test: fix macOS Travis on Python 2.7 & 3.7 (Christian Clauss) #1979
  • [fd4b1351e4] - test: initial Github Actions with Ubuntu & macOS (Christian Clauss) #1985

v5.0.7 2019-12-16

Republish of v5.0.6 with unnecessary tarball removed from pack file.

v5.0.6 2019-12-16

  • [cdec00286f] - doc: adjustments to the README.md for new users (Dan Pike) #1919
  • [b7c8233ef2] - test: fix Python unittests (cclauss) #1961
  • [e12b00ab0a] - doc: macOS Catalina add two commands (Christian Clauss) #1962
  • [70b9890c0d] - test: add header download test (Rod Vagg) #1796
  • [4029fa8629] - test: configure proper devDir for invoking configure() (Rod Vagg) #1796
  • [fe8b02cc8b] - doc: add macOS_Catalina.md document (cclauss) #1940
  • [8ea47ce365] - gyp: python3 fixes: utf8 decode, use of 'None' in eval (Wilfried Goesgens) #1925
  • [c7229716ba] - gyp: iteritems() -> items() in compile_commands_json.py (cclauss) #1947
  • [2a18b2a0f8] - gyp: make cmake python3 compatible (gengjiawen) #1944
  • [70f391e844] - gyp: fix TypeError in XcodeVersion() (Christian Clauss) #1939
  • [9f4f0fa34e] - gyp: finish decode stdout on Python 3 (Christian Clauss) #1937
  • [7cf507906d] - src,win: allow 403 errors for arm64 node.lib (Richard Lau) #1934
  • [ad0d182c01] - deps: update deps to roughly match current npm@6 (Rod Vagg) #1920
  • [1553081ed6] - test: upgrade Linux Travis CI to Python 3.8 (Christian Clauss) #1923
  • [0705cae9aa] - travis: ignore failed brew upgrade npm, update xcode (Christian Clauss) #1932
  • [7bfdb6f5bf] - build: avoid bare exceptions in xcode_emulation.py (Christian Clauss) #1932
  • [7edf7658fa] - lib,install: always download SHA sums on Windows (Sam Hughes) #1926
  • [69056d04fe] - travis: add Windows + Python 3.8 to the mix (Rod Vagg) #1921

v5.0.5 2019-10-04

  • [3891391746] - doc: reconcile README with Python 3 compat changes (Rod Vagg) #1911
  • [07f81f1920] - lib: accept Python 3 after Python 2 (Sam Roberts) #1910
  • [04ce59f4a2] - doc: clarify Python configuration, etc (Sam Roberts) #1908
  • [01c46ee3df] - gyp: add __lt__ to MSVSSolutionEntry (João Reis) #1904
  • [735d961b99] - win: support VS 2017 Desktop Express (João Reis) #1902
  • [3834156a92] - test: add Python 3.5 and 3.6 tests on Linux (cclauss) #1909
  • [1196e990d8] - src: update to standard@14 (Rod Vagg) #1899
  • [53ee7dfe89] - gyp: fix undefined name: cflags --> ldflags (Christian Clauss) #1901
  • [5871dcf6c9] - src,win: add support for fetching arm64 node.lib (Richard Townsend) #1875

v5.0.4 2019-09-27

  • [1236869ffc] - gyp: modify XcodeVersion() to convert "4.2" to "0420" and "10.0" to "1000" (Christian Clauss) #1895
  • [36638afe48] - gyp: more decode stdout on Python 3 (cclauss) #1894
  • [f753c167c5] - gyp: decode stdout on Python 3 (cclauss) #1890
  • [60a4083523] - doc: update xcode install instructions to match Node's BUILDING (Nhan Khong) #1884
  • [19dbc9ac32] - deps: update tar to 4.4.12 (Matheus Marchini) #1889
  • [5f3ed92181] - bin: fix the usage instructions (Halit Ogunc) #1888
  • [aab118edf1] - lib: adding keep-alive header to download requests (Milad Farazmand) #1863
  • [1186e89326] - lib: ignore non-critical os.userInfo() failures (Rod Vagg) #1835
  • [785e527c3d] - doc: fix missing argument for setting python path (lagorsse) #1802
  • [a97615196c] - gyp: rm semicolons (Python != JavaScript) (MattIPv4) #1858
  • [06019bac24] - gyp: assorted typo fixes (XhmikosR) #1853
  • [3f4972c1ca] - gyp: use "is" when comparing to None (Vladyslav Burzakovskyy) #1860
  • [1cb4708073] - src,win: improve unmanaged handling (Peter Sabath) #1852
  • [5553cd910e] - gyp: improve Windows+Cygwin compatibility (Jose Quijada) #1817
  • [8bcb1fbb43] - gyp: Python 3 Windows fixes (João Reis) #1843
  • [2e24d0a326] - test: accept Python 3 in test-find-python.js (João Reis) #1843
  • [1267b4dc1c] - build: add test run Python 3.7 on macOS (Christian Clauss) #1843
  • [da1b031aa3] - build: import StringIO on Python 2 and Python 3 (Christian Clauss) #1836
  • [fa0ed4aa42] - build: more Python 3 compat, replace compile with ast (cclauss) #1820
  • [18d5c7c9d0] - win,src: update win_delay_load_hook.cc to work with /clr (Ivan Petrovic) #1819

v5.0.3 2019-07-17

  • [66ad305775] - python: accept Python 3 conditionally (João Reis) #1815
  • [7e7fce3fed] - python: move Python detection to its own file (João Reis) #1815
  • [e40c99e283] - src: implement standard.js linting (Rod Vagg) #1794
  • [bb92c761a9] - test: add Node.js 6 on Windows to Travis CI (João Reis) #1812
  • [7fd924079f] - test: increase tap timeout (João Reis) #1812
  • [7e8127068f] - test: cover supported node versions with travis (Rod Vagg) #1809
  • [24109148df] - test: downgrade to tap@^12 for continued Node 6 support (Rod Vagg) #1808
  • [656117cc4a] - win: make VS path match case-insensitive (João Reis) #1806

v5.0.2 2019-06-27

  • [2761afbf73] - build,test: add duplicate symbol test (Gabriel Schulhof) #1689
  • [82f129d6de] - gyp: replace optparse to argparse (KiYugadgeter) #1591
  • [afaaa29c61] - gyp: remove from __future__ import with_statement (cclauss) #1799
  • [a991f633d6] - gyp: fix the remaining Python 3 issues (cclauss) #1793
  • [f952b08f84] - gyp: move from __future__ import to the top of the file (cclauss) #1789
  • [4f4a677dfa] - gyp: use different default compiler for z/OS (Shuowang (Wayne) Zhang) #1768
  • [03683f09d6] - lib: code de-duplication (Pavel Medvedev) #965
  • [611bc3c89f] - lib: add .json suffix for explicit require (Rod Vagg) #1787
  • [d3478d7b0b] - meta: add to .gitignore (Refael Ackermann) #1573
  • [7a9a038e9e] - test: add parallel test runs on macOS and Windows (cclauss) #1800
  • [7dd7f2b2a2] - test: fix Python syntax error in test-adding.js (cclauss) #1793
  • [395f843de0] - test: replace self-signed cert with 'localhost' (Rod Vagg) #1795
  • [a52c6eb9e8] - test: migrate from tape to tap (Rod Vagg) #1795
  • [ec2eb44a30] - test: use Nan in duplicate_symbols (Gabriel Schulhof) #1689
  • [1597c84aad] - test: use Travis CI to run tests on every pull request (cclauss) #1752
  • [dd9bf929ac] - zos: update compiler options (Shuowang (Wayne) Zhang) #1768

v5.0.1 2019-06-20

  • [e3861722ed] - doc: document --jobs max (David Sanders) #1770
  • [1cfdb28886] - lib: reintroduce support for iojs file naming for releases >= 1 && < 4 (Samuel Attard) #1777

v5.0.0 2019-06-13

  • [8a83972743] - (SEMVER-MAJOR) bin: follow XDG OS conventions for storing data (Selwyn) #1570
  • [9e46872ea3] - bin,lib: remove extra comments/lines/spaces (Jon Moss) #1508
  • [8098ebdeb4] - deps: replace osenv dependency with native os (Selwyn)
  • [f83b457e03] - deps: bump request to 2.8.7, fixes heok/hawk issues (Rohit Hazra) #1492
  • [323cee7323] - deps: pin request version range (Refael Ackermann) #1300
  • [c515912d08] - doc: improve issue template (Bartosz Sosnowski) #1618
  • [cca2d66727] - doc: python info needs own header (Taylor D. Lee) #1245
  • [3e64c780f5] - doc: lint README.md (Jon Moss) #1498
  • [a20faedc91] - (SEMVER-MAJOR) gyp: enable MARMASM items only on new VS versions (João Reis) #1762
  • [721eb691cf] - gyp: teach MSVS generator about MARMASM Items (Jon Kunkee) #1679
  • [91744bfecc] - gyp: add support for Windows on Arm (Richard Townsend) #1739
  • [a6e0a6c7ed] - gyp: move compile_commands_json (Paul Maréchal) #1661
  • [92e8b52cee] - gyp: fix target --> self.target (cclauss)
  • [febdfa2137] - gyp: fix sntex error (cclauss) #1333
  • [588d333c14] - gyp: _winreg module was renamed to winreg in Python 3. (Craig Rodrigues)
  • [98226d198c] - gyp: replace basestring with str, but only on Python 3. (Craig Rodrigues)
  • [7535e4478e] - gyp: replace deprecated functions (Craig Rodrigues)
  • [2040cd21cc] - gyp: use print as a function, as specified in PEP 3105. (Craig Rodrigues)
  • [abef93ded5] - gyp: get ready for python 3 (cclauss)
  • [43031fadcb] - python: clean-up detection (João Reis) #1582
  • [49ab79d221] - python: more informative error (Refael Ackermann) #1269
  • [997bc3c748] - readme: add ARM64 info to MSVC setup instructions (Jon Kunkee) #1655
  • [788e767179] - test: remove unused variable (João Reis)
  • [6f5a408934] - tools: fix usage of inherited -fPIC and -fPIE (Jens) #1340
  • [0efb8fb34b] - (SEMVER-MAJOR) win: support running in VS Command Prompt (João Reis) #1762
  • [360ddbdf3a] - (SEMVER-MAJOR) win: add support for Visual Studio 2019 (João Reis) #1762
  • [8f43f68275] - (SEMVER-MAJOR) win: detect all VS versions in node-gyp (João Reis) #1762
  • [7fe4095974] - (SEMVER-MAJOR) win: generic Visual Studio 2017 detection (João Reis) #1762
  • [7a71d68bce] - win: use msbuild from the configure stage (Bartosz Sosnowski) #1654
  • [d3b21220a0] - win: fix delay-load hook for electron 4 (Andy Dill)
  • [81f3a92338] - Update list of Node.js versions to test against. (Ben Noordhuis) #1670
  • [4748f6ab75] - Remove deprecated compatibility code. (Ben Noordhuis) #1670
  • [45e3221fd4] - Remove an outdated workaround for Python 2.4 (cclauss) #1650
  • [721dc7d314] - Add ARM64 to MSBuild /Platform logic (Jon Kunkee) #1655
  • [a5b7410497] - Add ESLint no-unused-vars rule (Jon Moss) #1497

v4.0.0 2019-04-24

  • [ceed5cbe10] - deps: updated tar package version to 4.4.8 (Pobegaylo Maksim) #1713
  • [374519e066] - (SEMVER-MAJOR) Upgrade to tar v3 (isaacs) #1212
  • [e6699d13cd] - test: fix addon test for Node.js 12 and V8 7.4 (Richard Lau) #1705
  • [0c6bf530a0] - lib: use print() for python version detection (GreenAddress) #1534

v3.8.0 2018-08-09

v3.7.0 2018-06-08

  • [84cea7b30d] - Remove unused gyp test scripts. (Ben Noordhuis) #1458
  • [0540e4ec63] - gyp: escape spaces in filenames in make generator (Jeff Senn) #1436
  • [88fc6fa0ec] - Drop dependency on minimatch. (Brian Woodward) #1158
  • [1e203c5148] - Fix include path when pointing to Node.js source (Richard Lau) #1055
  • [53d8cb967c] - Prefix build targets with /t: on Windows (Natalie Wolfe) #1164
  • [53a5f8ff38] - gyp: add support for .mm files to msvs generator (Julien Racle) #1167
  • [dd8561e528] - zos: don't use universal-new-lines mode (John Barboza) #1451
  • [e5a69010ed] - zos: add search locations for libnode.x (John Barboza) #1451
  • [79febace53] - doc: update macOS information in README (Josh Parnham) #1323
  • [9425448945] - gyp: don't print xcodebuild not found errors (Gibson Fahnestock) #1370
  • [6f1286f5b2] - Fix infinite install loop. (Ben Noordhuis) #1384
  • [2580b9139e] - Update --nodedir description in README. (Ben Noordhuis) #1372
  • [a61360391a] - Update README with another way to install on windows (JeffAtDeere) #1352
  • [47496bf6dc] - Fix IndexError when parsing GYP files. (Ben Noordhuis) #1267
  • [b2024dee7b] - zos: support platform (John Barboza) #1276
  • [90d86512f4] - win: run PS with -NoProfile (Refael Ackermann) #1292
  • [2da5f86ef7] - doc: add github PR and Issue templates (Gibson Fahnestock) #1228
  • [a46a770d68] - doc: update proposed DCO and CoC (Mikeal Rogers) #1229
  • [7e803d58e0] - doc: headerify the Install instructions (Nick Schonning) #1225
  • [f27599193a] - gyp: update xml string encoding conversion (Liu Chao) #1203
  • [0a07e481f7] - configure: don't set ensure if tarball is set (Gibson Fahnestock) #1220

v3.6.3 2018-06-08

  • [90cd2e8da9] - gyp: fix regex to match multi-digit versions (Jonas Hermsmeier) #1455
  • [7900122337] - deps: pin request version range (Refael Ackerman) #1300

v3.6.2 2017-06-01

  • [72afdd62cd] - build: rename copyNodeLib() to doBuild() (Liu Chao) #1206
  • [bad903ac70] - win: more robust parsing of SDK version (Refael Ackermann) #1198
  • [241752f381] - Log dist-url. (Ben Noordhuis) #1170
  • [386746c7d1] - configure: use full path in node_lib_file GYP var (Pavel Medvedev) #964
  • [0913b2dd99] - build, win: use target_arch to link with node.lib (Pavel Medvedev) #964
  • [c307b302f7] - doc: blorb about setting npm_config_OPTION_NAME (Refael Ackermann) #1185

v3.6.1 2017-04-30

  • [49801716c2] - test: fix test-find-python on v0.10.x buildbot. (Ben Noordhuis) #1172
  • [a83a3801fc] - test: fix test/test-configure-python on AIX (Richard Lau) #1131
  • [8a767145c9] - gyp: Revert quote_cmd workaround (Kunal Pathak) #1153
  • [c09cf7671e] - doc: add a note for using configure on Windows (Vse Mozhet Byt) #1152
  • [da9cb5f411] - Delete superfluous .patch files. (Ben Noordhuis) #1122

v3.6.0 2017-03-16

  • [ae141e1906] - win: find and setup for VS2017 (Refael Ackermann) #1130
  • [ec5fc36a80] - Add support to build node.js with chakracore for ARM. (Kunal Pathak) #873
  • [a04ea3051a] - Add support to build node.js with chakracore. (Kunal Pathak) #873
  • [93d7fa83c8] - Upgrade semver dependency. (Ben Noordhuis) #1107
  • [ff9a6fadfd] - Update link of gyp as Google code is shutting down (Peter Dave Hello) #1061

v3.5.0 2017-01-10

  • [762d19a39e] - [doc] merge History.md and CHANGELOG.md (Rod Vagg)
  • [80fc5c3d31] - Fix deprecated dependency warning (Simone Primarosa) #1069
  • [05c44944fd] - Open the build file with universal-newlines mode (Guy Margalit) #1053
  • [37ae7be114] - Try python launcher when stock python is python 3. (Ben Noordhuis) #992
  • [e3778d9907] - Add lots of findPython() tests. (Ben Noordhuis) #992
  • [afc766adf6] - Unset executable bit for .bat files (Pavel Medvedev) #969
  • [ddac348991] - Use push on PYTHONPATH and add tests (Michael Hart) #990
  • [b182a19042] - Revert "add "path-array" dep" (Michael Hart) #990
  • [7c08b85c5a] - Revert "configure: use "path-array" for PYTHONPATH" (Michael Hart) #990
  • [9c8d275526] - Add --devdir flag. (Ben Noordhuis) #916
  • [f6eab1f9e4] - doc: add windows-build-tools to readme (Felix Rieseberg) #970

v3.4.0 2016-06-28

v3.3.1 2016-03-04

v3.3.0 2016-02-16

v3.2.1 2015-12-03

v3.2.0 2015-11-25

  • [268f1ca4c7] - Use result of which when searching for python. (Refael Ackermann) #668
  • [817ed9bd78] - Add test for python executable search logic. (Ben Noordhuis) #756
  • [0e2dfda1f3] - Fix test/test-options when run through npm test. (Ben Noordhuis) #755
  • [9bfa0876b4] - Add support for AIX (Michael Dawson) #753
  • [a8d441a0a2] - Update README for Windows 10 support. (Jason Williams) #766
  • [d1d6015276] - Update broken links and switch to HTTPS. (andrew morton)

v3.1.0 2015-11-14

v3.0.3 2015-09-14

  • [ad827cda30] - tarballUrl global and && when checking for iojs (Lars-Magnus Skog) #729

v3.0.2 2015-09-12

  • [6e8c3bf3c6] - add back support for passing additional cmdline args (Rod Vagg) #723
  • [ff82f2f3b9] - fixed broken link in docs to Visual Studio 2013 download (simon-p-r) #722

v3.0.1 2015-09-08

  • [846337e36b] - normalise versions for target == this comparison (Rod Vagg) #716

v3.0.0 2015-09-08

  • [9720d0373c] - remove node_modules from tree (Rod Vagg) #711
  • [6dcf220db7] - test version major directly, don't use semver.satisfies() (Rod Vagg) #711
  • [938dd18d1c] - refactor for clarity, fix dist-url, add env var dist-url functionality (Rod Vagg) #711
  • [9e9df66a06] - use process.release, make aware of io.js & node v4 differences (Rod Vagg) #711
  • [1ea7ed01f4] - deps: update graceful-fs dependency to the latest (Sakthipriyan Vairamani) #714
  • [0fbc387b35] - Update repository URLs. (Ben Noordhuis) #715
  • [bbedb8868b] - (SEMVER-MAJOR) win: enable delay-load hook by default (Jeremiah Senkpiel) #708
  • [85ed107565] - Merge pull request #664 from othiym23/othiym23/allow-semver-5 (Nathan Rajlich)
  • [0c720d234c] - allow semver@5 (Forrest L Norvell)

2.0.2 / 2015-07-14

  • Use HTTPS for dist url (#656, @SonicHedgehog)
  • Merge pull request #648 from nevosegal/master
  • Merge pull request #650 from magic890/patch-1
  • Updated Installation section on README
  • Updated link to gyp user documentation
  • Fix download error message spelling (#643, @tomxtobin)
  • Merge pull request #637 from lygstate/master
  • Set NODE_GYP_DIR for addon.gypi to setting absolute path for src/win_delay_load_hook.c, and fixes of the long relative path issue on Win32. Fixes #636 (#637, @lygstate).

2.0.1 / 2015-05-28

  • configure: try/catch the semver range.test() call
  • README: update for visual studio 2013 (#510, @samccone)

2.0.0 / 2015-05-24

  • configure: check for python2 executable by default, fallback to python
  • configure: don't clobber existing $PYTHONPATH
  • configure: use "path-array" for PYTHONPATH
  • gyp: fix for non-acsii userprofile name on Windows
  • gyp: always install into $PRODUCT_DIR
  • gyp: apply https://codereview.chromium.org/11361103/
  • gyp: don't use links at all, just copy the files instead
  • gyp: update gyp to e1c8fcf7
  • Updated README.md with updated Windows build info
  • Show URL when a download fails
  • package: add a "license" field
  • move HMODULE m declaration to top
  • Only add "-undefined dynamic_lookup" to loadable_module targets
  • win: optionally allow node.exe/iojs.exe to be renamed
  • Avoid downloading shasums if using tarPath
  • Add target name preprocessor define: NODE_GYP_MODULE_NAME
  • Show better error message in case of bad network settings