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

@iarna iarna released this Nov 13, 2015 · 1942 commits to latest since this release

Assets 2

v3.4.1 (2015-11-12):


When you run npm install foo, you probably expect that you'll get the latest version of foo, whatever that is. And good news! That's what this change makes it do.

We think this is what everyone wants, but if this causes problems for you, we want to know! If it proves problematic for people we will consider reverting it (preferrably before this becomes npm@latest).

Previously, when you ran npm install foo we would act as if you typed npm install foo@*. Now, like any range-type specifier, in addition to matching the range, it would also have to be <= the value of the latest dist-tag. Further, it would exclude prerelease versions from the list of versions considered for a match.

This worked as expected most of the time, unless your latest was a prerelease version, in which case that version wouldn't be used, to everyone's surprise. Worse, if all your versions were prerelease versions it would just refuse to install anything. (We fixed that in npm@3.2.2 with e4a38080.)

  • 1e834c2 #10189 npm-package-arg@4.1.0 Change the default version from * to latest. (@zkat)


  • bec4a84 #10338 Failed installs could result in more rollback (removal of just installed packages) than we intended. This bug was first introduced by 83975520. (@iarna)
  • 06c732f #10338 Updating a module could result in the module stealing some of its dependencies from the top level, potentially breaking other modules or resulting in many redundent installations. This bug was first introduced by 971fd47a. (@iarna)
  • 5653366 #9980 npm, when removing a module, would refuse to remove the symlinked binaries if the module itself was symlinked as well. npm goes to some effort to ensure that it doesn't remove things that aren't is, and this code was being too conservative. This code has been rewritten to be easier to follow and to be unit-testable. (@iarna)



  • fc12da9 #10232 nock@1.9.0 Downgrade nock to a version that doesn't depend on streams2 in core so that more of our tests can pass in 0.8. (@iarna)