You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We are thrilled to announce the release of Matter.js Version 0.9.0, continuing our journey to implement the Matter IoT protocol in JavaScript/TypeScript.
This version focuses on extending the feature-complete default implementations for new API code flows in commonly used Application clusters such as Window Covering, ColorControl, Switch, and more. Special integration points have been defined where relevant to add hardware-specific implementations. For detailed information, refer to the Matter.js specific documentation on cluster server files and the cluster overview list. All this is covered by passing the official certification tests for the relevant clusters.
Additionally, this release enhances certificate validation during commissioning and session establishment, enables configuration of certificates on-the-fly during commissioning, and includes various fixes and small enhancements. Please see the changelog below for a comprehensive list of changes.
0.9.0 (2024-05-14)
Matter-Core functionality:
Feature: cluster default implementations for the following clusters were added/updated:
BooleanState: Automatically emit the StateChange event when enabled for the cluster and the stateValue changes
ColorControl: Implemented all features and commands as defined by specification with an optional transition logic managed by matter.js
LevelControl: Implemented all non-Frequency command handlers as defined by specification with an optional transition logic managed by matter.js
WindowCovering: Implemented all features and commands as defined by specification
Enhancement: Adjusted handling of TlvList order to match better with matter specification and ensure field orders are preserved
Enhancement: Adds Certificate validation and cryptographic verification during commissioning and CASE session establishment
Enhancement: Adds additional logging information for PASE and CASE to better understand errors without debug logging
Enhancement: Adds several Optimizations and adjustments for Obervers (e.g. Observable.isObserved)
Fix: Corrects returned errors for two commands on OperationalCredentials cluster
matter.js Legacy API:
Breaking: The object type for providing custom production certificates has changed to be now in sync with the DeviceCertification class (just the property names changed)
Feature: Added on demand certification determination via an async certificate provider method (alternative to provideing certs directly) to determine certificates on first commissioning request
matter.js New API:
Breaking: The name of the *$Change Events for attributes and such are changed to *$Changed . Please adjust your code!
Breaking: Introduced ExtensionInterface to define extensible/custom methods for behavior/Cluster-Server implementation to be available when extending this class (needed because of a TS bug 27965)
Feature: Added on demand certification determination via an async certificate provider method (alternative to provideing certs directly) to determine certificates on first commissioning request
Enhancement: Optimized constraint validations and conformance error messages
Enhancement: Conditionally enables the ReachableChanged event on the Root Endpoint BasicInformation cluster if the reachable attribute is defined in the defaults
Enhancement: Allow to register events directly when initializing endpoints like in legacy API
Enhancement: Allows for cluster implementations to dynamically add/enable state attributes and events
Enhancement: Added "fieldName$Changing" event handlers that emit in transaction pre-commit and allow for state mutation and will cycle for a limited number of times until state is stable
Enhancement: Allows "fieldName$Changed" and "fieldName$Changing" event handlers to be async
Enhancement: Adds Conformance validation for enums, fieldname references and some more cases
Enhancement: Makes various config variables apply dynamically
Enhancement: Added environment variable `network.interface' to allow mapping of network interface names to types (Wifi, Thread, Ethernet)
Fix: Fixes some issues around event handling in the new API and makes sure events are not de-registered on factory resets
Fix: Corrects the returned status error code when an Enum value is set to an invalid value
Fix: Fixes a floating promise in FailsafeTimer; it tended to kill a test run without an easy way to identify the cause
Fix: Fixes bounds check with references to null fields
Fix: Addresses rejections that were erroniously being treated as uncaught when multiple reactions were queued
Chip testing:
Enhancement: Adds automatic CI testing for all clusters listed in matter.js Readme
matter.js tooling:
Enhancement: Migrates cluster identification to the pattern used in the newer device code. It now scans the entire document rather than attempting to navigate via the index. This is simpler and more resilient
Enhancement: Various other small changes improve resiliency
Enhancement: Removes the "main" closure from codegen scripts that added a bit of friction to debugging
Enhancement: Adds proper CLI support to codegen scripts to override various behaviors and provide information on the script
Enhancement: We now version the intermediate models. In the future we can use this to add informational revision information to model elements and make the API adaptive based on the targeted Matter version
Fix: Fixes a bug that was causing field-level prose to be incorrectly associated with the containing element in malformed portions of the core spec
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
We are thrilled to announce the release of Matter.js Version 0.9.0, continuing our journey to implement the Matter IoT protocol in JavaScript/TypeScript.
This version focuses on extending the feature-complete default implementations for new API code flows in commonly used Application clusters such as Window Covering, ColorControl, Switch, and more. Special integration points have been defined where relevant to add hardware-specific implementations. For detailed information, refer to the Matter.js specific documentation on cluster server files and the cluster overview list. All this is covered by passing the official certification tests for the relevant clusters.
Additionally, this release enhances certificate validation during commissioning and session establishment, enables configuration of certificates on-the-fly during commissioning, and includes various fixes and small enhancements. Please see the changelog below for a comprehensive list of changes.
0.9.0 (2024-05-14)
enterLowPowerMode
to be emitted when the sleep command gets calledBeta Was this translation helpful? Give feedback.
All reactions