Repository navigation
Require Node.js 22 and update CI to 22, 24, and 26 - #2009
Merged
Ramses Sanchez-Hernandez (ramsessanchez) merged 3 commits intoOct 22, 2026
Merged
Ramses Sanchez-Hernandez (ramsessanchez) merged 3 commits into
Ramses Sanchez-Hernandez (ramsessanchez) merged 3 commits into
Conversation
Use Node.js 22, 24, and 26 in CI and Node.js 22 for production artifacts. Align engines, workflow runtimes, documentation, and dependencies needed for Node.js 26 compatibility. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 37bb4a6b-a434-49e8-8017-3b488dc09bd1
Ramses Sanchez-Hernandez (ramsessanchez)
requested a review
from a team
as a code owner
October 21, 2026 22:08
Override the transitive serializer in both npm projects and refresh their lockfiles without changing the parent tool versions. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 37bb4a6b-a434-49e8-8017-3b488dc09bd1
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 37bb4a6b-a434-49e8-8017-3b488dc09bd1
Gavin Barron (gavinbarron)
approved these changes
Oct 21, 2026
Ramses Sanchez-Hernandez (ramsessanchez)
merged commit Oct 22, 2026
e6a6221
into
dev
8 checks passed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
A similar PR may already be submitted! Please search among the Pull request before creating one.
Thanks for submitting a pull request! Please provide enough information so that others can review your pull request.
NOTE: PR's will be accepted only in case of appropriate information is provided below
Summary
NodeTool@0withUseNode@1.serialize-javascriptdependency to exactly 7.1.1 using overrides in both the root and ESM npm projects, refreshing both lockfiles without upgrading the parent Mocha/Terser packages.Motivation
Remove obsolete Node.js build selections and support claims, and establish a consistent minimum runtime and explicit CI matrix for new builds and releases. This is a breaking support-policy change: consumers must use Node.js 22 or newer.
The existing locked JWT dependencies imported the removed
SlowBufferAPI on Node.js 26, and the old ESM test runner hit a yargs module-loading failure. The dependency updates address these observed failures rather than performing a general dependency refresh.The serializer follow-up explicitly pins version 7.1.1 for both independent npm installations, superseding the earlier 7.0.2 pin. Its Node.js 20+ requirement is covered by the new minimum. This remains a build/test dependency change, with no new SDK runtime dependencies or SDK source changes.
Provider-controlled Azure reporting/security tasks without newer supported bundled runtimes remain unchanged so their checks are not removed. External Azure DevOps release configuration is outside this checkout.
Searched existing pull requests before opening this one. The setup-node action upgrade overlaps #1988; this PR additionally coordinates the runtime support policy, release build, compatibility fixes, and documentation.
Test plan
Demonstrate the code is solid. Example: The exact commands you ran and their output.
Verified the final serializer 7.1.1 pin using isolated supported Node.js runtimes on Windows. Builds exercise Rollup/Terser serialization; serial and parallel tests exercise both Mocha versions:
npm run buildnpm run test:cjsnpm run test:cjs -- --parallel --jobs 2 --reporter dotnpm --prefix test-esm testnpm --prefix test-esm test -- --parallel --jobs 2npm ci --no-audit --no-fundandnpm --prefix test-esm ci --no-audit --no-fund: passed with the final serializer 7.1.1 lockfiles using Node.js 22.npm ls serialize-javascript --all: passed with version 7.1.1.git diff --cached --check: passed before committing the 7.1.1 follow-up.npm testpassed on Node.js 22/24/26, including 352 browser tests per runtime using Chrome Headless 156. Browser tests were not rerun for the build/test-only 7.1.1 bump; the CJS suites were rerun as shown above.npm --prefix samples run build:typescript: passed on Node.js 22/24/26 during the initial Node.js update.npm run lint: not run.Additional diagnostic limitations, not changes to the normal CI commands:
npm run test:cjs -- --parallel --jobs 2fails in the existing JUnit reporter withCannot read properties of undefined (reading 'testsuite'). An isolated serializer 6.0.2 baseline reproduced the same failure during the earlier investigation. Parallel serializer compatibility is verified with the built-indotreporter; normal serialnpm run test:cjsretains the unchanged JUnit reporter and passes with 7.1.1.npm --prefix test-esm ls serialize-javascript --allreportedELSPROBLEMSfor the linked SDK's dev-only Mocha/Terser^6ranges when traversing the root installation. That inventory diagnostic was not rerun for 7.1.1; both clean installs and explicit consumer-resolution checks pass with version 7.1.1.Closing issues
N/A — no linked issue.
Types of changes
Checklist