Skip to content

v1.6.20

Choose a tag to compare

@AryaHassanli AryaHassanli released this 10 Jun 22:18
7b7c552

Release Notes: IDL Generator & Errata Extensions

This release introduces extensions to the errata.yaml overlay schema, updates to IDL generation and sorting correctness, fixes for parser regressions, and compiler performance optimizations.


Features

1. Errata Overlay Support

  • Added support for defining and injecting new events, and overriding event priorities, conformance, and fields via errata.yaml.
  • Added support for appending fields (extraFields) directly to existing structs, commands, and events.
  • Added support for declaring list (array) fields and custom fabric scoping for errata-defined structs.

2. IDL Rendering Updates

  • Placed the optional keyword modifier directly before command and event keywords for elements with optional conformance.
  • Sorted client-side request commands and server-side response commands continuously in .matter output files.
  • Changed the default value of the --suppress-provisional command line flag to all.

Bug Fixes

1. Compiler Type Resolution

  • Added a second type-resolution pass to resolve data types added via errata overlays.
  • Mapped ZAP-specific data types (such as int8u and int16u) to standard Matter types to resolve compiler errors during type resolution.
  • Fixed reference loss on inherited structs during cloning passes.
  • Fixed parent AST linkages when cloning bitmaps.
  • Copied the base LabelStruct definition to the User Label cluster to match ZAP schema requirements.

2. IDL Parser & Renderer

  • Corrected parsing of .matter files to support keep-existing behavior when lines contain inline access control modifiers or complex event definitions.
  • Ensured lines containing "attribute " or "command " are not falsely classified as event declarations by the IDL parser.
  • Bypassed provisional checking for the global Feature bitmap to prevent it from being stripped when individual feature bits are provisional.

Performance Optimizations

  • Precomputed server command IDs to optimize command grouping operations, reducing sorting complexity.
  • Precomputed names of referenced entities during the IDL rendering phase to eliminate linear search scans, reducing complexity.