Skip to content

[Breaking] flip strictMerge default to false in v7 #548

@ljharb

Description

@ljharb

In v6, the new strictMerge option (added in cb41a54) defaults to true, which changes the behavior of parsing conflicting key types. When a key appears as both a plain value and an object (e.g. a[b]=c&a=d), the result is now wrapped in an array ({ a: [{ b: 'c' }, 'd'] }) instead of the legacy behavior of using the primitive as a key with value true ({ a: { b: 'c', d: true } }).

In v7, strictMerge should default to false (removing the legacy target[source] = true code path entirely), since the array-wrapping behavior will be the only supported behavior.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions