1
+ ### v2.12.1 (2015-06-25):
2
+
3
+ #### HEY WHERE DID EVERYBODY GO
4
+
5
+ I keep [ hearing some commotion] ( https://github.com/npm/npm/releases/tag/v3.0.0 ) .
6
+ Is there something going on? Like, a party or something? Anyway, here's a small
7
+ release with at least two significant bug fixes, at least one of which some of
8
+ you have been waiting for for quite a while.
9
+
10
+ #### REMEMBER WHEN I SAID "REMEMBER WHEN I SAID THAT THING ABOUT PERMISSIONS?"?
11
+
12
+ ` npm@2.12.0 ` has a change that introduces a fix for a permissions problem
13
+ whereby the ` _locks ` directory in the cache directory can up being owned by
14
+ root. The fix in 2.12.0 takes care of that problem, but introduces a new
15
+ problem for Windows users where npm tries to call ` process.getuid() ` , which
16
+ doesn't exist on Windows. It was easy enough to fix (but more or less
17
+ impossible to test, thanks to all the external dependencies involved with
18
+ permissions and platforms and whatnot), but as a result, Windows users might
19
+ want to skip ` npm@2.12.0 ` and go straight to ` npm@2.12.1 ` . Sorry about that!
20
+
21
+ * [ ` 7e5da23 ` ] ( https://github.com/npm/npm/commit/7e5da238ee869201fdb9027c27b79b0f76b440a8 )
22
+ When using the new, "fixed" cache directory creator, be extra-careful to not
23
+ call ` process.getuid() ` on platforms that lack it.
24
+ ([ @othiym23 ] ( https://github.com/othiym23 ) )
25
+
26
+ #### WHEW! ALL DONE FIXING GIT FOREVER!
27
+
28
+ New npm CLI team hero [ @zkat ] ( https://github.com/zkat ) has finally (FINALLY)
29
+ fixed the regression somebody (hi!) introduced a couple months ago whereby git
30
+ URLs of the format ` git+ssh://user@githost.com:org/repo.git ` suddenly stopped
31
+ working, and also started being saved (and cached) incorrectly. I am 100% sure
32
+ there are absolutely no more bugs in the git caching code at all ever. Mm hm.
33
+ Yep. Pretty sure. Maybe. Hmm... I hope.
34
+
35
+ * Sighs audibly.*
36
+
37
+ [ Let us know] ( http://github.com/npm/npm/issues/new ) if we broke something else
38
+ with this fix.
39
+
40
+ * [ ` 94ca4a7 ` ] ( https://github.com/npm/npm/commit/94ca4a711619ba8e40ce3d20bc42b13cdb7611b7 )
41
+ [ #8031 ] ( https://github.com/npm/npm/issues/8031 ) Even though
42
+ ` git+ssh://user@githost.com:org/repo.git ` isn't a URL, treat it like one for
43
+ the purposes of npm. ([ @zkat ] ( https://github.com/zkat ) )
44
+ * [ ` e7f56e5 ` ] ( https://github.com/npm/npm/commit/e7f56e5a97fcf1c52d5c5bee71303b0126129815 )
45
+ [ #8031 ] ( https://github.com/npm/npm/issues/8031 ) ` normalize-git-url@2.0.0 ` :
46
+ Handle git URLs (and URL-like remote refs) in a manner consistent with npm's
47
+ docs. ([ @zkat ] ( https://github.com/zkat ) )
48
+
49
+ #### YEP, THERE ARE STILL DEPENDENCY UPGRADES
50
+
51
+ * [ ` 679bf47 ` ] ( https://github.com/npm/npm/commit/679bf4745ac2cfbb01c9ce273e189807fd04fa33 )
52
+ [ #40 ] ( http://github.com/npm/read-installed/issues/40 ) ` read-installed@4.0.1 ` :
53
+ Handle prerelease versions in top-level dependencies not in ` package.json `
54
+ without marking those packages as invalid.
55
+ ([ @benjamn ] ( https://github.com/benjamn ) )
56
+ * [ ` 3a67410 ` ] ( https://github.com/npm/npm/commit/3a6741068c9119174c920496778aeee870ebdac0 )
57
+ ` tap@1.3.1 ` ([ @isaacs ] ( https://github.com/isaacs ) )
58
+ * [ ` 151904a ` ] ( https://github.com/npm/npm/commit/151904af39dc24567f8c98529a2a64a4dbcc960a )
59
+ ` nopt@3.0.3 ` ([ @isaacs ] ( https://github.com/isaacs ) )
60
+
61
+ ### v2.12.0 (2015-06-18):
62
+
63
+ #### REMEMBER WHEN I SAID THAT THING ABOUT PERMISSIONS?
64
+
65
+ About [ a million people] ( https://github.com/npm/npm/issues?utf8=%E2%9C%93&q=is%3Aissue+EACCES+_locks )
66
+ have filed issues related to having a tough time using npm after they've run
67
+ npm once or twice with sudo. "Don't worry about it!" I said. "We've fixed all
68
+ those permissions problems ages ago! Use this one weird trick and you'll never
69
+ have to deal with this again!"
70
+
71
+ Well, uh, if you run npm with root the first time you run npm on a machine, it
72
+ turns out that the directory npm uses to store lockfiles ends up being owned by
73
+ the wrong user (almost always root), and that can, well, it can cause problems
74
+ sometimes. By which I mean every time you run npm without being root it'll barf
75
+ with ` EACCES ` errors. Whoops!
76
+
77
+ This is an obnoxious regression, and to prevent it from recurring, we've made
78
+ it so that the cache, cached git remotes, and the lockfile directories are all
79
+ created and maintained using the same utilty module, which not only creates the
80
+ relevant paths with the correct permissions, but will fix the permissions on
81
+ those directories (if it can) when it notices that they're broken. An `npm
82
+ install` run as root ought to be sufficient to fix things up (and if that
83
+ doesn't work, first tell us about it, and then run `sudo chown -R $(whoami)
84
+ $HOME/.npm`)
85
+
86
+ Also, I apologize for inadvertently gaslighting any of you by claiming this bug
87
+ wasn't actually a bug. I do think we've got this permanently dealt with now,
88
+ but I'll be paying extra-close attention to permissions issues related to the
89
+ cache for a while.
90
+
91
+ * [ ` 85d1a53 ` ] ( https://github.com/npm/npm/commit/85d1a53d7b5e0fc04823187e522ae3711ede61fa )
92
+ Set permissions on lock directory to the owner of the process.
93
+ ([ @othiym23 ] ( https://github.com/othiym23 ) )
94
+
95
+ #### I WENT TO NODECONF AND ALL I GOT WAS THIS LOUSY SPDX T-SHIRT
96
+
97
+ That's not literally true. We spent very little time discussing SPDX,
98
+ [ @kemitchell ] ( https://github.com/kemitchell ) is a champ, and I had a lot of fun
99
+ playing drum & bass to a mostly empty Boogie Barn and only ended up with one
100
+ moderately severe cold for my pains. Another winner of a NodeConf! (I would
101
+ probably wear a SPDX T-shirt if somebody gave me one, though.)
102
+
103
+ A bunch of us did have a spirited discussion of the basics of open-source
104
+ intellectual property, and the convergence of me,
105
+ [ @kemitchell ] ( https://github.com/kemitchell ) , and
106
+ [ @jandrieu ] ( https://github.com/jandrieu ) in one place allowed us to hammmer out
107
+ a small but significant issue that had been bedeviling early adopters of the
108
+ new SPDX expression syntax in ` package.json ` license fields: how to deal with
109
+ packages that are left without a license on purpose.
110
+
111
+ Refer to [ the docs] ( https://github.com/npm/npm/blob/16a3dd545b10f8a2464e2037506ce39124739b41/doc/files/package.json.md#license )
112
+ for the specifics, but the short version is that instead of using
113
+ ` LicenseRef-LICENSE ` for proprietary licenses, you can now use either
114
+ ` UNLICENSED ` if you want to make it clear that you don't _ want_ your software
115
+ to be licensed (and want npm to stop warning you about this), or `SEE LICENSE
116
+ IN <filename >` if there's a license with custom text you want to use. At some
117
+ point in the near term, we'll be updating npm to verify that the mentioned
118
+ file actually exists, but for now you're all on the honor system.
119
+
120
+ * [ ` 4827fc7 ` ] ( https://github.com/npm/npm/commit/4827fc784117c17f35dd9b51b21d1eff6094f661 )
121
+ [ #8557 ] ( https://github.com/npm/npm/issues/8557 )
122
+ ` normalize-package-data@2.2.1 ` : Allow ` UNLICENSED ` and `SEE LICENSE IN
123
+ <filename >` in "license" field of ` package.json`.
124
+ ([ @kemitchell ] ( https://github.com/kemitchell ) )
125
+ * [ ` 16a3dd5 ` ] ( https://github.com/npm/npm/commit/16a3dd545b10f8a2464e2037506ce39124739b41 )
126
+ [ #8557 ] ( https://github.com/npm/npm/issues/8557 ) Document the new accepted
127
+ values for the "license" field.
128
+ ([ @kemitchell ] ( https://github.com/kemitchell ) )
129
+ * [ ` 8155311 ` ] ( https://github.com/npm/npm/commit/81553119350deaf199e79e38e35b52a5c8ad206c )
130
+ [ #8557 ] ( https://github.com/npm/npm/issues/8557 ) ` init-package-json@1.7.0 ` :
131
+ Support new "license" field values at init time.
132
+ ([ @kemitchell ] ( https://github.com/kemitchell ) )
133
+
134
+ #### SMALLISH BUG FIXES
135
+
136
+ * [ ` 9d8cac9 ` ] ( https://github.com/npm/npm/commit/9d8cac94a258db648a2b1069b1c8c6529c79d013 )
137
+ [ #8548 ] ( https://github.com/npm/npm/issues/8548 ) Remove extraneous newline
138
+ from ` npm view ` output, making it easier to use in shell scripts.
139
+ ([ @eush77 ] ( https://github.com/eush77 ) )
140
+ * [ ` 765fd4b ` ] ( https://github.com/npm/npm/commit/765fd4bfca8ea3e2a4a399765b17eec40a3d893d )
141
+ [ #8521 ] ( https://github.com/npm/npm/issues/8521 ) When checking for outdated
142
+ packages, or updating packages, raise an error when the registry is
143
+ unreachable instead of silently "succeeding".
144
+ ([ @ryantemple ] ( https://github.com/ryantemple ) )
145
+
146
+ #### SMALLERISH DOCUMENTATION TWEAKS
147
+
148
+ * [ ` 5018335 ` ] ( https://github.com/npm/npm/commit/5018335ce1754a9f771954ecbc1a93acde9b8c0a )
149
+ [ #8365 ] ( https://github.com/npm/npm/issues/8365 ) Add details about which git
150
+ environment variables are whitelisted by npm.
151
+ ([ @nmalaguti ] ( https://github.com/nmalaguti ) )
152
+ * [ ` bed9edd ` ] ( https://github.com/npm/npm/commit/bed9edddfdcc6d22a80feab33b53e4ef9172ec72 )
153
+ [ #8554 ] ( https://github.com/npm/npm/issues/8554 ) Fix typo in version docs.
154
+ ([ @rainyday ] ( https://github.com/rainyday ) )
155
+
156
+ #### WELL, I GUESS THERE ARE MORE DEPENDENCY UPGRADES
157
+
158
+ * [ ` 7ce2f06 ` ] ( https://github.com/npm/npm/commit/7ce2f06f6f34d469b1d2e248084d4f3fef10c05e )
159
+ ` request@2.58.0 ` : Refactor tunneling logic, and use ` extend ` instead of
160
+ abusing ` util._extend ` . ([ @simov ] ( https://github.com/simov ) )
161
+ * [ ` e6c6195 ` ] ( https://github.com/npm/npm/commit/e6c61954aad42e20eec49745615c7640b2026a6c )
162
+ ` nock@2.6.0 ` : Refined interception behavior.
163
+ ([ @pgte ] ( https://github.com/pgte ) )
164
+ * [ ` 9583cc3 ` ] ( https://github.com/npm/npm/commit/9583cc3cb192c2fced006927cfba7cd37b588605 )
165
+ ` fstream-npm@1.0.3 ` : Ensure that ` main ` entry in ` package.json ` is always
166
+ included in the bundled package tarball.
167
+ ([ @coderhaoxin ] ( https://github.com/coderhaoxin ) )
168
+ * [ ` df89493 ` ] ( https://github.com/npm/npm/commit/df894930f2716adac28740b29b2e863170919990 )
169
+ ` fstream@1.0.7 ` ([ @isaacs ] ( https://github.com/isaacs ) )
170
+ * [ ` 9744049 ` ] ( https://github.com/npm/npm/commit/974404934758124aa8ae5b54f7d5257c3bd6b588 )
171
+ ` dezalgo@1.0.3 ` : ` dezalgo ` should be usable in the browser, and can be now
172
+ that ` asap ` has been upgraded to be browserifiable.
173
+ ([ @mvayngrib ] ( https://github.com/mvayngrib ) )
174
+
1
175
### v2.11.3 (2015-06-11):
2
176
3
177
This was a very quiet week. This release was done by
@@ -15,19 +189,19 @@ NodeConf Adventure!
15
189
16
190
* [ ` 9f439da ` ] ( https://github.com/npm/npm/commit/9f439da )
17
191
` spdx@0.4.1 ` : License range updates
18
- (@kemitchell ) [ https://github.com/kemitchell ]
192
+ ([ @kemitchell ] ( https://github.com/kemitchell ) )
19
193
* [ ` 2dd055b ` ] ( https://github.com/npm/npm/commit/2dd055b )
20
194
` normalize-package-data@2.2.1 ` : Fixes a crashing bug when the package.json
21
195
` scripts ` property is not an object.
22
- (@iarna ) [ https://github.com/iarna ]
196
+ ([ @iarna ] ( https://github.com/iarna ) )
23
197
* [ ` e02e85d ` ] ( https://github.com/npm/npm/commit/e02e85d )
24
198
` osenv@0.1.2 ` : Switches to using the ` os-tmpdir ` module instead of
25
199
` os.tmpdir() ` for greate consistency in behavior between node versions.
26
- (@iarna ) [ https://github.com/iarna ]
200
+ ([ @iarna ] ( https://github.com/iarna ) )
27
201
* [ ` a6f0265 ` ] ( https://github.com/npm/npm/commit/a6f0265 )
28
- ` ini@1.3.4 ` (@isaacs ) [ https://github.com/isaacs ]
202
+ ` ini@1.3.4 ` ([ @isaacs ] ( https://github.com/isaacs ) )
29
203
* [ ` 7395977 ` ] ( https://github.com/npm/npm/commit/7395977 )
30
- ` rimraf@2.4.0 ` (@isaacs ) [ https://github.com/isaacs ]
204
+ ` rimraf@2.4.0 ` ([ @isaacs ] ( https://github.com/isaacs ) )
31
205
32
206
### v2.11.2 (2015-06-04):
33
207
0 commit comments