|
| 1 | +### v3.7.3 (2016-02-11): |
| 2 | + |
| 3 | +Hey all! We've got a pretty small release this week -- just documentation |
| 4 | +updates and a couple of dependencies. This release also includes a particular |
| 5 | +dependency upgrade that makes it so we're exclusively using the latest version |
| 6 | +of `graceful-fs`, which'll make it so things keep working with future Node.js |
| 7 | +releases. |
| 8 | + |
| 9 | +A certain internal Node.js API was deprecated and slated for future removal from |
| 10 | +Node Core. This API was critical for versions of `graceful-fs@<4`, before a |
| 11 | +different approach was used to achieve similar ends. By upgrading this library, |
| 12 | +and making sure all our dependencies are also updated, we've ensured npm will |
| 13 | +continue to work once the API is finally removed. Older versions of npm, on the |
| 14 | +other hand, will simply not work on future versions of Node.js. |
| 15 | + |
| 16 | +#### DEPENDENCY UPGRADES |
| 17 | + |
| 18 | +* [`29536f4`](https://github.com/npm/npm/commit/29536f42da6c06091c9acbc8952f72daa8a9412c) |
| 19 | + |
| 20 | + Final straggler using `graceful-fs@<4`. |
| 21 | + ([@ForbesLindesay](https://github.com/ForbesLindesay)) |
| 22 | +* [`5f59e74`](https://github.com/npm/npm/commit/5f59e748ef4c066756bb204a452cecd0543c7a2f) |
| 23 | + |
| 24 | + ([@jdalton](https://github.com/jdalton)) |
| 25 | +* [`987cabe`](https://github.com/npm/npm/commit/987cabe8a18abcb5a685685958bf74c7258a979c) |
| 26 | + |
| 27 | + ([@jdalton](https://github.com/jdalton)) |
| 28 | +* [`5c641f0`](https://github.com/npm/npm/commit/5c641f05fdc153c6bb06a89c46fe2a345ce413db) |
| 29 | + |
| 30 | + ([@jdalton](https://github.com/jdalton)) |
| 31 | + |
| 32 | +#### EVERYONE GETTING SOCKS LIKE IT'S OPRAH'S SHOW |
| 33 | + |
| 34 | +* [`9ea5658`](https://github.com/npm/npm/commit/9ea56582ca4d0991dbed44f992c88f08a643cb4b) |
| 35 | + [#11410](https://github.com/npm/npm/pull/11410) |
| 36 | + Fixed a small spelling error in `npm-config.md`. |
| 37 | + ([@pra85](https://github.com/pra85)) |
| 38 | +* [`2a11e56`](https://github.com/npm/npm/commit/2a11e562a14bce18b6ddca6c20d17f97b6a8ec2f) |
| 39 | + [#11403](https://github.com/npm/npm/pull/11403) |
| 40 | + Removes `--depth Infinity` warning from documentation -- this operation should |
| 41 | + actually be totally safe as of `npm@3`. (The warning remains for `npm@2`.) |
| 42 | + ([@Aourin](https://github.com/Aourin)) |
| 43 | +* [`42a4727`](https://github.com/npm/npm/commit/42a4727bfb1e21c890b8e2babda55e06ac2bda29) |
| 44 | + [#11391](https://github.com/npm/npm/pull/11391) |
| 45 | + Fixed versions of `shrinkwrap.json` in examples in documentation for `npm |
| 46 | + shrinkwrap`, which did not quite match up. |
| 47 | + ([@xcatliu](https://github.com/xcatliu)) |
| 48 | + |
| 49 | +### v3.7.2 (2016-02-04): |
| 50 | + |
| 51 | +This week, the CLI team has been busy working on rewriting tests to support |
| 52 | +getting coverage reports going and running all of our tests on Windows. |
| 53 | +Meanwhile, we've got a bunch of dependency updates and one or two other |
| 54 | +things. |
| 55 | + |
| 56 | +#### TESTS WENT INTO HIDING |
| 57 | + |
| 58 | +Last week we took a patch from [@substack](https://github.com/substack) to |
| 59 | +stop the installer from reordering arrays in an installed module's |
| 60 | +`package.json`... but somehow I dropped the test when I was rebasing. |
| 61 | + |
| 62 | +* [`21b9271`](https://github.com/npm/npm/commit/21b927182514a0ff6d9f34480bfc39f72e3e9f8c) |
| 63 | + [#10063](https://github.com/npm/npm/issues/10063) |
| 64 | + Restore test that verifies that we don't re-order arrays in a module's |
| 65 | + `package.json` on install. |
| 66 | + ([@substack](https://github.com/substack)) |
| 67 | + |
| 68 | +#### DOCUMENTATION FIXES |
| 69 | + |
| 70 | +* [`c67521d`](https://github.com/npm/npm/commit/c67521dc6c1e41d39d02c74105e41442851d23bb) |
| 71 | + [#11348](https://github.com/npm/npm/pull/11348) |
| 72 | + Improve the documentation around which files are ALWAYS included in published packages |
| 73 | + and which are ALWAYS excluded. |
| 74 | + ([@jscissr](https://github.com/jscissr)) |
| 75 | +* [`7ef6793`](https://github.com/npm/npm/commit/7ef6793cd191cc8d88340f7e1ce9c9e3d6f0b2f4) |
| 76 | + [#11348](https://github.com/npm/npm/pull/11348) |
| 77 | + The release date on the 3.7.0 changelog entry was wrong. I honestly don't |
| 78 | + know how I keep doing this. =D |
| 79 | + ([@rafek](https://github.com/rafek)) |
| 80 | + |
| 81 | +#### DEPENDENCY UPDATES |
| 82 | + |
| 83 | +* [`8a3c80c`](https://github.com/npm/npm/commit/8a3c80c4fd3d82fe937f30bc7cbd3dee51a8a893) |
| 84 | + |
| 85 | + Fix a bug where close wasn't getting made graceful. |
| 86 | + ([@isaacs](https://github.com/isaacs)) |
| 87 | + |
| 88 | +`lodash` saw updates across most of its modules this week with browser |
| 89 | +campatibility fixes that don't really impact us. |
| 90 | + |
| 91 | +* [`2df342b`](https://github.com/npm/npm/commit/2df342bf30efa99b98016acc8a5dc03e00b58b9c) |
| 92 | + |
| 93 | + ([@jdalton](https://github.com/jdalton)) |
| 94 | +* [`86aa91d`](https://github.com/npm/npm/commit/86aa91dce60f6b6a92bb3ba2bf6e6be1f6afc750) |
| 95 | + |
| 96 | + ([@jdalton](https://github.com/jdalton)) |
| 97 | +* [`0a94bf6`](https://github.com/npm/npm/commit/0a94bf6af0ebd38d080f92257e0cd9bae40b31ff) |
| 98 | + |
| 99 | + ([@jdalton](https://github.com/jdalton)) |
| 100 | +* [`b4c9582`](https://github.com/npm/npm/commit/b4c9582b4ef5991f3d155e0c6142ed1c631860af) |
| 101 | + |
| 102 | + ([@jdalton](https://github.com/jdalton)) |
| 103 | +* [`efe766c`](https://github.com/npm/npm/commit/efe766c63c0948a4ae4c0d12f2b834629ab86e92) |
| 104 | + `[email protected]`: Minor code cleanup and the above. |
| 105 | + ([@jdalton](https://github.com/jdalton)) |
| 106 | +* [`36abb24`](https://github.com/npm/npm/commit/36abb24ef31017adbf325e7f833d5d4b0f03f5d4) |
| 107 | + |
| 108 | + Add support for cloning prototype objects and the above. |
| 109 | + ([@jdalton](https://github.com/jdalton)) |
| 110 | + |
| 111 | +### v3.7.1 (2016-02-01): |
| 112 | + |
| 113 | +Super quick Monday patch on last week's release. |
| 114 | + |
| 115 | +If you ever wondered why we release things to the `npm@next` tag for a week |
| 116 | +before promoting them to `npm@latest`, this is it! |
| 117 | + |
| 118 | +#### RELEASE TRAIN VINDICATED (again) |
| 119 | + |
| 120 | +* [`adcaf04`](adcaf047811dcc475ab1984fc93fe34540fc03d7) |
| 121 | + [#11349](https://github.com/npm/npm/issues/11349) |
| 122 | + Revert last weeks change to use JSON clone instead of `lodash.cloneDeep`. |
| 123 | + ([@iarna](https://github.com/iarna)) |
| 124 | + |
| 125 | +### v3.7.0 (2016-01-29): |
| 126 | + |
| 127 | +Hi all! This week brings us some important performance improvements, |
| 128 | +support for git submodules(!) and a bunch of bug fixes. |
| 129 | + |
| 130 | +#### PERFORMANCE |
| 131 | + |
| 132 | +`gauge`, the module responsible for drawing `npm`'s progress bars, had an |
| 133 | +embarrassing bug in its debounce implementation that resulted in it, on many |
| 134 | +systems, actually being _slower_ than if it hadn't been debouncing. This was |
| 135 | +due to it destroying and then creating a timer object any time it got an |
| 136 | +update while waiting on its minimum update period to elapse. This only was |
| 137 | +a measurable slowdown when sending thousands of updates a second, but |
| 138 | +unfortunately parts of `npm`'s logging do exactly that. This has been patched |
| 139 | +to eliminate that churn, and our testing shows the progress bar as being |
| 140 | +eliminated as a source of slow down. |
| 141 | + |
| 142 | +Meanwhile, `are-we-there-yet` is the module that tracks just how complete |
| 143 | +our big asynchronous install process is. [@STRML](https://github.com/STRML) |
| 144 | +spent some time auditing its source and made a few smaller performance |
| 145 | +improvements to it. Most impactful was eliminating a bizarre bit of code |
| 146 | +that was both binding to AND closing over the current object. I don't have |
| 147 | +any explanation for how that crept in. =D |
| 148 | + |
| 149 | +* [`c680fa9`](https://github.com/npm/npm/commit/c680fa9f8135759eb5512f4b86e47fa265733f79) |
| 150 | + `[email protected]`: New `are-we-there-yet` with performance patches from |
| 151 | + [@STRML](https://github.com/STRML). New `gauge` with timer churn |
| 152 | + performance patch. |
| 153 | + ([@iarna](https://github.com/iarna)) |
| 154 | + |
| 155 | +We were also using `lodash`'s `cloneDeep` on `package.json` data which is |
| 156 | +definitely overkill, seeing as `package.json` data has all the restrictions |
| 157 | +of being `json`. The fix for this is just swapping that out for something |
| 158 | +that does a pair of `JSON.stringify`/`JSON.parse`, which is distinctly more |
| 159 | +speedy. |
| 160 | + |
| 161 | +* [`1d1ea7e`](https://github.com/npm/npm/commit/1d1ea7eeb958034878eb6573149aeecc686888d3) |
| 162 | + [#11306](https://github.com/npm/npm/pull/11306) |
| 163 | + Use JSON clone instead of `lodash.cloneDeep`. |
| 164 | + ([@STRML](https://github.com/STRML)) |
| 165 | + |
| 166 | +#### NEW FEATURE: GIT SUBMODULE SUPPORT |
| 167 | + |
| 168 | +Long, long requested– the referenced issue is from 2011– we're finally |
| 169 | +getting rudimentary git submodule support. |
| 170 | + |
| 171 | +* [`39dea9c`](https://github.com/npm/npm/commit/39dea9ca4216c6ea628f5ca47d2b34a4b251a1ed) |
| 172 | + [#1876](https://github.com/npm/npm/issues/1876) |
| 173 | + Add support for git submodules in git remotes. This is a fairly simple |
| 174 | + approach, which does not leverage the git caching mechanism to cache |
| 175 | + submodules. It also doesn't provide a means to disable automatic |
| 176 | + initialization, e.g. via a setting in the `.gitmodules` file. |
| 177 | + ([@gagern](https://github.com/gagern)) |
| 178 | + |
| 179 | +#### ROBUSTNESS |
| 180 | + |
| 181 | +* [`5dec02a`](https://github.com/npm/npm/commit/5dec02a3d0e82202c021e27aff9d006283fdc25a) |
| 182 | + [#10347](https://github.com/npm/npm/issues/10347) |
| 183 | + There is an obscure feature that lets you monkey-patch npm when it starts |
| 184 | + up. If the module being required with this feature failed, it would |
| 185 | + previously just make `npm` error out– this reduces that to a warning. |
| 186 | + ([@evanlucas](https://github.com/evanlucas)) |
| 187 | + |
| 188 | +#### BUG FIXES |
| 189 | + |
| 190 | +* [`9ab8b8d`](https://github.com/npm/npm/commit/9ab8b8d047792612ae7f9a6079745d51d5283a53) |
| 191 | + [#10820](https://github.com/npm/npm/issues/10820) |
| 192 | + Fix a bug with `npm ls` where if you asked for ONLY production dependencies in output |
| 193 | + it would exclude dependencies that were BOTH production AND development dependencies. |
| 194 | + ([@davidvgalbraith](https://github.com/davidvgalbraith)) |
| 195 | +* [`6803fed`](https://github.com/npm/npm/commit/6803fedadb8f9b36cd85f7338ecf75d1d183c833) |
| 196 | + [#8982](https://github.com/npm/npm/issues/8982) |
| 197 | + Fix a bug where, under some circumstances, if you had a path that |
| 198 | + contained the name of a package being installed somewhere in it, `npm` |
| 199 | + would incorrectly refuse to run lifecycle scripts. |
| 200 | + ([@elvanja](https://github.com/elvanja)) |
| 201 | +* [`3eae40b`](https://github.com/npm/npm/commit/3eae40b7a681aa067dfe4fea8c9a76da5b508b48) |
| 202 | + [#9253](https://github.com/npm/npm/issues/9253) |
| 203 | + Fix a bug where, when running lifecycle scripts, if the Node.js binary you ran |
| 204 | + `npm` with wasn't in your `PATH`, `npm` wouldn't use it to run your scripts. |
| 205 | + ([@segrey](https://github.com/segrey)) |
| 206 | +* [`61daa6a`](https://github.com/npm/npm/commit/61daa6ae8cbc041d3a0d8a6f8f268b47dd8176eb) |
| 207 | + [#11014](https://github.com/npm/npm/issues/11014) |
| 208 | + Fix a bug where running `rimraf node_modules/<package>` followed by `npm |
| 209 | + rm --save <package>` would fail. `npm` now correctly removes the module |
| 210 | + from your `package.json` even though it doesn't exist on disk. |
| 211 | + ([@davidvgalbraith](https://github.com/davidvgalbraith)) |
| 212 | +* [`a605586`](https://github.com/npm/npm/commit/a605586df134ee97c95f89c4b4bd6bc73f7aa439) |
| 213 | + [#9679](https://github.com/npm/npm/issues/9679) |
| 214 | + Fix a bug where `npm install --save git+https://…` would save a `https://` |
| 215 | + url to your `package.json` which was a problem because `npm` wouldn't then |
| 216 | + know that it was a git repo. |
| 217 | + ([@gagern](https://github.com/gagern)) |
| 218 | +* [`bbdc700`](https://github.com/npm/npm/commit/bbdc70024467c365cc4e06b8410947c04b6f145b) |
| 219 | + [#10063](https://github.com/npm/npm/issues/10063) |
| 220 | + Fix a bug where `npm` would change the order of array properties in the |
| 221 | + `package.json` files of dependencies. `npm` adds a bunch of stuff to |
| 222 | + `package.json` files in your `node_modules` folder for debugging and |
| 223 | + bookkeeping purposes. As a part of this process it sorts the object to |
| 224 | + reduce file churn when it does updates. This fixes a bug where the arrays |
| 225 | + in the object were also getting sorted. This wasn't a problem for |
| 226 | + properties that `npm` itself maintains, but _is_ a problem for properties |
| 227 | + used by other packages. |
| 228 | + ([@substack](https://github.com/substack)) |
| 229 | + |
| 230 | +#### DOCS IMPROVEMENTS |
| 231 | + |
| 232 | +* [`2609a29`](https://github.com/npm/npm/commit/2609a2950704f577ac888668e81ba514568fab44) |
| 233 | + [#11273](https://github.com/npm/npm/pull/11273) |
| 234 | + Include an example of viewing package version history in the `npm view` documentation. |
| 235 | + ([@vedatmahir](https://github.com/vedatmahir)) |
| 236 | +* [`719ea9c`](https://github.com/npm/npm/commit/719ea9c45a5c3233f3afde043b89824aad2df0a7) |
| 237 | + [#11272](https://github.com/npm/npm/pull/11272) |
| 238 | + Fix typographical issue in `npm update` documentation. |
| 239 | + ([@jonathanp](https://github.com/jonathanp)) |
| 240 | +* [`cb9df5a`](https://github.com/npm/npm/commit/cb9df5a37091e06071d8704b629e7ebaa41c37fe) |
| 241 | + [#11215](https://github.com/npm/npm/pull/11215) |
| 242 | + Do not call `SEE LICENSE IN <filename>` an _SPDX expression_, as it's not. |
| 243 | + ([@kemitchell](https://github.com/kemitchell)) |
| 244 | +* [`f427934`](https://github.com/npm/npm/commit/f4279346c368da4bca09385f773e8eed1d389e5e) |
| 245 | + [#11196](https://github.com/npm/npm/pull/11196) |
| 246 | + Correct the `package.json` examples in the `npm update` documentation to actually be |
| 247 | + valid JSON and not just JavaScript object literals. |
| 248 | + ([@s100](https://github.com/s100)) |
| 249 | + |
| 250 | +#### DEPENDENCY UPDATES |
| 251 | + |
| 252 | +* [`a7b2407`](https://github.com/npm/npm/commit/a7b24074cb59a1ab17c0d8eff1498047e6a123e5) |
| 253 | + `[email protected]`: New features and interface agnostic refactoring. |
| 254 | + ([@tim-kos](https://github.com/tim-kos)) |
| 255 | +* [`220fc77`](https://github.com/npm/npm/commit/220fc7702ae3e5d601dfefd3e95c14e9b32327de) |
| 256 | + |
| 257 | + A bunch of small bug fixes and module updates. |
| 258 | + ([@simov](https://github.com/simov)) |
| 259 | +* [`9e5c84f`](https://github.com/npm/npm/commit/9e5c84f1903748897e54f8ff099729ff744eab0f) |
| 260 | + |
| 261 | + Update `isexe` and fix bug in `pathExt`, in which files without extensions |
| 262 | + would sometimes be preferred to files with extensions on Windows, even though |
| 263 | + those without extensions aren't executable. |
| 264 | + `pathExt` is a list of extensions that are considered executable (exe, cmd, |
| 265 | + bat, com on Windows). |
| 266 | + ([@isaacs](https://github.com/isaacs)) |
| 267 | +* [`375b9c4`](https://github.com/npm/npm/commit/375b9c42fe0c6de47ac2f92527354b2ea79b7968) |
| 268 | + `[email protected]`: Minor doc formatting fixes. |
| 269 | + ([@isaacs](https://github.com/isaacs)) |
| 270 | +* [`ef1971e`](https://github.com/npm/npm/commit/ef1971e6270c2bc72e6392b51a8b84f52708f7e7) |
| 271 | + |
| 272 | + Misc minor code cleanup. No functional changes. |
| 273 | + ([@jdalton](https://github.com/jdalton)) |
| 274 | + |
1 | 275 | ### v3.6.0 (2016-01-20):
|
2 | 276 |
|
3 | 277 | Hi all! This is a bigger release, in part 'cause we didn't have one last
|
|
0 commit comments