Skip to content

Latest commit

 

History

History
167 lines (89 loc) · 9.56 KB

changelog.md

File metadata and controls

167 lines (89 loc) · 9.56 KB
  • Fix type definition for arrayMerge options. #239
  • Avoid thrown errors if the target doesn't have propertyIsEnumerable. #252
  • 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