stringify
: with arrayFormat: comma
, properly include an explicit []
on a single-item array (#434)stringify
: with arrayFormat: comma
, include an explicit []
on a single-item array (#441)npmignore
to autogenerate an npmignore fileeslint
, @ljharb/eslint-config
, aud
, has-symbol
, object-inspect
, tape
parse
: ignore __proto__
keys (#428)stringify
: avoid relying on a global undefined
(#427)eslint
, @ljharb/eslint-config
, object-inspect
, tape
stringify
: actually fix cyclic references (#426)stringify
: avoid encoding arrayformat comma when encodeValuesOnly = true
(#424)eslint
, @ljharb/eslint-config
, aud
, object-inspect
, safe-publish-latest
, tape
stringify
: avoid exception on repeated object values (#402)stringify
: throw on cycles, instead of an infinite loop (#395, #394, #393)parse
: add allowSparse
option for collapsing arrays with missing indices (#312)npm run dist
in publish, not installeslint
, @ljharb/eslint-config
, aud
, has-symbols
, tape
ljharb/actions/node/install
instead of ljharb/actions/node/run
parse
: ignore __proto__
keys (#428)stringify
: avoid encoding arrayformat comma when encodeValuesOnly = true
(#424)stringify
: avoid relying on a global undefined
(#427)dist
dir; mistakenly removed in d4f6c32
stringify
: do not encode parens for RFC1738stringify
: fix arrayFormat comma with empty array/objects (#350)format
: remove util.assign
callpull_request_target
eventstringify
: add tests for #378nyc
on all tests; use tape
runnereslint
, @ljharb/eslint-config
, browserify
, mkdirp
, object-inspect
, tape
; add aud
stringify
: when arrayFormat
is comma
, respect serializeDate
(#364)stringify
: reduce branching (part of #350)maybeMap
to utils
browserify
, tape
parse
: Fix parsing array from object with comma
true (#359)parse
: throw a TypeError instead of an Error for bad charset (#349)eslint
, @ljharb/eslint-config
, object-inspect
, has-symbols
, tape
, mkdirp
, iconv-lite
parse
: with comma true, handle field that holds an array of arrays (#335)parse
: with comma true, do not split non-string values (#334)funding
fieldeslint
, @ljharb/eslint-config
parse
/stringify
: Pass extra key/value argument to decoder
(#333)eslint
, @ljharb/eslint-config
, evalmd
parse
: add passing arrayFormat
testsposttest
using npx aud
to run npm audit
without a lockfilenode
v12.10
, v11.15
, v10.16
, v8.16
Buffer.from
in node v5.0-v5.9 and v4.0-v4.4 requires a TypedArrayparse
: ignore __proto__
keys (#428)stringify
: avoid relying on a global undefined
(#427)stringify
: avoid encoding arrayformat comma when encodeValuesOnly = true
(#424)stringify
: reduce branchingparse
: Fix parsing array from object with comma
true (#359)parse
: throw a TypeError instead of an Error for bad charset (#349)parse
: with comma true, handle field that holds an array of arrays (#335)parse
: with comma true, do not split non-string values (#334)funding
fieldeslint
, @ljharb/eslint-config
, tape
, safe-publish-latest
, evalmd
, has-symbols
, iconv-lite
, mkdirp
, object-inspect
parse
: add passing arrayFormat
testsBuffer.from
in node v5.0-v5.9 and v4.0-v4.4 requires a TypedArraydepth=false
to preserve the original key; [Fix] depth=0
should preserve the original key (#326)formats
: tiny bit of cleanup.eslint
, @ljharb/eslint-config
, browserify
, safe-publish-latest
, iconv-lite
, tape
depth=0
and depth=false
behavior, both current and intuitive/intended (#326)eclint
instead of editorconfig-tools
parse
: ignore __proto__
keys (#428)stringify
: avoid encoding arrayformat comma when encodeValuesOnly = true
(#424)stringify
: avoid relying on a global undefined
(#427)nyc
for coverageparse
: Fix parsing array from object with comma
true (#359)parse
: with comma true, handle field that holds an array of arrays (#335)parse
: with comma true, do not split non-string values (#334)parse
: throw a TypeError instead of an Error for bad charset (#349)formats
: tiny bit of cleanup.funding
fieldeslint
, @ljharb/eslint-config
, tape
, safe-publish-latest
, evalmd
, iconv-lite
, mkdirp
, object-inspect
, browserify
parse
: add passing arrayFormat
testsBuffer.from
in node v5.0-v5.9 and v4.0-v4.4 requires a TypedArraydepth=0
and depth=false
behavior, both current and intuitive/intendedeclint
instead of editorconfig-tools
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 [[Get]]sstringify
/utils
: cache Array.isArray
String(x)
over x.toString()
parse
: ignore __proto__
keys (#428)utils.merge
: avoid a crash with a null target and an array sourceutils.merge
: avoid a crash with a null target and a truthy non-array sourcestringify
: avoid relying on a global undefined
(#427)stringify
: cache Object.prototype.hasOwnProperty
formats
: tiny bit of cleanup.utils
: isBuffer
: small tweak; add testsstringify
/utils
: cache Array.isArray
utils
: reduce observable [[Get]]sArray.isArray
parse
/stringify
: make a function to normalize the optionsString(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 LTSparse
: ignore __proto__
keys (#428)stringify
: fix a crash with strictNullHandling
and a custom filter
/serializeDate
(#279)utils
: merge
: fix crash when source
is a truthy primitive & no options are providedparseArrays
is false, properly handle keys ending in []
utils.merge
: avoid a crash with a null target and an array sourceutils
: reduce observable [[Get]]sArray.isArray
stringify
: Avoid arr = arr.concat(...), push to the existing instance (#269)parse
: only need to reassign the var oncestringify
: avoid relying on a global undefined
(#427)String(x)
over x.toString()
safer-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
parse
: ignore __proto__
keys (#428)safer-buffer
instead of Buffer
constructorutils.merge
: avoid a crash with a null target and an array sourcestringify
: fix a crash with strictNullHandling
and a custom filter
/serializeDate
(#279)utils
: merge
: fix crash when source
is a truthy primitive & no options are providedparseArrays
is false, properly handle keys ending in []
stringify
: avoid relying on a global undefined
(#427)Array.isArray
stringify
: Avoid arr = arr.concat(...), push to the existing instance (#269)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 buildsparse
: ignore __proto__
keys (#428)utils.merge
: avoid a crash with a null target and an array sourcestringify
: fix a crash with strictNullHandling
and a custom filter
/serializeDate
(#279)utils
: merge
: fix crash when source
is a truthy primitive & no options are providedparseArrays
is false, properly handle keys ending in []
stringify
: avoid relying on a global undefined
(#427)Array.isArray
stringify
: Avoid arr = arr.concat(...), push to the existing instance (#269)safer-buffer
instead of Buffer
constructorallowPrototypes
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 matrixparse
: ignore __proto__
keys (#428)utils.merge
: avoid a crash with a null target and an array sourceutils.merge
: avoid a crash with a null target and a truthy non-array sourceutils
: merge
: fix crash when source
is a truthy primitive & no options are providedparseArrays
is false, properly handle keys ending in []
stringify
: avoid relying on a global undefined
(#427)Array.isArray
safer-buffer
instead of Buffer
constructorallowPrototypes
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