32 KiB
		
	
	
	
	
	
	
	
			
		
		
	
	
			32 KiB
		
	
	
	
	
	
	
	
6.14.0
- [New] 
parse: addthrowOnParameterLimitExceededoption (#517) - [Refactor] 
parse: useutils.combinemore - [patch] 
parse: add explicitthrowOnLimitExceededdefault - [actions] use shared action; re-add finishers
 - [meta] Fix changelog formatting bug
 - [Deps] update 
side-channel - [Dev Deps] update 
es-value-fixtures,has-bigints,has-proto,has-symbols - [Tests] increase coverage
 
6.13.1
- [Fix] 
stringify: avoid a crash when afilterkey isnull - [Fix] 
utils.merge: functions should not be stringified into keys - [Fix] 
parse: avoid a crash with interpretNumericEntities: true, comma: true, and iso charset - [Fix] 
stringify: ensure a non-stringfilterdoes not crash - [Refactor] use 
__proto__syntax instead ofObject.createfor null objects - [Refactor] misc cleanup
 - [Tests] 
utils.merge: add some coverage - [Tests] fix a test case
 - [actions] split out node 10-20, and 20+
 - [Dev Deps] update 
es-value-fixtures,mock-property,object-inspect,tape 
6.13.0
- [New] 
parse: addstrictDepthoption (#511) - [Tests] use 
npm auditinstead ofaud 
6.12.3
- [Fix] 
parse: properly account forstrictNullHandlingwhenallowEmptyArrays - [meta] fix changelog indentation
 
6.12.2
- [Fix] 
parse: parse encoded square brackets (#506) - [readme] add CII best practices badge
 
6.12.1
- [Fix] 
parse: DisabledecodeDotInKeysby default to restore previous behavior (#501) - [Performance] 
utils: Optimize performance under large data volumes, reduce memory usage, and speed up processing (#502) - [Refactor] 
utils: use+= - [Tests] increase coverage
 
6.12.0
- [New] 
parse/stringify: adddecodeDotInKeys/encodeDotKeysoptions (#488) - [New] 
parse: addduplicatesoption - [New] 
parse/stringify: addallowEmptyArraysoption to allow [] in object values (#487) - [Refactor] 
parse/stringify: move allowDots config logic to its own variable - [Refactor] 
stringify: move option-handling code intonormalizeStringifyOptions - [readme] update readme, add logos (#484)
 - [readme] 
stringify: clarify defaultarrayFormatbehavior - [readme] fix line wrapping
 - [readme] remove dead badges
 - [Deps] update 
side-channel - [meta] make the dist build 50% smaller
 - [meta] add 
sideEffectsflag - [meta] run build in prepack, not prepublish
 - [Tests] 
parse: remove useless tests; add coverage - [Tests] 
stringify: increase coverage - [Tests] use 
mock-property - [Tests] 
stringify: improve coverage - [Dev Deps] update 
@ljharb/eslint-config,aud,has-override-mistake,has-property-descriptors,mock-property,npmignore,object-inspect,tape - [Dev Deps] pin 
glob, since v10.3.8+ requires a brokenjackspeak - [Dev Deps] pin 
jackspeaksince 2.1.2+ depends on npm aliases, which kill the install process in npm < 6 
6.11.2
- [Fix] 
parse: Fix parsing when the global Object prototype is frozen (#473) - [Tests] add passing test cases with empty keys (#473)
 
6.11.1
- [Fix] 
stringify: encode comma values more consistently (#463) - [readme] add usage of 
filteroption for injecting custom serialization, i.e. of custom types (#447) - [meta] remove extraneous code backticks (#457)
 - [meta] fix changelog markdown
 - [actions] update checkout action
 - [actions] restrict action permissions
 - [Dev Deps] update 
@ljharb/eslint-config,aud,object-inspect,tape 
6.11.0
- [New] [Fix] 
stringify: revert 0e903c0; addcommaRoundTripoption (#442) - [readme] fix version badge
 
6.10.5
- [Fix] 
stringify: witharrayFormat: comma, properly include an explicit[]on a single-item array (#434) 
6.10.4
- [Fix] 
stringify: witharrayFormat: comma, include an explicit[]on a single-item array (#441) - [meta] use 
npmignoreto autogenerate an npmignore file - [Dev Deps] update 
eslint,@ljharb/eslint-config,aud,has-symbol,object-inspect,tape 
6.10.3
- [Fix] 
parse: ignore__proto__keys (#428) - [Robustness] 
stringify: avoid relying on a globalundefined(#427) - [actions] reuse common workflows
 - [Dev Deps] update 
eslint,@ljharb/eslint-config,object-inspect,tape 
6.10.2
- [Fix] 
stringify: actually fix cyclic references (#426) - [Fix] 
stringify: avoid encoding arrayformat comma whenencodeValuesOnly = true(#424) - [readme] remove travis badge; add github actions/codecov badges; update URLs
 - [Docs] add note and links for coercing primitive values (#408)
 - [actions] update codecov uploader
 - [actions] update workflows
 - [Tests] clean up stringify tests slightly
 - [Dev Deps] update 
eslint,@ljharb/eslint-config,aud,object-inspect,safe-publish-latest,tape 
6.10.1
- [Fix] 
stringify: avoid exception on repeated object values (#402) 
6.10.0
- [New] 
stringify: throw on cycles, instead of an infinite loop (#395, #394, #393) - [New] 
parse: addallowSparseoption for collapsing arrays with missing indices (#312) - [meta] fix README.md (#399)
 - [meta] only run 
npm run distin publish, not install - [Dev Deps] update 
eslint,@ljharb/eslint-config,aud,has-symbols,tape - [Tests] fix tests on node v0.6
 - [Tests] use 
ljharb/actions/node/installinstead ofljharb/actions/node/run - [Tests] Revert "[meta] ignore eclint transitive audit warning"
 
6.9.7
- [Fix] 
parse: ignore__proto__keys (#428) - [Fix] 
stringify: avoid encoding arrayformat comma whenencodeValuesOnly = true(#424) - [Robustness] 
stringify: avoid relying on a globalundefined(#427) - [readme] remove travis badge; add github actions/codecov badges; update URLs
 - [Docs] add note and links for coercing primitive values (#408)
 - [Tests] clean up stringify tests slightly
 - [meta] fix README.md (#399)
 - Revert "[meta] ignore eclint transitive audit warning"
 - [actions] backport actions from main
 - [Dev Deps] backport updates from main
 
6.9.6
- [Fix] restore 
distdir; mistakenly removed in d4f6c32 
6.9.5
- [Fix] 
stringify: do not encode parens for RFC1738 - [Fix] 
stringify: fix arrayFormat comma with empty array/objects (#350) - [Refactor] 
format: removeutil.assigncall - [meta] add "Allow Edits" workflow; update rebase workflow
 - [actions] switch Automatic Rebase workflow to 
pull_request_targetevent - [Tests] 
stringify: add tests for #378 - [Tests] migrate tests to Github Actions
 - [Tests] run 
nycon all tests; usetaperunner - [Dev Deps] update 
eslint,@ljharb/eslint-config,browserify,mkdirp,object-inspect,tape; addaud 
6.9.4
- [Fix] 
stringify: whenarrayFormatiscomma, respectserializeDate(#364) - [Refactor] 
stringify: reduce branching (part of #350) - [Refactor] move 
maybeMaptoutils - [Dev Deps] update 
browserify,tape 
6.9.3
- [Fix] proper comma parsing of URL-encoded commas (#361)
 - [Fix] parses comma delimited array while having percent-encoded comma treated as normal text (#336)
 
6.9.2
- [Fix] 
parse: Fix parsing array from object withcommatrue (#359) - [Fix] 
parse: throw a TypeError instead of an Error for bad charset (#349) - [meta] ignore eclint transitive audit warning
 - [meta] fix indentation in package.json
 - [meta] add tidelift marketing copy
 - [Dev Deps] update 
eslint,@ljharb/eslint-config,object-inspect,has-symbols,tape,mkdirp,iconv-lite - [actions] add automatic rebasing / merge commit blocking
 
6.9.1
- [Fix] 
parse: with comma true, handle field that holds an array of arrays (#335) - [Fix] 
parse: with comma true, do not split non-string values (#334) - [meta] add 
fundingfield - [Dev Deps] update 
eslint,@ljharb/eslint-config - [Tests] use shared travis-ci config
 
6.9.0
- [New] 
parse/stringify: Pass extra key/value argument todecoder(#333) - [Dev Deps] update 
eslint,@ljharb/eslint-config,evalmd - [Tests] 
parse: add passingarrayFormattests - [Tests] add 
posttestusingnpx audto runnpm auditwithout a lockfile - [Tests] up to 
nodev12.10,v11.15,v10.16,v8.16 - [Tests] 
Buffer.fromin node v5.0-v5.9 and v4.0-v4.4 requires a TypedArray 
6.8.3
- [Fix] 
parse: ignore__proto__keys (#428) - [Robustness] 
stringify: avoid relying on a globalundefined(#427) - [Fix] 
stringify: avoid encoding arrayformat comma whenencodeValuesOnly = true(#424) - [readme] remove travis badge; add github actions/codecov badges; update URLs
 - [Tests] clean up stringify tests slightly
 - [Docs] add note and links for coercing primitive values (#408)
 - [meta] fix README.md (#399)
 - [actions] backport actions from main
 - [Dev Deps] backport updates from main
 - [Refactor] 
stringify: reduce branching - [meta] do not publish workflow files
 
6.8.2
- [Fix] proper comma parsing of URL-encoded commas (#361)
 - [Fix] parses comma delimited array while having percent-encoded comma treated as normal text (#336)
 
6.8.1
- [Fix] 
parse: Fix parsing array from object withcommatrue (#359) - [Fix] 
parse: throw a TypeError instead of an Error for bad charset (#349) - [Fix] 
parse: with comma true, handle field that holds an array of arrays (#335) - [fix] 
parse: with comma true, do not split non-string values (#334) - [meta] add tidelift marketing copy
 - [meta] add 
fundingfield - [Dev Deps] update 
eslint,@ljharb/eslint-config,tape,safe-publish-latest,evalmd,has-symbols,iconv-lite,mkdirp,object-inspect - [Tests] 
parse: add passingarrayFormattests - [Tests] use shared travis-ci configs
 - [Tests] 
Buffer.fromin node v5.0-v5.9 and v4.0-v4.4 requires a TypedArray - [actions] add automatic rebasing / merge commit blocking
 
6.8.0
- [New] add 
depth=falseto preserve the original key; [Fix]depth=0should preserve the original key (#326) - [New] [Fix] stringify symbols and bigints
 - [Fix] ensure node 0.12 can stringify Symbols
 - [Fix] fix for an impossible situation: when the formatter is called with a non-string value
 - [Refactor] 
formats: tiny bit of cleanup. - [Dev Deps] update 
eslint,@ljharb/eslint-config,browserify,safe-publish-latest,iconv-lite,tape - [Tests] add tests for 
depth=0anddepth=falsebehavior, both current and intuitive/intended (#326) - [Tests] use 
eclintinstead ofeditorconfig-tools - [docs] readme: add security note
 - [meta] add github sponsorship
 - [meta] add FUNDING.yml
 - [meta] Clean up license text so it’s properly detected as BSD-3-Clause
 
6.7.3
- [Fix] 
parse: ignore__proto__keys (#428) - [Fix] 
stringify: avoid encoding arrayformat comma whenencodeValuesOnly = true(#424) - [Robustness] 
stringify: avoid relying on a globalundefined(#427) - [readme] remove travis badge; add github actions/codecov badges; update URLs
 - [Docs] add note and links for coercing primitive values (#408)
 - [meta] fix README.md (#399)
 - [meta] do not publish workflow files
 - [actions] backport actions from main
 - [Dev Deps] backport updates from main
 - [Tests] use 
nycfor coverage - [Tests] clean up stringify tests slightly
 
6.7.2
- [Fix] proper comma parsing of URL-encoded commas (#361)
 - [Fix] parses comma delimited array while having percent-encoded comma treated as normal text (#336)
 
6.7.1
- [Fix] 
parse: Fix parsing array from object withcommatrue (#359) - [Fix] 
parse: with comma true, handle field that holds an array of arrays (#335) - [fix] 
parse: with comma true, do not split non-string values (#334) - [Fix] 
parse: throw a TypeError instead of an Error for bad charset (#349) - [Fix] fix for an impossible situation: when the formatter is called with a non-string value
 - [Refactor] 
formats: tiny bit of cleanup. - readme: add security note
 - [meta] add tidelift marketing copy
 - [meta] add 
fundingfield - [meta] add FUNDING.yml
 - [meta] Clean up license text so it’s properly detected as BSD-3-Clause
 - [Dev Deps] update 
eslint,@ljharb/eslint-config,tape,safe-publish-latest,evalmd,iconv-lite,mkdirp,object-inspect,browserify - [Tests] 
parse: add passingarrayFormattests - [Tests] use shared travis-ci configs
 - [Tests] 
Buffer.fromin node v5.0-v5.9 and v4.0-v4.4 requires a TypedArray - [Tests] add tests for 
depth=0anddepth=falsebehavior, both current and intuitive/intended - [Tests] use 
eclintinstead ofeditorconfig-tools - [actions] add automatic rebasing / merge commit blocking
 
6.7.0
- [New] 
stringify/parse: addcommaas anarrayFormatoption (#276, #219) - [Fix] correctly parse nested arrays (#212)
 - [Fix] 
utils.merge: avoid a crash with a null target and a truthy non-array source, also with an array source - [Robustness] 
stringify: cacheObject.prototype.hasOwnProperty - [Refactor] 
utils:isBuffer: small tweak; add tests - [Refactor] use cached 
Array.isArray - [Refactor] 
parse/stringify: make a function to normalize the options - [Refactor] 
utils: reduce observable Gets - [Refactor] 
stringify/utils: cacheArray.isArray - [Tests] always use 
String(x)overx.toString() - [Tests] fix Buffer tests to work in node < 4.5 and node < 5.10
 - [Tests] temporarily allow coverage to fail
 
6.6.1
- [Fix] 
parse: ignore__proto__keys (#428) - [Fix] fix for an impossible situation: when the formatter is called with a non-string value
 - [Fix] 
utils.merge: avoid a crash with a null target and an array source - [Fix] 
utils.merge: avoid a crash with a null target and a truthy non-array source - [Fix] correctly parse nested arrays
 - [Robustness] 
stringify: avoid relying on a globalundefined(#427) - [Robustness] 
stringify: cacheObject.prototype.hasOwnProperty - [Refactor] 
formats: tiny bit of cleanup. - [Refactor] 
utils:isBuffer: small tweak; add tests - [Refactor]: 
stringify/utils: cacheArray.isArray - [Refactor] 
utils: reduce observable Gets - [Refactor] use cached 
Array.isArray - [Refactor] 
parse/stringify: make a function to normalize the options - [readme] remove travis badge; add github actions/codecov badges; update URLs
 - [Docs] Clarify the need for "arrayLimit" option
 - [meta] fix README.md (#399)
 - [meta] do not publish workflow files
 - [meta] Clean up license text so it’s properly detected as BSD-3-Clause
 - [meta] add FUNDING.yml
 - [meta] Fixes typo in CHANGELOG.md
 - [actions] backport actions from main
 - [Tests] fix Buffer tests to work in node < 4.5 and node < 5.10
 - [Tests] always use 
String(x)overx.toString() - [Dev Deps] backport from main
 
6.6.0
- [New] Add support for iso-8859-1, utf8 "sentinel" and numeric entities (#268)
 - [New] move two-value combine to a 
utilsfunction (#189) - [Fix] 
stringify: fix a crash withstrictNullHandlingand a customfilter/serializeDate(#279) - [Fix] when 
parseArraysis false, properly handle keys ending in[](#260) - [Fix] 
stringify: do not crash in an obscure combo ofinterpretNumericEntities, a bad customdecoder, &iso-8859-1 - [Fix] 
utils:merge: fix crash whensourceis a truthy primitive & no options are provided - [refactor] 
stringify: Avoid arr = arr.concat(...), push to the existing instance (#269) - [Refactor] 
parse: only need to reassign the var once - [Refactor] 
parse/stringify: clean upcharsetoptions checking; fix defaults - [Refactor] add missing defaults
 - [Refactor] 
parse: one lessconcatcall - [Refactor] 
utils:compactQueue: make it explicitly side-effecting - [Dev Deps] update 
browserify,eslint,@ljharb/eslint-config,iconv-lite,safe-publish-latest,tape - [Tests] up to 
nodev10.10,v9.11,v8.12,v6.14,v4.9; pin included builds to LTS 
6.5.3
- [Fix] 
parse: ignore__proto__keys (#428) - [Fix] 
utils.merge: avoid a crash with a null target and a truthy non-array source - [Fix] correctly parse nested arrays
 - [Fix] 
stringify: fix a crash withstrictNullHandlingand a customfilter/serializeDate(#279) - [Fix] 
utils:merge: fix crash whensourceis a truthy primitive & no options are provided - [Fix] when 
parseArraysis false, properly handle keys ending in[] - [Fix] fix for an impossible situation: when the formatter is called with a non-string value
 - [Fix] 
utils.merge: avoid a crash with a null target and an array source - [Refactor] 
utils: reduce observable Gets - [Refactor] use cached 
Array.isArray - [Refactor] 
stringify: Avoid arr = arr.concat(...), push to the existing instance (#269) - [Refactor] 
parse: only need to reassign the var once - [Robustness] 
stringify: avoid relying on a globalundefined(#427) - [readme] remove travis badge; add github actions/codecov badges; update URLs
 - [Docs] Clean up license text so it’s properly detected as BSD-3-Clause
 - [Docs] Clarify the need for "arrayLimit" option
 - [meta] fix README.md (#399)
 - [meta] add FUNDING.yml
 - [actions] backport actions from main
 - [Tests] always use 
String(x)overx.toString() - [Tests] remove nonexistent tape option
 - [Dev Deps] backport from main
 
6.5.2
- [Fix] use 
safer-bufferinstead ofBufferconstructor - [Refactor] utils: 
module.exportsone thing, instead of mutatingexports(#230) - [Dev Deps] update 
browserify,eslint,iconv-lite,safer-buffer,tape,browserify 
6.5.1
- [Fix] Fix parsing & compacting very deep objects (#224)
 - [Refactor] name utils functions
 - [Dev Deps] update 
eslint,@ljharb/eslint-config,tape - [Tests] up to 
nodev8.4; usenvm install-latest-npmso newer npm doesn’t break older node - [Tests] Use precise dist for Node.js 0.6 runtime (#225)
 - [Tests] make 0.6 required, now that it’s passing
 - [Tests] on 
nodev8.2; fix npm on node 0.6 
6.5.0
- [New] add 
utils.assign - [New] pass default encoder/decoder to custom encoder/decoder functions (#206)
 - [New] 
parse/stringify: addignoreQueryPrefix/addQueryPrefixoptions, respectively (#213) - [Fix] Handle stringifying empty objects with addQueryPrefix (#217)
 - [Fix] do not mutate 
optionsargument (#207) - [Refactor] 
parse: cache index to reuse in else statement (#182) - [Docs] add various badges to readme (#208)
 - [Dev Deps] update 
eslint,browserify,iconv-lite,tape - [Tests] up to 
nodev8.1,v7.10,v6.11; npm v4.6 breaks on node < v1; npm v5+ breaks on node < v4 - [Tests] add 
editorconfig-tools 
6.4.1
- [Fix] 
parse: ignore__proto__keys (#428) - [Fix] fix for an impossible situation: when the formatter is called with a non-string value
 - [Fix] use 
safer-bufferinstead ofBufferconstructor - [Fix] 
utils.merge: avoid a crash with a null target and an array source - [Fix] 
utils.merge: avoid a crash with a null target and a truthy non-array source - [Fix] 
stringify: fix a crash withstrictNullHandlingand a customfilter/serializeDate(#279) - [Fix] 
utils:merge: fix crash whensourceis a truthy primitive & no options are provided - [Fix] when 
parseArraysis false, properly handle keys ending in[] - [Robustness] 
stringify: avoid relying on a globalundefined(#427) - [Refactor] use cached 
Array.isArray - [Refactor] 
stringify: Avoid arr = arr.concat(...), push to the existing instance (#269) - [readme] remove travis badge; add github actions/codecov badges; update URLs
 - [Docs] Clarify the need for "arrayLimit" option
 - [meta] fix README.md (#399)
 - [meta] Clean up license text so it’s properly detected as BSD-3-Clause
 - [meta] add FUNDING.yml
 - [actions] backport actions from main
 - [Tests] remove nonexistent tape option
 - [Dev Deps] backport from main
 
6.4.0
- [New] 
qs.stringify: addencodeValuesOnlyoption - [Fix] follow 
allowPrototypesoption during merge (#201, #201) - [Fix] support keys starting with brackets (#202, #200)
 - [Fix] chmod a-x
 - [Dev Deps] update 
eslint - [Tests] up to 
nodev7.7,v6.10,v4.8; disable osx builds since they block linux builds - [eslint] reduce warnings
 
6.3.3
- [Fix] 
parse: ignore__proto__keys (#428) - [Fix] fix for an impossible situation: when the formatter is called with a non-string value
 - [Fix] 
utils.merge: avoid a crash with a null target and an array source - [Fix] 
utils.merge: avoid a crash with a null target and a truthy non-array source - [Fix] 
stringify: fix a crash withstrictNullHandlingand a customfilter/serializeDate(#279) - [Fix] 
utils:merge: fix crash whensourceis a truthy primitive & no options are provided - [Fix] when 
parseArraysis false, properly handle keys ending in[] - [Robustness] 
stringify: avoid relying on a globalundefined(#427) - [Refactor] use cached 
Array.isArray - [Refactor] 
stringify: Avoid arr = arr.concat(...), push to the existing instance (#269) - [Docs] Clarify the need for "arrayLimit" option
 - [meta] fix README.md (#399)
 - [meta] Clean up license text so it’s properly detected as BSD-3-Clause
 - [meta] add FUNDING.yml
 - [actions] backport actions from main
 - [Tests] use 
safer-bufferinstead ofBufferconstructor - [Tests] remove nonexistent tape option
 - [Dev Deps] backport from main
 
6.3.2
- [Fix] follow 
allowPrototypesoption during merge (#201, #200) - [Dev Deps] update 
eslint - [Fix] chmod a-x
 - [Fix] support keys starting with brackets (#202, #200)
 - [Tests] up to 
nodev7.7,v6.10,v4.8; disable osx builds since they block linux builds 
6.3.1
- [Fix] ensure that 
allowPrototypes: falsedoes not ever shadow Object.prototype properties (thanks, @snyk!) - [Dev Deps] update 
eslint,@ljharb/eslint-config,browserify,iconv-lite,qs-iconv,tape - [Tests] on all node minors; improve test matrix
 - [Docs] document stringify option 
allowDots(#195) - [Docs] add empty object and array values example (#195)
 - [Docs] Fix minor inconsistency/typo (#192)
 - [Docs] document stringify option 
sort(#191) - [Refactor] 
stringify: throw faster with an invalid encoder - [Refactor] remove unnecessary escapes (#184)
 - Remove contributing.md, since 
qsis no longer part ofhapi(#183) 
6.3.0
- [New] Add support for RFC 1738 (#174, #173)
 - [New] 
stringify: AddserializeDateoption to customize Date serialization (#159) - [Fix] ensure 
utils.mergehandles merging two arrays - [Refactor] only constructors should be capitalized
 - [Refactor] capitalized var names are for constructors only
 - [Refactor] avoid using a sparse array
 - [Robustness] 
formats: cacheString#replace - [Dev Deps] update 
browserify,eslint,@ljharb/eslint-config; addsafe-publish-latest - [Tests] up to 
nodev6.8,v4.6; improve test matrix - [Tests] flesh out arrayLimit/arrayFormat tests (#107)
 - [Tests] skip Object.create tests when null objects are not available
 - [Tests] Turn on eslint for test files (#175)
 
6.2.4
- [Fix] 
parse: ignore__proto__keys (#428) - [Fix] 
utils.merge: avoid a crash with a null target and an array source - [Fix] 
utils.merge: avoid a crash with a null target and a truthy non-array source - [Fix] 
utils:merge: fix crash whensourceis a truthy primitive & no options are provided - [Fix] when 
parseArraysis false, properly handle keys ending in[] - [Robustness] 
stringify: avoid relying on a globalundefined(#427) - [Refactor] use cached 
Array.isArray - [Docs] Clarify the need for "arrayLimit" option
 - [meta] fix README.md (#399)
 - [meta] Clean up license text so it’s properly detected as BSD-3-Clause
 - [meta] add FUNDING.yml
 - [actions] backport actions from main
 - [Tests] use 
safer-bufferinstead ofBufferconstructor - [Tests] remove nonexistent tape option
 - [Dev Deps] backport from main
 
6.2.3
- [Fix] follow 
allowPrototypesoption during merge (#201, #200) - [Fix] chmod a-x
 - [Fix] support keys starting with brackets (#202, #200)
 - [Tests] up to 
nodev7.7,v6.10,v4.8; disable osx builds since they block linux builds 
6.2.2
- [Fix] ensure that 
allowPrototypes: falsedoes not ever shadow Object.prototype properties 
6.2.1
- [Fix] ensure 
key[]=x&key[]&key[]=yresults in 3, not 2, values - [Refactor] Be explicit and use 
Object.prototype.hasOwnProperty.call - [Tests] remove 
parallelshellsince it does not reliably report failures - [Tests] up to 
nodev6.3,v5.12 - [Dev Deps] update 
tape,eslint,@ljharb/eslint-config,qs-iconv 
6.2.0
- [New] pass Buffers to the encoder/decoder directly (#161)
 - [New] add "encoder" and "decoder" options, for custom param encoding/decoding (#160)
 - [Fix] fix compacting of nested sparse arrays (#150)
 
6.1.2
- [Fix] follow 
allowPrototypesoption during merge (#201, #200) - [Fix] chmod a-x
 - [Fix] support keys starting with brackets (#202, #200)
 - [Tests] up to 
nodev7.7,v6.10,v4.8; disable osx builds since they block linux builds 
6.1.1
- [Fix] ensure that 
allowPrototypes: falsedoes not ever shadow Object.prototype properties 
6.1.0
- [New] allowDots option for 
stringify(#151) - [Fix] "sort" option should work at a depth of 3 or more (#151)
 - [Fix] Restore 
distdirectory; will be removed in v7 (#148) 
6.0.4
- [Fix] follow 
allowPrototypesoption during merge (#201, #200) - [Fix] chmod a-x
 - [Fix] support keys starting with brackets (#202, #200)
 - [Tests] up to 
nodev7.7,v6.10,v4.8; disable osx builds since they block linux builds 
6.0.3
- [Fix] ensure that 
allowPrototypes: falsedoes not ever shadow Object.prototype properties - [Fix] Restore 
distdirectory; will be removed in v7 (#148) 
6.0.2
- Revert ES6 requirement and restore support for node down to v0.8.
 
6.0.1
- #127 Fix engines definition in package.json
 
6.0.0
- #124 Use ES6 and drop support for node < v4
 
5.2.1
- [Fix] ensure 
key[]=x&key[]&key[]=yresults in 3, not 2, values 
5.2.0
- #64 Add option to sort object keys in the query string
 
5.1.0
- #117 make URI encoding stringified results optional
 - #106 Add flag 
skipNullsto optionally skip null values in stringify 
5.0.0
4.0.0
- #98 make returning plain objects and allowing prototype overwriting properties optional
 
3.1.0
- #89 Add option to disable "Transform dot notation to bracket notation"
 
3.0.0
- #80 qs.parse silently drops properties
 - #77 Perf boost
 - #60 Add explicit option to disable array parsing
 - #74 Bad parse when turning array into object
 - #81 Add a 
filteroption - #68 Fixed issue with recursion and passing strings into objects.
 - #66 Add mixed array and object dot notation support Closes: #47
 - #76 RFC 3986
 - #85 No equal sign
 - #84 update license attribute
 
2.4.1
- #73 Property 'hasOwnProperty' of object #