| 
 | 1 | +### v3.8.9 (2016-04-28)  | 
 | 2 | + | 
 | 3 | +Our biggest news this week is that we got the  | 
 | 4 | +[Windows test suite passing](https://github.com/npm/npm/pull/11444)!  | 
 | 5 | +It'll take a little longer to get it passing in our  | 
 | 6 | +[Windows CI](https://ci.appveyor.com/project/npm/npm/) but that's coming  | 
 | 7 | +soon too.  | 
 | 8 | + | 
 | 9 | +That means we'll be shifting gears away from tests to fixing  | 
 | 10 | +[Big Bugs™](https://github.com/npm/npm/issues?q=is%3Aopen+is%3Aissue+label%3Abig-bug) again.  | 
 | 11 | +Join us at our [team meeting](https://github.com/npm/npm/issues/12517) next  | 
 | 12 | +Tuesday to learn more about that.  | 
 | 13 | + | 
 | 14 | +#### BUG FIXES AND REFACTORING  | 
 | 15 | + | 
 | 16 | +* [`60da618`](https://github.com/npm/npm/commit/60da61862885fa904afba7d121860b4282a5b0df)  | 
 | 17 | +  [#12347](https://github.com/npm/npm/issues/12347)  | 
 | 18 | +  Fix a bug that could result in shrinkwraps missing the `resolved` field, which is  | 
 | 19 | +  necessary in producing a fully reproducible build.  | 
 | 20 | +  ([@sminnee](https://github.com/sminnee))  | 
 | 21 | +* [`8597ba4`](https://github.com/npm/npm/commit/8597ba432e91245a1000953b612eb01308178bad)  | 
 | 22 | +  [#12009](https://github.com/npm/npm/issues/12009)  | 
 | 23 | +  Fix a bug in `npm view <packagename> versions` that resulted in bad output if you  | 
 | 24 | +  didn't also pass in `--json`.  | 
 | 25 | +  ([@watilde](https://github.com/watilde))  | 
 | 26 | +* [`20125f1`](https://github.com/npm/npm/commit/20125f19b96fd05af63f8c0bd243ffb25780279a)  | 
 | 27 | +  [`a53feac`](https://github.com/npm/npm/commit/a53feac2647f7dc4245f1700dfbdd1aba8745672)  | 
 | 28 | +  [`6cfbae4`](https://github.com/npm/npm/commit/6cfbae403abc3cf690565b09569f71cdd41a8372)  | 
 | 29 | +  [#12485](https://github.com/npm/npm/pull/12485)  | 
 | 30 | +  Refactor how the help summaries for commands are produced, such that we only have  | 
 | 31 | +  one list of command aliases.  | 
 | 32 | +  ([@watilde](https://github.com/watilde))  | 
 | 33 | +* [`2ae210c`](https://github.com/npm/npm/commit/2ae210c76ab6fd15fcf15dc1808b01ca0b94fc9e)  | 
 | 34 | +  `read-package-json@2.0.4`:  | 
 | 35 | +  Fix a crash we discovered while fixing up the Windows test suite where if  | 
 | 36 | +  you had a file in your `node_modules` it would cause a crash on Windows  | 
 | 37 | +  (but not MacOS/Linux).  | 
 | 38 | + | 
 | 39 | +  This makes the error code you get on Windows match that from MacOS/Linux  | 
 | 40 | +  if you try to read a `package.json` from a path that includes a file, not  | 
 | 41 | +  a folder.  | 
 | 42 | +  ([@zkat](https://github.com/zkat))  | 
 | 43 | + | 
 | 44 | +### v3.8.8 (2016-04-21)  | 
 | 45 | + | 
 | 46 | +Hi all! Long time no see! We've been heads-down working through getting  | 
 | 47 | +[our test suite passing on Windows](https://github.com/npm/npm/pull/11444).  | 
 | 48 | +Did you know that we have  | 
 | 49 | +[Windows CI](https://ci.appveyor.com/project/npm/npm) now running over at  | 
 | 50 | +Appveyor?  In the meantime, we've got a bunch of dependency updates, some  | 
 | 51 | +nice documentation improvements and error messages when your `package.json`  | 
 | 52 | +contains invalid JSON. (Yeah, I thought we did that last one before too!)  | 
 | 53 | + | 
 | 54 | +#### BAD JSON IS BAD  | 
 | 55 | + | 
 | 56 | +* [`769e620`](https://github.com/npm/npm/commit/769e6200722d8060b6769e47354032c51cfa85a1)  | 
 | 57 | +  [#12406](https://github.com/npm/npm/pull/12406)  | 
 | 58 | +  Failing to parse the top level `package.json` should be an error.  | 
 | 59 | +  ([@watilde](https://github.com/watilde))  | 
 | 60 | + | 
 | 61 | +#### DOCUMENTATION  | 
 | 62 | + | 
 | 63 | +* [`7d64301`](https://github.com/npm/npm/commit/7d643018af5051c920cc73f17bfe32b7ff86e108)  | 
 | 64 | +  [#12415](https://github.com/npm/npm/pull/12415)  | 
 | 65 | +  Clarify that when configuring client-side certificates for authenticating  | 
 | 66 | +  to non-npm registries that `cert` and `key` are not filesystem paths and should  | 
 | 67 | +  actually include the certificate and key data.  | 
 | 68 | +  ([@rvedotrc](https://github.com/rvedotrc))  | 
 | 69 | +* [`f8539b8`](https://github.com/npm/npm/commit/f8539b8c986e81771ccc8ced7e716718423d3187)  | 
 | 70 | +  [#12324](https://github.com/npm/npm/pull/12324)  | 
 | 71 | +  Describe how `npm run` sets `NODE` and `PATH` in more detail.  | 
 | 72 | +  Note that `npm run` changes `PATH` to include the current node  | 
 | 73 | +  interpreter’s directory.  | 
 | 74 | +  ([@addaleax](https://github.com/addaleax))  | 
 | 75 | +* [`2b57606`](https://github.com/npm/npm/commit/2b57606852a2c2a03e4c4b7dcda85b807619c2cf)  | 
 | 76 | +  [#11461](https://github.com/npm/npm/pull/11461)  | 
 | 77 | +  Clarify the documentation for the package.json homepage field.  | 
 | 78 | +  ([@stevemao](https://github.com/stevemao))  | 
 | 79 | + | 
 | 80 | +#### TESTS  | 
 | 81 | + | 
 | 82 | +* [`b5a0fbb`](https://github.com/npm/npm/commit/b5a0fbb9e1a2c4fb003dd748264571aa6e3c9e70)  | 
 | 83 | +  [#12329](https://github.com/npm/npm/pull/12329)  | 
 | 84 | +  Fix progress config testing to ignore local user configs.  | 
 | 85 | +  Previously, _any_ local setting would cause the tests to fail as  | 
 | 86 | +  they were trying to test what the default values for the progress  | 
 | 87 | +  bar would be in different environments and any explicit setting  | 
 | 88 | +  overrides those defaults.  | 
 | 89 | +  ([@iarna](https://github.com/iarna))  | 
 | 90 | +* [`3d195bc`](https://github.com/npm/npm/commit/3d195bc0a72b40df02a5c56e4f3be44152e8222b)  | 
 | 91 | +  The lifecycle-signal test could crash on v0.8 due to its use of `Number.parseInt`, which  | 
 | 92 | +  isn't available in that version of node.  Fortunately `global.parseInt` _is_, so  | 
 | 93 | +  we just use that instead.  | 
 | 94 | +  ([@iarna](https://github.com/iarna))  | 
 | 95 | + | 
 | 96 | +#### DEPENDENCY UPDATES  | 
 | 97 | + | 
 | 98 | +* [`05a28e3`](https://github.com/npm/npm/commit/05a28e38586082ac4bbf26ee6f863cc8d07054d6)  | 
 | 99 | +  `npm-package-arg@4.1.1`:  | 
 | 100 | +  Under some circumstances `file://` URLs on Windows were not handled correctly.  | 
 | 101 | + | 
 | 102 | +  Also, stop converting local module/tarballs into full paths in this  | 
 | 103 | +  module.  We do already do that in `realize-package-specifier`, which is  | 
 | 104 | +  more appropriate as it knows what package we're installing relative to.  | 
 | 105 | +  ([@zkat](https://github.com/zkat))  | 
 | 106 | +* [`ada2e93`](https://github.com/npm/npm/commit/ada2e93e8b276000150a9aa93fff69ec366e03d6)  | 
 | 107 | +  `realize-package-specifier@3.0.3`:  | 
 | 108 | +  Require the new `npm-package-arg`, plus fix a case where specifiers that were  | 
 | 109 | +  maybe a tag, maybe a local filename were resolved differently than those that were  | 
 | 110 | +  definitely a local filename.  | 
 | 111 | +  ([@zkat](https://github.com/zkat)) ([@iarna](https://github.com/iarna))  | 
 | 112 | +* [`adc515b`](https://github.com/npm/npm/commit/adc515b22775871386cd62390079fb4bf8e1714a)  | 
 | 113 | +  `fs-vacuum@1.2.9`:  | 
 | 114 | +  A fix for AIX where a non-empty directory can cause `fs.rmDir` to fail with `EEXIST` instead of `ENOTEMPTY`  | 
 | 115 | +  and three new tests  | 
 | 116 | +  ([@richardlau](https://github.com/richardlau))  | 
 | 117 | + | 
 | 118 | +  Code cleanup, CI & dependency updates.  | 
 | 119 | +  ([@othiym23](https://github.com/othiym23))  | 
 | 120 | +* [`ef53a46`](https://github.com/npm/npm/commit/ef53a46906ce872a4541b605dd42a563cc26e614)  | 
 | 121 | +  `tap@5.7.1`  | 
 | 122 | +  ([@isaacs](https://github.com/isaacs))  | 
 | 123 | +* [`df1f2e4`](https://github.com/npm/npm/commit/df1f2e4838b4d7ea2ea2321a95ae868c0ec0a520)  | 
 | 124 | +  `request@2.72.0`:  | 
 | 125 | +  Fix crashes when response headers indicate gzipped content but the body is  | 
 | 126 | +  empty.  | 
 | 127 | +  Add support for the deflate content encoding.  | 
 | 128 | +  ([@simov](https://github.com/simov))  | 
 | 129 | +* [`776c599`](https://github.com/npm/npm/commit/776c599b204632aca9d29fd92ea5c4f099fdea9f)  | 
 | 130 | +  `readable-stream@2.1.0`:  | 
 | 131 | +  Adds READABLE_STREAM env var that, if set to `disable`, will make  | 
 | 132 | +  `readable-stream` use the local native node streams instead.  | 
 | 133 | +  ([@calvinmetcalf](https://github.com/calvinmetcalf))  | 
 | 134 | +* [`10d6d55`](https://github.com/npm/npm/commit/10d6d5547354fcf50e930c7932ba4d63c0b6009c)  | 
 | 135 | +  `normalize-git-url@3.0.2`:  | 
 | 136 | +  Add support `git+file://` type URLs.  | 
 | 137 | +  ([@zkat](https://github.com/zkat))  | 
 | 138 | +* [`75017ae`](https://github.com/npm/npm/commit/75017aeecec69a1efd546df908aa5befc4467f36)  | 
 | 139 | +  `lodash.union@4.3.0`  | 
 | 140 | +  ([@jdalton](https://github.com/jdalton))  | 
 | 141 | + | 
 | 142 | +### v3.8.7 (2016-04-07)  | 
 | 143 | + | 
 | 144 | +#### IMPROVED DIAGNOSTICS  | 
 | 145 | + | 
 | 146 | +* [`38cf79f`](https://github.com/npm/npm/commit/38cf79ffa564ef5cb6677b476e06d0e45351592a)  | 
 | 147 | +  [#12083](https://github.com/npm/npm/pull/12083)  | 
 | 148 | +  If you `ignore-scripts` to disable lifecycles, this makes npm report when it skips running  | 
 | 149 | +  a script.  | 
 | 150 | +  ([@bfred-it](https://github.com/bfred-it))  | 
 | 151 | + | 
 | 152 | +#### IMPROVE AUTO-INCLUDES  | 
 | 153 | + | 
 | 154 | +* [`c615182`](https://github.com/npm/npm/commit/c615182c8b47e418338eb1317b99bb66987cda54)  | 
 | 155 | +  [#11995](https://github.com/npm/npm/pull/11995)  | 
 | 156 | +  There were bugs where modules whose names matched the special files that npm always  | 
 | 157 | +  includes would be included, for example, the `history` package was always included.  | 
 | 158 | + | 
 | 159 | +  With `npm@3` such extraneously bundled modules would not be ordinarily  | 
 | 160 | +  used, as things in `node_modules` in packages are ignored entirely if the  | 
 | 161 | +  package isn't marked as bundling modules.  | 
 | 162 | + | 
 | 163 | +  Because of this `npm@3` behavior, the `files-and-ignores` test failed to catch this as  | 
 | 164 | +  it was testing _install output_ not what got packed. That has also been fixed.  | 
 | 165 | +  ([@glenjamin](https://github.com/glenjamin))  | 
 | 166 | + | 
 | 167 | +#### DOCUMENTATION UPDATES  | 
 | 168 | + | 
 | 169 | +* [`823d9df`](https://github.com/npm/npm/commit/823d9dfa91d7086a26620f007aee4e3cd77b6153)  | 
 | 170 | +  [#12107](https://github.com/npm/npm/pull/12107)  | 
 | 171 | +  In the command summary for `adduser` mention that `login` is an alias.  | 
 | 172 | +  ([@gnerkus](https://github.com/gnerkus))  | 
 | 173 | +* [`7aaf47e`](https://github.com/npm/npm/commit/7aaf47e124c45dde72c961638b770ee535fb2776)  | 
 | 174 | +  [#12244](https://github.com/npm/npm/pull/12244)  | 
 | 175 | +  Update the README to suggest npm@3 for Windows users. Also add a reference to  | 
 | 176 | +  [Microsoft's npm upgrade tool](https://github.com/felixrieseberg/npm-windows-upgrade).  | 
 | 177 | +  ([@felixrieseberg](https://github.com/felixrieseberg))  | 
 | 178 | + | 
 | 179 | +#### DEPENDENCY UPDATES  | 
 | 180 | + | 
 | 181 | +* [`486bbc0`](https://github.com/npm/npm/commit/486bbc0e1b101f847e890e6f1925dc8cb253cf3e)  | 
 | 182 | +  `request@2.70.0`  | 
 | 183 | +  ([@simov](https://github.com/simov))  | 
 | 184 | +* [`b1aff34`](https://github.com/npm/npm/commit/b1aff346fc41f13e3306b437e1831942aacf2f54)  | 
 | 185 | +  `lodash.keys@4.0.6`  | 
 | 186 | +  ([@jdalton](https://github.com/jdalton))  | 
 | 187 | + | 
1 | 188 | ### v3.8.6 (2016-03-31)  | 
2 | 189 | 
 
  | 
3 | 190 | Heeeeeey y'all.  | 
 | 
0 commit comments