Skip to content

fix(deps): pin query-string 9.5.1 to restore release builds - #636

Merged
Mercy811 merged 1 commit into
v8.xfrom
codex/query-string-9-5-1
Nov 12, 2026
Merged

Mercy811 merged 1 commit into
v8.xfrom
codex/query-string-9-5-1

Conversation

@Mercy811

Copy link
Copy Markdown
Contributor

Summary

Restore the v8.x release build by pinning query-string to 9.5.1, retaining the patched decoder dependency without migrating this maintenance SDK's build toolchain.

After #633 upgraded query-string from 8.1.0 to 10.0.0, the release job failed during make test, before publishing:

(plugin commonjs--resolver) SyntaxError: Invalid regular expression flag (5:73)
node_modules/query-string/base.js

Why 9.5.1 preserves the security remediation

Why not keep 10.0.0 and upgrade Rollup now?

Version 10 uses regular-expression literals with the v flag. 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 v flag 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 in src/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-lockfile passes.
  • Installed versions verified: query-string@9.5.1, its decode-uri-component@0.5.1, and unchanged rollup@2.80.0.
  • Full make test build and suites pass: 453 browser tests + 18 worker tests, using installed Chromium Headless 141 via CHROME_BIN (20-second capture timeout, no launch retries).
  • yarn lint and git diff --check pass.
  • The existing test workflow only targets main; the suites above were run locally for this v8.x change.

Checklist

  • Does your PR title have the correct title format?
  • Does your PR have a breaking change?: No SDK API changes expected; dependency compatibility notes are documented above.

@Mercy811
Mercy811 marked this pull request as ready for review November 12, 2026 22:21
@Mercy811
Mercy811 requested a review from a team as a code owner November 12, 2026 22:21
@Mercy811
Mercy811 merged commit 6965996 into v8.x Nov 12, 2026
3 checks passed
@Mercy811
Mercy811 deleted the codex/query-string-9-5-1 branch November 12, 2026 22:21
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 12, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-12T22:22:17.853093Z 8d0599f Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

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))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants