v1.0.0 — Phase 0 baseline
First maintained release since 2014. Today's code with the minimum patches to be CVE-clean on the original install target (Node 0.10+).
Security
- Reject
deparamparameter keys equal to__proto__,constructor, orprototype(same shape as qs CVE-2017-1000048 / CVE-2022-24999). - New
maxDepthparameter ondeparam(default5) caps nesting depth; parameters exceeding it are silently dropped.
Tooling
- Consolidated
LICENSEwith full attribution to jQuery and jquery-bbq. - Added
SECURITY.md,filesallowlist,engines: ">=0.10". - CI matrix: full mocha on Node 18/20/22/24 via setup-node, Docker smoke on Node 0.10/0.12/4/6/8/10/12/14/16. Zero runtime CVEs.
Tests
- Reference Conformance Spec (`test/conformance.spec.js`, 58 cases) pins the wire-format and security contract for all future modernization phases and any replacement library.
Install
```
npm install node-qs-serialization@1.0.0
```
Breaking change: callers passing prototype-polluting keys or relying on >5-deep nested parameters via `deparam` will see those values silently dropped. Both behaviors are pinned by the conformance spec.