Skip to content

Version 4.0.0

Compare
Choose a tag to compare
@codetheweb codetheweb released this 16 Feb 20:42
· 260 commits to master since this release

The majority of changes in this release deal with simplifying TuyAPI's code for better readability and maintainability, as well as simplifying the interface.

✅ Non-Breaking Changes:

  • Only necessary files are now bundled for publishing on NPM, resulting in a smaller overall package size.
  • Both the TuyaCipher and MessageParser classes were converted to ES6 classes.
  • .get() and .set() will now both emit an event and return a Promise simultaneously, no extra options needed. In practice, this means TuyAPI gets out of your way and lets you decide if you want to use the synchronous-style callbacks or event-based programming (or both) with less friction.
  • Debug statements were cleaned up, so hopefully the output of DEBUG=* ... is a little less overwhelming and easier to understand.
  • Added argument checks to functions so they throw an error if called incorrectly.

🚨 Breaking Changes

  • .resolveId() was renamed to .find(), as the function can now resolve either a missing ID or missing IP. For compatibility purposes, .resolveId() now wraps .find(); but .resolveId() is deprecated and will be removed in v5.0.0.
  • .resolveIds() was removed. It previously wrapped .resolveId() for compatibility purposes.
  • The persistent connection option has been removed, as a persistent connection is now the default. This means that you must call .connect() before interacting with a device, and .disconnect() when you want your script to exit.