Skip to content

fix(deps): update dependency query-string to v10 - #1372

Open
renovate[bot] wants to merge 1 commit into
mainfrom
renovate/query-string-10.x
Open

renovate[bot] wants to merge 1 commit into
mainfrom
renovate/query-string-10.x

Conversation

@renovate

@renovate renovate Bot commented Oct 24, 2026

Copy link
Copy Markdown
Contributor

This PR contains the following updates:

Package Change Age Confidence
query-string ^9.0.0 → ^10.0.0 age confidence

Release Notes

sindresorhus/query-string (query-string)

v10.0.0

Compare Source

Breaking
  • Require Node.js 22 dc9cd5e
  • stringify() now throws a TypeError for values it cannot represent, like objects, functions, symbols, and Date 99d9c07
    • Before, {a: {}} became a=%5Bobject%20Object%5D. Use the replacer option to convert such values.
  • parse() now collects a repeated key into an array with every arrayFormat 27018f4 a6d6a7f
    • Before, bracket, index, colon-list-separator, bracket-separator, comma, and separator kept only the last value, so foo=1&foo=2 gave {foo: '2'}.
  • An explicit types entry now always takes precedence over parseNumbers and parseBooleans, and a value that does not match its type stays a string 04649de f48a249
  • The string[] and number[] types now always give an array (except with arrayFormat: 'none', as documented) 04649de 2a6984f
  • A percent-encoded byte that is not valid UTF-8 now decodes to U+FFFD, like URLSearchParams, instead of being kept as-is 19331de
  • arrayFormat: 'bracket-separator' no longer splits on a percent-encoded separator, like comma and separator (#​398) deb9784
    • foo[]=a%2Cb,c now gives ['a,b', 'c'].
  • stringifyUrl() now percent-encodes % in fragmentIdentifier 1602ae0
    • The fragment identifier is now a decoded value, like the query values, so it round-trips with parseUrl(). If you passed an already encoded fragment identifier, pass it decoded.
  • pick() and exclude() now write the kept parameters back exactly as they were in the URL 1646c64 e087ca9 a7391f2
    • Options like parseNumbers, parseBooleans, types, and decode only change the value the filter receives. Before, pick('https://foo.bar?id=007', ['id'], {parseNumbers: true}) gave id=7.
Improvements
  • Remove the decode-uri-component dependency and decode in linear time 19331de
    • The old decoder was quadratic for some malformed input.
  • Fix parse() being quadratic for a key that repeats many times with arrayFormat: 'comma' and 'separator' 00a52ff
  • TypeScript: The parsed value types now follow the parseNumbers, parseBooleans, and types options, also for parseUrl(), pick(), and exclude() d239f4f 472777f 789fc36
  • An option that is explicitly undefined now uses its default value 1646c64
Fixes
  • Fix stringify() output that did not parse back to the same value 13bc381 b63dc56 deb9784
    • This affected a separator like - or . inside a value, null items with colon-list-separator, and arrays that became empty after skipping items with bracket-separator.
  • Fix stringify() throwing URIError for a string with a lone surrogate b9ff3f8
  • Fix the sort option 220906a 678ddff 6c6506d
    • sort: true threw in stringify(), parse() threw when sort was not a boolean or a function, sort: false broke arrayFormat: 'index', and pick() ignored sort: false.
  • Fix stringifyUrl() turning an index format array that is already in the URL into [object Object] (#​422) 220906a
  • Fix stringifyUrl(), pick(), and exclude() corrupting the query and the fragment identifier with encode: false 7268b7a c75c681
  • Fix stringifyUrl() changing the parameters that are already in the URL when you give it parse options 93c3e1e
  • Fix parseUrl() and stringifyUrl() keeping leading and trailing whitespace 1d91dbf 93c3e1e
  • Fix parse() throwing for arrayFormat: 'index' when a plain value comes before the indexed entries 8e9d58d
  • Fix parse() using types keys inherited from Object.prototype, like toString (#​421) 0682872
  • Fix stringify() ignoring the replacer result for skipNull and skipEmptyString 42210ea
  • Fix stringify() reading each value twice, which ran getters and Proxy traps two times 5e50210
  • Fix stringifyUrl() not accepting an interface for query cd042b8


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate Bot added the renovate label Oct 24, 2026
@renovate
renovate Bot force-pushed the renovate/query-string-10.x branch from 4da4a96 to 7e19d54 Compare October 27, 2026 00:51
@renovate
renovate Bot force-pushed the renovate/query-string-10.x branch from 7e19d54 to 1ec08c6 Compare November 6, 2026 00:16
@renovate
renovate Bot force-pushed the renovate/query-string-10.x branch from 1ec08c6 to 04f9a85 Compare November 11, 2026 14:12

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants