Sourced from qs's changelog.
6.16.0
- [New]
stringify: add adepthoption to bound recursion depth (defaultInfinity)- [Fix] stringify: serialize Date values when a filter is provided
- [Fix]
parse: enforcearrayLimiton comma groups under[]=whenthrowOnLimitExceededis set- [Fix]
parse: flatten a collection appended to an overflowed array (#571)- [Fix]
utils:isBuffer: do not invoke a non-callableconstructor.isBuffer- [Fix]
stringify: do not letallowEmptyArraysskip cycle detection (or drop own keys) on an empty array with own properties- [Fix]
stringify: encode dots in a top-level key with a primitive value when encodeDotInKeys is set (#562)- [Docs] threat model: clarify
stringifydeep-nesting DoS is caller-bounded- [Docs] clarify
arrayLimitis a representation threshold, not an element-count cap- [Tests]
parse: remove a test that pinned[]=comma groups escapingarrayLimit- [Tests]
stringify: pin currentencodeDotInKeysseparator-dot behavior- [Dev Deps] update
@ljharb/eslint-config,eslint- [Dev Deps] update
eslint,evalmd6.15.3
- [Fix]
parse: enforcethrowOnLimitExceededfor cumulative array growth viacombine/merge- [Fix]
utils: respect encoding of surrogate pairs across chunks (#559)- [Robustness]
parse: throw thearrayLimiterror before splitting oversized comma values- [Robustness]
utils.merge/utils.assign: avoid invoking__proto__setter when copying own properties- [Robustness]
utils: enforcearrayLimitconsistently acrossmerge's array paths- [Perf]
utils: makecompactO(n) via a side-channel visited-set instead ofArray.indexOf- [Deps] update
side-channel- [Dev Deps] update
eslint,mock-property,tape- [Tests]
parse: characterize current lenient handling of unbalanced bracket keys (#558)6.15.2
- [Fix]
stringify: skip null/undefined entries inarrayFormat: 'comma'+encodeValuesOnlyinstead of crashing inencoder- [Fix]
stringify: use configureddelimiteraftercharsetSentinel(#555)- [Fix]
stringify: applyformatterto encoded key understrictNullHandling(#554)- [Fix]
stringify: skip null/undefined filter-array entries instead of crashing inencoder(#551)- [Fix]
parse: handle nested bracket groups and add regression tests (#530); changes output for some unbalanced bracket keys (see #558)- [readme] fix grammar (#550)
- [Dev Deps] update
@ljharb/eslint-config- [Tests] add regression tests for keys containing percent-encoded bracket text
6.15.1
- [Fix]
parse:parameterLimit: InfinitywiththrowOnLimitExceeded: truesilently drops all parameters- [Deps] update
@ljharb/eslint-config- [Dev Deps] update
@ljharb/eslint-config,iconv-lite- [Tests] increase coverage
6.15.0
bb9379e
v6.16.062fd254
[Fix] stringify: serialize Date values when a filter is provided8859c37
[Fix] parse: enforce arrayLimit on comma
groups under []= when `throwOn...8079adc
[Tests] parse: remove a test that pinned []=
comma groups escaping `array...d56f48c
[Fix] parse: flatten a collection appended to an overflowed
arraye83d321
[Fix] utils: isBuffer: do not invoke a
non-callable constructor.isBuffer7e87a07
[Dev Deps] update @ljharb/eslint-config,
eslint9a76af2
[Dev Deps] update eslint, evalmd3a890d4
[Dev Deps] update eslint, evalmdb433a9b
[Fix] stringify: do not let allowEmptyArrays
skip cycle detection (or dro...