-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
deps: upgrade npm to 2.8.3 #1448
Conversation
Every npm version bump requires a few patches to be floated on node-gyp for io.js compatibility. These patches are found in 03d1992, 5de334c, and da730c7. This commit squashes them into a single commit. PR-URL: nodejs#990 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
On Windows, when node or io.js attempts to dynamically load a compiled addon, the compiled addon tries to load node.exe or iojs.exe again - depending on which import library the module used when it was linked. This causes many compiled addons to break when node.exe or iojs.exe are renamed, because when the binary has been renamed the addon DLL can't find the (right) .exe file to load its imports from. This patch gives compiled addon developers an option to overcome this restriction by compiling a delay-load hook into their binary. The delay-load hook ensures that whenever a module tries to load imports from node.exe/iojs.exe, it'll just look at the process image, thereby making the addon work regardless of what name the node/iojs binary has. To enable this feature, the addon developer must set the 'win_delay_load_hook' option to 'true' in their binding.gyp file, like this: ``` { 'targets': [ { 'target_name': 'ernie', 'win_delay_load_hook': 'true', ... ``` Bug: nodejs#751 Bug: nodejs#965 Upstream PR: nodejs/node-gyp#599 PR-URL: nodejs#1251 Reviewed-By: Rod Vagg <rod@vagg.org> PR-URL: nodejs#1266 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Hmmm, Merging from remote worked fine though. What tests we have seem fine. LGTM! |
Echoing @Fishrock123's comments. LGTM. Merge at will. |
I'm at the Computer History Museum today, so if merging this is going to be a blocker for 1.8.0, feel free to merge on my behalf. 💻 |
Will do. Thanks again @othiym23! |
PR-URL: #1448 Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Chris Dickinson <christopher.s.dickinson@gmail.com>
Uh... hmmm. That qs readme file is giving some git grief still.. see #1455 .... |
Notable Changes: * build: Support for building io.js as a static library (Marat Abdullin) #1341 * deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389 * npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448 * src: allow multiple arguments to be passed to process.nextTick (Trevor Norris) #1077 * module: interaction of require('.') with NODE_PATH has been restored and deprecated. This functionality will be removed at a later point. (Roman Reiss) #1363
Notable Changes: * build: Support for building io.js as a static library (Marat Abdullin) #1341 * deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389 * npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448 * src: allow multiple arguments to be passed to process.nextTick (Trevor Norris) #1077 * module: the interaction of require('.') with NODE_PATH has been restored and deprecated. This functionality will be removed at a later point. (Roman Reiss) #1363
Notable Changes: * build: revert vcbuild.bat changes * changes inherited from v1.8.0: * build: Support for building io.js as a static library (Marat Abdullin) #1341 * npm: Upgrade npm to 2.8.3. (Forrest L Norvell) #1448 * deps: upgrade openssl to 1.0.2a (Shigeki Ohtsu) #1389 * src: allow multiple arguments to be passed to process.nextTick (Trevor Norris) #1077 * module: the interaction of require('.') with NODE_PATH has been restored and deprecated. This functionality will be removed at a later point. (Roman Reiss) #1363
The npm team has been very busy over the last week, partially working on getting issues related to scoped modules straightened out prior to the launch of private packages on the npm, Inc. registry, but mostly to get git working as robustly as possible with npm, so I could stop thinking about it for a while. Because there were many intermediate releases as we fixed bugs, the combined changelog is massive, but I've worked hard to make the release notes readable, so:
The reason for the semver-minor version bump, taken from the 2.8.0 release notes, is:
github:
,gist:
,bitbucket:
,and
gitlab:
shorthand prefixes. GitHub shortcuts will continue to benormalized to
org/repo
instead of being saved asgithub:org/repo
, butgitlab:
,gist:
, andbitbucket:
prefixes will be used on the commandline and from
package.json
. BE CAREFUL WITH THIS.package.json
filespublished with the new shorthand syntax can only be read by
npm@2.8.0
andlater, and this feature is mostly meant for playing around with it. If you
want to save git dependencies in a form that older versions of npm can read,
use
--save-exact
, which will save the git URL and resolved commit hash ofthe head of the branch in a manner simiilar to the way that
--save-exact
pins versions for registry dependencies. This is documented (so check
npm help install
for details), but we're not going to make a lot of noise aboutit until it has a chance to bake in a little more.
A large portion of the diff is changes to the tests that I made in an effort to clean them up and to make it easier for contributors to write new tests without getting confused about how they should look.
As usual, the floating
node-gyp
patches have been applied.r: @Fishrock123
r: @chrisdickinson (as the 1.8.0 release leader)