Releases: project-chip/alchemy
Releases · project-chip/alchemy
v1.6.16
v1.6.15
What's Changed
- Set normalizeAnchor to true by default by @AryaHassanli in #61
- Alchemy discoballed directive by @AryaHassanli in #62
- Obsolete conformance by @AryaHassanli in #55
Full Changelog: v1.6.14...v1.6.15
v1.6.14
New Features & Enhancements:
- ZAPDiff CLI:
- Introduced the
zapdiffCLI tool to compare two sets of ZAP XML files and report mismatches. - Added mismatch detection for missing tags, missing attributes, and attribute value differences.
- Added support for exporting inconsistencies to CSV (
mismatches.csv) with structured sorting.
- Introduced the
- ZAPDiff Action:
- Introduced the ZAPDiff GitHub Action combining ZAP Generation and ZAPDiff CLI to compare ZAP XMLs present in SDK with what is generated directly from Spec. (
cmd/action)
- Introduced the ZAPDiff GitHub Action combining ZAP Generation and ZAPDiff CLI to compare ZAP XMLs present in SDK with what is generated directly from Spec. (
- ZAPDiff HTML Report:
- Added support for side-by-side diffs in the HTML report.
- Added interactive features including sorting, filtering, and a diff modal.
v1.6.13
Bug Fixes:
-
Disco Ball:
- Restricted
:xrefstyle:attribute injection to root documents only. (disco/baller.go, disco/option.go, tests/baller_test.go)
- Restricted
-
Provisionality:
- Fixed resolution of parent entities when checking for provisionality, ensuring correct violation masking when an ancestor of newly added element is provisional. (provisional/compare.go)
v1.6.12
New Features & Enhancements:
-
Errata Handling:
- Feature Conformance: Added support for specifying feature bit conformance within errata files.
- Command Responses: Errata can now define or override command response types. (sdk/errata.go, errata/sdk.go)
- Command Field IDs: Added the ability to specify Field IDs for command fields within errata. (sdk/errata.go, errata/sdk.go)
- Event Fabric Scoping: Errata now supports overriding the fabric scoping (e.g., fabric-scoped, unscoped) of events.
- Struct Fabric Scoping: Errata can now override the fabric scoping for structs. (sdk/struct.go, errata/sdk.go)
- Fabric Sensitivity: Added support for overriding Fabric Sensitivity for events in errata. (sdk/errata.go, errata/sdk.go)
- List Marking in Structs: Errata can now mark struct fields as lists. (sdk/struct.go, errata/sdk.go)
-
AsciiDoc Overlay:
- Complex Revision Tables: Improved handling of complex tables within document overlays, particularly for revision history or similar structures. (asciidoc/overlay/overlay.go)
-
Matter Specification Parsing:
- Bitmap Bit Ranges: Added support for defining ranges of bits (e.g., 2..5) in bitmap definitions. (matter/bitmap.go)
- Improved Conformance Resolution: Enhancements to the resolution logic for conformances within the spec. (matter/spec/conformance.go)
Bug Fixes:
- Disco Ball:
- Fixed an issue where the initial xrefstyle attribute was not correctly set or preserved during the "disco balling" process, ensuring consistent
cross-referencing. (disco/baller.go) - Corrected element injection logic to use copying, preventing unintended side effects. (disco/baller.go)
- Fixed an issue where the initial xrefstyle attribute was not correctly set or preserved during the "disco balling" process, ensuring consistent
Internal Changes & Refactoring:
- Refinements to the overlayState and overlayFileState in the AsciiDoc overlay logic. (asciidoc/overlay/state.go)
- Updates to table column mapping and cell rendering in spec parsing. (matter/spec/table_info.go)
- General code cleanup and removal of unused parameters. (asciidoc/overlay/overlay.go)
- Enhancements to how SDK errata are applied to various Matter entities (Bitmaps, Commands, Events, Structs). (sdk/bitmap.go, sdk/errata.go, sdk/extra.go,
sdk/struct.go) - New options added to DiscoOptions. (disco/option.go)
v1.6.10
Features
- Automated update of zcl json files in presence of struct attributes during zap generation
- Add support for errata to introduce extra commands, attributes, and feature bits
Fixes
- Skip enum values with no name during zap generation
v1.6.9
Features:
- Support for shared-* specification in ZAP errata to force derived clusters to use data types from its parent
- Disco now places device type component sections in standard order
Fixes:
- Support numbers in conformance identifiers
- Remove erroneous provisionality warning for SDK test data types
- Generate separate CharacteristicEnum under Media Playback cluster in ZAP XML for backwards compatibility
v1.6.8
v1.6.5
Fixes:
- Validation of orphan choices on Element Requirements on Composed Devices was checking the conformance of the associated Device Type Requirement, rather than the conformance on the Element Requirement itself
- The
--exit-error-codeflag was not returning an error code when parse errors did not actually log an error