microsoft / microsoft/vscode-cpptools
Notification of breaking api change with v1.92 release of VS Code
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 6.2k
- Forks
- 1.7k
- Avg merge
- 14h 46m
- Merged PRs (30d)
- 61
Description
Hello from the VS Code team 👋
In our next release v1.92, we will update to Electron 30 which includes Node.js 20.14.0. This Node version contains a breaking change, in response to a CVE, which may affect you if you execute .bat or .cmd files on Windows. Based on a simple scan of your extension's source code, you may be impacted by this change. The stable VS Code that contains this update will be released in early August.
Action: please try out your extension on this month's VS Code Insiders on Windows. If you are affected by this change, you will encounter an EINVAL error when you try to spawn a bat/cmd file.
Node.js has added a section on batch file spawning to their documentation. To fix any issues:
- Find locations where you call
child_process.spawnto execute a batch file on Windows - Add
shell: trueorshell: process.platform === 'win32'to the options object - If the batch script path may contain spaces, you will also need to wrap the path in quotation marks.
Please let us know if you run into issues or if you need clarification.
Happy coding!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by scanning the extension source for child_process.spawn calls that execute .bat or .cmd files on Windows, then test the extension with VS Code Insiders on Windows. Done means affected spawns no longer produce EINVAL after the documented option and path-handling changes are applied.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- node.js, typescript, vscode
- Domain
- tooling
- Issue type
- Documentation
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Clearly specified
- Newbie friendliness
- 35/100