Releases: zwave-js/node-zwave-js
Release v14.3.6
Bugfixes
- Fixed another issue where some CC API methods would incorrectly fail validation of their arguments, causing the node interview to fail (#7435)
Release v14.3.5
Release v14.3.4
Release v14.3.3
Bugfixes
- Fix parsing of some older 500 series NVM formats (#7399)
- Fixed an issue where
mock-server
would not start due to an incorrect module format (#7401) - Fixed an issue where the auto-generated argument validation for CC API methods would not work correctly in some cases when
zwave-js
was bundled (#7403)
Config file changes
- Add HomeSys HomeMech-2001/2 (#7400)
Release v14.3.2
Bugfixes
- Fixed an issue where encoding a buffer as an ASCII string would throw an error on Node.js builds without full ICU (#7395)
Release v14.3.1
Release v14.3.0
This release is broken. Do not use!
This release adds support for using the WebCrypto API as the cryptography backend. Unlike the node:crypto
module, this API is supported by all modern browsers and JS runtimes.
Technically this is a breaking change, as SecurityManager2
now needs to be instantiated asynchronously using await SecurityManager2.create()
instead of new SecurityManager2()
. However, we don't expect anyone to use this class directly, so this will not be marked as a semver-major release.
Changes under the hood
- Improve portability of the library by supporting the WebCrypto API as cryptography backend (#7386)
Release v14.2.0
Release v14.1.0
Features
- Allow specifying RF region for OTA firmware updates if the region is unknown or cannot be queried (#7369)
- Add
tryUnzipFirmwareFile
utility to support zipped OTA firmware files (#7372)
Bugfixes
- Parse negative setback state consistently (#7366)
- Ignore LR nodes when computing neighbor discovery timeout (#7367)
- Automatically fall back to
Europe
when setting region toDefault (EU)
(#7368)
Changes under the hood
- Improve bundler-friendlyness of
@zwave-js/core
and@zwave-js/shared
with new browser-specific entry points andsideEffects
hints (#7374)
Release v14.0.0
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)