Repository navigation
Update reported process.version to v22.23.4; add a compat flag for v24 - #8147
Conversation
There was a problem hiding this comment.
Superseded by the review of
c1a35dd1.
This review, of 0f18d5dc
✅ Approved — Trivial one-line version constant update with no issues found.
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
✅ All checks passed
📋 Code reviewer: ✅ LGTM
The change only updates the nodeVersion constant. Its single consumer is process.c++, and no tests or other code depend on the old value.
Reviewed commit: 0f18d5dc
0f18d5d to
c1a35dd
Compare
There was a problem hiding this comment.
Superseded by the review of
1e1a86a4.
This review, of c1a35dd1
💬 Approved with comments — One-line version constant update that matches the title and commit message. The only note is that the description still refers to the 24.x line.
Findings: 1 info (1 is an inline comment on the diff)
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
📋 Code reviewer: 💬 1 info
Constant change is fine; the description is stale relative to the code.
Recommendation: 💬 Optional Nits
- [INFO] The description says process.version moves to the 24 line (24.22.2), but the code and title set 22.23.4. Update the description to match. (
src/workerd/api/node/node-version.h:17)
View full review
The constant is 22.23.4, matching the title and commit message. The description still describes a move to 24.x (24.22.2), so it should be updated.
Reviewed commit: c1a35dd1
There was a problem hiding this comment.
Superseded by the review of
4ffb267d.
This review, of 1e1a86a4
💬 Approved with comments — The version bump and the compat-flag selection are correct and tested. The only note is a stale code comment, and the pull request description now understates the change because it doesn't mention the Node 24 flag.
Findings: 1 suggestion (1 is an inline comment on the diff)
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
📋 Code Quality: 💬 1 suggestion
The change is correct. The comment above the version selection still describes a single 'most current' version.
Recommendation: 💬 Optional Nits
- [SUGGESTION] Stale comment above the flag-based Node.js version selection (
src/workerd/api/node/process.c++:125)
View full review
src/workerd/api/node/process.c++:122-126: the comment still says the reported value is "the most current Node.js version supported by the platform". The value is now picked between nodeVersion22 and nodeVersion24 by the nodejs_process_version_24 flag. The new line also sits under the sentence about the empty-string entries, which is about the other version fields.
The flag definition, the constants, the update script and the tests are fine.
✅ All other checks passed
🚀 Release: ✅ LGTM
Low risk. Existing Workers keep reporting a 22.x version until they opt in or move past the 2026-11-24 compatibility date.
🔒 Security: ✅ LGTM
No security concerns. The flag only picks between two hardcoded version strings, and the update script checks the GitHub tags it reads against a strict version regex.
📖 AGENTS.md: ✅ LGTM
No issues found.
⚡ Performance: ✅ LGTM
No issues found.
📝 Documentation: ✅ LGTM
No issues found.
Reviewed commit: 1e1a86a4
1e1a86a to
4ffb267
Compare
There was a problem hiding this comment.
Superseded by the review of
22400fed.
This review, of 4ffb267d
✅ Approved — The only earlier note, a stale comment, is fixed, and nothing new came up. The version bump and the flag-based selection are correct and tested.
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
✅ All checks passed
🚀 Release: ✅ LGTM
Risk: Low. Existing Workers keep reporting a 22.x version until they opt in or move past the 2026-11-24 compatibility date.
🔒 Security: ✅ LGTM
No security concerns. The flag only picks between two hardcoded version strings.
📖 AGENTS.md: ✅ LGTM
No issues found.
📋 Code Quality: ✅ LGTM
No issues found. The comment above the version selection in process.c++ now describes the flag-based choice.
⚡ Performance: ✅ LGTM
No issues found.
📝 Documentation: ✅ LGTM
No issues found.
Reviewed commit: 4ffb267d
node-version.h now has one `nodeVersion<major>` constant per reported major. By default, update_node_version.py updates each of them to the latest release in its series; `--major N` limits it to one. It no longer picks a target major by itself, because adding a major requires a compatibility flag. `just update-reported-node-version` forwards its arguments to the script. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
4ffb267 to
22400fe
Compare
There was a problem hiding this comment.
✅ Approved — The only earlier note, a stale comment, is fixed, and nothing new came up. The version bump and the flag-based selection are correct and tested.
The decision is advisory: this review is a comment and never approves, blocks or requests changes on the pull request.
✅ All checks passed
🚀 Release: ✅ LGTM
Risk: Low. Existing Workers keep reporting a 22.x version until they opt in or move past the 2026-11-24 compatibility date.
🔒 Security: ✅ LGTM
No security concerns. The flag only picks between two hardcoded version strings.
📖 AGENTS.md: ✅ LGTM
No issues found.
📋 Code Quality: ✅ LGTM
No issues found. The comment above the version selection in process.c++ now describes the flag-based choice.
⚡ Performance: ✅ LGTM
No issues found.
📝 Documentation: ✅ LGTM
No issues found.
Reviewed commit: 22400fed — same changes as 4ffb267d, so this is that commit's review (no new review was run; line numbers are as of 4ffb267d)
Tools that read
process.versionas a real Node.js version flag v22.19.0 as vulnerable to CVE-2026-111497 (fixed in 22.23.4). For example, the Stripe SDK sends it to Stripe, which then emails Workers customers a security warning.nodejs_process_version_24, which reports 24.22.2. It's on by default from compatibility date 2026-11-24, andno_nodejs_process_version_24turns it off. Libraries feature-sniff on the reported major version, so moving to 24 needs a flag.update_node_version.pynow updates one constant per major. Pass--major Nto update just one. It no longer jumps to a new major by itself