Skip to content
This repository has been archived by the owner. It is now read-only.

@iarna iarna released this Mar 24, 2017 · 983 commits to latest since this release

v4.5.0 (2017-03-24)

Welcome a wrinkle on npm's registry API!

Codename: Corgi


This release has some bug fixes, but it's mostly about bringing support for MUCH smaller package metadata. How much smaller? Well, for npm itself it reduces 416K of gzip compressed JSON to 24K.

As a user, all you have to do is update to get to use the new API. If you're interested in the details we've documented the changes in detail.


Package metadata: now smaller. This means a smaller cache and less to download.


Previously we needed to extract every package's tarball to look for an npm-shrinkwrap.json before we could begin working through what its dependencies were. This was one of the things stopping npm's network accesses from happening more concurrently. The new filtered package metadata provides a new key, _hasShrinkwrap. When that's set to false then we know we don't have to look for one.

  • 4f5060eb3 #15969 Add support for skipping npm-shrinkwrap.json extraction when the registry can affirm that one doesn't exist. (@iarna)


  • 878aceb25 #16129 Better handle Ctrl-C while running scripts. npm will now no longer exit until the script it is running has exited. If you press Ctrl-C a second time it kill the script rather than just forwarding the Ctrl-C. (@jaridmargolin)


Assets 2