Skip to content

6.15.2 parse behavioral change breaks nested bracket query string parsing #558

@Israel-Kli

Description

@Israel-Kli

Summary

Upgrading from qs@6.15.0 to qs@6.15.2 introduced a behavioral change in parse that breaks existing query string handling in Express-based applications using nested bracket group notation.

Context

The 6.15.2 changelog mentions:

[Fix] parse: handle nested bracket groups and add regression tests (#530)

While this is framed as a fix, it changes the parsed output for query strings that were previously handled differently. Applications relying on the prior behavior see regressions without any code change on their end.

Impact

In our case, query strings like:

groupBy=service&groupBy=linkedaccid&startDate=2021-08-01&...

are parsed differently between 6.15.0 and 6.15.2, causing API endpoints to receive incorrect or empty parameter values, resulting in empty responses where data is expected.

Suggestion

It would help to:

  1. Clearly document this as a breaking behavioral change in the changelog (not just a fix), so consumers can assess impact before upgrading.
  2. Consider whether the prior behavior was actually incorrect or just undocumented, as many applications may depend on it.

Environment

  • qs version: 6.15.0 (working) → 6.15.2 (broken)
  • Used via npm overrides in an Express.js application
  • Node.js version: 24

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions