isMergeableObject
is now only called if there are two
values that could be merged. a34dd4d2
- Fix: falsey values can now be merged. #170
- Properties are now only overwritten if they exist on the target
object and are enumerable. #164
Technically this could probably be a patch release since “which
properties get overwritten” wasn’t documented and accidentally
overwriting a built-in function or some function up the property chain
would almost certainly be undesirable, but it feels like a gray area, so
here we are with a feature version bump.
- Rolled back #167 since
Object.assign
breaks ES5
support. 55067352
- The
options
argument is no longer mutated #167
cloneUnlessOtherwiseSpecified
is now exposed to the
arrayMerge
function #165
- The
main
entry point in package.json
is
now a CommonJS module instead of a UMD module #155
- Enumerable Symbol properties are now copied #151
- bumping dev dependency versions to try to shut up bogus security
warnings from Github/npm #149
- typescript typing: make the
all
function generic #129
- drop ES module build #123
- bug: typescript export type was wrong #121
- feature: added TypeScript typings #119
- documentation: Rename “methods” to “api”, note ESM syntax #103
- documentation: Fix grammar #107
- documentation: Restructure headers for clarity + some wording tweaks
108 + 109
- feature: Support a custom
isMergeableObject
function #96
- documentation: note a Webpack bug that some users might need to work
around #100
- documentation: fix the old array merge algorithm in the readme. #84
- breaking: the array merge algorithm has changed from a complicated
thing to
target.concat(source).map(element => cloneUnlessOtherwiseSpecified(element, optionsArgument))
- breaking: The
clone
option now defaults to
true
- feature:
merge.all
now accepts an array of any size,
even 0 or 1 elements
See pull
request 77.
- fix: no longer attempts to merge React elements #76
- bower support: officially dropping bower support. If you use bower,
please depend on the unpkg distribution.
See #63
- bug fix: merging objects into arrays was allowed, and doesn’t make
any sense. #65
published as a feature release instead of a patch because it is a decent
behavior change.
- bower support: updated
main
in bower.json
- bower support: inline is-mergeable-object in a new CommonJS build,
so that people using both bower and CommonJS can bundle the library 0b34e6
- performance: bump is-mergeable-object dependency version for a
slight performance improvement 5906c7
- documentation: fix unpkg link acc45b
- api: instead of only exporting a UMD module, expose a UMD module
with
pkg.main
, a CJS module with pkg.browser
,
and an ES module with pkg.module
#62
- documentation: note the minified/gzipped file sizes 56
- documentation: make data structures more readable in merge example:
pull request 57
- documentation: clarify and test some array merging documentation:
pull request 51
- feature:
merge.all
, a merge function that merges any
number of objects: pull request 50
- fix: an error that would be thrown when an array would be merged
onto a truthy non-array value: pull request 46
- feature: the ability to clone: Issue 28, pull
requests 44
and 48
- maintenance: added tests + travis to
.npmignore
: pull
request 47
- fix an issue where an error was thrown when merging an array onto a
non-array: Pull
request 46
- allow consumers to specify their own array merging algorithm: Pull request
37
- adding bower.json back: Issue 38
- updating keywords and Github links in package.json bc3898e
- Updating the readme: dropping bower, testing that the example works:
7102fc
null
, dates, and regular expressions are now properly
merged in arrays: Issue 18, plus
commit: ef1c6b
1.0.0
- Should only be a patch change, because this module is READY. Issue
15
- Regular expressions are now treated like primitive values when
merging: Issue
30
- Dates are now treated like primitives when merging: Issue
31