In this release, a lot of the internal API was refactored to decrease interdependencies. Technically this results in a huge list of breaking changes, but most of those should not affect any application, unless very low-level APIs are frequently used. For example, Z-Wave JS UI and Z-Wave JS Server had just two small breaks. In addition, Z-Wave JS is now released as hybrid ESM/CJS packages.
Breaking changes · Migration guide
Driver.installConfigUpdates()
now requires the external config directory to be configured (#7365)- Replace Node.js Buffer with
Uint8Array
portable replacement classBytes
(#7332) zwave-js
no longer loops up the package version at runtime (#7344)- Changed some paths to be relative to
process.cwd()
instead of source location (#7345) - Decouple CCs and messages from host, split parsing and creation, split ZWaveNode class (#7305)
Config file changes
- Add Aeotec TriSensor 8 (#7342)
Changes under the hood
- Decorators have been migrated from the legacy specification to the accepted proposal (#7360)
- Transition modules to hybrid ESM/CJS, switch to vitest for testing (#7349)
- Removed dependency on
fs-extra
in favor ofnode:fs/promises
(#7335) @zwave-js/config
no longer loops up the package version at runtime (#7343)