-
Notifications
You must be signed in to change notification settings - Fork 29.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Revert "src: runtime deprecate process.umask()" #35332
Conversation
This reverts commit 60c4c2b.
If not now, then when? Pushing out the deprecation warning to v16.x, an LTS release line, will probably be more disruptive. With v15.x, there's at least a pretty big time window for library authors to update their code. |
@bnoordhuis the main problem right now is that this warning is printed everytime npm is executed. |
@ruyadorno could you have a look at npm 6 to fix this? That would be great :-) |
If I'm not mistaken, the problem is in the
|
And it looks like updating to |
Looks like there's an existing issue in the npm issue tracker. I tried updating to |
This has the benefit of removing a `process.umask()` that causes a runtime deprecation warning if commands such as `npm ls` are run either with Node.js pending deprecations enabled or with the current 15.0.0 RC. Refs: nodejs/node#35332 (comment) Refs: npm#1103
This has the benefit of removing a `process.umask()` that causes a runtime deprecation warning if commands such as `npm ls` are run either with Node.js pending deprecations enabled or with the current 15.0.0 RC. Refs: nodejs/node#35332 (comment) Refs: npm#1103
So you consider reverting a breaking change in 15.0.0 just because npm latest is trying to support an EOL version of Node (6.x)? :( |
Not exactly "just because" that, no. We're considering delaying an unnecessary (albeit desirable) breaking change that will cause distress for the millions of npm 6.x users over something that the users will be powerless to do anything about. Given the choice between "Show millions of people warnings that they can't do anything about on nearly every We can re-land the breaking change for Node.js 16.x or 17.x and, if necessary and appropriate, work in the meantime to help npm move away from the deprecated API. Again, this seems like an easy call. As for |
To build on top of @Trott reply, the way I understand it the last discussion in the Release WG came to the conclusion that having the warning being present in the npm version that is being shipped with core is more of a flagrant example that the change might be too disruptive to the ecosystem at this point in time.
Given the above + the fact that it seems to be really last minute to try and patch it (I'm not fully aware of what it implies and last time I chatted with @isaacs about it, it seemed to be a non-trivial change) I'm in favor of reverting the change for v15 😊 |
Agreed, it would have been much better to go out in an odd release line. But I don't think that it is an option to release the runtime deprecation while Assuming there are no blocking objections, I'll move forward and land this. (Until this lands, CI is failing on |
FWIW I had done some initial research into making the error log only when the call to umask was inside an application, rather than in a dependency (similar to what we did with buffer). This error is in C++ and the instantiation of process happens earlier in the bootstrap than any of the internal helpers we have for buffer. I think that could be a potential alternative solution, but have not figured out how to accomplish it within the constraints of process |
Any chance npm 7 ships before Node.js 15 ships and we can include npm 7 and avoid this revert? Timeline seems awfully compressed for that, so I'm guessing the answer is "no" but you don't know if you don't ask, so I'm asking anyway. |
@Trott we are planning to get npm 7 into 15... but the umask warning is not fixed in npm 7 yet (to the best of my knowlege) |
I'm using npm 7 with I am seeing this deprecation on every command though, due to (I think)
|
@Trott You won't see the umask warning with Node.js 14.13.0 as it was only docs deprecated there. |
I was going to write that I will see it because I have |
This reverts commit 60c4c2b. PR-URL: #35332 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Ruy Adorno <[email protected]>
Landed in 4acab22 |
This reverts commit 60c4c2b. PR-URL: nodejs#35332 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: Michaël Zasso <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: Rich Trott <[email protected]> Reviewed-By: Ruy Adorno <[email protected]>
This reverts commit 60c4c2b.
Checklist
make -j4 test
(UNIX), orvcbuild test
(Windows) passesOnly the documentation deprecation was released in v14.x. We pushed the runtime deprecation to v15.x, but it looks like it will cause too much ecosystem disruption.
Refs: #35014 (comment)
Opening this PR to start the discussion on reverting the runtime deprecation.