Skip to content

Releases: zwave-js/node-zwave-js

Release v14.3.6

22 Nov 18:20
Compare
Choose a tag to compare

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

22 Nov 13:02
Compare
Choose a tag to compare

Bugfixes

  • Fixed an issue that prevented the nvmedit CI utility from starting (#7432)
  • Fixed an issue where some CC API methods would incorrectly fail validation of their arguments (#7433)

Release v14.3.4

20 Nov 21:28
Compare
Choose a tag to compare

Bugfixes

  • Fixed an issue where CC classes would have a different name when zwave-js was loaded as CommonJS, changing how those CCs were handled (#7426)

Changes under the hood

  • Argument validation of CC APIs no longer uses require calls and explains the validation errors much better (#7407)

Release v14.3.3

14 Nov 13:47
Compare
Choose a tag to compare

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

12 Nov 20:45
Compare
Choose a tag to compare

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

12 Nov 13:56
Compare
Choose a tag to compare

Config file changes

  • Ignore setpoint range for Ecolink TBZ500 (#7393)

Changes under the hood

  • Further reduce dependency on Node.js internals (#7394)

Release v14.3.0

11 Nov 13:26
Compare
Choose a tag to compare
Release v14.3.0 Pre-release
Pre-release

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

07 Nov 13:30
Compare
Choose a tag to compare

Changes under the hood

  • Improved tree-shakability (#7376, #7379)
  • CCs are now parsed and serialized asynchronously, Message instances are serialized asynchronously (#7377)

Release v14.1.0

06 Nov 13:46
Compare
Choose a tag to compare

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 to Default (EU) (#7368)

Changes under the hood

  • Improve bundler-friendlyness of @zwave-js/core and @zwave-js/shared with new browser-specific entry points and sideEffects hints (#7374)

Release v14.0.0

05 Nov 12:24
Compare
Choose a tag to compare

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 class Bytes (#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 of node:fs/promises (#7335)
  • @zwave-js/config no longer loops up the package version at runtime (#7343)