Skip to content

Commit 0bf354d

Browse files
Release v1.0.0
Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
1 parent e526fcb commit 0bf354d

18 files changed

+112
-44
lines changed

Changelog.md

Lines changed: 47 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,50 @@
1-
## 0.1.0 - 2025-06-24
1+
## 1.0.0 2025-10-30
22

3-
- Initial public release.
3+
### Added
44

5-
## 1.0.0
6-
7-
- Fixed an issue where saving to an XML file would result in missing fields.
8-
- Resolved a problem where "false" and 0 values were not correctly saved in
9-
the XML file.
10-
- Fixed cluster extension saving to exclude deviceType when it doesn't have
11-
all required fields filled with non-default values.
12-
- Improved cluster and cluster extension saving to exclude empty description
13-
fields from the cluster itself and from attributes, commands, and events.
14-
- Fixed deviceType cluster assignments not being saved to XML file.
15-
- Removed the "array" type from the type list and added a dedicated button to
16-
mark a field as an array.
17-
- Fixed a bug where the edit box fields were not displayed for existing items.
18-
- Improved attribute name saving: now only the "name" field is stored for each
19-
attribute, as required by the ZAP tool specification.
20-
- Added validation for all required fields in clusters and device types.
21-
- Added support for loading and editing XML files with multiple device types.
22-
- Added smart save functionality that preserves unedited clusters and device
23-
types when saving multi-item files.
24-
- Added validation before save to prevent incomplete or invalid data from
25-
being saved.
26-
- Added dialog to choose save strategy: save only edited item or save all
27-
items with edits.
28-
- Improved UI for selecting items from
29-
multi-cluster/multi-device-type/multi-extension files.
30-
- Added field validation abstraction in edit boxes for reusable validation
31-
logic.
32-
- Added "Clear All" button in Utility section to reset the editor to its
33-
initial state.
34-
- Added automate actions to automatically update related fields when a field
5+
- Validation for all required fields in clusters and device types when loading
6+
an XML file.
7+
- Ability to display multiple clusters, device types, and extensions in the
8+
side panel for easy switching when the loaded XML file contains multiple
9+
items.
10+
- Validation before saving to prevent incomplete or invalid data from being
11+
stored.
12+
- Dialog for choosing a save strategy: either saving only the edited item or
13+
saving all items along with the current edits.
14+
- A new **Clear all** button in the **Utility** section to reset the editor to
15+
its initial state.
16+
- Automated actions to update all related fields automatically when a field
3517
value changes.
36-
- Improved nested dialog UX: parent dialog now shows greyed out background
37-
with reduced opacity when child dialogs are open.
18+
- Telemetry to gather statistics about the application usage.
19+
20+
### Changed
21+
22+
- Parent dialog now shows a greyed-out background with reduced opacity when
23+
child dialogs are open.
24+
25+
### Fixed
26+
27+
- Issue where saving to an XML file would result in missing fields.
28+
- Issue where `false` and `0` values would not be correctly saved in the XML
29+
file.
30+
- Issue with the saving mechanism of the cluster extension to ensure that
31+
`deviceType` is excluded if it does not have all required non-default
32+
values.
33+
- Issue with the saving mechanism of the cluster and the cluster extension
34+
that would add empty description fields to the cluster itself and to
35+
attributes, commands, and events.
36+
- Issue with `DeviceType` cluster assignments that would not be saved to the
37+
XML file.
38+
- Issue where box fields for editing would not be displayed for existing
39+
items.
40+
- Issue with incorrect storage of the `name` field for each item in the XML
41+
file.
42+
43+
### Removed
44+
45+
- The "array" type from the type list, which was replaced by the new button
46+
for marking a field as an array.
47+
48+
## 0.1.0 - 2025-06-24
49+
50+
- Initial public release.

doc/docs/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ The app supports the following features:
1818
- Creating extensions to the existing clusters defined in the Matter data model.
1919
- Adding new enumerations and structures.
2020
- Creating a new device type that is not listed in the Matter Device Type Library Specification.
21+
- Opening and editing XML files that contains multiple clusters, device types, or cluster extensions.
2122

2223
Based on your edits, the tool generates a new XML file with the cluster definition or an extension to the existing cluster.
2324
You can use the XML file as an argument in the Matter west commands to add the XML file to the Matter ZCL database.

doc/docs/overview.md

Lines changed: 62 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,15 @@ On the left side of the tool, the app includes several UI elements for managing
1717

1818
![Side panel](./screenshots/matter_cluster_tool_side_panel.png "Side panel")
1919

20+
### Cluster name field
21+
22+
This is the blue area at the top of the side panel sections. When you load a Matter cluster XML file, the name of the cluster is displayed here (for example, `NordicDevKit` in the following image.)
23+
24+
![Filled cluster name field above the side panels](./screenshots/matter_cluster_tool_name.png "Filled cluster name field above the side panels")
25+
26+
!!! info "Tip"
27+
You can change the name of the cluster by clicking on the name bar and typing a new name. The new name must be unique across all available clusters in the Matter Data Model.
28+
2029
### XML Cluster File
2130

2231
The buttons in this section let you load Matter cluster XML files and save them.
@@ -40,20 +49,45 @@ If there is no difference, the tool shows a notification indicating that there i
4049

4150
![Save extension no difference](./screenshots/matter_cluster_tool_save_extension_no_difference.png "Save extension no difference")
4251

43-
### Cluster name field
52+
### Utility
4453

45-
This is the blue area at the top of the side panel sections. When you load a Matter cluster XML file, the name of the cluster is displayed here (for example, `NordicDevKit` in the following image.)
54+
This tab includes utilities mechanism that you can use to manipulate edited data.
4655

47-
![Filled cluster name field above the side panels](./screenshots/matter_cluster_tool_name.png "Filled cluster name field above the side panels")
56+
Currently the following utilities are supported:
4857

49-
!!! info "Tip"
50-
You can change the name of the cluster by clicking on the name bar and typing a new name. The new name must be unique across all available clusters in the Matter Data Model.
58+
* **Clear All**
59+
60+
![Utiities](./screenshots/matter_cluster_tool_utilities.png "Utiities")
61+
62+
Use this button to wipe all data stored in the current window and reset the application to its initial state. This operation cannot be undone, so the following message appears:
63+
64+
![Warning before clearing all data](./screenshots/matter_cluster_tool_warning_before_clearing_all_data.png "Warning before clearing all data")
5165

52-
If the file contains more than one cluster, the tool shows a notification with the list of available clusters, as in the following image.
66+
### Loaded file
5367

54-
![Load cluster file](./screenshots/matter_cluster_tool_load_multiple_clusters.png "Load cluster file")
68+
This tab shows a name of the currently loaded file.
5569

56-
Selecting a cluster from the list loads the cluster definition or cluster extension.
70+
### Elements in the file
71+
72+
If an XML file contains multiple device types, clusters, or cluster extensions, all correctly recognized elements will appear in this section.
73+
74+
Depending on the contents of the loaded file, this section can display up to three separate lists:
75+
76+
![Elemnents in the file](./screenshots/matter_cluster_tool_elements_in_the_file.png "Elements in the file")
77+
78+
| List name | Description |
79+
|------------------|--------------------------------------------------------------------|
80+
| **Clusters** | This list displays all clusters found in the file. |
81+
| **Device Types** | This list displays all device types found in the file. |
82+
| **Extensions** | This list displays all cluster extensions found in the file. |
83+
84+
For example, if the file contains multiple device types, you can see a similar list to the following one:
85+
86+
![Multiple device types](./screenshots/matter_cluster_tool_multiple_device_types.png "Multiple device types")
87+
88+
Click an item in one of the lists to open and edit it in the main window.
89+
Please note: You can only edit one cluster or cluster extension in the main window at a time.
90+
If you want to make changes to a different item, simply select it from the list, your changes will be preserved and you can switch between items freely.
5791

5892
## Main window
5993

@@ -522,4 +556,23 @@ The tool validates that all required fields are filled before saving. If require
522556

523557
If there are no differences between the current cluster and the loaded cluster, the tool shows a message indicating no data to create an extension:
524558

525-
![Save extension no difference](./screenshots/matter_cluster_tool_save_extension_no_difference.png "Save extension no difference")
559+
![Save extension no difference](./screenshots/matter_cluster_tool_save_extension_no_difference.png "Save extension no difference")
560+
561+
If the loaded XML file does have elements that have not defined all mandatory fields, the tool show a message indicating all of them to inform user that the missing values were replaced with the default values:
562+
563+
![Missing configuration](./screenshots/matter_cluster_tool_missing_configuration.png "Missing configuration")
564+
565+
If the loaded XML file contains multiple elements, while saving cluster to file, the tool shows a message to choose a ways of saving:
566+
567+
![Save options](./screenshots/matter_cluster_tool_save_options.png "Save options")
568+
569+
The first option **Save only the edited element** saves only the current device type and/or cluster.
570+
The second option **Save all data from original file with your edits** saves all loaded data with all modifications that you provided.
571+
572+
If you choose one of the array types, then you must set the **Length** field bigger than 0. If it is set to 0, the following message appears:
573+
574+
![Wrong array](./screenshots/matter_cluster_tool_wrong_array.png "Wrong array")
575+
576+
If you choose one of the numerical types, then the **Max** value must be bigger thatn **Min** value. If the condition is not met, the following message appears:
577+
578+
![Wrong max size](./screenshots/matter_cluster_tool_wrong_max_size.png "Wrong max size")
-8.71 KB
Loading
-21.7 KB
Loading
-9.23 KB
Loading
-18.4 KB
Binary file not shown.
14.5 KB
Loading
Binary file not shown.
13.8 KB
Loading

0 commit comments

Comments
 (0)