stringify
/parse
: add comma
as an arrayFormat
option (#276, #219)utils.merge
: avoid a crash with a null target and a truthy non-array source, also with an array sourcestringify
: cache Object.prototype.hasOwnProperty
utils
: isBuffer
: small tweak; add testsArray.isArray
parse
/stringify
: make a function to normalize the optionsutils
: reduce observable Getsstringify
/utils
: cache Array.isArray
String(x)
over x.toString()
utils
function (#189)stringify
: fix a crash with strictNullHandling
and a custom filter
/serializeDate
(#279)parseArrays
is false, properly handle keys ending in []
(#260)stringify
: do not crash in an obscure combo of interpretNumericEntities
, a bad custom decoder
, & iso-8859-1
utils
: merge
: fix crash when source
is a truthy primitive & no options are providedstringify
: Avoid arr = arr.concat(…), push to the existing instance (#269)parse
: only need to reassign the var onceparse
/stringify
: clean up charset
options checking; fix defaultsparse
: one less concat
callutils
: compactQueue
: make it explicitly side-effectingbrowserify
, eslint
, @ljharb/eslint-config
, iconv-lite
, safe-publish-latest
, tape
node
v10.10
, v9.11
, v8.12
, v6.14
, v4.9
; pin included builds to LTSsafer-buffer
instead of Buffer
constructormodule.exports
one thing, instead of mutating exports
(#230)browserify
, eslint
, iconv-lite
, safer-buffer
, tape
, browserify
eslint
, @ljharb/eslint-config
, tape
node
v8.4
; use nvm install-latest-npm
so newer npm doesn’t break older nodenode
v8.2
; fix npm on node 0.6utils.assign
parse
/stringify
: add ignoreQueryPrefix
/addQueryPrefix
options, respectively (#213)options
argument (#207)parse
: cache index to reuse in else statement (#182)eslint
, browserify
, iconv-lite
, tape
node
v8.1
, v7.10
, v6.11
; npm v4.6 breaks on node < v1; npm v5+ breaks on node < v4editorconfig-tools
qs.stringify
: add encodeValuesOnly
optionallowPrototypes
option during merge (#201, #201)eslint
node
v7.7
, v6.10
,v4.8
; disable osx builds since they block linux buildsallowPrototypes
option during merge (#201, #200)eslint
node
v7.7
, v6.10
,v4.8
; disable osx builds since they block linux buildsallowPrototypes: false
does not ever shadow Object.prototype properties (thanks, @snyk!)eslint
, @ljharb/eslint-config
, browserify
, iconv-lite
, qs-iconv
, tape
allowDots
(#195)sort
(#191)stringify
: throw faster with an invalid encoderqs
is no longer part of hapi
(#183)stringify
: Add serializeDate
option to customize Date serialization (#159)utils.merge
handles merging two arraysformats
: cache String#replace
browserify
, eslint
, @ljharb/eslint-config
; add safe-publish-latest
node
v6.8
, v4.6
; improve test matrixallowPrototypes
option during merge (#201, #200)node
v7.7
, v6.10
,v4.8
; disable osx builds since they block linux buildsallowPrototypes: false
does not ever shadow Object.prototype propertieskey[]=x&key[]&key[]=y
results in 3, not 2, valuesObject.prototype.hasOwnProperty.call
parallelshell
since it does not reliably report failuresnode
v6.3
, v5.12
tape
, eslint
, @ljharb/eslint-config
, qs-iconv
allowPrototypes
option during merge (#201, #200)node
v7.7
, v6.10
,v4.8
; disable osx builds since they block linux buildsallowPrototypes: false
does not ever shadow Object.prototype propertiesstringify
(#151)dist
directory; will be removed in v7 (#148)allowPrototypes
option during merge (#201, #200)node
v7.7
, v6.10
,v4.8
; disable osx builds since they block linux buildsallowPrototypes: false
does not ever shadow Object.prototype propertiesdist
directory; will be removed in v7 (#148)key[]=x&key[]&key[]=y
results in 3, not 2, valuesskipNulls
to optionally skip null values in stringifyfilter
option