Repository navigation
fix(deps): pin query-string 9.5.1 to restore release builds - #636
Merged
Merged
Conversation
daniel-graham-amplitude
self-requested a review
November 12, 2026 22:20
daniel-graham-amplitude
approved these changes
Nov 12, 2026
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
github-actions Bot
pushed a commit
that referenced
this pull request
Nov 12, 2026
## [8.21.11](v8.21.10...v8.21.11) (2026-11-12) ### Bug Fixes * **deps:** patch legacy browser tooling security (SDK-644) ([#632](#632)) ([d10319a](d10319a)) * **deps:** pin query-string 9.5.1 to restore release builds ([#636](#636)) ([6965996](6965996)) * move template variables into ENV ([#628](#628)) ([c624865](c624865))
1 task done
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.
Summary
Restore the
v8.xrelease build by pinningquery-stringto 9.5.1, retaining the patched decoder dependency without migrating this maintenance SDK's build toolchain.After #633 upgraded
query-stringfrom 8.1.0 to 10.0.0, the release job failed duringmake test, before publishing:Why 9.5.1 preserves the security remediation
decode-uri-component@^0.4.1, which cannot resolve to the patched 0.5.x line.decode-uri-component@^0.5.0. The regenerated lockfile resolves it to 0.5.1.^0.5.0range alone does not force an existing 0.5.0 resolution to update.Why not keep 10.0.0 and upgrade Rollup now?
Version 10 uses regular-expression literals with the
vflag. Rollup 2's parser rejects that syntax, regardless of the Node version running the build. This was reproduced with Rollup 2.80.0, so updating within the Rollup 2 line does not fix v10. Version 9.5.1 bundles successfully with that same toolchain.Rollup 4 can parse v10, but a 2-to-4 migration also requires compatible plugin versions, configuration-loading changes, build-environment checks, and validation of generated bundles, module interoperability, tree-shaking, and minification. Rollup 4 also installs platform-specific native dependencies. Separately, accepting v10's syntax during bundling does not transpile it for older browsers; v10 raises browser requirements through the regex
vflag and newer runtime APIs.For this maintenance release, the dependency pin restores the build with a smaller change and retains the security remediation. A Rollup migration can be evaluated separately; this is a scope decision, not a claim that Rollup 2 has a formal EOL date or that Rollup 4 is unsuitable.
Scope and compatibility
Production code uses
queryString.stringify()to encode event-upload bodies insrc/xhr.js;parse()is used in tests. The decoder vulnerability is not reached through this identified production upload path, but the dependency finding still warrants remediation.No SDK API, transport implementation, Rollup/plugin configuration, or browser-support policy changes are included. Older decoder versions remain in other dependency chains; this PR does not claim to clear every repository audit finding. Version 9.5.1 declares Node >=18, compared with >=22 in v10; the release workflow already uses Node 24.
Validation
yarn install --frozen-lockfilepasses.query-string@9.5.1, itsdecode-uri-component@0.5.1, and unchangedrollup@2.80.0.make testbuild and suites pass: 453 browser tests + 18 worker tests, using installed Chromium Headless 141 viaCHROME_BIN(20-second capture timeout, no launch retries).yarn lintandgit diff --checkpass.main; the suites above were run locally for thisv8.xchange.Checklist