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.interfaceNameTypeMap' 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