|
| 1 | +### v2.10.1 (2015-05-14): |
| 2 | + |
| 3 | +#### BUG FIXES & DOCUMENTATION TWEAKS |
| 4 | + |
| 5 | +* [`dc77520`](https://github.com/npm/npm/commit/dc7752013ffce13a3d3f13e518a0052c22fc1158) |
| 6 | + When getting back a 404 from a request to a private registry that uses a |
| 7 | + registry path that extends past the root |
| 8 | + (`http://registry.enterprise.co/path/to/registry`), display the name of the |
| 9 | + nonexistent package, rather than the first element in the registry API path. |
| 10 | + Sorry, Artifactory users! ([@hayes](https://github.com/hayes)) |
| 11 | +* [`f70dea9`](https://github.com/npm/npm/commit/f70dea9b4766f6eaa55012c3e8087e9cb04fd4ce) |
| 12 | + Make clearer that `--registry` can be used on a per-publish basis to push a |
| 13 | + package to a non-default registry. ([@mischkl](https://github.com/mischkl)) |
| 14 | +* [`a3e26f5`](https://github.com/npm/npm/commit/a3e26f5b4465991a941a325468ab7725670d2a94) |
| 15 | + Did you know that GitHub shortcuts can have commit-ishes included |
| 16 | + (`org/repo#branch`)? They can! ([@iarna](https://github.com/iarna)) |
| 17 | +* [`0e2c091`](https://github.com/npm/npm/commit/0e2c091a539b61fdc60423b6bbaaf30c24e4b1b8) |
| 18 | + Some errors from `readPackage` were being swallowed, potentially leading to |
| 19 | + invalid package trees on disk. ([@smikes](https://github.com/smikes)) |
| 20 | + |
| 21 | +#### DEPENDENCY UPDATES! STILL! MORE! AGAIN! |
| 22 | + |
| 23 | +* [`0b901ad`](https://github.com/npm/npm/commit/0b901ad0811d84dda6ca0755a9adc8d47825edd0) |
| 24 | + `[email protected]`: Removed some cruft from the published package. |
| 25 | + ([@isaacs](https://github.com/isaacs)) |
| 26 | +* [`d713e0b`](https://github.com/npm/npm/commit/d713e0b14930c563e3fdb6ac6323bae2a8924652) |
| 27 | + `[email protected]`: Made compliant with `standard`, dropped support for Node 0.6, |
| 28 | + added (Travis) support for Node 0.12 and io.js. |
| 29 | + ([@isaacs](https://github.com/isaacs)) |
| 30 | +* [`a2d6578`](https://github.com/npm/npm/commit/a2d6578b6554c5c9d48fe2006751759f4da57520) |
| 31 | + `[email protected]`: Updated to use `tap@1`. ( [@isaacs](https://github.com/isaacs)) |
| 32 | +* [`64cd1a5`](https://github.com/npm/npm/commit/64cd1a570aaa5f24ccba190948ec9456297c97f5) |
| 33 | + `fstream@ 1.0.6`: Made compliant with [`standard`](http://npm.im/standard) |
| 34 | + (done by [@othiym23](https://github.com/othiym23), and then debugged and |
| 35 | + fixed by [@iarna](https://github.com/iarna)), and license changed to ISC. |
| 36 | + ([@othiym23](https://github.com/othiym23) / |
| 37 | + [@iarna](https://github.com/iarna)) |
| 38 | +* [`b527a7c`](https://github.com/npm/npm/commit/b527a7c2ba3c4002f443dd2c536ff4ff41a38b86) |
| 39 | + `[email protected]`: Callers can pass in their own `PATH` instead of relying on |
| 40 | + `process.env`. ([@isaacs](https://github.com/isaacs)) |
| 41 | + |
| 42 | +### v2.10.0 (2015-05-8): |
| 43 | + |
| 44 | +#### THE IMPLICATIONS ARE MORE PROFOUND THAN THEY APPEAR |
| 45 | + |
| 46 | +If you've done much development in The Enterprise®™, you know that keeping |
| 47 | +track of software licenses is far more important than one might expect / hope / |
| 48 | +fear. Tracking licenses is a hassle, and while many (if not most) of us have |
| 49 | +(reluctantly) gotten around to setting a license to use by default with all our |
| 50 | +new projects (even if it's just WTFPL), that's about as far as most of us think |
| 51 | +about it. In big enterprise shops, ensuring that projects don't inadvertently |
| 52 | +use software with unacceptably encumbered licenses is serious business, and |
| 53 | +developers spend a surprising (and appalling) amount of time ensuring that |
| 54 | +licensing is covered by writing automated checkers and other license auditing |
| 55 | +tools. |
| 56 | + |
| 57 | +The Linux Foundation has been working on a machine-parseable syntax for license |
| 58 | +expressions in the form of [SPDX](https://spdx.org/), an appropriately |
| 59 | +enterprisey acronym. IP attorney and JavaScript culture hero [Kyle |
| 60 | +Mitchell](http://kemitchell.com/) has put a considerable amount of effort into |
| 61 | +bringing SPDX to JavaScript and Node. He's written |
| 62 | +[`spdx.js`](https://github.com/kemitchell/spdx.js), a JavaScript SPDX |
| 63 | +expression parser, and has integrated it into npm in a few different ways. |
| 64 | + |
| 65 | +For you as a user of npm, this means: |
| 66 | + |
| 67 | +* npm now has proper support for dual licensing in `package.json`, due to |
| 68 | + SPDX's compound expression syntax. Run `npm help package.json` for details. |
| 69 | +* npm will warn you if the `package.json` for your project is either missing a |
| 70 | + `"license"` field, or if the value of that field isn't a valid SPDX |
| 71 | + expression (pro tip: `"BSD"` becomes `"BSD-2-Clause"` in SPDX (unless you |
| 72 | + really want one of its variants); `"MIT"` and `"ISC"` are fine as-is; the |
| 73 | + [full list](https://github.com/shinnn/spdx-license-ids/blob/master/spdx-license-ids.json) |
| 74 | + is its own package). |
| 75 | +* `npm init` now demands that you use a valid SPDX expression when using it |
| 76 | + interactively (pro tip: I mostly use `npm init -y`, having previously run |
| 77 | + `npm config set init.license=MIT` / `npm config set init.author.email=foo` / |
| 78 | + `npm config set init.author.name=me`). |
| 79 | +* The documentation for `package.json` has been updated to tell you how to use |
| 80 | + the `"license"` field properly with SPDX. |
| 81 | + |
| 82 | +In general, this shouldn't be a big deal for anybody other than people trying |
| 83 | +to run their own automated license validators, but in the long run, if |
| 84 | +everybody switches to this format, many people's lives will be made much |
| 85 | +simpler. I think this is an important improvement for npm and am very thankful |
| 86 | +to Kyle for taking the lead on this. Also, even if you think all of this is |
| 87 | +completely stupid, just [choose a license](http://en.wikipedia.org/wiki/License-free_software) |
| 88 | +anyway. Future you will thank past you someday, unless you are |
| 89 | +[djb](http://cr.yp.to/), in which case you are djb, and more power to you. |
| 90 | + |
| 91 | +* [`8669f7d`](https://github.com/npm/npm/commit/8669f7d88c472ccdd60e140106ac43cca636a648) |
| 92 | + [#8179](https://github.com/npm/npm/issues/8179) Document how to use SPDX in |
| 93 | + `license` stanzas in `package.json`, including how to migrate from old busted |
| 94 | + license declaration arrays to fancy new compound-license clauses. |
| 95 | + ([@kemitchell](https://github.com/kemitchell)) |
| 96 | +* [`98ad98c`](https://github.com/npm/npm/commit/98ad98cb11f3d3ba29a488ef1ab050b066d9c7f6) |
| 97 | + [#8197](https://github.com/npm/npm/issues/8197) `[email protected]` |
| 98 | + Ensure that packages bootstrapped with `npm init` use an SPDX-compliant |
| 99 | + license expression. ([@kemitchell](https://github.com/kemitchell)) |
| 100 | +* [`2ad3905`](https://github.com/npm/npm/commit/2ad3905e9139b0be2b22accf707b814469de813e) |
| 101 | + [#8197](https://github.com/npm/npm/issues/8197) |
| 102 | + `[email protected]`: Warn when a package is missing a license |
| 103 | + declaration, or using a license expression that isn't valid SPDX. |
| 104 | + ([@kemitchell](https://github.com/kemitchell)) |
| 105 | +* [`127bb73`](https://github.com/npm/npm/commit/127bb73ccccc59a1267851c702d8ebd3f3a97e81) |
| 106 | + [#8197](https://github.com/npm/npm/issues/8197) `[email protected]`: Switch from |
| 107 | + `BSD` to `ISC` for license, where the latter is valid SPDX. |
| 108 | + ([@othiym23](https://github.com/othiym23)) |
| 109 | +* [`e9a933a`](https://github.com/npm/npm/commit/e9a933a9148180d9d799f99f4154f5110ff2cace) |
| 110 | + [#8197](https://github.com/npm/npm/issues/8197) `[email protected]`: Switch from |
| 111 | + `BSD` to `ISC` for license, where the latter is valid SPDX. |
| 112 | + ([@othiym23](https://github.com/othiym23)) |
| 113 | +* [`412401f`](https://github.com/npm/npm/commit/412401fb6a19b18f3e02d97a24d4dafed650c186) |
| 114 | + [#8197](https://github.com/npm/npm/issues/8197) `[email protected]`: Switch from |
| 115 | + `BSD` to `ISC` for license, where the latter is valid SPDX. |
| 116 | + ([@othiym23](https://github.com/othiym23)) |
| 117 | + |
| 118 | +As a corollary to the previous changes, I've put some work into making `npm |
| 119 | +install` spew out fewer pointless warnings about missing values in transitive |
| 120 | +dependencies. From now on, npm will only warn you about missing READMEs, |
| 121 | +license fields, and the like for top-level projects (including packages you |
| 122 | +directly install into your application, but we may relax that eventually). |
| 123 | + |
| 124 | +Practically _nobody_ liked having those warnings displayed for child |
| 125 | +dependencies, for the simple reason that there was very little that anybody |
| 126 | +could _do_ about those warnings, unless they happened to be the maintainers of |
| 127 | +those dependencies themselves. Since many, many projects don't have |
| 128 | +SPDX-compliant licenses, the number of warnings reached a level where they ran |
| 129 | +the risk of turning into a block of visual noise that developers (read: me, and |
| 130 | +probably you) would ignore forever. |
| 131 | + |
| 132 | +So I fixed it. If you still want to see the messages about child dependencies, |
| 133 | +they're still there, but have been pushed down a logging level to `info`. You |
| 134 | +can display them by running `npm install -d` or `npm install --loglevel=info`. |
| 135 | + |
| 136 | +* [`eb18245`](https://github.com/npm/npm/commit/eb18245f55fb4cd62a36867744bcd1b7be0a33e2) |
| 137 | + Only warn on normalization errors for top-level dependencies. Transitive |
| 138 | + dependency validation warnings are logged at `info` level. |
| 139 | + ([@othiym23](https://github.com/othiym23)) |
| 140 | + |
| 141 | +#### BUG FIXES |
| 142 | + |
| 143 | +* [`e40e809`](https://github.com/npm/npm/commit/e40e8095d2bc9fa4eb8f01aa22067e0068fa8a54) |
| 144 | + `[email protected]`: TAP: The Next Generation. Fix up many tests to they work |
| 145 | + properly with the new major version of `node-tap`. Look at all the colors! |
| 146 | + ([@isaacs](https://github.com/isaacs)) |
| 147 | +* [`f9314e9`](https://github.com/npm/npm/commit/f9314e97d26532c0ef2b03e98f3ed300b7cd5026) |
| 148 | + `[email protected]`: Minor tweaks and bug fixes. ( [@pgte](https://github.com/pgte)) |
| 149 | +* [`45c2b1a`](https://github.com/npm/npm/commit/45c2b1aaa051733fa352074994ae6e569fd51e8b) |
| 150 | + [#8187](https://github.com/npm/npm/issues/8187) `npm ls` wasn't properly |
| 151 | + recognizing dependencies installed from GitHub repositories as git |
| 152 | + dependencies, and so wasn't displaying them as such. |
| 153 | + ([@zornme](https://github.com/zornme)) |
| 154 | +* [`1ab57c3`](https://github.com/npm/npm/commit/1ab57c38116c0403965c92bf60121f0f251433e4) |
| 155 | + In some cases, `npm help` was using something that looked like a regular |
| 156 | + expression where a glob pattern should be used, and vice versa. |
| 157 | + ([@isaacs](https://github.com/isaacs)) |
| 158 | + |
| 159 | +### v2.9.1 (2015-04-30): |
| 160 | + |
| 161 | +#### WOW! MORE GIT FIXES! YOU LOVE THOSE! |
| 162 | + |
| 163 | +The first item below is actually a pretty big deal, as it fixes (with a |
| 164 | +one-word change and a much, much longer test case (thanks again, |
| 165 | +[@iarna](https://github.com/iarna))) a regression that's been around for months |
| 166 | +now. If you're depending on multiple branches of a single git dependency in a |
| 167 | +single project, you probably want to check out `[email protected]` and verify that |
| 168 | +things (again?) work correctly in your project. |
| 169 | + |
| 170 | +* [`178a6ad`](https://github.com/npm/npm/commit/178a6ad540215820d16217465a5f220d8c95a313) |
| 171 | + [#7202](https://github.com/npm/npm/issues/7202) When caching git |
| 172 | + dependencies, do so by the whole URL, including the branch name, so that if a |
| 173 | + single application depends on multiple branches from the same repository (in |
| 174 | + practice, multiple version tags), every install is of the correct version, |
| 175 | + instead of reusing whichever branch the caching process happened to check out |
| 176 | + first. ([@iarna](https://github.com/iarna)) |
| 177 | +* [`63b79cc`](https://github.com/npm/npm/commit/63b79ccde092a9cb3b1f34abe43e1d2ba69c0dbf) |
| 178 | + [#8084](https://github.com/npm/npm/issues/8084) Ensure that Bitbucket, |
| 179 | + GitHub, and Gitlab dependencies are installed the same way as non-hosted git |
| 180 | + dependencies, fixing `npm install --link`. |
| 181 | + ([@laiso](https://github.com/laiso)) |
| 182 | + |
| 183 | +#### DOCUMENTATION FIXES AND TWEAKS |
| 184 | + |
| 185 | +These changes may seem simple and small (except Lin's fix to the package name |
| 186 | +restrictions, which was more an egregious oversight on our part), but cleaner |
| 187 | +documentation makes npm significantly more pleasant to use. I really appreciate |
| 188 | +all the typo fixes, clarifications, and formatting tweaks people send us, and |
| 189 | +am delighted that we get so many of these pull requests. Thanks, everybody! |
| 190 | + |
| 191 | +* [`ca478dc`](https://github.com/npm/npm/commit/ca478dcaa29b8f07cd6fe515a3c4518166819291) |
| 192 | + [#8137](https://github.com/npm/npm/issues/8137) Somehow, we had failed to |
| 193 | + clearly document the full restrictions on package names. |
| 194 | + [@linclark](https://github.com/linclark) has now fixed that, although we will |
| 195 | + take with us to our graves the reasons why the maximum package name length is 214 |
| 196 | + characters (well, OK, it was that that was the longest name in the registry |
| 197 | + when we decided to put a cap on the name length). |
| 198 | + ([@linclark](https://github.com/linclark)) |
| 199 | +* [`b574076`](https://github.com/npm/npm/commit/b5740767c320c1eff3576a8d63952534a0fbb936) |
| 200 | + [#8079](https://github.com/npm/npm/issues/8079) Make the `npm shrinkwrap` |
| 201 | + documentation use code formatting for examples consistently. It would be |
| 202 | + great to do this for more commands HINT HINT. |
| 203 | + ([@RichardLitt](https://github.com/RichardLitt)) |
| 204 | +* [`1ff636e`](https://github.com/npm/npm/commit/1ff636e2db3852a53e38c866fed7eafdacd307fc) |
| 205 | + [#8105](https://github.com/npm/npm/issues/8105) Document that the global |
| 206 | + `npmrc` goes in `$PREFIX/etc/npmrc`, instead of `$PREFIX/npmrc`. |
| 207 | + ([@anttti](https://github.com/anttti)) |
| 208 | +* [`c3f2f7c`](https://github.com/npm/npm/commit/c3f2f7c299342e1c1eccc55a976a63c607f51621) |
| 209 | + [#8127](https://github.com/npm/npm/issues/8127) Document how to use `npm run |
| 210 | + build` directly (hint: it's different from `npm build`!). |
| 211 | + ([@mikemaccana](https://github.com/mikemaccana)) |
| 212 | +* [`873e467`](https://github.com/npm/npm/commit/873e46757e1986761b15353f94580a071adcb383) |
| 213 | + [#8069](https://github.com/npm/npm/issues/8069) Take the old, dead npm |
| 214 | + mailing list address out of `package.json`. It seems that people don't have |
| 215 | + much trouble figuring out how to report errors to npm. |
| 216 | + ([@robertkowalski](https://github.com/robertkowalski)) |
| 217 | + |
| 218 | +#### ENROBUSTIFICATIONMENT |
| 219 | + |
| 220 | +* [`5abfc9c`](https://github.com/npm/npm/commit/5abfc9c9017da714e47a3aece750836b4f9af6a9) |
| 221 | + [#7973](https://github.com/npm/npm/issues/7973) `npm run-script` completion |
| 222 | + will only suggest run scripts, instead of including dependencies. If for some |
| 223 | + reason you still wanted it to suggest dependencies, let us know. |
| 224 | + ([@mantoni](https://github.com/mantoni)) |
| 225 | +* [`4b564f0`](https://github.com/npm/npm/commit/4b564f0ce979dc74c09604f4d46fd25a2ee63804) |
| 226 | + [#8081](https://github.com/npm/npm/issues/8081) Use `osenv` to parse the |
| 227 | + environment's `PATH` in a platform-neutral way. |
| 228 | + ([@watilde](https://github.com/watilde)) |
| 229 | +* [`a4b6238`](https://github.com/npm/npm/commit/a4b62387b41848818973eeed056fd5c6570274f3) |
| 230 | + [#8094](https://github.com/npm/npm/issues/8094) When we refactored the |
| 231 | + configuration code to split out checking for IPv4 local addresses, we |
| 232 | + inadvertently completely broke it by failing to return the values. In |
| 233 | + addition, just the call to `os.getInterfaces()` could throw on systems where |
| 234 | + querying the network configuration requires elevated privileges (e.g. Amazon |
| 235 | + Lambda). Add the return, and trap errors so they don't cause npm to explode. |
| 236 | + Thanks to [@mhart](https://github.com/mhart) for bringing this to our |
| 237 | + attention! ([@othiym23](https://github.com/othiym23)) |
| 238 | + |
| 239 | +#### DEPENDENCY UPDATES WAIT FOR NO SOPHONT |
| 240 | + |
| 241 | +* [`000cd8b`](https://github.com/npm/npm/commit/000cd8b52104942ac3404f0ad0651d82f573da37) |
| 242 | + `[email protected]`: More informative assertions on argument validation failure. |
| 243 | + ([@isaacs](https://github.com/isaacs)) |
| 244 | +* [`530a2e3`](https://github.com/npm/npm/commit/530a2e369128270f3e098f0e9be061533003b0eb) |
| 245 | + `[email protected]`: Revert to old key access-time behavior, as it was correct |
| 246 | + all along. ([@isaacs](https://github.com/isaacs)) |
| 247 | +* [`d88958c`](https://github.com/npm/npm/commit/d88958ca02ce81b027b9919aec539d0145875a59) |
| 248 | + `[email protected]`: Feature detection and test improvements. |
| 249 | + ([@isaacs](https://github.com/isaacs)) |
| 250 | +* [`3fa39e4`](https://github.com/npm/npm/commit/3fa39e4d492609d5d045033896dcd99f7b875329) |
| 251 | + `[email protected]` ( [@pgte](https://github.com/pgte)) |
| 252 | + |
1 | 253 | ### v2.9.0 (2015-04-23):
|
2 | 254 |
|
3 | 255 | This week was kind of a breather to concentrate on fixing up the tests on the
|
|
0 commit comments