5811468#7713 Add a test fornpm linkandnpm link <package>. (@watilde)3cf3b0c#7713 Only use absolute symbolic links whennpm linking. (@hokaccha)f35aa93#7443 Keep relative URLs when hitting search endpoint. (@othiym23)eab6184#7766 One last tweak to ensure that GitHub shortcuts work with private repositories. (@iarna)5d7f704#7656 Don't try to load a deleted CA file, allowing thecafileconfig to be changed. (@KenanY)a840a13#7746 Only fix up URL paths when there are paths to fix up. (@othiym23)
300834etar@2.0.0: Normalize symbolic links that point to targets outside the extraction root. (@othiym23)0dc6875semver@4.3.2: Package versions can be no more than 256 characters long. (@isaacs)94df809request@2.54.0: Fixes for Node.js 0.12 and io.js. (@simov)98a13eaopener@1.4.1: Deal withstarton Windows more conventionally. (@domenic)c2417c7require-inject@1.2.0: Add installGlobally to bypass cleanups. (@iarna)
f87c728#7696 Months and minutes were swapped in doc-build.sh (@MeddahJ)4e216b2#7752 Update string examples to be properly quoted. (@snuggs)402f52a#7635 Clarify Windows installation instructions. (@msikma)c910399small typo fix toCHANGELOG.md(@e-jigsaw)
fe1bc38#7672npm-registry-client@3.1.2: Fix client-side certificate handling by correcting property name. (@atamon)3ce3cc2#7635fstream-npm@1.0.2: Raise a more descriptive error whenbundledDependenciesisn't an array. (@KenanY)3a12723#7661 Allow setting--registryon the command line to trump the mapped registry for--scope. (@othiym23)89ce829#7630hosted-git-info@1.5.3: Part 3 of ensuring that GitHub shorthand is handled consistently. (@othiym23)63313eb#7630realize-package-specifier@2.2.0: Part 2 of ensuring that GitHub shorthand is handled consistently. (@othiym23)3ed41bf#7630npm-package-arg@3.1.1: Part 1 of ensuring that GitHub shorthand is handled consistently. (@othiym23)
6a498c6npm-registry-couchapp@2.6.7: Ensure that npm continues to work with new registry architecture. (@bcoe)bd72c47glob@5.0.3: Updated to latest version. (@isaacs)4bfbaa2npmlog@1.2.0: Getting up to date with latest version (but not using any of the new features). (@othiym23)
3703b0bAdd regression test fornpm versionto ensuremessageproperty in config continues to be honored. (@dannyfritz)
1549106#7641 Due to 448efd0, runningnpm shrinkwrap --devcaused production dependencies to no longer be included innpm-shrinkwrap.json. Whoopsie! (@othiym23)
fb0ac26#7579 Only block removing files and links when we're sure npm isn't responsible for them. This change is hard to summarize, because if things are working correctly you should never see it, but if you want more context, just go read the commit message, which lays it all out. (@othiym23)051c473#7552bundledDependenciesare now properly included in the installation context. This is another fantastically hard-to-summarize bug, and once again, I encourage you to read the commit message if you're curious about the details. The snappy takeaway is that this unbreaks many use cases forember-cli. (@othiym23)
fcd9247#7597 Awk varies pretty dramatically from platform to platform, so use Perl to generate the AUTHORS list instead. (@KenanY)721b17a#7598npm install --savereally isn't experimental anymore. (@RichardLitt)
a91f2c7#7559node-gyp@1.0.3Switchnode-gypto usestdioinstead ofcustomFdsso it stops printing a deprecation warning every time you build a native dependency. (@jeffbski)0c85db7rimraf@2.3.2: Globbing now deals with paths containing valid glob metacharacters better. (@isaacs)d14588eminimatch@2.0.4: Bug fixes. (@isaacs)aa9952egraceful-fs@3.0.6: Bug fixes. (@isaacs)
6823807#7121npm install --savefor Git dependencies saves the URL passed in, instead of the temporary directory used to clone the remote repo. Fixes using Git dependencies when shrinkwrapping. In the process, rewrote the Git dependency caching code. Again. No more single-letter variable names, and a much clearer workflow. (@othiym23)c8258f3#7486 When installing Git remotes, the caching code was passing in the functiongitEnvinstead of the results of invoking it. (@functino)c618eed#2556 Make it possible to install Git dependencies when using--linkby not linking just the Git dependencies. (@smikes)
abdd040read-package-json@1.3.2: Provide more helpful error messages when JSON parse errors are encountered by using a more forgiving JSON parser than JSON.parse. (@smikes)
c56cfcd#7525npm dedupehandles scoped packages. (@KidkArolis)1b8ba74#7531npm starsandnpm whoamiwill no longer send the registry the error text saying you need to log in as your username. (@othiym23)6de1e91#6441 Prevent needless reinstalls by only updating packages when the current version isn't the same as the version returned aswantedbynpm outdated. (@othiym23)2abc3eeAddnpm upgradeas an alias fornpm update. (@othiym23)bcd4722#7508 FreeBSD usesEAI_FAILinstead ofENOTFOUND. (@othiym23)21c1ac4#7507 Update support URL in generic error handler tohttps:fromhttp:. (@watilde)b6bd99a#7492 On install, thepackage.jsonengineStrictdeprecation only warns for the current package. (@othiym23)4ef1412#7075 If you try to tag a release as a valid semver range,npm publishandnpm tagwill error early instead of proceeding. (@smikes)ad53d0fUserimrafin npm build script because Windows doesn't know what rm is. (@othiym23)8885c4drimraf@2.3.1: Better Windows support. (@isaacs)8885c4dglob@4.4.2: Handle bad symlinks properly. (@isaacs)
###E TYPSO & CLARFIICATIONS
dId yuo know that submiting fxies for doc tpyos is an exclelent way to get strated contriburting to a new open-saurce porject?
42c605cFix typo inCHANGELOG.md(@adrianblynch)c9bd58dAdd note aboutnode_modules/.binbeing added to the path innpm run-script. (@quarterto)903bdd1Matt Ranney confused the world when he renamednode-redistoredis. "The world" includes npm's documentation. (@RichardLitt)dea9bb2Fix typo in contributor link. (@watilde)1226ca9Properly close code block in npm-install.md. (@olizilla)
For a very long time (maybe forever?), the documentation for npm run-script
has said that npm restart will only call npm stop and npm start when
there is no command defined as npm restart in package.json. The problem
with this documentation is that npm run-script was apparently never wired up
to actually work this way.
Until now.
If the patch below were landed on its own, free of context, it would be a
breaking change. But, since the "new" behavior is how the documentation claims
this feature has always worked, I'm classifying it as a patch-level bug fix. I
apologize in advance if this breaks anybody's deployment scripts, and if it
turns out to be a significant regression in practice, we can revert this change
and move it to npm@3, which is allowed to make breaking changes due to being
a new major version of semver.
2f6a1df#1999 Only runstopandstartscripts (plus their pre- and post- scripts) when there's norestartscript defined. This makes it easier to support graceful restarts of services managed by npm. (@watilde / @scien)
145af65#4887 Replace calls to thenode-gypscript bundled with npm by passing the--node-gyp=/path/to/node-gypoption to npm. Swap inpangypor a version ofnode-gypmodified to work better with io.js without having to touch npm's code! (@ackalker)
@WATILDE'S NPM USABILITY CORNER
Following npm@2.6.1's unexpected fix of many of the issues with npm update -g simply by making --depth=0 the default for npm outdated, friend of npm
@watilde has made several modest changes to npm's
behavior that together justify bumping npm's minor version, as well as making
npm significantly more pleasant to use:
448efd0#2853 Add support for--devand--prodtonpm ls, so that you can list only the trees of production or development dependencies, as desired. (@watilde)a0a8777#7463 Split the list printed bynpm run-scriptinto lifecycle scripts and scripts directly invoked vianpm run-script. (@watilde)a5edc17#6749init-package-json@1.3.1: Support for passing scopes tonpm initso packages are initialized as part of that scope / organization / team. (@watilde)
It turns out that quite a few pull requests had piled up on npm's issue tracker, and they included some nice small features and fixes:
f33e8b8#7354 Add--if-presentflag to allow e.g. CI systems to call (semi-) standard build tasks defined inpackage.json, but don't raise an error if no such script is defined. (@jussi-kalliokoski)7bf85cc#4005 #6248 Globally unlink a package whennpm rm/npm unlinkis called with no arguments. (@isaacs)a2e04bd#7294 Ensure that when depending ongit+<proto>URLs, npm doesn't keep tacking additionalgit+prefixes onto the front. (@twhid)0f87f5e#6422 When depending on GitHub private repositories, make sure we construct the Git URLS correctly. (@othiym23)50f461d#4595 Support finding compressed manpages. It's still up to the system to figure out how to display them, though. (@pshevtsov)44da664#7465 When calling git, log the full command, with all arguments, on error. (@thriqon)9748d5cAdd parent to error onETARGETerror. (@davglass)37038d7#4663 Remove hackaround for Linux tests, as it's evidently no longer necessary. (@mmalecki)d7b7853#2612 Add support for path completion onnpm install, which narrows completion to only directories containingpackage.jsonfiles. (@deestan)628fcdbRemove all command completion calls to-/short, because it's been removed from the primary registry for quite some time, and is generally a poor idea on any registry with more than a few hundred packages. (@othiym23)3f6061d#6659 Instead of removing zsh completion global, make it a local instead. (@othiym23)
5bc70e6#7417 Provide concrete examples of how the newnpm updatedefaults work in practice, tied to actual test cases. Everyone interested in usingnpm update -gnow that it's been fixed should read these documents, as should anyone interested in writing documentation for npm. (@smikes)8ac6f21#6543 Clarifynpm-scriptswarnings to de-emphasize dangers of usinginstallscripts. (@zeke)ebe3b37#6711 Note that git tagging of versions can be disabled via--no-git-tag-verson. (@smikes)2ef5771#6711 Documentgit-tag-versionconfiguration option. (@KenanY)95e59b2Document thatNODE_ENV=productionbehaves analogously to--productiononnpm install. (@stefaneg)687117a#7463 Document the new script grouping behavior in the man page fornpm run-script. (@othiym23)536b2b6Rescue one of the the disabled tests and make it work properly. (@smikes)
89fc6a4which@1.0.9: Test for being run as root, as well as the current user. (@isaacs)5d0612fglob@4.4.1: Better error message to explain why calling sync glob with a callback results in an error. (@isaacs)64b07f6tap@0.7.1: More accurate counts of pending & skipped tests. (@rmg)8fda451semver@4.3.1: Make official the fact thatnode-semverhas moved from @isaacs's organization to @npm's. (@isaacs)
8b98f0e#4471npm outdated(and onlynpm outdated) now defaults to--depth=0. See the docs for--depthfor the mildly confusing details. (@smikes)aa79194#6565 TweakpeerDependencydeprecation warning to include which peer dependency on which package is going to need to change. (@othiym23)5fa067f#7171 TweakengineStrictdeprecation warning to include whichpackage.jsonis using it. (@othiym23)0fe0caaglob@4.4.0: Glob patterns can now ignore matches. (@isaacs)
38c4825#5068 Add new logout command, and make it do something useful on both bearer-based and basic-based authed clients. (@othiym23)4bf0f5dnpm-registry-client@6.1.1: Support newlogoutendpoint to invalidate token for sessions. (@othiym23)
c8e08e6#6565 Warn thatpeerDependencybehavior is changing and add a note to the docs. (@othiym23)7c81a5f#7171 Warn thatengineStrictinpackage.jsonwill be going away in the next major version of npm (coming soon!) (@othiym23)
add5890#4668read-package-json@1.3.1: Warn when abinsymbolic link is a dangling reference. (@nicks)4b42071semver@4.3.0: Add functions to extract parts of the version triple, fix a typo. (@isaacs)a9aff38Use full path for man pages as the symbolic link source, instead of just the file name. (@bengl)6fd0fbd#7233 Ensureglobalconfigpath exists before trying to edit it. (@ljharb)a0a2620ini@1.3.3: Allow embedded, quoted equals signs in ini field names. (@isaacs)
Also typos and other documentation issues were addressed by @rutsky, @imurchie, @marcin-wosinek, @marr, @amZotti, and @karlhorky. Thank you, everyone!
This release doesn't look like much, but considerable effort went into ensuring that npm's tests will pass on io.js 1.1.0 and Node 0.11.16 / 0.12.0 on both OS X and Linux.
NOTE: there are no actual changes to npm's code in npm@2.5.1. Only test
code (and the upgrade of request to the latest version) has changed.
0e8d473#7281npm-registry-mock@1.0.0: Clean up API, setconnection: close. (@robertkowalski)4707bbaFurther update tests to work withnpm-registry-mock@1.0.0. (@othiym23)41a0f89Got rid of completely gratuitous global config manipulation in tests. (@othiym23)
fec4c96Allow--no-proxyto overrideHTTP_PROXYsetting in environment. (@othiym23)589acb9Only setaccesswhen publshing when it's explicitly set. (@othiym23)1027087Add script andMakefilestanza to update AUTHORS. (@KenanY)eeff04dAddNPMOPTSto top-level install inMakefileto overrideuserconfig. (@aredridel)0d17328fstream@1.0.4: Run chown only when necessary. (@silkentrance)9aa4622columnify@1.4.1: ES6ified! (@timoxley)51b2fd1Update default version indocs/npm-config.md. (@lucthev)
f9313a0#7226 Ensure that all request settings are copied onto the agent. (@othiym23)e186f6eOnly setaccesson publish when it differs from the norm. (@othiym23)f9313a0Allow overriding request's environment-based proxy handling. (@othiym23)f9313a0Properly handle retry failures on fetch. (@othiym23)
Let's accentuate the positive: the dist-tag endpoints for npm dist-tag {add,rm,ls} are now live on the public npm registry.
f70272bnpm-registry-client@6.0.3: Properly escape JSON tag version strings and filter_etagfrom CouchDB docs. (@othiym23)
NOTE: This week's registry-2 commands are leading the implementation on
registry.npmjs.org a little bit, so some of the following may not work for
another week or so. Also note that npm access has documentation and
subcommands that are not yet finished, because they depend on incompletely
specified registry API endpoints. Things are coming together very quickly,
though, so expect the missing pieces to be filled in the coming weeks.
c963eb2#7181 NEWnpm access publicandnpm access restricted: Toggle visibility of scoped packages. (@othiym23)dc51810#6243 / #6854 NEWnpm dist-tags: Directly managedist-tagson packages. Most notably,dist-tagscan now be deleted. (@othiym23)4c7c132#7181 / #6854npm-registry-client@6.0.1: Add newaccessanddist-tagsendpoints (@othiym23)
29a6ef3#6850 Be smarter about determining base of file deletion when unbuilding. (@phated)4ad01eainit-package-json@1.2.0: Support--save-exactinnpm init. (@gustavnikolaj)
e662a60The newwhoamiendpoint might not return a value. (@othiym23)c2cccd4npm-registry-client@5.0.0: Includes the following fine changes (@othiym23):
98e1e10#6791 Add caching based on Last-Modified / If-Modified-Since headers. Includes thisnpm-registry-client@5.0.0change (@lxe):
706d49a#7107getCacheStatpasses a stub stat on Windows. (@rmg)5fce278#5267 Use%COMSPEC%when set on Windows. (@edmorley)cc2e099#7083 Ensure Git cache prefix exists before repo clone on Windows. (@othiym23)
c6fb430#4197 Reportumaskas a 0-padded octal literal. (@smikes)209713e#4197umask@1.1.0: Properly handleumasks (i.e. not decimal numbers). (@smikes)9eac0a1Make the example for bin links non-destructive. (@KevinSheedy)6338bcfglob@4.3.5: " -> ', for some reason. (@isaacs)
88c531d#7056 version doesn't need a package.json. (@othiym23)2656c19#7095 Link to npm website instead of registry. (@konklone)c76b801#7067 Obfuscate secrets, including nerfed URLs. (@smikes)17f66ce#6849 Explain the tag workflow more clearly. (@smikes)e309df6#7096 Really,npm update -gis almost always a terrible idea. (@smikes)acf287d#6999npm run-script env: add a new default script that will print out environment values. (@gcb)560c009#6745 Documentnpm update --dev. (@smikes)226a677#7046 We have never been the Node package manager. (@linclark)38eef22npm-install-checks@1.0.5: Compatibility with npmlog@^1. (@iarna)
merry npm xmas
Working with @phated, I discovered that npm still had some lingering race conditions around how it handles Git dependencies. The following changes were intended to remedy to these issues. Thanks to @phated for all his help getting to the bottom of these.
bdf1c84#7006 Onlychowntemplate and top-level Git cache directories. (@othiym23)581a72d#7006 Map Git remote inflighting to clone paths rather than Git URLs. (@othiym23)1c48d08#7009normalize-git-url@1.0.0: Normalize Git URLs while caching. (@othiym23)5423cf0#7009 Pack tarballs to their final locations atomically. (@othiym23)7f6557f#7009 Inflight local directory packing, just to be safe. (@othiym23)
Other changes:
1c491e6#6991npm version: fix regression in dirty-checking behavior (@rlidwka)55ceb2b#1991 modify docs to reflect actualnpm restartbehavior (@smikes)fb8e31b#6982 when doing registry operations, ensure registry URL always ends with/(@othiym23)5bcba65pull whitelisted Git environment variables out into a named constant (@othiym23)be04bbd#7000 No longer install badly-named manpage files, and log an error when trying to uninstall them. (@othiym23)6b7c5ec#7011 Send auth for tarball fetches for packages innpm-shrinkwrap.jsonfrom private registries. (@othiym23)9b9de06glob@4.3.2: Better handling of trailing slashes. (@isaacs)030f3c7semver@4.2.0: Diffing between version strings. (@isaacs)
a4e4e33#6987read-installed@3.1.5: fixed a regression where a new / empty package would cause read-installed to throw. (@othiym23 / @pgilad)
e5a2dee#6951fs-vacuum@1.2.5: Usepath-is-insidefor better Windows normalization. (@othiym23)ac6167c#6955 Callpath.normalizeinlib/utils/gently-rm.jsfor better Windows normalization. (@ben-page)c625d71#6964 Clarify CA configuration docs. (@jeffjo)58b8cb5#6950 Fix documentation typos. (@martinvd)7c1299d#6909 Remove confusing mention of rubygems~>semver operator. (@mjtko)7dfdcc6#6909semver@4.1.1: Synchronize documentation with PR #6909 (@othiym23)adfddf3#6925 Correct typo indoc/api/npm-ls.md(@oddurs)f5c534b#6920 Remove recommendation to run as root fromREADME.md. (@robertkowalski)3ef4459#6920npm-@googlegroups.comhas gone the way of all things. That means it's gone. (@robertkowalski)
cbb890e#6897 npm is a nice package manager that runs server-side JavaScript. (@othiym23)d9043c3#6893 Remove erroneous docs about preupdate / update / postupdate lifecycle scripts, which have never existed. (@devTristan)c5df4d0#6884 Update npmjs.org to npmjs.com in docs. (@linclark)cb6ff8d#6879 npm version: Update shrinkwrap post-check. (@othiym23)2a340bd#6868 Use magic numbers instead of regexps to distinguish tarballs from other things. (@daxxog)f1c8bdb#6861npm-registry-client@4.0.5: Distinguish between error properties that are part of the response and error strings that should be returned to the user. (@disrvptor)d3a1b63#6762 Makenpm outdatedignore private packages. (@KenanY)16d8542install.sh: Drop support for node < 0.8, remove engines bits. (@isaacs)b9c6046init-package-json@1.1.3: (@terinstock) noticed thatinit.licenseconfiguration doesn't stick. Make sure that dashed defaults don't trump dotted parameters. (@othiym23)b6d6acfwhich@1.0.8: No longer use graceful-fs for some reason. (@isaacs)d39f673request@2.51.0: Incorporate bug fixes. (@nylen)c7ad727columnify@1.3.2: Incorporate bug fixes. (@timoxley)
e5b1e44add alias verison=version (@isaacs)5eed7bdrequest@2.49.0(@nylen)e72f81dglob@4.3.1/minimatch@2.0.1(@isaacs)b8dcc36graceful-fs@3.0.5(@isaacs)
4861d28which@1.0.7: License update. (@isaacs)30a2ea8ini@1.3.2: License update. (@isaacs)6a4ea05fstream@1.0.3: Propagate error events to downstream streams. (@gfxmonk)a558695tar@1.0.3: Don't extract broken files, propagatedrainevent. (@gfxmonk)989624e#6767 Actually pass parameters when adding git repo to cach under Windows. (@othiym23)657af73#6774 When verifying paths on unbuild, resolve both source and target as symlinks. (@hokaccha)fd19c40#6713realize-package-specifier@1.3.0: Make it so thatnpm install foo@1work when a file named1exists. (@iarna)c8ac37anpm-registry-client@4.0.4: Fix regression in failed fetch retries. (@othiym23)
756f3d4#6735 Log "already built" messages at info, not error. (@smikes)1b7330d#6729npm-registry-client@4.0.3: GitHub won't redirect you through an HTML page to a compressed tarball if you don't tell it you accept JSON responses. (@KenanY)d9c7857#6506readdir-scoped-modules@1.0.1: Usegraceful-fsso the whole dependency tree gets read, even in case ofEMFILE. (@sakana)3a085beGrammar fix in docs. (@icylace)3f8e2ffDid you know that npm has a Code of Conduct? Add a link to it to CONTRIBUTING.md. (@isaacs)319ccf6glob@4.2.1: Performance tuning. (@isaacs)835f046readable-stream@1.0.33: Bug fixes. (@rvagg)a34c38drequest@2.48.0: Bug fixes. (@nylen)
eed9f61#6542npm owner add / removenow works properly with scoped packages (@othiym23)cd25973#6548 using sudo won't leave the cache's git directories with bad permissions (@othiym23)56930abfixed irregularnpm cache lsoutput (yes, that's a thing) (@othiym23)740f483legacy tests no longer poison user's own cache (@othiym23)ce37f14#6169 add terse output similar tonpm publish / unpublishfornpm owner add / remove(@KenanY)bf2b8a6#6680 pass auth credentials to registry when downloading search index (@terinjokes)00ecb61#6400.npmignoreis respected for git repos on cache / pack / publish (@othiym23)d1b3a9e#6311npm ls -l --depth=0no longer prints phantom duplicate children (@othiym23)07c5f34#6690uid-number@0.0.6: clarify confusing names in error-handling code (@isaacs)1ac9be9#6684npm init: don't report write if canceled (@smikes)7bb207d#5754 never remove app directories on failed install (@othiym23)705ce60#5754fs-vacuum@1.2.2: don't throw when another fs task writes to a directory being vacuumed (@othiym23)1b650f4#6255 ensure that order credentials are used from.npmrcdoesn't regress (@othiym23)9bb2c34#6644warnrather thaninfoon fetch failure (@othiym23)e34a7b6#6524npm-registry-client@4.0.2: proxy viarequestmore transparently (@othiym23)40afd6a#6524 push proxy settings intorequest(@tauren)
063d843npm version now updates version in npm-shrinkwrap.json (@faiq)3f53cd7#6559 save local dependencies in npm-shrinkwrap.json (@Torsph)e249262npm-faq.md: mention scoped pkgs in namespace Q (@smikes)6b06ec4#6642init-package-json@1.1.2: Handle bothinit-author-nameandinit.author.name. (@othiym23)9cb334c#6409 document commit-ish with GitHub URLs (@smikes)0aefae9#2959 npm run no longer fails silently (@flipside)e007a2c#3908 include command in spawn errors (@smikes)
6750b05#6398npm-registry-client@4.0.0: consistent API, handle relative registry paths, use auth more consistently (@othiym23)7719cfd#6560 use new npm-registry-client API (@othiym23)ed61971move caching of search metadata fromnpm-registry-clientto npm itself (@othiym23)3457041handle caching of metadata independently fromnpm-registry-client(@othiym23)20a331c#6538 map registry URLs to credentials more safely (@indexzero)4072e97#6589npm-registry-client@4.0.1: allow publishing of packages with names identical to built-in Node modules (@feross)254f0e4tar@1.0.2: better error-handling (@runk)73ee2aarequest@2.47.0(@mikeal)
681b398#6523 fix defaultlogeleveldoc (@KenanY)80b368f#6528npm versionshould work in a git directory without git (@terinjokes)5f5f9e4#6483init-package-json@1.1.1: Properly pick up default values from environment variables. (@othiym23)a114870perl 5.18.x doesn't like -pi without filenames (@othiym23)de5ba00request@2.46.0: Tests and cleanup. (@othiym23)76933f1fstream-npm@1.0.1: Always includeLICENSE[.*],LICENCE[.*],CHANGES[.*],CHANGELOG[.*], andHISTORY[.*]. (@jonathanong)
6a14b23#6397 Defactor npmconf back into npm. (@othiym23)4000e33#6323 InstallpeerDependenciesfrom top. (@othiym23)5d119ae#6498 Better error messages on malformed.npmrcproperties. (@nicks)ae18efb#6093 Replace instances of 'hash' with 'object' in documentation. (@zeke)53108b2#1558 Clarify how local paths should be used. (@KenanY)344fa1a#6488 Work around bug in marked. (@othiym23)
OUTDATED DEPENDENCY CLEANUP JAMBOREE
60c2942realize-package-specifier@1.2.0: Handle names and rawSpecs more consistently. (@iarna)1b5c95fsha@1.3.0: Change line endings? (@ForbesLindesay)d7dee3frequest@2.45.0: Dependency updates, better proxy support, better compressed response handling, lots of 'use strict'. (@mikeal)3d75180opener@1.4.0: Added gratuitous return. (@Domenic)8e2703fretry@0.6.1/npm-registry-client@3.2.4: Change of ownership. (@tim-kos)c87b00fonce@1.3.1: Wrap once with wrappy. (@isaacs)01ec790npm-user-validate@0.1.1: Correct repository URL. (@robertkowalski)389e52cglob@4.0.6: Now absolutely requiresgraceful-fs. (@isaacs)e15ab15ini@1.3.0: Tighten up whitespace handling. (@isaacs)7610f3earchy@1.0.0(@substack)9c13149semver@4.1.0: Add support for prerelease identifiers. (@bromanko)f096c25graceful-fs@3.0.4: Add a bunch of additional tests, skip the unfortunate complications ofgraceful-fs@3.0.3. (@isaacs)
3aeb440#6442 proxying git needsGIT_SSL_CAINFO(@wmertens)a8da8d6#6413 write builtin config on any global npm install (@isaacs)9e4d632#6343 don't pass run arguments to pre & post scripts (@TheLudd)d831b1f#6399 race condition: inflight installs, preventpeerDependencyproblems (@othiym23)82b775d#6384 race condition: inflight caching by URL rather than semver range (@othiym23)7bee042inflight@1.0.4: callback can take arbitrary number of parameters (@othiym23)3bff494#5195 fixed regex color regression fornpm search(@chrismeyersfsu)33ba2d5#6387 allownpm view globalif package is specified (@evanlucas)99c4cfc#6388 npm-publish → npm-developers(7) (@kennydude)
TEST CLEANUP EXTRAVAGANZA:
8d6bfcbtap tests run with no system-wide side effects (@chrismeyersfsu)7a1472fadded npm cache cleanup script (@chrismeyersfsu)0ce6a37stripped out dead test code (othiym23)- replace spawn with common.npm (@chrismeyersfsu):
BREAKING CHANGE FOR THE SQRT(i) PEOPLE ACTUALLY USING npm submodule:
1e64473rm -rf npm submodulecommand, which has been broken since the Carter Administration (@isaacs)
BREAKING CHANGE IF YOU ARE FOR SOME REASON STILL USING NODE 0.6 AND YOU SHOULD NOT BE DOING THAT CAN YOU NOT:
3e431f9joyent/node#8492 bye bye customFds, hello stdio (@othiym23)
Other changes:
ea607a8#6372 noisily error (without aborting) on multi-{install,build} (@othiym23)3ee2799#6372 only make cache creation requests in flight (@othiym23)1a90ec2#6372 wait to put Git URLs in flight until normalized (@othiym23)664795b#6372 log what is and isn't in flight (@othiym23)00ef580inflight@1.0.3: fix largely theoretical race condition, because we really really hate race conditions (@isaacs)1cde465#6363realize-package-specifier@1.1.0: handle local dependencies better (@iarna)86f084crealize-package-specifier@1.0.2: dependency realization! in its own module! (@iarna)553d830npm-package-arg@2.1.3: simplified semver, better tests (@iarna)bec9b61readable-stream@1.0.32: for some reason (@rvagg)ff08ec5dezalgo@1.0.1: use wrappy for instrumentability (@isaacs)
a1aa20e#6282normalize-package-data@1.0.3: don't prune bundledDependencies (@isaacs)a1f5fe1move locks back into cache, now path-aware (@othiym23)a432c4bconvert lib/utils/tar.js to use atomic streams (@othiym23)b8c3c74fs-write-stream-atomic@1.0.2: Now works with streams1 fs.WriteStreams. (@isaacs)c7ab76flogging cleanup (@othiym23)4b2d95d#6329 efficiently validate tmp tarballs safely (@othiym23)
563225d#6318 clean up locking; prefix lockfile with "." (@othiym23)c7f30e4#6318 remove locking code around tarball packing and unpacking (@othiym23)
NEW FEATURE:
3635601#5520 Add'npm view .'. (@evanlucas)
Other changes:
f24b552#6294 Lock cache → lock cache target. (@othiym23)ad54450#6296 Ensure that npm-debug.log file is created when rollbacks are done. (@isaacs)6810071docs: Default loglevel "http" → "warn". (@othiym23)35ac89aSkip installation of installed scoped packages. (@timoxley)e468527Ensure cleanup executes for scripts-whitespace-windows test. (@timoxley)ef9101bEnsure cleanup executes for packed-scope test. (@timoxley)69b4d18fs-write-stream-atomic@1.0.1: Fix a race condition in our race-condition fixer. (@isaacs)26b17ff#6272npmconfdecides what the default prefix is. (@othiym23)846facaFix development dependency is preferred over dependency. (@andersjanmyr)9d1a9db#3265 Re-apply a71615a. Fixes #3265 again, with a test! (@glasser)1d41db0marked-man@0.1.4: Fixes formatting of synopsis blocks in man docs. (@kapouer)a623da0#5867 Specify dummy git template dir when cloning to prevent copying hooks. (@boneskull)
42c872b#5920fs-write-stream-atomic@1.0.0(@isaacs)6784767#5920 make all write streams atomic (@isaacs)f6fac00#5920 barf on 0-length cached tarballs (@isaacs)3b37592write-file-atomic@1.1.0: use graceful-fs (@iarna)
74c5ab0#6201npmconf@2.1.0: scope always-auth to registry URI (@othiym23)774b127#6201npm-registry-client@3.2.2: use scoped always-auth settings (@othiym23)f2d2190#6201 support saving--always-authwhen logging in (@othiym23)17c941a#6163 usewrite-file-atomicinstead offs.writeFile()(@fiws)fb5724f#5925npm init -f: allownpm initto run without prompting (@michaelnisi)b706d63#3059 disable prepublish when runningnpm install --production(@jussi-kalliokoski)119f068attach the node version used when publishing a package to its registry metadata (@othiym23)8fe0081seriously, don't usenpm -g update npm(@thomblake)ea5b3d4request@2.44.0(@othiym23)
BREAKING CHANGES:
4378a17semver@4.0.0: prerelease versions no longer show up in ranges;^0.x.ybehaves the way it did insemver@2rather thansemver@3; docs have been reorganized for comprehensibility (@isaacs)c6ddb64npm now assumes that node is newer than 0.6 (@isaacs)
Other changes:
ea515c3#6043slide@1.1.6: wait until all callbacks have finished before proceeding (@othiym23)0b0a59d#6043 defer rollbacks until just before the CLI exits (@isaacs)a11c88b#6175 pack scoped packages correctly (@othiym23)e4e48e0#6121read-installed@3.1.2: don't mark linked dev dependencies as extraneous (@isaacs)d673e41cmd-shim@2.0.1: depend ongraceful-fsdirectly (@ForbesLindesay)9d54d45npm-registry-couchapp@2.5.3: make tests more reliable on Travis (@iarna)673d738ensure permissions are set correctly in cache when running as root (@isaacs)6e6a5fbprepare for upgrade tonode-semver@4.0.0(@isaacs)ab8dd87swap outronnformarked-man@0.1.3(@isaacs)803da54npm-registry-client@3.2.0: prepare fornode-semver@4.0.0and include more error information (@isaacs)4af0e71make default error display less scary (@isaacs)4fd9e79npm-registry-client@3.2.1: handle errors returned by the registry much, much better (@othiym23)ca791e2restore a long (always?) missing pass for deduping (@othiym23)ca0ef0ecorrectly interpret relative paths for local dependencies (@othiym23)5eb8db2npm-package-arg@2.1.2: support git+file:// URLs for local bare repos (@othiym23)860a185tweak docs to no longer advocate checking innode_modules(@hunterloftis)80e9033add links to nodejs.org downloads to docs (@meetar)
f4540b6#6043 defer rollbacks until just before the CLI exits (@isaacs)1eabfd5#6043slide@1.1.6: wait until all callbacks have finished before proceeding (@othiym23)
fa79413#6119 fall back to registry installs if package.json is missing in a local directory (@iarna)16073e2npm-package-arg@2.1.0: support file URIs as local specs (@othiym23)9164acbgithub-url-from-username-repo@1.0.2: don't match strings that are already URIs (@othiym23)4067d6b#5629 support saving of local packages inpackage.json(@dylang)1b2ffdf#6097 document scoped packages (@seldo)0a67d53#6007request@2.42.0: properly set headers on proxy requests (@isaacs)9bac6b8npmconf@2.0.8: disallow semver ranges in tag configuration (@isaacs)d2d4d7c#6082 don't allow tagging with a semver range as the tag name (@isaacs)
4cf3c8f#6007 request@2.42.0: properly set headers on proxy requests (@isaacs)403cb52#6055 npmconf@1.1.8: restore case-insensitivity of environmental config (@iarna)
SPECIAL LABOR DAY WEEKEND RELEASE PARTY WOOO
ed207e8npm-registry-client@3.1.7: Clean up auth logic and improve logging around auth decisions. Also error on trying to change a user document without writing to it. (@othiym23)66c7423npmconf@2.0.7: support -C as an alias for --prefix (@isaacs)0dc6a07#6059 run commands in prefix, not cwd (@isaacs)65d2179github-url-from-username-repo@1.0.1: part 3 handle slashes in branch names (@robertkowalski)e8d75d0#6057read-installed@3.1.1: properly handle extraneous dev dependencies of required dependencies (@othiym23)0602f70#6064 ls: do not show deps of extraneous deps (@isaacs)
78a1fc1github-url-from-git@1.4.0: add support for git+https and git+ssh (@stefanbuck)bf247edcolumnify@1.2.1(@othiym23)4bbe682cmd-shim@2.0.0: upgrade to graceful-fs 3 (@ForbesLindesay)ae1d590npm-package-arg@2.0.4: accept slashes in branch names (@thealphanerd)b2f51aesemver@3.0.1: semver.clean() is cleaner (@isaacs)1d041a8github-url-from-username-repo@1.0.0: accept slashes in branch names (@robertkowalski)02c85d5async-some@1.0.1(@othiym23)5af493eensure lifecycle spawn errors caught properly (@isaacs)60fe012npmconf@2.0.6: init.version defaults to 1.0.0 (@isaacs)b4c717bnpm-registry-client@3.1.4: properly encode % in passwords (@isaacs)7b55f44doc: Fix 'npm help index' (@isaacs)
eceea95github-url-from-git@1.4.0: add support for git+https and git+ssh (@stefanbuck)e561758columnify@1.2.1(@othiym23)0c4fab3cmd-shim@2.0.0: upgrade to graceful-fs 3 (@ForbesLindesay)2d69e4dgithub-url-from-username-repo@1.0.0: accept slashes in branch names (@robertkowalski)81f9b2bensure lifecycle spawn errors caught properly (@isaacs)bfaab8cnpm-registry-client@2.0.7: properly encode % in passwords (@isaacs)91cfb58doc: Fix 'npm help index' (@isaacs)
685f8benpm-registry-client@3.1.3: Print the notification header returned by the registry, and make sure status codes are printed without gratuitous quotes around them. (@isaacs / @othiym23)a8cb676#5900 removenpmfrom its ownenginesfield inpackage.json. None of us remember why it was there. (@timoxley)6c47201#5752, #6013 save git URLs correctly in_resolvedfields (@isaacs)e4e1223#5936 document the use of tags inpackage.json(@KenanY)c92b8d4#6004 manually installed scoped packages are tracked correctly (@dead-horse)21ca0aa#5945 link scoped packages correctly (@dead-horse)16bead7#5958 ensure that file streams work in all versions of node (@dead-horse)dbf0cabyou can now pass quoted args tonpm run-script(@bcoe)0583874tar@1.0.1: Add test for removing an extract target immediately after unpacking. (@isaacs)cdf3b04lockfile@1.0.0: Fix incorrect interaction betweenwait,stale, andretriesoptions. Part 2 of race condition leading toENOENT(@isaacs) errors.22d72a8fstream@1.0.2: Fix a double-finish call which can result in excess FS operations after thecloseevent. Part 1 of race condition leading toENOENTerrors. (@isaacs)
64c0ec2npm-registry-client@2.0.6: Print the notification header returned by the registry, and make sure status codes are printed without gratuitous quotes around them. (@othiym23)a8ed12btar@1.0.1: Add test for removing an extract target immediately after unpacking. (@isaacs)70fd11dlockfile@1.0.0: Fix incorrect interaction betweenwait,stale, andretriesoptions. Part 2 of race condition leading toENOENTerrors. (@isaacs)0072c4dfstream@1.0.2: Fix a double-finish call which can result in excess FS operations after thecloseevent. Part 2 of race condition leading toENOENTerrors. (@isaacs)
f23f1d8doc: update version doc to includepre-*increment args (@isaacs)b6bb746build: add 'make tag' to tag current release as latest (@isaacs)27c4bb6build: publish with--tag=v1.4-next(@isaacs)cff66c3build: add script to outputv1.4-nextpublish tag (@isaacs)22abec8build: remove outdateddocpublishmake target (@isaacs)1be4de5build: removeunpublishstep frommake publish(@isaacs)e429e20doc: add new changelog (@othiym23)9243d20lifecycle: test lifecycle path modification (@isaacs)021770blifecycle: BREAKING CHANGE do not add the directory containing node executable (@chulkilee)1d5c41dinstall: rename .gitignore when unpacking foreign tarballs (@isaacs)9aac267cache: detect non-gzipped tar files more reliably (@isaacs)3f24755readdir-scoped-modules@1.0.0(@isaacs)151cd2fread-installed@3.1.0(@isaacs)f5a9434test: fix Travis timeouts (@dylang)126cafcnpm-registry-couchapp@2.5.0(@othiym23)
9344bd9doc: add new changelog (@othiym23)4be76fddoc: update version doc to includepre-*increment args (@isaacs)e4f2620build: addmake tagto tag current release aslatest(@isaacs)ec2596abuild: publish with--tag=v1.4-next(@isaacs)9ee55f8build: add script to outputv1.4-nextpublish tag (@isaacs)aecb56fbuild: remove outdateddocpublishmake target (@isaacs)b57a9b7build: remove unpublish step frommake publish(@isaacs)2c6acb9install: rename.gitignorewhen unpacking foreign tarballs (@isaacs)22f3681cache: detect non-gzipped tar files more reliably (@isaacs)
BREAKING CHANGE:
Other changes:
d987707move fetch into npm-registry-client (@othiym23)9b318e2read-installed@3.0.0(@isaacs)9d73de7remove unnecessary mkdirps (@isaacs)33ccd13Don't squash execute perms in_git-remotes/dir (@adammeadows)48fd233npm-package-arg@2.0.1(@isaacs)
8dd11d1update several dependencies to avoid usingsemvers starting with 0.
d9a9e84read-package-json@1.2.4(@isaacs)86f0340github-url-from-git@1.2.0(@isaacs)a94136afstream@0.1.29(@isaacs)bb82d18glob@4.0.5(@isaacs)5b6bcf4cmd-shim@1.1.2(@isaacs)c2aa8b3license: Cleaned up legalese with actual lawyer (@isaacs)63fe0eeinit-package-json@1.0.0(@isaacs)
This release bumps up to 2.0 because of this breaking change, which could potentially affect how your package's scripts are run:
Other changes:
cd422c9#5748 link binaries for scoped packages (@othiym23)4c3c778#5758npm linkincludes scope when linking scoped package (@fengmk2)f9f58dd#5707 document generic pre- / post-commands (@sudodoki)ac7a480#5406npm cachedisplays usage when called without arguments (@michaelnisi)f4554e9Test fixes for Windows (@isaacs)- update dependencies (@othiym23)
- fall back to
_authconfig as default auth when using default registry (@isaacs) - support for 'init.version' for those who don't want to deal with semver 0.0.x oddities (@rvagg)
be06213remove residual support forwinlog level (@aterris)
a3a85dd--savescoped packages correctly (@othiym23)18a3385npm-registry-client@3.0.2(@othiym23)375988binvalid package names are an early error for optional deps (@othiym23)- consistently use
node-package-arginstead of arbitrary package spec splitting (@othiym23)
54cf625fix handling for 301s innpm-registry-client@3.0.1(@Raynos)e410861don't crash if no username set onwhoami(@isaacs)0353dderespect--jsonfor output (@isaacs)b3d112aoutdated: Don't show headings if there's nothing to output (@isaacs)bb4b90coutdated: Default tolatestrather than*for unspecified deps (@isaacs)
0353dderespect--jsonfor output (@isaacs)b3d112aoutdated: Don't show headings if there's nothing to output (@isaacs)bb4b90coutdated: Default tolatestrather than*for unspecified deps (@isaacs)
7f55057install scoped packages (#5239) (@othiym23)0df7e16publish scoped packages (#5239) (@othiym23)0689ba2support (and save) --scope=@s config (@othiym23)f34878fscope credentials to registry (@othiym23)0ac7ca2capture and store bearer tokens when sent by registry (@othiym23)63c3277only delete files that are created by npm (@othiym23)4f54043npm-package-arg@2.0.0(@othiym23)9e1460eread-package-json@1.2.3(@othiym23)719d8adfs-vacuum@1.2.1(@othiym23)9ef8fe4async-some@1.0.0(@othiym23)a964f65npmconf@2.0.1(@othiym23)113765bnpm-registry-client@3.0.0(@othiym23)
f687433relative URLS for working non-root registry URLS (@othiym23)bea190c#5591 bump nopt and npmconf (@isaacs)
- Bump glob dependency from 4.0.2 to 4.0.3. It now uses graceful-fs when available, increasing resilience to various filesystem errors. (@isaacs)
- replace escape codes with ansicolors (@othiym23)
- Allow to build all the docs OOTB. (@GeJ)
- Use core.longpaths on win32 git - fixes #5525 (@bmeck)
npmconf@1.1.2(@isaacs)- Consolidate color sniffing in config/log loading process (@isaacs)
- add verbose log when project config file is ignored (@isaacs)
- npmconf: Float patch to remove 'scope' from config defs (@isaacs)
- doc: npm-explore can't handle a version (@robertkowalski)
- Add user-friendly errors for ENOSPC and EROFS. (@voodootikigod)
- bump tar and fstream deps (@isaacs)
- Run the npm-registry-couchapp tests along with npm tests (@isaacs)
- Same as v1.4.16, but with the spinner disabled, and a version number that starts with v1.2.
npm-registry-client@2.0.2(@isaacs)fstream@0.1.27(@isaacs)sha@1.2.4(@isaacs)rimraf@2.2.8(@isaacs)npmlog@1.0.1(@isaacs)npm-registry-client@2.0.1(@isaacs)- removed redundant dependency (@othiym23)
npmconf@1.0.5(@isaacs)- Properly handle errors that can occur in the config-loading process (@isaacs)
- cache: atomic de-race-ified package.json writing (@isaacs)
fstream@0.1.26(@isaacs)graceful-fs@3.0.2(@isaacs)osenv@0.1.0(@isaacs)- Only spin the spinner when we're fetching stuff (@isaacs)
- Update
osenv@0.1.0which removes ~/tmp as possible tmp-folder (@robertkowalski) ini@1.2.1(@isaacs)graceful-fs@3(@isaacs)- Update glob and things depending on glob (@isaacs)
- github-url-from-username-repo and read-package-json updates (@isaacs)
editor@0.1.0(@isaacs)columnify@1.1.0(@isaacs)- bump ansi and associated deps (@isaacs)
- char-spinner: update to not bork windows (@isaacs)
- Fix
npm installon a tarball. (ed3abf1, #5330, @othiym23) - Fix an issue with the spinner on Node 0.8.
(
9f00306, @isaacs) - Re-add
npm.commands.cache.cleanandnpm.commands.cache.readAPIs, and documentnpm.commands.cache.*as npm-cache(3). (e06799e, @isaacs)
- remove normalize-package-data from top level, de-^-ify inflight dep (@isaacs)
- Always sort saved bundleDependencies (@isaacs)
- add inflight to bundledDependencies (@othiym23)
- fix
npm lslabeling issue node-gyp@0.13.1- default repository to https:// instead of git://
- addLocalTarball: Remove extraneous unpack (@isaacs)
- Massive cache folder refactor (@othiym23 and @isaacs)
- Busy Spinner, no http noise (@isaacs)
- Per-project .npmrc file support (@isaacs)
npmconf@1.0.0, Refactor config/uid/prefix loading process (@isaacs)- Allow once-disallowed characters in passwords (@isaacs)
- Send npm version as 'version' header (@isaacs)
- fix cygwin encoding issue (Karsten Tinnefeld)
- Allow non-github repositories with
npm repo(@evanlucas) - Allow peer deps to be satisfied by grandparent
- Stop optional deps moving into deps on
update --save(@timoxley) - Ensure only matching deps update with
update --save*(@timoxley) - Add support for
prerelease,preminor,prepatchtonpm version
- Don't set referer if already set
- fetch: Send referer and npm-session headers
run-script: Support--parseableand--json- list runnable scripts (@evanlucas)
- Use marked instead of ronn for html docs
- Send referer header (with any potentially private stuff redacted)
- Fix critical typo bug in previous npm release
- Check SHA before using files from cache
- adduser: allow change of the saved password
- Make
npm installrespectconfig.unicode - Fix lifecycle to pass
Infinityfor config env value - Don't return 0 exit code on invalid command
- cache: Handle 404s and other HTTP errors as errors
- Resolve ~ in path configs to env.HOME
- Include npm version in default user-agent conf
- npm init: Use ISC as default license, use save-prefix for deps
- Many test and doc fixes
- Add
--save-prefixoption that can be used to override the default of^when usingnpm install --saveand its counterparts. (64eefdf, @thlorenz) - Allow
--silentto silence the echoing of commands that occurs withnpm run. (c95cf08, @Raynos) - Some speed improvements to the cache, which should improve install times.
(
cb94310,3b0870f,120f5a9, @isaacs) - Improve ability to retry registry requests when a subset of the registry
servers are down.
(
4a5257d, https://github.com/npm/npm-registry-client/commit/7686d02cb0b844626d6a401e58c0755ef3bc8432, @isaacs) - Fix marking of peer dependencies as extraneous.
(
779b164, https://github.com/npm/read-installed/commit/6680ba6ef235b1ca3273a00b70869798ad662ddc, @isaacs) - Fix npm crashing when doing
npm shrinkwrapin the presence of apackage.jsonwith no dependencies. (a9d9fa5, @kislyuk) - Fix error when using
npm viewon packages that have no versions or have been unpublished. (94df2f5, @juliangruber;2241a09, @isaacs)
- Fix extraneous package detection to work in more cases.
(
f671286, npm/read-installed#20, @LaurentVB)
- Sort dependencies in
package.jsonwhen doingnpm install --saveand all its variants. (6fd6ff7, @domenic) - Add
--save-exactoption, usable alongside--saveand its variants, which will write the exact version number intopackage.jsoninstead of the appropriate semver-compatibility range. (17f07df, @timoxley) - Accept gzipped content from the registry to speed up downloads and save
bandwidth.
(
a3762de, npm/npm-registry-client#40, @fengmk2) - Fix
npm ls's--depthand--logoptions. (1d29b17, npm/read-installed#13, @zertosh) - Fix "Adding a cache directory to the cache will make the world implode" in
certain cases.
(
9a4b2c4, domenic/path-is-inside#1, @pmarques) - Fix readmes not being uploaded in certain rare cases.
(
527b72c, @isaacs)
- Add
npm tas an alias fornpm test(which is itself an alias fornpm run test, or evennpm run-script test). We like making running your tests easy. (14e650b, @isaacs)
- Add back
npm prune --production, which was removed in 1.3.24. (acc4d02, @davglass) - Default
npm install --saveand its counterparts to use the^version specifier, instead of~. (0a3151c, @mikolalysenko) - Make
npm shrinkwrapoutput dependencies in a sorted order, so that diffs between shrinkwrap files should be saner now. (059b2bf, @Raynos) - Fix
npm dedupenot correctly respecting dependency constraints. (86028e9, @rafeca) - Fix
npm lsgiving spurious warnings when you used"latest"as a version specifier. (https://github.com/npm/read-installed/commit/d2956400e0386931c926e0f30c334840e0938f14, @bajtos) - Fixed a bug where using
npm linkon packages without anamevalue could cause npm to delete itself. (401a642, @isaacs) - Fixed
npm install ./pkg@1.2.3to actually install the directory atpkg@1.2.3; before it would try to find version1.2.3of the package./pkgin the npm registry. (46d8768, @rlidwka; see alsof851b79) - Fix
npm outdatedto respect thecolorconfiguration option. (d4f6f3f, @timoxley) - Fix
npm outdated --parseable. (9575a23, @yhpark) - Fix a lockfile-related errors when using certain Git URLs.
(
164b97e, @nigelzor)
- Fixed an issue related to mid-publish GET requests made against the registry. (https://github.com/npm/npm-registry-client/commit/acbec48372bc1816c67c9e7cbf814cf50437ff93, @isaacs)
- Fix
npm shrinkwrapforgetting to shrinkwrap dependencies that were also development dependencies. (9c575c5, @diwu1989) - Fixed publishing of pre-existing packages with uppercase characters in their name. (https://github.com/npm/npm-registry-client/commit/9345d3b6c3d8510dd5c4418f27ee1fce59acebad, @isaacs)
- Remove
npm publish --force. See npm/npm-registry-couchapp#148. (@isaacs, npm/npm-registry-client@2c8dba990de6a59af6545b75cc00a6dc12777c2a) - Other changes to the registry client related to saved configs and couch logins. (@isaacs; npm/npm-registry-client@25e2b019a1588155e5f87d035c27e79963b75951, npm/npm-registry-client@9e41e9101b68036e0f078398785f618575f3cdde, npm/npm-registry-client@2c8dba990de6a59af6545b75cc00a6dc12777c2a)
- Show an error to the user when doing
npm updateand thepackage.jsonspecifies a version that does not exist. (@evanlucas,027a33a) - Fix some issues with cache ownership in certain installation configurations.
(@outcoldman,
a132690) - Fix issues where GitHub shorthand dependencies
user/repowere not always treated the same as full Git URLs. (@robertkowalski, https://github.com/meryn/normalize-package-data/commit/005d0b637aec1895117fcb4e3b49185eebf9e240)
- Fixes and updates to publishing code
(
735427aandc0ac832, @isaacs) - Fix
npm bugswith no arguments. (b99d465, @Hoops)
- Make the search output prettier, with nice truncated columns, and a
--longoption to create wrapping columns. (20439b2and3a6942d, @timoxley) - Support multiple packagenames in
npm docs. (823010b, @timoxley) - Fix the
npm adduserbug regarding "Error: default value must be string or number" again. (b9b4248, @isaacs) - Fix
scriptsentries containing whitespaces on Windows. (80282ed, @robertkowalski) - Fix
npm updatefor Git URLs that have credentials in them (93fc364, @danielsantiago) - Fix
npm installoverwritingnpm link-ed dependencies when they are tagged Git dependencies. (af9bbd9, @evanlucas) - Remove
npm prune --productionsince it buggily removed some dependencies that were necessary for production; see #4509. Hopefully it can make its triumphant return, one day. (1101b6a, @isaacs)
Dependency updates:
909cccfread-package-json@1.1.6a3891b6rimraf@2.2.6ac6efbcsha@1.2.3dd30038node-gyp@0.12.2c8c3ebenpm-registry-client@0.3.34315286npmconf@0.1.12
- Properly handle installations that contained a certain class of circular
dependencies.
(
5dc93e8, @substack)
- Fix a critical bug in
npm adduserthat would manifest in the error message "Error: default value must be string or number." (fba4bd2, @isaacs) - Allow
npm bugsin the current directory to open the current package's bugs URL. (d04cf64, @evanlucas) - Several fixes to various error messages to include more useful or updated
information.
(
1e6f2a7,ff46366,8b4bb48; @rlidwka, @evanlucas)
- Fix a critical bug that prevented publishing due to incorrect hash
calculation.
(
4ca4a2c, @dominictarr)
- Fixes a critical bug in v1.3.19. Thankfully, due to that bug, no one could install npm v1.3.19 :)
- Adds atomic PUTs for publishing packages, which should result in far fewer requests and less room for replication errors on the server-side.
- Added an
--ignore-scriptsoption, which will preventpackage.jsonscripts from being run. Most notably, this will work onnpm install, so e.g.npm install --ignore-scriptswill not run preinstall and prepublish scripts. (d7e67bf, @sqs) - Fixed a bug introduced in 1.3.16 that would manifest with certain cache
configurations, by causing spurious errors saying "Adding a cache directory
to the cache will make the world implode."
(
966373f, @domenic) - Re-fixed the multiple download of URL dependencies, whose fix was reverted in
1.3.17.
(
a362c3f, @spmason)
- This release reverts
644c2ff, which avoided re-downloading URL and shinkwrap dependencies when doingnpm install. You can see the in-depth reasoning ind8c907e; the problem was, that the patch changed the behavior ofnpm install -fto reinstall all dependencies. - A new version of the no-re-downloading fix has been submitted as #4303 and will hopefully be included in the next release.
- Git URL dependencies are now updated on
npm install, fixing a two-year old bug (5829ecf, @robertkowalski). Additional progress on reducing the resulting Git-related I/O is tracked as #4191, but for now, this will be a big improvement. - Added a
--jsonmode tonpm outdatedto give a parseable output. (0b6c9b7, @yyx990803) - Made
npm outdatedmuch prettier and more useful. It now outputs a color-coded and easy-to-read table. (fd3017f, @quimcalpe) - Added the
--depthoption tonpm outdated, so that e.g. you can donpm outdated --depth=0to show only top-level outdated dependencies. (1d184ef, @yyx990803) - Added a
--no-git-tag-versionoption tonpm version, for doing the usual job ofnpm versionminus the Git tagging. This could be useful if you need to increase the version in other related files before actually adding the tag. (59ca984, @evanlucas) - Made
npm repoandnpm docswork without any arguments, adding them to the list of npm commands that work on the package in the current directory when invoked without arguments. (bf9048e, @robertkowalski;07600d0, @wilmoore). There are a few other commands we still want to implement this for; see #4204. - Pass through the
GIT_SSL_NO_VERIFYenvironment variable to Git, if it is set; we currently do this with a few other environment variables, but we missed that one. (c625de9, @arikon) - Fixed
npm dedupeon Windows due to incorrect path separators being used (7677de4, @mcolyer). - Fixed the
npm helpcommand when multiple words were searched for; it previously gave aReferenceError. (6a28dd1, @dereckson) - Stopped re-downloading URL and shrinkwrap dependencies, as demonstrated in
#3463
(
644c2ff, @spmason). You can use the--forceoption to force re-download and installation of all dependencies.
