Skip to content

v1.6.0.0 Release

Latest

Choose a tag to compare

@andy31415 andy31415 released this 20 Aug 15:23
250a9e6

Full Changelog: v1.5.1.0...v1.6.0.0

Matter SDK Release Notes: v1.6.0 (compared to v1.5.0)

Executive Summary

The v1.6.0 release includes 1,910 commits since branching from v1.5.0. Key focal areas:

  • Architecture: Broad migration of server clusters from legacy Ember codegen to the code-driven data model (DefaultServerCluster).
  • New & Extended Subsystems: Introduction and stabilization of Groupcast (multicast group communication), Camera / WebRTC & PushAV Stream Transport, and Energy Management / EVSE / Water Heater clusters.
  • Low Power / ICD: Advanced Long Idle Time (LIT) and Short Idle Time (SIT) synchronization, check-in notification handling, and MRP backoff enhancements.
  • Modernization & Security: Initial C++20 build compatibility, PSA Crypto backend support, sensitive data zeroing, and Alchemy XML schema updates.

Key Changes by Category

1. Code-Driven Data Model & Cluster Architecture

  • Cluster Migrations: Converted over 25 server clusters to the code-driven DefaultServerCluster interface, decoupling cluster business logic from Ember accessors and generated callbacks:
    • Core & Infrastructure: ActionsCluster, BridgedDeviceBasicInformationCluster, GroupsCluster, ScenesManagementCluster, UnitLocalizationCluster, Wi-Fi Network Management.
    • Sensing & Controls: OccupancySensingCluster, IlluminanceMeasurementCluster, RelativeHumidityMeasurementCluster, TemperatureMeasurementCluster, AirQualityCluster, SwitchCluster, LevelControlCluster.
    • Safety, Appliances & Utilities: SmokeCOAlarmCluster, ChimeCluster, ValveConfigurationAndControlCluster, WaterHeaterManagementCluster, MicrowaveOvenControl.
    • Energy & Media: ElectricalPowerMeasurementCluster, EnergyEVSECluster, DeviceEnergyManagementCluster, CameraAVStreamManagementCluster, WebRTCProviderCluster.
  • DefaultServerCluster Helpers: Added SetAttributeValue support for Nullable types, SetAttributeAndNotify, and explicit attribute modification events for quiet attribute updates.

2. Camera, Audio/Video & WebRTC Subsystems

  • WebRTC Transport: Added data channel support to the camera WebRTC controller, fixed deferred-offer handling for battery-powered devices, and enhanced session lifecycle safety.
  • PushAV Stream Transport: Implemented initial support for AV Analytics, fixed multi-stream transport options storage bugs, handled null MotionZones safely, and added CMAF Interface2 HLS upload validation.
  • Camera Configuration: Added dynamic frame rate overrides via --camera-framerate, ImageRotation attribute spec alignment, and fixed stream reference counting on device reboots.

3. Groupcast & Multicast Communication

  • Groupcast Support: Added full Groupcast protocol and cluster support, group key management extensions (KeySets, aux ACL validation), and Thread Groupcast border-routing integration.
  • Safety & Defaults: Disabled Groupcast functionality by default behind build flags (chip_enable_groupcast) to avoid footprint regressions on constrained targets.
  • Validation: Added conformance tests (TC-GC, TC-SC-5.2, TC-SC-5.3, TC-SM-1.1) and endpoint command privilege checks.

4. Energy Management, EVSE & Power Topology

  • Energy Infrastructure: Refactored Electrical Energy Measurement (EEM) accuracy buffers, commodity tariff data models, and Device Energy Management (DEM) power range adjustment features.
  • EVSE & Water Heating: Stabilized EVSE cluster delegate implementations and added the Water Heater Reference Server application.
  • Power Topology: Updated circuit node topologies and electrical distribution enclosure device types.

5. Transport, Session & Low Power (ICD)

  • ICD Improvements: Improved LIT/SIT check-in message dispatching (NotifySendCheckIn), added short idle mode duration support, and disabled persistent subscriptions on LIT ICDs.
  • MRP & Messaging: Adjusted Message Reliability Protocol (MRP) backoff timer calculations to honor peer Sleepy Active Threshold (SAT) values.
  • TCP / Network: Fixed TCP endpoint PCB race conditions, connection cleanup leaks, and exchange ID wrap-around handling.
  • Discovery: Resolved port collision and storage conflicts in multi-fabric Joint Commissioning Method (JCM) DNS-SD implementations.

6. Security, Cryptography & ACL

  • PSA Crypto: Added support for PSA Crypto backend on Linux and integrated PSA test suites into CI.
  • Data Protection: Enforced ClearSecretData and SensitiveDataFixedBuffer across cryptographic boundaries.
  • Hardware Security Modules: Updated Trusty OS and NXP SE05x Secure Element FreeRTOS integrations.

7. Platform & BSP Updates

Platform Key Updates
Silicon Labs (EFR32 / SiWx917) Added Zephyr lighting app targets, updated logging infrastructure, improved power manager button wake hooks, and updated AWS-Matter integrations.
NXP (MCXW72, RW61x, RT1060) Migrated to Zephyr 4.3 platform layer (src/platform/Zephyr), integrated SE05x configs, and enabled hardware reboot reason tracking.
Espressif (ESP32) Added ESP-IDF v6.0 build compatibility fixes, refined ICD config defaults, and added P4 target improvements.
Telink (TLSR) Fixed fabric removal reconnect stability and improved BLE connection reliability.
Realtek (Ameba) Added LIT and Groupcast support, updated zap configs, and added app initialization safety checks.
Apple / Darwin Refined DNS-SD TXT entry parsing, updated framework API availability annotations, and fixed metric event reporting.
Linux / Android / Tizen Enabled C++20 default builds on Linux and Tizen; added LIT/SIT support in Android chip-tool; improved POSIX audio playback.

8. Testing, Tooling & Modernization

  • Python Test Harness: Expanded src/python_testing with dozens of new test plans (WebRTC, Groupcast, Energy, Closure Control, Scenes, ICD).
  • All-Devices Application: Added support for Aggregator, Smoke CO Alarm, and Chime device types with dynamic factory registration.
  • C++20 & Tooling Modernization: Enabled C++20 builds across host and CI runners, replaced CharSpan::fromCharString with _span literals, and regenerated XML/Zap templates using Alchemy.

Breaking Changes & Migration Notes

  1. Code-Driven Cluster Inits: Code-driven clusters are initialized before Ember callbacks. Codebases relying on legacy emberAf*ClusterInitCallback should adapt to ServerClusterInterface init hooks.
  2. Accessors Deprecation: emberAf* setter/getter accessors for migrated clusters have been removed or renamed (e.g., GetDefault instead of direct global mutation).
  3. C++20 Compliance: Aggregate initialization changes (e.g., NFCTag::Identifier) may require braces cleanup when building with modern compilers.