Skip to content

Releases: AsyncBanana/microdiff

v1.4.0 - Bug fixes and consistency improvements

19 Mar 21:48
86690c5
Compare
Choose a tag to compare

What's Changed

  • add support for treating NaN values as equivalent by @brainthinks in #24, closes #23
  • fixed diffs for properties changed from arrays to objects, closes #38

New Contributors

Full Changelog: v1.3.2...v1.4.0

TypeScript improvements, bugfixes, and testing improvements

14 Apr 19:45
fa6519f
Compare
Choose a tag to compare

What's Changed

  • Type exports for external references. by @garrett-wombat in #34
  • fix error if input object was created by a null prototype by @AnnatarHe in #35
  • Updated dependencies
  • Updated tests to check for null object prototypes and to use Node's test runner

New Contributors

Full Changelog: v1.3.1...v1.3.2

Optimizations, TypeScript improvements, and README updates

28 Jul 01:40
1266fc5
Compare
Choose a tag to compare

What's Changed

  • Replace ternary operator on cycles checking with short-circuit OR operator by @micalevisk in #22
  • Improve typing of Difference interface by @Schrubitteflau in #33
  • Various README updates, added new files for information on the project

New Contributors

Full Changelog: v1.3.0...v1.3.1

Added old value to CHANGE and REMOVE (#17) + Performance optimization (#14)

26 Dec 15:08
f0498ad
Compare
Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v1.2.0...v1.3.0

Improved performance; Added cycles option; Added number paths for arrays

13 Nov 12:44
c8efe46
Compare
Choose a tag to compare

This release adds a few things:

  • Performance has been improved somewhat through a few different strategies (credits to @brecert and their fork for some ideas)
  • An option has been added to disable cycle checking to optimize if you know there are no cycles (#9):
diff(obj1,obj2,{cyclesFix: false})
  • Now, array paths will have numbers instead of strings (#12).

Fixed array nesting bug

08 Nov 23:59
4fb5ba2
Compare
Choose a tag to compare

This release fixes an array nesting bug caused by v1.1.2 that caused problems if you nested an object inside an array inside an object (#11).

Fixed cyclical references (#6)

08 Nov 01:48
6fa6387
Compare
Choose a tag to compare

This release fixes cyclical references causing Microdiff to infinitely recurse (#6). This also adds better support for loading the ESM version in package.json. Thanks for 600 stars!

Fixed replacing object with null

07 Nov 15:15
75c163f
Compare
Choose a tag to compare

This release is just a small bug fix that fixes #7 and allows replacing an object with null or a primitive value.

Added support for CommonJS

07 Nov 01:47
9390265
Compare
Choose a tag to compare

This release adds support for CommonJS usage in Node. Current ESM usage should be unaffected, but people using CommonJS should now be able to require() Microdiff.

Added support for additional non-primitive types

05 Nov 22:01
30fcdf0
Compare
Choose a tag to compare

This release uses prototype checking, number coercion, and string coercion to support diffing non-primitive types. The new design also makes it much easier to add support for new types without a significant increase in size, as this is designed in a more modular way than earlier designs like v1.0.1's dates. In fact, Dates now use this design.

  • new String() is now supported
  • new Number() is now supported
  • new RegExp() and Regex literals are now supported

This release only adds 113 bytes of Terser compressed JavaScript (even less with Gzip or Brotli) and does not affect performance.
Thanks for all of your support!