UNPKG

@bluelovers/deep-diff

Version:

Javascript utility for calculating deep difference, capturing changes, and applying changes across objects; for nodejs and the browser.

433 lines (276 loc) 35.2 kB
# Change Log All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. ## 1.0.2 (2021-06-07) ### 📦 Code Refactoring * refactor to tsdx ([44dbc3d](https://github.com/bluelovers/deep-diff/commit/44dbc3db1725da9434af78f94e47faedf0e90f64)) ### 🔖 Miscellaneous * Merge remote-tracking branch 'artfuldev/patch-1' ([490040c](https://github.com/bluelovers/deep-diff/commit/490040c56e706ee3a3d82059c293255d23ec1db3)) * added draft type definitions ([0e8d328](https://github.com/bluelovers/deep-diff/commit/0e8d328ed1aa6480de13a92c4e96ba0a421c5cd7)) * Fix typo ([1981966](https://github.com/bluelovers/deep-diff/commit/1981966709dcf252ee15f752af954a6368e441c8)) * Merge pull request #137 from ioxua-os/master ([e2b5b86](https://github.com/bluelovers/deep-diff/commit/e2b5b86add402ae4373ab025ee7e9a98e3424023)), closes [#137](https://github.com/bluelovers/deep-diff/issues/137) * Update README.md for normalize documentation ([73666ba](https://github.com/bluelovers/deep-diff/commit/73666ba91c5cdd99f892a737e4592a3c95a3123c)) * Add tests for #33 ([ad6e6e8](https://github.com/bluelovers/deep-diff/commit/ad6e6e82d8a53d09f694eca090a085960f9896e9)), closes [#33](https://github.com/bluelovers/deep-diff/issues/33) ## 1.0.2 "🔖 Miscellaneous" (2018-08-10) ### 💎 Styles * styles code according to linting ([455b6d9](https://github.com/bluelovers/deep-diff/commit/455b6d9d13a9e5bef1b70c97befd21277e80d317)) ### 🔖 Miscellaneous * 1.0.2 ([5133f9c](https://github.com/bluelovers/deep-diff/commit/5133f9c19b7d815f935d6329bc1ef7e06190f063)) * changelog ([9ea4967](https://github.com/bluelovers/deep-diff/commit/9ea4967103838ad54ff67e1459edceb07c66ae8a)) * latest lts version ([89aefbe](https://github.com/bluelovers/deep-diff/commit/89aefbe5bc4de4c53cec3e2550407760b6fe6d41)) * Build changes ([2c2a414](https://github.com/bluelovers/deep-diff/commit/2c2a414ed0999b2efab5fd24b5ace780d776d966)) * Merge remote-tracking branch 'KidkArolis/fix-undefined-root' ([2b1ffbc](https://github.com/bluelovers/deep-diff/commit/2b1ffbc4ebb78b79321d4d65a373673df1c937db)) * Fix the case when this/root is undefined ([9b9b804](https://github.com/bluelovers/deep-diff/commit/9b9b8041d577ba8a8dd1f4ab1e79333ee6d53a5f)) * adds new package-lock ([d5acfbb](https://github.com/bluelovers/deep-diff/commit/d5acfbbf0a0212324205bc6cb83833c5f80d6bcb)) * adds support to diff objects with symbol keys ([4da2563](https://github.com/bluelovers/deep-diff/commit/4da256320f10c80bb58e04440b10d18b2ed7ab66)) * adds tests when diff-ing objects with symbol keys ([885d10d](https://github.com/bluelovers/deep-diff/commit/885d10d7e84a15126699e94735be535c2dc8c240)) * Add comment ([7540f6e](https://github.com/bluelovers/deep-diff/commit/7540f6e3bb87af1f27b74eb9c5bb5d96727362cb)) * Add support for react-native ([db33fc6](https://github.com/bluelovers/deep-diff/commit/db33fc6e76ebf85f2b0abf7a8213a7c8959827e5)) * more examples for issue 113 ([d40f7dc](https://github.com/bluelovers/deep-diff/commit/d40f7dc7559d9e56aa00791e03729229f25f2f61)) * closes #126 - example of prefiltering ([d4ad868](https://github.com/bluelovers/deep-diff/commit/d4ad8681504c8a60e84a1eff49c00009aaed0afc)), closes [#126](https://github.com/bluelovers/deep-diff/issues/126) ## 1.0.1 "🔖 Miscellaneous" (2018-05-19) ### 🔖 Miscellaneous * 1.0.1 ([8d942ff](https://github.com/bluelovers/deep-diff/commit/8d942ff6a8124a2b58e43247e8bccd9ebd1d3851)) * fixes global namespace leak ([66afe5e](https://github.com/bluelovers/deep-diff/commit/66afe5eec56e746b467000a1a08c2a9e4234627c)) * PR from snice, fixed up a bit ([caf4041](https://github.com/bluelovers/deep-diff/commit/caf4041f4104ef9a7d0619cc15d110bf507aa3d1)) * Merge branch 'master' of git://github.com/snice/diff into snice-master ([1b3cc66](https://github.com/bluelovers/deep-diff/commit/1b3cc66fef610d223050f8564be34c1c8096fe73)) * updated packages & readme ([2b22fde](https://github.com/bluelovers/deep-diff/commit/2b22fde18b5812312f418557b5d692dddd83a581)) * 修复root.DeepDiff undefined ([ed8452f](https://github.com/bluelovers/deep-diff/commit/ed8452fff8878384004dfe75a8410b4207505179)) * edit ([31d5e52](https://github.com/bluelovers/deep-diff/commit/31d5e5218e123ce81644dac3162f5b8a7d1cc7b0)) * Merge pull request #127 from gautiermichelin/patch-1 ([45641eb](https://github.com/bluelovers/deep-diff/commit/45641eb1dc6ee0968d9e0a0ec8426c30adf2abb6)), closes [#127](https://github.com/bluelovers/deep-diff/issues/127) # 1.0.0 "🔖 Miscellaneous" (2018-04-18) ### 🐛 Bug Fixes * handle nested arrays in `applyChange` ([9cc7eb8](https://github.com/bluelovers/deep-diff/commit/9cc7eb850b08c5916e60dcb0c42510f19324669f)) ### 🔖 Miscellaneous * 1.0.0 ([5196570](https://github.com/bluelovers/deep-diff/commit/519657033963a0d7ee8f2cbdb3cbfcb5f94a0452)) * let -> var, built release ([cd97703](https://github.com/bluelovers/deep-diff/commit/cd9770392ec6706c33611fb8865fea0b85fe6ce1)) * close #125 - Updated changelong and readme for v1.0.0 ([6a6053d](https://github.com/bluelovers/deep-diff/commit/6a6053df5a6cc6f6865cb64e253db7c6725d092b)), closes [#125](https://github.com/bluelovers/deep-diff/issues/125) * Typo : missing { ([188e9f8](https://github.com/bluelovers/deep-diff/commit/188e9f8f8d58d7a58e79617fabe57772ced63d66)) * resolves #78 ([9918335](https://github.com/bluelovers/deep-diff/commit/991833595c29052bb2958e8c4f163e59e00c4949)), closes [#78](https://github.com/bluelovers/deep-diff/issues/78) * close #63 ([57ac1de](https://github.com/bluelovers/deep-diff/commit/57ac1deaa25aceb1c42a79522692a354b144a4d0)), closes [#63](https://github.com/bluelovers/deep-diff/issues/63) * added examples, vscode stuff ([fa9f5d5](https://github.com/bluelovers/deep-diff/commit/fa9f5d5bfaa61a9c56c8e9b3b1786e39b1c90f1a)) * fixes #47, fixes #111, close #115 ([d492e99](https://github.com/bluelovers/deep-diff/commit/d492e997d9db5dfe0a53e5d6c2bd28187f0c4c49)), closes [#47](https://github.com/bluelovers/deep-diff/issues/47) [#111](https://github.com/bluelovers/deep-diff/issues/111) [#115](https://github.com/bluelovers/deep-diff/issues/115) * requesting feedback ([5907aa3](https://github.com/bluelovers/deep-diff/commit/5907aa3392c63db9ee8324329e28a29cb43bc518)) * npm next ([c266dc9](https://github.com/bluelovers/deep-diff/commit/c266dc9873ba6da7aa544527f96a7606100d412b)) * removed es6 module weirdness ([52e833e](https://github.com/bluelovers/deep-diff/commit/52e833e3b96ee3769613cd21e101e24ec8ef59a5)) * Merge branch 'master' of git://github.com/justinlettau/diff into justinlettau-master ([0c70025](https://github.com/bluelovers/deep-diff/commit/0c70025be752f22183e867ec3d0f2b1edbe72b9b)) * merged ([61cd1d8](https://github.com/bluelovers/deep-diff/commit/61cd1d85ec8e724b654de523a7055db4f1565223)) * Merge branch 'master' of git://github.com/jongwookyi/diff into jongwookyi-master ([9b1767a](https://github.com/bluelovers/deep-diff/commit/9b1767abf9e32b381915f974c5f22ae1dfd749da)) * moved source to index.es.js ([6380fbf](https://github.com/bluelovers/deep-diff/commit/6380fbfc70d783b39e839be7bb2592dba07efcaa)) * Merge branch 'master' of git://github.com/jsfuchs/diff into jsfuchs-master ([54c2395](https://github.com/bluelovers/deep-diff/commit/54c23957e44e14c2ae980bfccdc0424127065d47)) * Add tests; fix bug ([f87b337](https://github.com/bluelovers/deep-diff/commit/f87b337beb9c5690dec40165c69079582bbbd50c)), closes [#102](https://github.com/bluelovers/deep-diff/issues/102) [#104](https://github.com/bluelovers/deep-diff/issues/104) * Don't call .hasOwnProperty; use Object.getOwnPropertyDescriptor instead. ([76a91cc](https://github.com/bluelovers/deep-diff/commit/76a91ccab49ab7c03479317420ffb992f3b8ece5)) * Fixed index out of range errors. ([fef9d96](https://github.com/bluelovers/deep-diff/commit/fef9d960669fa8886a7986c9825b5a9335834ad6)) * Fixed index out of range errors. ([21707d6](https://github.com/bluelovers/deep-diff/commit/21707d6f8993dde08ae89c7574f68f400bbae2b4)) * Fix conflict ([2562e96](https://github.com/bluelovers/deep-diff/commit/2562e96045b57e1cb84f0e877db8e76de516a919)) * Resolve conflicts ([50ccd2d](https://github.com/bluelovers/deep-diff/commit/50ccd2d3cc0a4223c85c48c4ca7dc9cf77533105)) * change supported node versions, dropping 0.10, adding 7 ([c97fb9c](https://github.com/bluelovers/deep-diff/commit/c97fb9ce8840283c78f1d70b6420d11291435e82)) ## 0.3.8 "🔖 Miscellaneous" (2017-05-03) ### 🔖 Miscellaneous * built release 0.3.8 and updated browser test ([6c210c5](https://github.com/bluelovers/deep-diff/commit/6c210c5129f97fb76e918cfe1c052c0173929bbd)) * vsn 0.3.8 ([c3fa6f2](https://github.com/bluelovers/deep-diff/commit/c3fa6f211027fc72f2dde2122f313f36e8185ffa)) * reconciled difference between index.es.js and index.js ([a95aad1](https://github.com/bluelovers/deep-diff/commit/a95aad1b91d352998e1b0786e42f4c50612da756)) * Hopefully the last of the formatting fixes ([1b288e2](https://github.com/bluelovers/deep-diff/commit/1b288e228114a3eee22761826940e93da2a0e13d)) * More formatting fixes ([9540d8f](https://github.com/bluelovers/deep-diff/commit/9540d8fd2554b210badac23f0eee2800a1df27de)) * Fixing formatting - may need some more work ([a9cf7e6](https://github.com/bluelovers/deep-diff/commit/a9cf7e6e30b2a77dd5a42b0c6a705e163a166c4d)) * Merge branch 'master' of https://github.com/flitbit/diff ([59c4299](https://github.com/bluelovers/deep-diff/commit/59c42999859e1af06405fcb82710bfe943509195)) ## 0.3.7 "🔖 Miscellaneous" (2017-05-01) ### 🐛 Bug Fixes * issue [#98](https://github.com/bluelovers/deep-diff/issues/98) ([5796c75](https://github.com/bluelovers/deep-diff/commit/5796c75607be334e074435d24ab8a1325d52fd78)) ### 🔖 Miscellaneous * moved @sberan`s contributions to index.es.js, release 0.3.7 ([f6f2e2a](https://github.com/bluelovers/deep-diff/commit/f6f2e2a476cfa236008b867a829479a61f0b62ef)) * issue [#88](https://github.com/bluelovers/deep-diff/issues/88), illustratiion ([799707a](https://github.com/bluelovers/deep-diff/commit/799707a9897d11bdd8697d50d778575578836e5b)) * warning, broken in typescript ([f16f633](https://github.com/bluelovers/deep-diff/commit/f16f633d4a6712daaefa49ec82dc3ccb10aea472)) * warning, broken in typescript ([4ad2fc4](https://github.com/bluelovers/deep-diff/commit/4ad2fc40fc5d203e792b600478926c6f29ae20c8)) * release 0.3.6, referenced in test.html ([f7df1a4](https://github.com/bluelovers/deep-diff/commit/f7df1a4eba06c8ce492f9bd7e3aeba7e18b8db82)) ## 0.3.6 "🔖 Miscellaneous" (2017-04-25) ### 🔖 Miscellaneous * vsn bump to 0.3.6 ([8dde16f](https://github.com/bluelovers/deep-diff/commit/8dde16f72de7550b7bfc9fbde00ce0df95b2ecf3)) * comments ([eed9619](https://github.com/bluelovers/deep-diff/commit/eed961960e7b3a741aa0ccfe0403f3c7137733bb)) * fixed lint error; missing semicolon ([c874105](https://github.com/bluelovers/deep-diff/commit/c87410597ed73f2e15b745d4522d2b62a371bff5)) * added illustration for issue 72 (a question) ([e54b000](https://github.com/bluelovers/deep-diff/commit/e54b00053324c4773e65c36557d6742f066ad38a)) * illustrates #62 may be obsolete ([0219a58](https://github.com/bluelovers/deep-diff/commit/0219a5889b5ef027e46102328810aa59394c9f5a)), closes [#62](https://github.com/bluelovers/deep-diff/issues/62) * fixes #70 ([af99304](https://github.com/bluelovers/deep-diff/commit/af9930490d7c9dd5943ab8218faa80edbfaa4f6a)), closes [#70](https://github.com/bluelovers/deep-diff/issues/70) * illustrated issue #83 is not present ([5d6df24](https://github.com/bluelovers/deep-diff/commit/5d6df249f02bb512bc8c86c6936bcd3690a469b5)), closes [#83](https://github.com/bluelovers/deep-diff/issues/83) * verified fix for issue #35 ([deabb3d](https://github.com/bluelovers/deep-diff/commit/deabb3d9d425e2a706058a1d478855fa08f92236)), closes [#35](https://github.com/bluelovers/deep-diff/issues/35) * fixes issue #74 ([cace82f](https://github.com/bluelovers/deep-diff/commit/cace82f5fb76b3f9a0bd024089f6a5348b0dd349)), closes [#74](https://github.com/bluelovers/deep-diff/issues/74) * Merge branch 'master' into issue-74 ([6b31c48](https://github.com/bluelovers/deep-diff/commit/6b31c48a2fb8b6ea86655febf7949626da58ca10)) * vsn bump to 0.3.5 ([5945c6a](https://github.com/bluelovers/deep-diff/commit/5945c6a46053844e7bf62cb0e79bc1f7c448f97f)) * fixed lingering .toString issue, exposed in browser, not command line ([4fa76c5](https://github.com/bluelovers/deep-diff/commit/4fa76c54142d3c3af479c0e818c10229e9621ebe)) * added example exhibiting issue 74 ([10bf97d](https://github.com/bluelovers/deep-diff/commit/10bf97dbe369951ea10a3852b6ceb99ab6870d0d)) * add file with esmodule syntax ([caa7973](https://github.com/bluelovers/deep-diff/commit/caa7973d04bb05782bf797fa2d99e51da5e5d894)) * Change module system of the main file #92 ([9fc6c8b](https://github.com/bluelovers/deep-diff/commit/9fc6c8b6e85f9bb9cc13b5252442c3c9f6f7a461)), closes [#92](https://github.com/bluelovers/deep-diff/issues/92) * Merge pull request #90 from tdebarochez/master ([2cf8715](https://github.com/bluelovers/deep-diff/commit/2cf8715cf639743575d597be8c0108dd6849fb06)), closes [#90](https://github.com/bluelovers/deep-diff/issues/90) * Merge pull request #85 from mortonfox/patch-1 ([d4f4a4f](https://github.com/bluelovers/deep-diff/commit/d4f4a4f3245e069ee09a46ce41df6aa75ea45b76)), closes [#85](https://github.com/bluelovers/deep-diff/issues/85) * Merge pull request #80 from stevemao/patch-2 ([c7fd7b3](https://github.com/bluelovers/deep-diff/commit/c7fd7b37b8a5475957c0c1fa04306ce476457f78)), closes [#80](https://github.com/bluelovers/deep-diff/issues/80) * Fix subject.toString is not a function ([211e36e](https://github.com/bluelovers/deep-diff/commit/211e36e3a22ec0a34ff1418c68b4b988e16dc0c1)) * Update Mocha link ([6da3d71](https://github.com/bluelovers/deep-diff/commit/6da3d712076e2900a41de3357458ca10700331f8)) * Adding some more tests ([008d258](https://github.com/bluelovers/deep-diff/commit/008d2584127f7eede385be70ec4d93ee7d88ff98)) * order-independent-array-diff Adding order indep differ. Needs more tests ([3173449](https://github.com/bluelovers/deep-diff/commit/31734495c7620aa66a5df84f73b50772a9c6c6c5)) * update compatibility ([fc365c6](https://github.com/bluelovers/deep-diff/commit/fc365c60e670e6b93a933f980594d678297d24b8)) * test the latest version of node4 ([5c3a4c8](https://github.com/bluelovers/deep-diff/commit/5c3a4c8fd7196b7f2b8cd5d34b71b8f35eb4e770)) * Added support for modern node versions ([686b002](https://github.com/bluelovers/deep-diff/commit/686b00254ff441fdd03faff9ab52915e52913ccf)) * Update Readme.md ([eab3796](https://github.com/bluelovers/deep-diff/commit/eab3796b5acc20892daa9b196b843f4598a0c83d)) * spelling mistakes ([196cc69](https://github.com/bluelovers/deep-diff/commit/196cc694e373be099486a6e2d90192793df45964)) * rel 0.3.4, updated ref in test/test.html ([e271e69](https://github.com/bluelovers/deep-diff/commit/e271e69f4c6dbccf657cf30355d307b46659de67)) ## 0.3.4 "🔖 Miscellaneous" (2016-05-09) ### 🔖 Miscellaneous * 0.3.4 ([1ab31c8](https://github.com/bluelovers/deep-diff/commit/1ab31c86d561b17648f35274a84d90b14dcb2ff3)) * added contributors, marking version ([c6d938f](https://github.com/bluelovers/deep-diff/commit/c6d938f905b04552187ac2f7fd1531d779951354)) * manual merge ([d74bbf2](https://github.com/bluelovers/deep-diff/commit/d74bbf2cc92e601a799524ddfeba5637a71a31af)) * Merge branch 'fix-missing-toString-case' of git://github.com/serkanserttop/diff into serkanserttop-fix-missing-toString-case ([e56aeb4](https://github.com/bluelovers/deep-diff/commit/e56aeb461048e14374edcba093a7854813a2054f)) * Merge branch 'master' of git://github.com/matsbryntse/diff into matsbryntse-master ([99deb21](https://github.com/bluelovers/deep-diff/commit/99deb21a0ed762a2d11bd35d1a3544ebbed7bb6e)) * fix wrong 'undefined' definition under almond. ([295b6af](https://github.com/bluelovers/deep-diff/commit/295b6afffc6c700995a5b52395cf64ffcf774dcd)) * comparing regexes support ([12df2c8](https://github.com/bluelovers/deep-diff/commit/12df2c8eac2d3f968fda1552e35b4742d46d44dc)) * frames support ([cb7ccc3](https://github.com/bluelovers/deep-diff/commit/cb7ccc305e1eb822e8aa800c655dc4a84108e8c8)) * Fix a crash when toString does not exist in the prototype (for custom objects) ([4bfded2](https://github.com/bluelovers/deep-diff/commit/4bfded2739aa99bb5742ed756d326a0bb98afcda)) ## 0.3.3 "🔖 Miscellaneous" (2015-10-18) ### 🔖 Miscellaneous * rolled version 0.3.3 ([619f660](https://github.com/bluelovers/deep-diff/commit/619f6606ecef4098c4259db48387bebe68840ea5)) * fixed lint error on double-quotes ([6fdf75a](https://github.com/bluelovers/deep-diff/commit/6fdf75a05c174dba7c4e9a49948bcadfe00db7d0)) * added code from issue #48 to exhibit the bug ([ac5d4ea](https://github.com/bluelovers/deep-diff/commit/ac5d4ea476f95ffbcca04e60f17f4bc423ee9358)), closes [#48](https://github.com/bluelovers/deep-diff/issues/48) * Merge pull request #43 from joeldenning/issue35 ([9baaa46](https://github.com/bluelovers/deep-diff/commit/9baaa46a757f5a296567a602b1d7abb6807de4d6)), closes [#43](https://github.com/bluelovers/deep-diff/issues/43) [#35](https://github.com/bluelovers/deep-diff/issues/35) * Merge pull request #42 from SimenB/use-npm-scripts ([25be3ea](https://github.com/bluelovers/deep-diff/commit/25be3eac8e6f0d993a9fe4852e87771b4fb80c12)), closes [#42](https://github.com/bluelovers/deep-diff/issues/42) ## 0.3.2 "🔖 Miscellaneous" (2015-04-29) ### 🔖 Miscellaneous * doc new rel ([1f7a0c1](https://github.com/bluelovers/deep-diff/commit/1f7a0c19329a7d24de070f8390d353454bbc585c)) * passing the actual object to the prefilter ([a0e332e](https://github.com/bluelovers/deep-diff/commit/a0e332ee305fd3ebedb28f68c68626211d3e2a60)) * Spelling fix ([37f0ad4](https://github.com/bluelovers/deep-diff/commit/37f0ad4dda47c70a62a4c2575b28fe901920c8cb)) * Fix for issue #35 -- apply diffs for arrays ([0ef4aeb](https://github.com/bluelovers/deep-diff/commit/0ef4aebec78eb3b2c9fe9e2ab7ce39cb55383738)), closes [#35](https://github.com/bluelovers/deep-diff/issues/35) * Added "files" to package.json ([6da6588](https://github.com/bluelovers/deep-diff/commit/6da658818ea5d6570ae3035b27fbcc7de9b70c14)) * Add JSCS ([e7ce136](https://github.com/bluelovers/deep-diff/commit/e7ce136c133474d57d025fe62be4f2bd6f295f54)) * Call uglify from run-scripts ([64892c4](https://github.com/bluelovers/deep-diff/commit/64892c43ed6229043d0b5977518445dfaee03371)) * Call jshint when running tests ([da11a0b](https://github.com/bluelovers/deep-diff/commit/da11a0bc8c5621655ee83664d7518a5ef1d544f3)) * Add editorconfig, and clean up .jshintrc ([4f44bdf](https://github.com/bluelovers/deep-diff/commit/4f44bdf754ca1c1a86bf0cdd5301f226cb67df1b)) * removed CI for nodejs 8 ([61a3658](https://github.com/bluelovers/deep-diff/commit/61a36584f987a71526b3fc4db8169ba4cc77843a)) ## 0.3.1 "🔖 Miscellaneous" (2015-04-04) ### 🔖 Miscellaneous * rel 0.3.1 ([c97fc20](https://github.com/bluelovers/deep-diff/commit/c97fc206a979d6be9d4f171dccb0a990fc924bd4)) * packaging for 0.3.1; code cleanup/formatting ([9183473](https://github.com/bluelovers/deep-diff/commit/9183473cb6f9ab3633eae1b11cfde2299c42d88a)) * Add UMD wrapper ([2569618](https://github.com/bluelovers/deep-diff/commit/25696187c232a92b75730a432335ebcd3962ef26)), closes [#27](https://github.com/bluelovers/deep-diff/issues/27) * Update dependecies, and build on latest Node as well as Io.js ([fa27432](https://github.com/bluelovers/deep-diff/commit/fa274321dbbfbb176e1a72ff89717d2223ab83f4)) * show type changes between objects ([b0dada9](https://github.com/bluelovers/deep-diff/commit/b0dada90f67855943996fcb770412483f43c927d)) * Add support for normalizing values before diffing. ([ecdd98a](https://github.com/bluelovers/deep-diff/commit/ecdd98a5c3c90b79db87ad06f7a0e79abd7a5fe1)) * small typo and removed unnecessary bits ([1bd7cfc](https://github.com/bluelovers/deep-diff/commit/1bd7cfc7e94a6339568c14046e9eeb205d2a7b7c)) * added example fn differences ([78fe62f](https://github.com/bluelovers/deep-diff/commit/78fe62f48c95e6600c896daed8e53105bbc80c9a)) # 0.3.0 "🔖 Miscellaneous" (2014-10-23) ### 🔖 Miscellaneous * build release 0.3.0 ([07e91c6](https://github.com/bluelovers/deep-diff/commit/07e91c624e5016be5c5c6560a9eabe49ef3ba2d0)) * merged from master ([807b862](https://github.com/bluelovers/deep-diff/commit/807b86258a52b2d6648a79e31fe0886cabe0d7de)) * added example of applying changes ([613f7cb](https://github.com/bluelovers/deep-diff/commit/613f7cb70d28cf22ef5c43b50c3ec1e399186f50)) * Fix typo in component.json repo ([56f08bd](https://github.com/bluelovers/deep-diff/commit/56f08bd338e967b94d81f4807e43bff3205c2f43)) * Update bower ignore ([1b6788e](https://github.com/bluelovers/deep-diff/commit/1b6788e2e55487973966231bda4970502df4a99b)) * Update .gitignore ([bd8f681](https://github.com/bluelovers/deep-diff/commit/bd8f681edb21dd3742c4886931321943795b06a5)) * Add component.json ([6df3d0d](https://github.com/bluelovers/deep-diff/commit/6df3d0d43d98872be800860aebb821a0e48152e2)) * Changed applyDiff.isConflict getter to applyDiff.isConflict() getter method (to make it work in IE8) ([438481e](https://github.com/bluelovers/deep-diff/commit/438481e6ec60f01b3e90f00ca9a47788eff31d85)) * use local mocha in ./node_modules/.bin instead of global mocha ([3d7b648](https://github.com/bluelovers/deep-diff/commit/3d7b648a8fcc26e971a1d7b07c512c74aa43794f)) * Adding license header to main file for future releases ([239fbbb](https://github.com/bluelovers/deep-diff/commit/239fbbbe7b37485efd8018af126adbac1c0e9223)) * Added minimal style source header to identify product name/license ([e89dcf0](https://github.com/bluelovers/deep-diff/commit/e89dcf0dddbf384535874f30751a3a8a87d49f1e)) # 0.2.0 "🔖 Miscellaneous" (2014-08-13) ### 🔖 Miscellaneous * added release 0.2.0 ([a04add0](https://github.com/bluelovers/deep-diff/commit/a04add0c01b1fe8b53ebbe8bb1e4a95f81d7a937)) * fix #17, fix #19, close #21 ([dea80f2](https://github.com/bluelovers/deep-diff/commit/dea80f2795de9d39597e48daa805c547112603f7)), closes [#17](https://github.com/bluelovers/deep-diff/issues/17) [#19](https://github.com/bluelovers/deep-diff/issues/19) [#21](https://github.com/bluelovers/deep-diff/issues/21) * Adding the license to the package.json per https://www.npmjs.org/doc/package.json.html ([8c21ac9](https://github.com/bluelovers/deep-diff/commit/8c21ac9e95b01397524b3aae7032bcf2fab1eee5)) * Added a revertChange method ([f3d661c](https://github.com/bluelovers/deep-diff/commit/f3d661c3bc1d4120cbbd2ee05691ef332ced9cea)) * Convert all tabs to spaces ([dfab3d2](https://github.com/bluelovers/deep-diff/commit/dfab3d296daaaa6c90df73ad397cebb9f4818bb5)) * Noted the CI configurations. ([240f491](https://github.com/bluelovers/deep-diff/commit/240f491883f539c63930ac9d436d5ce16b491567)) * Removed testing on 0.9, added testing on 0.11 ([af8cf58](https://github.com/bluelovers/deep-diff/commit/af8cf583ed86f5cec8d99f35197fc7e17e3c010a)) * Update Readme.md ([3be1952](https://github.com/bluelovers/deep-diff/commit/3be19525962949aef0a6cb7f693ef756ca7567e2)) * Better Engrish ([f94e1e0](https://github.com/bluelovers/deep-diff/commit/f94e1e018b75eb53eb3e01bfde4b7d5ef79bd2e8)) ## 0.1.7 "🔖 Miscellaneous" (2014-04-29) ### 🔖 Miscellaneous * updated vsn, built release package ([a29c1b6](https://github.com/bluelovers/deep-diff/commit/a29c1b6f77ab3354534fd3caf58725fe3e6beee6)) * closes #11. Added prefilter capability ([c4c6351](https://github.com/bluelovers/deep-diff/commit/c4c6351d0af2bb5732bccc7c33ce3f14aaaf7af2)), closes [#11](https://github.com/bluelovers/deep-diff/issues/11) * removed redundant regression/bug_10.js ([68edb7a](https://github.com/bluelovers/deep-diff/commit/68edb7a8d563320bf091c3ea5b44531accba90c1)) * updated readme, updated version for bower, release package for 0.1.6 ([5630056](https://github.com/bluelovers/deep-diff/commit/5630056960041a33d74449c11694162ef5110982)) ## 0.1.6 "🔖 Miscellaneous" (2014-04-04) ### Reverts * Revert "Changed check for required properties on `change`" ([bcf174d](https://github.com/bluelovers/deep-diff/commit/bcf174d24b738e124a541a6bc109f4118a75365d)) * Revert "Bugfix for #10" ([8cf81c8](https://github.com/bluelovers/deep-diff/commit/8cf81c817d0328fe7c24a7ed3178a048177d42f1)), closes [#10](https://github.com/bluelovers/deep-diff/issues/10) ### 🔖 Miscellaneous * problems publishing to npm, 0.1.5 was fubar, rolled to 0.1.6, updated local ver of npm, success ([d2b9b90](https://github.com/bluelovers/deep-diff/commit/d2b9b9080b81fea80104b57138bc74cef9a01d1b)) * updated version to 0.1.5 ([932e7c0](https://github.com/bluelovers/deep-diff/commit/932e7c00bd10a26661bebd905435dacaf00ce830)) * build release 0.1.5 for publication on npm ([8385656](https://github.com/bluelovers/deep-diff/commit/8385656aa20b3d02a57d6cab10214e647f39aaf9)) * fixes #15; pulled from caasi`s fork, comparing NaNs now indicates difference. ([b526d56](https://github.com/bluelovers/deep-diff/commit/b526d568292736aecaa48a9d2e302dbbd4f3459d)), closes [#15](https://github.com/bluelovers/deep-diff/issues/15) * fixes #16, fixes #10; updates to elements in nested array objects now properly applied ([abfade0](https://github.com/bluelovers/deep-diff/commit/abfade0b37054f89ed6427f858b31edf1f9da9a7)), closes [#16](https://github.com/bluelovers/deep-diff/issues/16) [#10](https://github.com/bluelovers/deep-diff/issues/10) * shows no differences when you compared two NaN ([09f03c1](https://github.com/bluelovers/deep-diff/commit/09f03c1ecdff903fe6dbb04c585e7124c07c236f)) * Merge pull request #12 from paulpflug/master ([6b34bfe](https://github.com/bluelovers/deep-diff/commit/6b34bfea190731f49e0418c4d4c4e8e04c2c813c)), closes [#12](https://github.com/bluelovers/deep-diff/issues/12) [#10](https://github.com/bluelovers/deep-diff/issues/10) [#12](https://github.com/bluelovers/deep-diff/issues/12) * Merge branch 'master' of https://github.com/flitbit/diff ([cfe936d](https://github.com/bluelovers/deep-diff/commit/cfe936db757c230261fc1463c486a034acd36456)) * added license, doh! ([7ca97e2](https://github.com/bluelovers/deep-diff/commit/7ca97e259182e4f5e58a59b4f5be8b3a21f81ffd)) * Add bower.json + register with bower's registry. ([44911c0](https://github.com/bluelovers/deep-diff/commit/44911c0cb4978f81d4b4074a9d84aa183710a516)) ## 0.1.4 "🔖 Miscellaneous" (2013-10-21) ### 🔖 Miscellaneous * build release 0.1.4, updated tests.html to use the new rel ([383d499](https://github.com/bluelovers/deep-diff/commit/383d499b8ce4ef8c96049dc640720ab22c32d563)) * rolled rev ([501b8f9](https://github.com/bluelovers/deep-diff/commit/501b8f95bdcdf95849ea673b9ebad015ca3a2d96)) * Attempt at fixing #6 ([22ee7c0](https://github.com/bluelovers/deep-diff/commit/22ee7c08b4e5034c9ad58b38090142fe486aa654)), closes [#6](https://github.com/bluelovers/deep-diff/issues/6) * Attempt at fixing #5 ([215c0a1](https://github.com/bluelovers/deep-diff/commit/215c0a11bddd87e89a475795b027346ab8d4b8e6)), closes [#5](https://github.com/bluelovers/deep-diff/issues/5) * fixed broken json formatting ([abcd491](https://github.com/bluelovers/deep-diff/commit/abcd491bf10b714685ff7eaa06484b26a3b23d1d)) * modified conflict detection, fixed fubar'd v0.1.3 - failed to commit all files ([cfb005a](https://github.com/bluelovers/deep-diff/commit/cfb005ad435f3af76d3a764db513ef3d5ed75006)) ## 0.1.3 "🔖 Miscellaneous" (2013-07-25) ### 🔖 Miscellaneous * Updated build status image. ([389695a](https://github.com/bluelovers/deep-diff/commit/389695a764e0507a98b0f47eec605867efc05799)) ## 0.1.2 "🔖 Miscellaneous" (2013-07-25) ### 🔖 Miscellaneous * Added browser support & tests. Refactored export. ([938bfcd](https://github.com/bluelovers/deep-diff/commit/938bfcd9f8f381056b7137387849c62766bb7e04)) * Apply diff to a different object ([4281577](https://github.com/bluelovers/deep-diff/commit/42815770ecd714967382e1c227112a33b4375814)) * Added build status. ([77492f0](https://github.com/bluelovers/deep-diff/commit/77492f052fbf646900a8ccf54684d1c8950f2802)) ## 0.1.1 "🔖 Miscellaneous" (2013-07-08) ### 🔖 Miscellaneous * merged SocalNick:issues/1; switched test frameworks to mocha and expect.js ([cf51dcb](https://github.com/bluelovers/deep-diff/commit/cf51dcb1a6baebd327d595816eb1a09448e2bb26)) * Adding a few more tests for sanity ([bedfb09](https://github.com/bluelovers/deep-diff/commit/bedfb09e0d454f67a114aa008045a1e214003174)) * Testing for null before trying to do Object.keys on it ([63cc5ed](https://github.com/bluelovers/deep-diff/commit/63cc5ed3c0aa5b73736722c77cac81be53b7addd)) * Test exhibiting issue ([e17ec0b](https://github.com/bluelovers/deep-diff/commit/e17ec0b36fc1f2753bf2344da9091e698bdb488e)) * Removed npm-debug.log ([0d40412](https://github.com/bluelovers/deep-diff/commit/0d40412c079c86e9bf3d3234fd7cea961710b6e6)) * Fixed typo in package.json ([fef508e](https://github.com/bluelovers/deep-diff/commit/fef508ef06a15fd9e9301146799c0db861938735)) * Changed the package name to deep-diff. ([498de42](https://github.com/bluelovers/deep-diff/commit/498de429835a63339b8822c530af67772e5e94f0)) * Readme edits. ([cc05f25](https://github.com/bluelovers/deep-diff/commit/cc05f250217fe9c974e08d27898a5c0a0637f50b)) * Updated readme. ([9f4287b](https://github.com/bluelovers/deep-diff/commit/9f4287b63d4384c5d9e5903b89c1e74b973b1bd1)) * Updated readme. ([860b531](https://github.com/bluelovers/deep-diff/commit/860b5319a1c5c53406fdcb5167dc6d449e33dcb2)) * Moved diff-scenarios.js from tests/ to examples/ ([66ba129](https://github.com/bluelovers/deep-diff/commit/66ba12977a20df28a56b8fc3f2d1302f5653d927)) * Made diff records immutable ([d28420f](https://github.com/bluelovers/deep-diff/commit/d28420f5d424e86f2b4904b0cd16646573af2c4a)) * Updated readme. ([6bf7854](https://github.com/bluelovers/deep-diff/commit/6bf78543f7e0282b79c8ea39a19b94424976efdd)) * Updated readme. ([dadb6cb](https://github.com/bluelovers/deep-diff/commit/dadb6cb773e2d758fd9990417c924afdd1b25c01)) * Readme updates ([e176ce4](https://github.com/bluelovers/deep-diff/commit/e176ce404176be2cd11c1c3f4f1d7cfb97e1ce55)) * Updates to the readme. ([958d0d1](https://github.com/bluelovers/deep-diff/commit/958d0d15cf04378dce64c45f7f6512ff32d499e6)) * Editing the readme ([6f8bf74](https://github.com/bluelovers/deep-diff/commit/6f8bf7464ce2f2adc0aee2944b6b6a65c5543ff5)) * Initial, incomplete ([526487d](https://github.com/bluelovers/deep-diff/commit/526487d9ceae8243fa72cdfbfdbd356b6666e246)) # deep-diff Change Log **deep-diff** is a javascript/node.js module providing utility functions for determining the structural differences between objects and includes some utilities for applying differences across objects. ## Log `1.0.2` - 2018-08-10 * Support for react-native environment - Thanks @xanderberkein `1.0.0` - 2018-04-18 * reverted to [UMD style module](https://github.com/umdjs/umd) rather than the ES6 style, which evidently, broke lots of people's previously working code. * fixed some bugs... see `examples/issue-XXx.js` for each issue I believe is fixed in this version. * Closed: * [#63 diff of equal objects should return empty array](https://github.com/flitbit/diff/issues/63) * [#115 Remove second argument of applyChange from public api](https://github.com/flitbit/diff/issues/115) * Resolved: * [#78 FeatureRequest: change the diff of array elements (or add such an option)](https://github.com/flitbit/diff/issues/78) * Fixed: * [#47 Deleting Array elements](https://github.com/flitbit/diff/issues/47) * [#111 Crash when comparing two undefined](https://github.com/flitbit/diff/issues/111) `0.3.8` - 2017-05-03 * reconciled recently introduced difference between `index.es.js` and `index.js` * improved npm commands for more reliable contributions * added a few notes to README regarding contributing. `0.3.7` - 2017-05-01 * fixed issue #98 by merging @sberan's pull request #99 — better handling of property with `undefined` value existing on either operand. Unit tests supplied. `0.3.6` - 2017-04-25 — Fixed, closed lingering issues: * fixed #74 — comparing objects with longer cycles * fixed #70 — was not properly detecting a deletion when a property on the operand (lhs) had a value of `undefined` and was _undefined_ on the comparand (rhs). :o). * WARNING! [Still broken when importing in Typescript](https://github.com/flitbit/diff/issues/97). `0.3.5` - 2017-04-23 — Rolled up recent fixes; patches: * @stevemao — #79, #80: now testing latest version of node4 * @mortonfox — #85: referencing mocha's new home * @tdebarochez — #90: fixed error when .toString not a function * @thiamsantos — #92, #93: changed module system for improved es2015 modules. WARNING! [This PR broke importing `deep-diff` in Typescript as reported by @kgentes in #97](https://github.com/flitbit/diff/issues/97) `0.3.4` - Typescript users, reference this version until #97 is fixed! `0.3.3` - Thanks @SimenB: enabled npm script for release (alternate to the Makefile). Also linting as part of `npm test`. Thanks @joeldenning: Fixed issue #35; diffs of top level arrays now working. `0.3.3` - Thanks @SimenB: enabled npm script for release (alternate to the Makefile). Also linting as part of `npm test`. Thanks @joeldenning: Fixed issue #35; diffs of top level arrays now working. `0.3.2` - Resolves #46; support more robust filters by including `lhs` and `rhs` in the filter callback. By @Orlando80 `0.3.1` - Better type checking by @Drinks, UMD wrapper by @SimenB. Now certifies against nodejs 12 and iojs (Thanks @SimenB). `0.2.0` - [Fixes Bug #17](https://github.com/flitbit/diff/issues/17), [Fixes Bug #19](https://github.com/flitbit/diff/issues/19), [Enhancement #21](https://github.com/flitbit/diff/issues/21) Applying changes that are properly structured can now be applied as a change (no longer requires typeof Diff) - supports differences being applied after round-trip serialization to JSON format. Prefilter now reports the path of all changes - it was not showing a path for arrays and anything in the structure below (reported by @ravishvt). *Breaking Change* – The structure of change records for differences below an array element has changed. Array indexes are now reported as numeric elements in the `path` if the changes is merely edited (an `E` kind). Changes of kind `A` (array) are only reported for changes in the terminal array itself and will have a nested `N` (new) item or a nested `D` (deleted) item. `0.1.7` - [Enhancement #11](https://github.com/flitbit/diff/issues/11) Added the ability to filter properties that should not be analyzed while calculating differences. Makes `deep-diff` more usable with frameworks that attach housekeeping properties to existing objects. AngularJS does this, and the new filter ability should ease working with it. `0.1.6` - Changed objects within nested arrays can now be applied. They were previously recording the changes appropriately but `applyDiff` would error. Comparison of `NaN` works more sanely - comparison to number shows difference, comparison to another `Nan` does not.