IMPORTANT: We switch away from re-exporting all matter.js functionality in matter-node.js, so please adjust your imports and make sure that you include matter.js together with matter-node.js in your dependencies in the exact same version!
Changed BLE library (Bleno/Noble) to another fork with better support for Windows and UART devices
Matter-Core functionality:
Breaking: Storage implementations got added new methods "contexts", "values" and a multi-set valiant that need to be implemented if you have own Storage implementations. Also, storages now derive from a SyncStorage or MaybeAsyncStorage class weather they are sync or async
Adjustment: Cluster versions do not need to be persisted, so remove in legacy and new API
Fix: Decode Empty nullable data types as null when they have constrains that would require a minimum length
Fix: Convert Error type of Network errors and handle in case of subscription failures
Fix: Fixes a cryptographic issue that failed PASE establishment in 1/255 times, Replace BN/elliptic by @noble/curves library
Fix: Fixed ClusterClient methods set and subscribe to really return the Promise of the action
matter.js API:
IMPORTANT: Introduction of new High level API with complete Device type support for Matter 1.1 types, see migration guide. For now the known API that we had up top 0.7 is still included and fully working and compatible when old imports are used, but called "Legacy" for now. It will be removed in a later version not yet decided.
Feature: Introduced Environment concept to centralize MDNS, storage and configuration and platform specific central functionalities (Replaces MatterServer from Legacy API).
Feature: Enhanced Matter protocol and interaction abstractions and introduced transactional handling of actions which are rolled back completely in case onf errors.
matter-node.js
Enhancement: Makes sure console.log on node.js correctly log Proxy objects with their data and not the Proxy object itself
Enhancement: Allows to send SIGHUP2 signal to the node.js process to print out information on running timers and promises of the process to console
matter-node.js Examples
IMPORTANT: All existing example scripts got renamed to *Legacy.ts when the use the "old/until now"-API and can be used directly after changing the name (exception: DeviceNode.ts became DeviceNodeFullLegacy.ts!). They are 100% compatible to the ones before.
Feature: Added all examples again converted to use the new devices API and we also added some more new device types to show the new API better
Feature: Enhanced DeviceNodeFull example to show several more way on how to use the new API and special cases.
Feature: Enhanced DeviceNodeFull example to simulate a Thread Networking device to check BLE commissioning flows
matter.js Tooling
Enhanced Code generation to also generate classes for Cluster implementations and device types with full Feature configurability and TypeScript typing support for this