Sourced from qs's changelog.
6.17.0
- [New]
stringify: addWHATWGformat (#623)- [Fix]
stringify: do not sort the caller'sfilterarray in place (#637)- [Fix]
parse: copy an own__proto__key as data (#636)- [Fix]
parse: decode percent-encoded dots case-insensitively (#635)- [Fix]
stringify: encode keys whenallowEmptyArraysis set (#561)- [Fix]
parse: preserve comma arrays when interpreting numeric entities (#630)- [Fix]
parse: allow scalar fields with a zero array limit (#627)- [Fix]
parse: do not count an existing comma array towardarrayLimitwhenduplicatesdiscards or replaces it- [Fix]
utils:encode: encode lone surrogates as U+FFFD instead of consuming the next code unit (#624)- [eslint] fix indentation
- [readme] document the encoder's
formatargument- [meta] add changelog acknowledgement
- [meta] fix changelog indents
- [Dev Deps] update
eslint,evalmd,npmignore- [Tests]
stringify: pinallowEmptyArraysoutput for keys that need no encoding- [Tests]
stringify: pinsortorder for nested keys selected by an arrayfilter- [Tests]
parse: coverinterpretNumericEntitiesacross value shapes, keys, and the charset sentinel- [Tests]
parse: cover more input that builds no array at a zero or negativearrayLimit- [Tests]
parse: covercommawith a zero or negativearrayLimit, and combining a full comma array- [Tests]
parse: pin the behavior of a zero or negativearrayLimit- [Tests]
utils/stringify: pin~,*, and parens encoding in RFC3986 and RFC17386.16.2
- [Fix]
stringify: encode keys whenallowEmptyArraysis set (#561)- [meta] use double quotes for better OS support
- [Dev Deps] update
evalmd,npmignore- [Tests]
stringify: pinallowEmptyArraysoutput for keys that need no encoding6.16.1
- [Fix]
parse: do not mutate an object input- [Fix]
stringify: stop re-encoding structural separator dots whenencodeDotInKeysis set (#564)- [Fix]
stringify:arrayFormat: 'comma': pass the full encoder arguments withencodeValuesOnly- [Fix]
utils: encode+as%2Bin iso-8859-1 mode so values round-trip (#565)- [Fix] parse: only convert top-level dots to brackets when allowDots is on (#621)
- [Fix]
stringify: ignore inherited array format names (#622)- [Fix]
stringify:arrayFormat: 'comma': do not throw on elements with no callabletoString- [Fix]
utils:merge: seed an overflow container's index from its own keys, not just the source- [Fix]
utils:merge: keep astrictMergeconflict container's index andarrayLimitcorrect- [Fix]
parse: only treat[]as array syntax when it ends the key- [Perf]
decode: skip decoders when there is no percent sign (#583)- [Robustness]
utils:merge: applyarrayLimitto the two-element array built for colliding values- [Robustness]
parse: bound the nesting added by repeatedstrictMergeconflicts (credit@​Yeaseen)- [Docs] document that
qsand flat parsers disagree about parameter names- [Docs] clarify that
throwOnLimitExceededlimits each array, not the total number of values- [Docs] clarify 6.14.1/6.15.2 parse bracket behavior change (#567, #568)
- [meta] fix changelog indents
- [actions] set least-privilege
cache-mode- [Tests]
utils:decode: add missing cases- [Tests]
parse: characterize the]=split when an=precedes any bracket group (#620)
... (truncated)
bebfa1a
v6.17.0574a28b
[Dev Deps] update eslint54f7f3b
[Fix] stringify: do not sort the caller's
filter array in placea2667af
[Fix] parse: copy an own __proto__ key as
data05a8755
[Fix] parse: decode percent-encoded dots
case-insensitively234d505
[Fix] stringify: encode keys when
allowEmptyArrays is set5d99999
[Tests] stringify: pin allowEmptyArrays output
for keys that need no enco...feafd15
[Tests] stringify: pin sort order for nested
keys selected by an array `f...b43b1cf
[Fix] parse: preserve comma arrays when interpreting
numeric entities81e7a22
[Tests] parse: cover interpretNumericEntities
across value shapes, keys, ...