Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 17, 2026

Bumps qs from 6.11.2 to 6.14.1.

Changelog

Sourced from qs's changelog.

6.14.1

  • [Fix] ensure arrayLength applies to [] notation as well
  • [Fix] parse: when a custom decoder returns null for a key, ignore that key
  • [Refactor] parse: extract key segment splitting helper
  • [meta] add threat model
  • [actions] add workflow permissions
  • [Tests] stringify: increase coverage
  • [Dev Deps] update eslint, @ljharb/eslint-config, npmignore, es-value-fixtures, for-each, object-inspect

6.14.0

  • [New] parse: add throwOnParameterLimitExceeded option (#517)
  • [Refactor] parse: use utils.combine more
  • [patch] parse: add explicit throwOnLimitExceeded default
  • [actions] use shared action; re-add finishers
  • [meta] Fix changelog formatting bug
  • [Deps] update side-channel
  • [Dev Deps] update es-value-fixtures, has-bigints, has-proto, has-symbols
  • [Tests] increase coverage

6.13.1

  • [Fix] stringify: avoid a crash when a filter key is null
  • [Fix] utils.merge: functions should not be stringified into keys
  • [Fix] parse: avoid a crash with interpretNumericEntities: true, comma: true, and iso charset
  • [Fix] stringify: ensure a non-string filter does not crash
  • [Refactor] use __proto__ syntax instead of Object.create for null objects
  • [Refactor] misc cleanup
  • [Tests] utils.merge: add some coverage
  • [Tests] fix a test case
  • [actions] split out node 10-20, and 20+
  • [Dev Deps] update es-value-fixtures, mock-property, object-inspect, tape

6.13.0

  • [New] parse: add strictDepth option (#511)
  • [Tests] use npm audit instead of aud

6.12.3

  • [Fix] parse: properly account for strictNullHandling when allowEmptyArrays
  • [meta] fix changelog indentation

6.12.2

  • [Fix] parse: parse encoded square brackets (#506)
  • [readme] add CII best practices badge

6.12.1

  • [Fix] parse: Disable decodeDotInKeys by default to restore previous behavior (#501)
  • [Performance] utils: Optimize performance under large data volumes, reduce memory usage, and speed up processing (#502)
  • [Refactor] utils: use +=
  • [Tests] increase coverage

6.12.0

... (truncated)

Commits
  • 3fa11a5 v6.14.1
  • a626704 [Dev Deps] update npmignore
  • 3086902 [Fix] ensure arrayLength applies to [] notation as well
  • fc7930e [Dev Deps] update eslint, @ljharb/eslint-config
  • 0b06aac [Dev Deps] update @ljharb/eslint-config
  • 64951f6 [Refactor] parse: extract key segment splitting helper
  • e1bd259 [Dev Deps] update @ljharb/eslint-config
  • f4b3d39 [eslint] add eslint 9 optional peer dep
  • 6e94d95 [Dev Deps] update eslint, @ljharb/eslint-config, npmignore
  • 973dc3c [actions] add workflow permissions
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Bumps [qs](https://github.com/ljharb/qs) from 6.11.2 to 6.14.1.
- [Changelog](https://github.com/ljharb/qs/blob/main/CHANGELOG.md)
- [Commits](ljharb/qs@v6.11.2...v6.14.1)

---
updated-dependencies:
- dependency-name: qs
  dependency-version: 6.14.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot bot added dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code labels Jan 17, 2026
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Jan 17, 2026

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.


Comment @coderabbitai help to get the list of available commands and usage tips.

@greptile-apps
Copy link
Contributor

greptile-apps bot commented Jan 17, 2026

Greptile Summary

Updated qs library from 6.11.2 to 6.14.1 across two packages (@requestnetwork/ethereum-storage and @requestnetwork/request-client.js). This update includes important security fixes and performance improvements.

Key changes in this update:

  • Security fixes: Multiple fixes for parameter handling, including ensuring arrayLength applies to [] notation, handling null decoder returns, preventing crashes with filter keys, and fixing crashes with specific charset/delimiter combinations
  • New security options: Added throwOnParameterLimitExceeded and strictDepth options for better protection against DoS attacks
  • Performance improvements: Optimized performance under large data volumes with reduced memory usage
  • Bug fixes: Fixed decodeDotInKeys default behavior and encoded square bracket parsing

The library is used in two locations:

  1. http-data-access-config.ts - uses stringify() to convert HTTP request parameters to query strings
  2. ipfs-manager.ts - uses stringify() with arrayFormat: 'repeat' option for IPFS API requests

Both use cases only use the stringify function for encoding parameters, not parsing untrusted input, which limits exposure to parsing vulnerabilities.

Confidence Score: 5/5

  • This PR is safe to merge with no risk
  • Straightforward dependency update from an automated dependency management tool (Dependabot). The qs library update includes important security fixes and performance improvements. The library is only used for encoding query parameters in two locations (HTTP client and IPFS manager), both using the stringify function rather than parsing untrusted input, which significantly reduces security risk. The version jump from 6.11.2 to 6.14.1 includes several patch releases with bug fixes and security hardening. No breaking changes are expected based on the changelog, and the update addresses known vulnerabilities.
  • No files require special attention

Important Files Changed

Filename Overview
packages/ethereum-storage/package.json Updated qs dependency from 6.11.2 to 6.14.1, including security fixes and performance improvements
packages/request-client.js/package.json Updated qs dependency from 6.11.2 to 6.14.1, including security fixes and performance improvements
yarn.lock Updated qs and transitive dependencies including side-channel, object-inspect, and new side-channel modules

Sequence Diagram

sequenceDiagram
    participant Client
    participant HttpDataAccessConfig
    participant IpfsManager
    participant QS as qs Library
    participant RemoteAPI
    
    Note over QS: Updated from 6.11.2 to 6.14.1
    
    Client->>HttpDataAccessConfig: fetch(method, path, params)
    HttpDataAccessConfig->>QS: stringify(params)
    Note over QS: Converts params to query string<br/>with security improvements
    QS-->>HttpDataAccessConfig: query string
    HttpDataAccessConfig->>RemoteAPI: HTTP request with query params
    RemoteAPI-->>HttpDataAccessConfig: response
    HttpDataAccessConfig-->>Client: result
    
    Client->>IpfsManager: ipfs(path, config)
    IpfsManager->>QS: stringify(config.params, {arrayFormat: 'repeat'})
    Note over QS: Converts IPFS params<br/>with array handling
    QS-->>IpfsManager: query string
    IpfsManager->>RemoteAPI: IPFS API request
    RemoteAPI-->>IpfsManager: response
    IpfsManager-->>Client: result
Loading

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

Labels

dependencies Pull requests that update a dependency file javascript Pull requests that update javascript code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant