{"action":"published","release":{"url":"https://api.github.com/repos/npm/npm/releases/1122786","assets_url":"https://api.github.com/repos/npm/npm/releases/1122786/assets","upload_url":"https://uploads.github.com/repos/npm/npm/releases/1122786/assets{?name}","html_url":"https://github.com/npm/npm/releases/tag/v2.7.6","id":1122786,"tag_name":"v2.7.6","target_commitish":"master","name":"","draft":false,"author":{"login":"othiym23","id":418097,"avatar_url":"https://avatars.githubusercontent.com/u/418097?v=3","gravatar_id":"","url":"https://api.github.com/users/othiym23","html_url":"https://github.com/othiym23","followers_url":"https://api.github.com/users/othiym23/followers","following_url":"https://api.github.com/users/othiym23/following{/other_user}","gists_url":"https://api.github.com/users/othiym23/gists{/gist_id}","starred_url":"https://api.github.com/users/othiym23/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/othiym23/subscriptions","organizations_url":"https://api.github.com/users/othiym23/orgs","repos_url":"https://api.github.com/users/othiym23/repos","events_url":"https://api.github.com/users/othiym23/events{/privacy}","received_events_url":"https://api.github.com/users/othiym23/received_events","type":"User","site_admin":false},"prerelease":true,"created_at":"2015-04-03T08:19:44Z","published_at":"2015-04-03T08:30:40Z","assets":[],"tarball_url":"https://api.github.com/repos/npm/npm/tarball/v2.7.6","zipball_url":"https://api.github.com/repos/npm/npm/zipball/v2.7.6","body":"#### GIT MEAN, GIT TUFF, GIT ALL THE WAY AWAY FROM MY STUFF\r\n\r\nPart of the reason that we're reluctant to take patches to how npm deals with\r\ngit dependencies is that every time we touch the git support, something breaks.\r\nThe last few releases are a case in point. `npm@2.7.4` completely broke\r\ninstalling private modules from GitHub, and `npm@2.7.5` fixed them at the cost\r\nof logging a misleading error message that caused many people to believe that\r\ntheir dependencies hadn't been successfully installed when they actually had\r\nbeen.\r\n\r\nThis all started from a desire to ensure that GitHub shortcut syntax is being\r\nhandled correctly.  The correct behavior is for npm to try to clone all\r\ndependencies on GitHub (whether they're specified with the GitHub\r\n`organization/repository` shortcut syntax or not) via the plain `git:` protocol\r\nfirst, and to fall back to using `git+ssh:` if `git:` doesn't work. Previously,\r\nsometimes npm would use `git:` and `git+ssh:` in some cases (most notably when\r\nusing GitHub shortcut syntax on the command line), and use `git+https:` in\r\nothers (when the GitHub shortcut syntax was present in `package.json`). This\r\nled to subtle and hard-to-understand inconsistencies, and we're glad that as of\r\n`npm@2.7.6`, we've finally gotten things to where they were before we started,\r\nonly slightly more consistent overall.\r\n\r\nWe are now going to go back to our policy of being extremely reluctant to touch\r\nthe code that handles Git dependencies.\r\n\r\n* [`b747593`](https://github.com/npm/npm/commit/b7475936f473f029e6a027ba1b16277523747d0b)\r\n  [#7630](https://github.com/npm/npm/issues/7630) Don't automatically log all\r\n  git failures as errors. `maybeGithub` needs to be able to fail without\r\n  logging to support its fallback logic.\r\n  ([@othiym23](https://github.com/othiym23))\r\n* [`cd67a0d`](https://github.com/npm/npm/commit/cd67a0db07891d20871822696c26692c8a84866a)\r\n  [#7829](https://github.com/npm/npm/issues/7829) When fetching a git remote\r\n  URL, handle failures gracefully (without assuming standard output exists).\r\n  ([@othiym23](https://github.com/othiym23))\r\n* [`637c7d1`](https://github.com/npm/npm/commit/637c7d1411fe07f409cf91f2e65fd70685cb253c)\r\n  [#7829](https://github.com/npm/npm/issues/7829) When fetching a git remote\r\n  URL, handle failures gracefully (without assuming standard _error_ exists).\r\n  ([@othiym23](https://github.com/othiym23))\r\n\r\n#### OTHER SIGNIFICANT FIXES\r\n\r\n* [`78005eb`](https://github.com/npm/npm/commit/78005ebb6f4103c20f077669c3929b7ea46a4c0d)\r\n  [#7743](https://github.com/npm/npm/issues/7743) Always quote arguments passed\r\n  to `npm run-script`. This allows build systems and the like to safely escape\r\n  glob patterns passed as arguments to `run-scripts` with `npm run-script\r\n  <script> -- <arguments>`. This is a tricky change to test, and may be\r\n  reverted or moved to `npm@3` if it turns out it breaks things for users.\r\n  ([@mantoni](https://github.com/mantoni))\r\n* [`da015ee`](https://github.com/npm/npm/commit/da015eee45f6daf384598151d06a9b57ffce136e)\r\n  [#7074](https://github.com/npm/npm/issues/7074) `read-package-json@1.3.3`:\r\n  `read-package-json` no longer caches `package.json` files, which trades a\r\n  very small performance loss for the elimination of a large class of really\r\n  annoying race conditions. See [#7074](https://github.com/npm/npm/issues/7074)\r\n  for the grisly details. ([@othiym23](https://github.com/othiym23))\r\n* [`dd20f57`](https://github.com/npm/npm/commit/dd20f5755291b9433f0d298ee0eead22cda6db36)\r\n  `init-package-json@1.3.2`: Only add the `@` to scoped package names if it's\r\n  not already there when reading from the filesystem\r\n  ([@watilde](https://github.com/watilde)), and support inline validation of\r\n  package names ([@michaelnisi](https://github.com/michaelnisi)).\r\n\r\n#### SMALL FIXES AND DEPENDENCY UPGRADES\r\n\r\n* [`1f380f6`](https://github.com/npm/npm/commit/1f380f66c1e944b8ffbf096fa94d09e931626e12)\r\n  [#7820](https://github.com/npm/npm/issues/7820) `are-we-there-yet@1.0.4`: Use\r\n  `readable-stream` instead of built-in `stream` module to better support\r\n  Node.js 0.8.x. ([@SonicHedgehog](https://github.com/SonicHedgehog))\r\n* [`d380188`](https://github.com/npm/npm/commit/d380188e161be31f5a4f53947de6bc28df4732d8)\r\n  `semver@4.3.3`: Don't throw on `semver.parse(null)`, and parse numeric\r\n  version strings more robustly. ([@isaacs](https://github.com/isaacs))\r\n* [`01d9964`](https://github.com/npm/npm/commit/01d99649265f921e1c61cf406613e7042bcea008)\r\n  `nock@1.4.0`: This change may need to be rolled back, or rolled forward,\r\n  because [nock depends on\r\n  `setImmediate`](https://github.com/npm/npm/issues/7842), which causes tests\r\n  to fail when run with Node.js 0.8. ([@othiym23](https://github.com/othiym23))\r\n* [`91f5cb1`](https://github.com/npm/npm/commit/91f5cb1fb91520fbe25a4da5b80848ed540b9ad3)\r\n  [#7791](https://github.com/npm/npm/issues/7791) Fix brackets in npmconf so\r\n  that `loaded` is set correctly.\r\n  ([@charmander](https://github.com/charmander))\r\n* [`1349e27`](https://github.com/npm/npm/commit/1349e27c936a8b0fc9f6440a6d6404ef3b19c587)\r\n  [#7818](https://github.com/npm/npm/issues/7818) Update `README.md` to point\r\n  out that the install script now lives on https://www.npmjs.com.\r\n  ([@weisjohn](https://github.com/weisjohn))"}}