diff --git a/.github/workflows/zap_regeneration.yaml b/.github/workflows/zap_regeneration.yaml
index 1654fdb..313f0bc 100644
--- a/.github/workflows/zap_regeneration.yaml
+++ b/.github/workflows/zap_regeneration.yaml
@@ -28,7 +28,7 @@
 
         runs-on: ubuntu-20.04
         container:
-            image: connectedhomeip/chip-build:0.6.18
+            image: connectedhomeip/chip-build:0.6.21
         defaults:
             run:
                 shell: sh
diff --git a/.github/workflows/zap_templates.yaml b/.github/workflows/zap_templates.yaml
index 6bc8206..e17e80e 100644
--- a/.github/workflows/zap_templates.yaml
+++ b/.github/workflows/zap_templates.yaml
@@ -29,7 +29,7 @@
 
         runs-on: ubuntu-20.04
         container:
-            image: connectedhomeip/chip-build:0.6.18
+            image: connectedhomeip/chip-build:0.6.21
         defaults:
             run:
                 shell: sh
diff --git a/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt b/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt
index b9444fa..7699a45 100644
--- a/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRBaseClusters.zapt
@@ -17,14 +17,12 @@
  *
  * {{description}}
  */
-{{#unless (isStrEqual (asUpperCamelCase name preserveAcronyms=true) (compatClusterNameRemapping name))}}
-MTR_NEWLY_AVAILABLE
-{{/unless}}
+{{availability (asUpperCamelCase name preserveAcronyms=true)~}}
 @interface MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}} : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device
                               endpointID:(NSNumber *)endpointID
-                                   queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_NEWLY_AVAILABLE;
+                                   queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER {{availability (asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
 
 {{#chip_cluster_commands}}
 /**
@@ -34,9 +32,9 @@
  */
 {{#*inline "cluster"}}{{asUpperCamelCase parent.name preserveAcronyms=true}}{{/inline~}}
 {{~#*inline "command"}}{{asUpperCamelCase name preserveAcronyms=true}}{{/inline~}}
-- (void){{asLowerCamelCase name}}WithParams:(MTR{{>cluster}}Cluster{{>command}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params completion:({{>command_completion_type command=.}})completion MTR_NEWLY_AVAILABLE;
+- (void){{asLowerCamelCase name}}WithParams:(MTR{{>cluster}}Cluster{{>command}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params completion:({{>command_completion_type command=.}})completion {{availability (asUpperCamelCase parent.name preserveAcronyms=true) command=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
 {{#unless (hasArguments)}}
-- (void){{asLowerCamelCase name}}WithCompletion:({{>command_completion_type command=.}})completion MTR_NEWLY_AVAILABLE;
+- (void){{asLowerCamelCase name}}WithCompletion:({{>command_completion_type command=.}})completion {{availability (asUpperCamelCase parent.name preserveAcronyms=true) command=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
 {{/unless}}
 {{/chip_cluster_commands}}
 
@@ -48,15 +46,15 @@
 {{~else~}}
   Completion:
 {{~/if_is_fabric_scoped_struct~}}
-(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))completion MTR_NEWLY_AVAILABLE;
+(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))completion {{availability (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
 {{#if isWritableAttribute}}
-- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name}})value completion:(MTRStatusCompletion)completion MTR_NEWLY_AVAILABLE;
-- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name}})value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion MTR_NEWLY_AVAILABLE;
+- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name}})value completion:(MTRStatusCompletion)completion {{availability (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
+- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name}})value params:(MTRWriteParams * _Nullable)params completion:(MTRStatusCompletion)completion {{availability (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
 {{/if}}
 {{#if isReportableAttribute}}
 - (void) subscribe{{>attribute}}WithParams:(MTRSubscribeParams *)params
-subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished reportHandler:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))reportHandler MTR_NEWLY_AVAILABLE;
-+ (void) read{{>attribute}}WithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))completion MTR_NEWLY_AVAILABLE;
+subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablished reportHandler:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))reportHandler {{availability (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
++ (void) read{{>attribute}}WithClusterStateCache:(MTRClusterStateCacheContainer *)clusterStateCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completion:(void (^)({{asObjectiveCClass type parent.name}} * _Nullable value, NSError * _Nullable error))completion {{availability (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
 {{/if}}
 {{/chip_server_cluster_attributes}}
 
@@ -69,7 +67,7 @@
 
 {{#chip_client_clusters includeAll=true}}
 {{#unless (isStrEqual (asUpperCamelCase name preserveAcronyms=true) (compatClusterNameRemapping name))}}
-MTR_NEWLY_DEPRECATED("Please use MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}}")
+{{availability (compatClusterNameRemapping name) deprecationMessage=(concat "Please use MTRBaseCluster" (asUpperCamelCase name preserveAcronyms=true))}}
 @interface MTRBaseCluster{{compatClusterNameRemapping name}} : MTRBaseCluster{{asUpperCamelCase name preserveAcronyms=true}}
 @end
 
@@ -81,98 +79,80 @@
 {{#*inline "enumDef"}}
 typedef NS_ENUM({{asUnderlyingZclType name}}, {{objCEnumName clusterName label}}) {
    {{#zcl_enum_items}}
-   {{objCEnumName ../clusterName ../label}}{{objCEnumItemLabel label}} = {{asHex value 2}},
+   {{objCEnumName ../clusterName ../label}}{{objCEnumItemLabel label}} {{availability ../clusterName enum=(asUpperCamelCase ../label preserveAcronyms=true) enumValue=(objCEnumItemLabel label) deprecationMessage=(concat "Please use " (objCEnumName (asUpperCamelCase ../../name preserveAcronyms=true) ../label) (objCEnumItemLabel label))}} = {{asHex value 2}},
    {{/zcl_enum_items}}
 }
 {{/inline}}
-{{> enumDef name=name clusterName=(asUpperCamelCase ../name preserveAcronyms=true) label=label}}
+{{> enumDef name=name clusterName=(asUpperCamelCase ../name preserveAcronyms=true) label=label}} {{availability (asUpperCamelCase ../name preserveAcronyms=true) enum=(asUpperCamelCase label preserveAcronyms=true)}};
 {{#unless (isStrEqual (asUpperCamelCase ../name preserveAcronyms=true) (compatClusterNameRemapping ../name))}}
-MTR_NEWLY_AVAILABLE;
 
-{{> enumDef name=name clusterName=(compatClusterNameRemapping ../name) label=label}}
-MTR_NEWLY_DEPRECATED("Please use {{objCEnumName (asUpperCamelCase ../name preserveAcronyms=true) label}}")
+{{> enumDef name=name clusterName=(compatClusterNameRemapping ../name) label=label}} {{availability (compatClusterNameRemapping ../name) enum=(asUpperCamelCase label preserveAcronyms=true) deprecationMessage=(concat "Please use " (objCEnumName (asUpperCamelCase ../name preserveAcronyms=true) label))}};
 {{/unless}}
-;
 
 {{/zcl_enums}}
 {{#zcl_bitmaps}}
 {{#*inline "bitmapDef"}}
 typedef NS_OPTIONS({{asUnderlyingZclType name}}, {{objCEnumName clusterName label}}) {
    {{#zcl_bitmap_items}}
-   {{objCEnumName ../clusterName ../label}}{{objCEnumItemLabel label}} = {{asHex mask}},
+   {{objCEnumName ../clusterName ../label}}{{objCEnumItemLabel label}} {{availability ../clusterName bitmap=(asUpperCamelCase ../label preserveAcronyms=true) bitmapValue=(objCEnumItemLabel label) deprecationMessage=(concat "Please use " (objCEnumName (asUpperCamelCase ../../name preserveAcronyms=true) ../label) (objCEnumItemLabel label))}} = {{asHex mask}},
    {{/zcl_bitmap_items}}
 }
-{{! TODO: We need a better setup for the API_AVALABLE annotations here; this does not scale at all sanely. }}
-{{#if (isStrEqual (asUpperCamelCase clusterName) "Switch")}}
-{{#if (isStrEqual (asUpperCamelCase label) "SwitchFeature")}}
-API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
-{{/if}}
-{{/if}}
-{{#if (isStrEqual (asUpperCamelCase clusterName) "MediaPlayback")}}
-{{#if (isStrEqual (asUpperCamelCase label) "MediaPlaybackFeature")}}
-API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
-{{/if}}
-{{/if}}
 {{/inline}}
-{{> bitmapDef name=name clusterName=(asUpperCamelCase ../name preserveAcronyms=true) label=label}}
+{{> bitmapDef name=name clusterName=(asUpperCamelCase ../name preserveAcronyms=true) label=label}} {{availability (asUpperCamelCase ../name preserveAcronyms=true) bitmap=(asUpperCamelCase label preserveAcronyms=true)}};
 {{#unless (isStrEqual (asUpperCamelCase ../name preserveAcronyms=true) (compatClusterNameRemapping ../name))}}
-MTR_NEWLY_AVAILABLE;
 
-{{> bitmapDef name=name clusterName=(compatClusterNameRemapping ../name) label=label}}
-MTR_NEWLY_DEPRECATED("Please use {{objCEnumName (asUpperCamelCase ../name preserveAcronyms=true) label}}")
+{{> bitmapDef name=name clusterName=(compatClusterNameRemapping ../name) label=label}} {{availability (compatClusterNameRemapping ../name) bitmap=(asUpperCamelCase label preserveAcronyms=true) deprecationMessage=(concat "Please use " (objCEnumName (asUpperCamelCase ../name preserveAcronyms=true) label))}};
 {{/unless}}
-;
+
 
 {{/zcl_bitmaps}}
 {{/zcl_clusters}}
 
 {{#chip_client_clusters includeAll=true}}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping name))}}
 @interface MTRBaseCluster{{compatClusterNameRemapping name}} (Deprecated)
 
 - (nullable instancetype)initWithDevice:(MTRBaseDevice *)device
                                endpoint:(uint16_t)endpoint
-                                  queue:(dispatch_queue_t)queue MTR_NEWLY_DEPRECATED("Please use initWithDevice:endpointID:queue:");
+                                  queue:(dispatch_queue_t)queue {{availability (compatClusterNameRemapping name) deprecatedRelease="First major API revamp" deprecationMessage="Please use initWithDevice:endpointID:queue:"}};
 
 {{#chip_cluster_commands}}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping parent.name) command=(asUpperCamelCase name))}}
 - (void){{asLowerCamelCase name}}WithParams:(MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler
-  MTR_NEWLY_DEPRECATED("Please use {{asLowerCamelCase name}}WithParams:completion:");
+  {{availability (compatClusterNameRemapping parent.name) command=(asUpperCamelCase name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use " (asLowerCamelCase name) "WithParams:completion:")}};
 {{#unless (hasArguments)}}
 - (void){{asLowerCamelCase name}}WithCompletionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler
-  MTR_NEWLY_DEPRECATED("Please use {{asLowerCamelCase name}}WithCompletion:");
+  {{availability (compatClusterNameRemapping parent.name) command=(asUpperCamelCase name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use " (asLowerCamelCase name) "WithCompletion:")}};
 {{/unless}}
+{{/if}}
 {{/chip_cluster_commands}}
 
 {{#chip_server_cluster_attributes}}
-{{!Backwards compat for now: Treat DeviceTypeList as DeviceList. That's OK, since this is a deprecated API. }}
-{{#*inline "attribute"}}Attribute{{#if (isStrEqual (asUpperCamelCase parent.name) "Descriptor")}}{{#if (isStrEqual (asUpperCamelCase name) "DeviceTypeList")}}DeviceList{{else}}{{asUpperCamelCase name}}{{/if}}{{else}}{{asUpperCamelCase name}}{{/if}}{{/inline}}
-{{! TODO: We need a better setup for the API_AVALABLE annotations here; this does not scale at all sanely. }}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name))}}
+{{#*inline "attribute"}}Attribute{{compatAttributeNameRemapping parent.name name}}{{/inline}}
 - (void)read{{>attribute}}With
 {{~#if_is_fabric_scoped_struct type~}}
   Params:(MTRReadParams * _Nullable)params completionHandler:
 {{~else~}}
   CompletionHandler:
 {{~/if_is_fabric_scoped_struct~}}
-(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
-  MTR_NEWLY_DEPRECATED("Please use readAttribute{{asUpperCamelCase name preserveAcronyms=true}}With{{#if_is_fabric_scoped_struct type}}Params:completion:{{else}}Completion:{{/if_is_fabric_scoped_struct}}");
+(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))completionHandler {{availability (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name) deprecatedRelease="First major API revamp" fabricScopedDeprecationMessage=(concat "Please use readAttribute" (asUpperCamelCase name preserveAcronyms=true) "WithParams:completion:") nonFabricScopedDeprecationMessage=(concat "Please use readAttribute" (asUpperCamelCase name preserveAcronyms=true) "WithCompletion:") type=type}};
 {{#if isWritableAttribute}}
-- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name compatRemapClusterName=true}})value completionHandler:(MTRStatusCompletion)completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
-  MTR_NEWLY_DEPRECATED("Please use writeAttribute{{asUpperCamelCase name preserveAcronyms=true}}WithValue:completion:");
-- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name compatRemapClusterName=true}})value params:(MTRWriteParams * _Nullable)params completionHandler:(MTRStatusCompletion)completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
-  MTR_NEWLY_DEPRECATED("Please use writeAttribute{{asUpperCamelCase name preserveAcronyms=true}}WithValue:params:completion:");
+- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name compatRemapClusterName=true}})value completionHandler:(MTRStatusCompletion)completionHandler {{availability (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use writeAttribute" (asUpperCamelCase name preserveAcronyms=true) "WithValue:completion:")}};
+- (void)write{{>attribute}}WithValue:({{asObjectiveCType type parent.name compatRemapClusterName=true}})value params:(MTRWriteParams * _Nullable)params completionHandler:(MTRStatusCompletion)completionHandler {{availability (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use writeAttribute" (asUpperCamelCase name preserveAcronyms=true) "WithValue:params:completion:")}};
 {{/if}}
 {{#if isReportableAttribute}}
-{{! TODO: We need a better setup for the API_AVALABLE annotations here; this does not scale at all sanely. }}
 - (void) subscribe{{>attribute}}WithMinInterval:(NSNumber * _Nonnull)minInterval  maxInterval:(NSNumber * _Nonnull)maxInterval
        params:(MTRSubscribeParams * _Nullable)params
-subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler reportHandler:(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))reportHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
-  MTR_NEWLY_DEPRECATED("Please use subscribeAttribute{{asUpperCamelCase name preserveAcronyms=true}}WithParams:subscriptionEstablished:");
-+ (void) read{{>attribute}}WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completionHandler:(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))completionHandler {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}}
-  MTR_NEWLY_DEPRECATED("Please use readAttribute{{asUpperCamelCase name preserveAcronyms=true}}WithAttributeCache:endpoint:queue:completion:");
+subscriptionEstablished:(MTRSubscriptionEstablishedHandler _Nullable)subscriptionEstablishedHandler reportHandler:(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))reportHandler {{availability (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use subscribeAttribute" (asUpperCamelCase name preserveAcronyms=true) "WithParams:subscriptionEstablished:")}};
++ (void) read{{>attribute}}WithAttributeCache:(MTRAttributeCacheContainer *)attributeCacheContainer endpoint:(NSNumber *)endpoint queue:(dispatch_queue_t)queue completionHandler:(void (^)({{asObjectiveCClass type parent.name compatRemapClusterName=true}} * _Nullable value, NSError * _Nullable error))completionHandler {{availability (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use readAttribute" (asUpperCamelCase name preserveAcronyms=true) "WithAttributeCache:endpoint:queue:completion:")}};
+{{/if}}
 {{/if}}
 {{/chip_server_cluster_attributes}}
 
 @end
 
+{{/if}}
 {{/chip_client_clusters}}
 
 NS_ASSUME_NONNULL_END
diff --git a/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt b/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt
index 0fdc8eb..9ab6f19 100644
--- a/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRClusterConstants.zapt
@@ -7,11 +7,13 @@
 
 typedef NS_ENUM(uint32_t, MTRClusterIDType) {
 {{#zcl_clusters}}
-MTRCluster{{compatClusterNameRemapping label}}ID MTR_NEWLY_DEPRECATED("Please use MTRClusterIDType{{asUpperCamelCase label}}ID")= {{asMEI manufacturerCode code}},
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping name) isForIds=true)}}
+MTRCluster{{compatClusterNameRemapping label}}ID {{availability (compatClusterNameRemapping name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use MTRClusterIDType" (asUpperCamelCase label preserveAcronyms=false) "ID") isForIds=true}} = {{asMEI manufacturerCode code}},
+{{/if}}
 {{/zcl_clusters}}
 {{#zcl_clusters}}
 {{~#*inline "cluster"}}{{asUpperCamelCase label preserveAcronyms=true}}{{/inline~}}
-MTRClusterIDType{{>cluster}}ID MTR_NEWLY_AVAILABLE = {{asMEI manufacturerCode code}},
+MTRClusterIDType{{>cluster}}ID {{availability (asUpperCamelCase label preserveAcronyms=true) minimalRelease="First major API revamp" isForIds=true}} = {{asMEI manufacturerCode code}},
 {{/zcl_clusters}}
 };
 
@@ -21,9 +23,11 @@
 // Deprecated global attribute names
 {{#zcl_attributes_server}}
 {{#unless clusterRef}}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" "" globalAttribute=(asUpperCamelCase label) isForIds=true)}}
 MTRClusterGlobalAttribute{{asUpperCamelCase label}}ID
-MTR_NEWLY_DEPRECATED("Please use MTRAttributeIDTypeGlobalAttribute{{asUpperCamelCase label}}ID")
+{{availability "" api="Deprecated global attribute names" deprecationMessage=(concat "Please use MTRAttributeIDTypeGlobalAttribute" (asUpperCamelCase label) "ID") isForIds=true}}
 = {{asMEI manufacturerCode code}},
+{{/if}}
 {{/unless}}
 {{/zcl_attributes_server}}
 
@@ -31,7 +35,7 @@
 {{#zcl_attributes_server}}
 {{~#*inline "attribute"}}{{asUpperCamelCase label preserveAcronyms=true}}{{/inline~}}
 {{#unless clusterRef}}
-MTRAttributeIDTypeGlobalAttribute{{>attribute}}ID MTR_NEWLY_AVAILABLE = {{asMEI manufacturerCode code}},
+MTRAttributeIDTypeGlobalAttribute{{>attribute}}ID {{availability "" globalAttribute=(asUpperCamelCase label) minimalRelease="First major API revamp" isForIds=true}} = {{asMEI manufacturerCode code}},
 {{/unless}}
 {{/zcl_attributes_server}}
 
@@ -39,26 +43,28 @@
 {{#*inline "attributeIDs"}}
 {{#zcl_attributes_server}}
 {{#first}}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping ../clusterName) isForIds=true)}}
 // Cluster {{compatClusterNameRemapping ../clusterName}} deprecated attribute names
+{{/if}}
 {{/first}}
-{{#if clusterRef}}
-{{! TODO: We need a better setup for the API_AVAILABLE annotations here; this does not scale at all sanely. }}
-MTRCluster{{compatClusterNameRemapping ../clusterName}}Attribute{{asUpperCamelCase label}}ID
-MTR_NEWLY_DEPRECATED("Please use MTRAttributeIDTypeCluster{{asUpperCamelCase ../clusterName}}Attribute{{asUpperCamelCase label}}ID")
+{{! DeviceTypeList is special: we did not call it by that name
+    anywhere else in the API at the point when we shipped an id for it
+    here in the old id format but using the new name alongside the old name. }}
 {{#if (isStrEqual (asUpperCamelCase ../clusterName) "Descriptor")}}
 {{#if (isStrEqual (asUpperCamelCase label) "DeviceTypeList")}}
-API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
-{{/if}}
-{{/if}}
+MTRClusterDescriptorAttributeDeviceTypeListID
+{{availability "Descriptor" attribute="DeviceTypeList" deprecatedRelease="First major API revamp" deprecationMessage="Please use MTRAttributeIDTypeClusterDescriptorAttributeDeviceTypeListID" isForIds=true}}
 = {{asMEI manufacturerCode code}},
-{{!Backwards compat for now: DeviceList as an alias for DeviceTypeList}}
-{{#if (isStrEqual (asUpperCamelCase ../clusterName) "Descriptor")}}
-{{#if (isStrEqual (asUpperCamelCase label) "DeviceTypeList")}}
-MTRClusterDescriptorAttributeDeviceListID MTR_NEWLY_DEPRECATED("Please use MTRAttributeIDTypeCluster{{asUpperCamelCase ../clusterName}}Attribute{{asUpperCamelCase label}}ID") = {{asMEI manufacturerCode code}},
 {{/if}}
 {{/if}}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping ../clusterName) attribute=(compatAttributeNameRemapping ../clusterName label) isForIds=true)}}
+MTRCluster{{compatClusterNameRemapping ../clusterName}}Attribute{{compatAttributeNameRemapping ../clusterName label}}ID
+{{availability (compatClusterNameRemapping ../clusterName) attribute=(compatAttributeNameRemapping ../clusterName label) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use MTRAttributeIDTypeCluster" (asUpperCamelCase ../clusterName preserveAcronyms=false) "Attribute" (asUpperCamelCase label preserveAcronyms=false) "ID") isForIds=true}} =
+{{#if clusterRef}}
+{{asMEI manufacturerCode code}},
 {{else}}
-MTRCluster{{compatClusterNameRemapping ../clusterName}}Attribute{{asUpperCamelCase label}}ID MTR_NEWLY_DEPRECATED("Please use MTRAttributeIDTypeCluster{{asUpperCamelCase parent.label}}Attribute{{asUpperCamelCase label}}ID") = MTRClusterGlobalAttribute{{asUpperCamelCase label}}ID,
+MTRClusterGlobalAttribute{{asUpperCamelCase label}}ID,
+{{/if}}
 {{/if}}
 {{#last}}
 
@@ -70,10 +76,11 @@
 {{#first}}
 // Cluster {{> cluster}} attributes
 {{/first}}
+MTRAttributeIDTypeCluster{{>cluster}}Attribute{{>attribute}}ID {{availability (asUpperCamelCase ../clusterName preserveAcronyms=true) attribute=(asUpperCamelCase label preserveAcronyms=true) minimalRelease="First major API revamp" isForIds=true}} =
 {{#if clusterRef}}
-MTRAttributeIDTypeCluster{{>cluster}}Attribute{{>attribute}}ID MTR_NEWLY_AVAILABLE = {{asMEI manufacturerCode code}},
+{{asMEI manufacturerCode code}},
 {{else}}
-MTRAttributeIDTypeCluster{{>cluster}}Attribute{{>attribute}}ID MTR_NEWLY_AVAILABLE= MTRAttributeIDTypeGlobalAttribute{{asUpperCamelCase label}}ID,
+MTRAttributeIDTypeGlobalAttribute{{asUpperCamelCase label}}ID,
 {{/if}}
 {{#last}}
 
@@ -92,11 +99,15 @@
 {{#*inline "commandIDs"}}
 {{#zcl_commands}}
 {{#first}}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping ../clusterName) isForIds=true)}}
 // Cluster {{compatClusterNameRemapping ../clusterName}} deprecated command id names
+{{/if}}
 {{/first}}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping ../clusterName) command=(asUpperCamelCase label) isForIds=true)}}
 MTRCluster{{compatClusterNameRemapping ../clusterName}}Command{{asUpperCamelCase label}}ID
-MTR_NEWLY_DEPRECATED("Please use MTRCommandIDTypeCluster{{asUpperCamelCase ../clusterName}}Command{{asUpperCamelCase label}}ID")
+{{availability (compatClusterNameRemapping ../clusterName) command=(asUpperCamelCase label) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use MTRCommandIDTypeCluster" (asUpperCamelCase ../clusterName preserveAcronyms=false) "Command" (asUpperCamelCase label preserveAcronyms=true) "ID") isForIds=true}}
 = {{asMEI manufacturerCode code}},
+{{/if}}
 {{#last}}
 
 {{/last}}
@@ -107,7 +118,7 @@
 {{#first}}
 // Cluster {{>cluster}} commands
 {{/first}}
-MTRCommandIDTypeCluster{{>cluster}}Command{{>command}}ID MTR_NEWLY_AVAILABLE = {{asMEI manufacturerCode code}},
+MTRCommandIDTypeCluster{{>cluster}}Command{{>command}}ID {{availability (asUpperCamelCase ../clusterName preserveAcronyms=true) command=(asUpperCamelCase label preserveAcronyms=true) minimalRelease="First major API revamp" isForIds=true}} = {{asMEI manufacturerCode code}},
 {{#last}}
 
 {{/last}}
@@ -125,11 +136,15 @@
 {{#*inline "eventIDs"}}
 {{#zcl_events}}
 {{#first}}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping ../clusterName) isForIds=true)}}
 // Cluster {{compatClusterNameRemapping ../clusterName}} deprecated event names
+{{/if}}
 {{/first}}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping ../clusterName) event=(asUpperCamelCase name) isForIds=true)}}
 MTRCluster{{compatClusterNameRemapping ../clusterName}}Event{{asUpperCamelCase name}}ID
-MTR_NEWLY_DEPRECATED("Please use MTREventIDTypeCluster{{asUpperCamelCase ../clusterName}}Event{{asUpperCamelCase name}}ID")
+{{availability (compatClusterNameRemapping ../clusterName) event=(asUpperCamelCase name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use MTREventIDTypeCluster" (asUpperCamelCase ../clusterName preserveAcronyms=false) "Event" (asUpperCamelCase name preserveAcronyms=true) "ID") isForIds=true}}
 = {{asMEI manufacturerCode code}},
+{{/if}}
 {{#last}}
 
 {{/last}}
@@ -140,7 +155,7 @@
 {{#first}}
 // Cluster {{>cluster}} events
 {{/first}}
-MTREventIDTypeCluster{{>cluster}}Event{{>event}}ID MTR_NEWLY_AVAILABLE = {{asMEI manufacturerCode code}},
+MTREventIDTypeCluster{{>cluster}}Event{{>event}}ID {{availability (asUpperCamelCase ../clusterName preserveAcronyms=true) event=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp" isForIds=true}} = {{asMEI manufacturerCode code}},
 {{#last}}
 
 {{/last}}
diff --git a/src/darwin/Framework/CHIP/templates/MTRClusters.zapt b/src/darwin/Framework/CHIP/templates/MTRClusters.zapt
index f087866..4e28f7b 100644
--- a/src/darwin/Framework/CHIP/templates/MTRClusters.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRClusters.zapt
@@ -16,38 +16,27 @@
  * Cluster {{name}}
  *    {{description}}
  */
-{{#unless (isStrEqual (asUpperCamelCase name preserveAcronyms=true) (compatClusterNameRemapping name))}}
-MTR_NEWLY_AVAILABLE
-{{/unless}}
+{{availability (asUpperCamelCase name preserveAcronyms=true)~}}
 @interface MTRCluster{{asUpperCamelCase name preserveAcronyms=true}} : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRDevice *)device
                               endpointID:(NSNumber *)endpointID
-                                   queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_NEWLY_AVAILABLE;
+                                   queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER {{availability (asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
 
 {{#chip_cluster_commands}}
 {{~#*inline "cluster"}}{{asUpperCamelCase parent.name preserveAcronyms=true}}{{/inline~}}
 {{~#*inline "command"}}{{asUpperCamelCase name preserveAcronyms=true}}{{/inline~}}
-- (void){{asLowerCamelCase name}}WithParams:(MTR{{>cluster}}Cluster{{>command}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:({{>command_completion_type command=.}})completion MTR_NEWLY_AVAILABLE;
+- (void){{asLowerCamelCase name}}WithParams:(MTR{{>cluster}}Cluster{{>command}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completion:({{>command_completion_type command=.}})completion {{availability (asUpperCamelCase parent.name preserveAcronyms=true) command=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
 {{#unless (hasArguments)}}
-- (void){{asLowerCamelCase name}}WithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:({{>command_completion_type command=.}})completion MTR_NEWLY_AVAILABLE;
+- (void){{asLowerCamelCase name}}WithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completion:({{>command_completion_type command=.}})completion {{availability (asUpperCamelCase parent.name preserveAcronyms=true) command=(asUpperCamelCase name preserveAcronyms=true) minimalRelease="First major API revamp"}};
 {{/unless}}
 {{/chip_cluster_commands}}
 
 {{#chip_server_cluster_attributes}}
 {{#*inline "attribute"}}Attribute{{asUpperCamelCase name preserveAcronyms=true}}{{/inline}}
 {{#*inline "availability"}}
-{{#if (isStrEqual (asUpperCamelCase name preserveAcronyms=true) (asUpperCamelCase name))}}
-  {{#if (isStrEqual (asUpperCamelCase parent.name preserveAcronyms=true) "Descriptor")}}
-    {{#if (isStrEqual (asUpperCamelCase name preserveAcronyms=true) "DeviceTypeList")}}
-      MTR_NEWLY_AVAILABLE
-    {{/if}}
-  {{/if}}
-{{else}}
-  MTR_NEWLY_AVAILABLE
-{{/if}}
+{{availability (asUpperCamelCase parent.name preserveAcronyms=true) attribute=(asUpperCamelCase name preserveAcronyms=true)}}
 {{/inline}}
-{{! TODO: We need a better setup for the API_AVAILABLE annotations here; this does not scale at all sanely. }}
 - (NSDictionary<NSString *, id> *)read{{>attribute}}WithParams:(MTRReadParams * _Nullable)params {{> availability}};
 {{#if isWritableAttribute}}
 - (void)write{{>attribute}}WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs {{> availability}};
@@ -64,7 +53,7 @@
 
 {{#chip_client_clusters includeAll=true}}
 {{#unless (isStrEqual (asUpperCamelCase name preserveAcronyms=true) (compatClusterNameRemapping name))}}
-MTR_NEWLY_DEPRECATED("Please use MTRCluster{{asUpperCamelCase name preserveAcronyms=true}}")
+{{availability (compatClusterNameRemapping name) deprecationMessage=(concat "Please use MTRCluster" (asUpperCamelCase name preserveAcronyms=true))}}
 @interface MTRCluster{{compatClusterNameRemapping name}} : MTRCluster{{asUpperCamelCase name preserveAcronyms=true}}
 @end
 
@@ -72,41 +61,37 @@
 {{/chip_client_clusters}}
 
 {{#chip_client_clusters includeAll=true}}
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping name))}}
 @interface MTRCluster{{compatClusterNameRemapping name}} (Deprecated)
 
 - (nullable instancetype)initWithDevice:(MTRDevice *)device
                                endpoint:(uint16_t)endpoint
-                                  queue:(dispatch_queue_t)queue MTR_NEWLY_DEPRECATED("Please use initWithDevice:endpoindID:queue:");
+                                  queue:(dispatch_queue_t)queue {{availability (compatClusterNameRemapping name) deprecatedRelease="First major API revamp" deprecationMessage="Please use initWithDevice:endpoindID:queue:"}};
 
 {{#chip_cluster_commands}}
-- (void){{asLowerCamelCase name}}WithParams:(MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler MTR_NEWLY_DEPRECATED("Please use {{asLowerCamelCase name}}WithParams:expectedValues:expectedValueIntervalMs:completion:");
+{{#if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping parent.name) command=(asUpperCamelCase name))}}
+- (void){{asLowerCamelCase name}}WithParams:(MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase name}}Params * {{#unless (commandHasRequiredField .)}}_Nullable{{/unless}})params expectedValues:(NSArray<NSDictionary<NSString *, id> *> * _Nullable)expectedDataValueDictionaries expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler {{availability (compatClusterNameRemapping parent.name) command=(asUpperCamelCase name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use " (asLowerCamelCase name) "WithParams:expectedValues:expectedValueIntervalMs:completion:")}};
 {{#unless (hasArguments)}}
-- (void){{asLowerCamelCase name}}WithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler MTR_NEWLY_DEPRECATED("Please use {{asLowerCamelCase name}}WithExpectedValues:expectedValueIntervalMs:completion:");
+- (void){{asLowerCamelCase name}}WithExpectedValues:(NSArray<NSDictionary<NSString *, id> *> *)expectedValues expectedValueInterval:(NSNumber *)expectedValueIntervalMs completionHandler:({{>command_completion_type command=. compatRemapClusterName=true}})completionHandler {{availability (compatClusterNameRemapping parent.name) command=(asUpperCamelCase name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use " (asLowerCamelCase name) "WithExpectedValues:expectedValueIntervalMs:completion:")}};
 {{/unless}}
+{{/if}}
 {{/chip_cluster_commands}}
 {{~#chip_server_cluster_attributes}}
-{{~!Backwards compat for now: Treat DeviceTypeList as DeviceList.  That's OK, since all these bits are deprecated. ~}}
-{{~#*inline "attribute"}}Attribute{{#if (isStrEqual (asUpperCamelCase parent.name) "Descriptor")}}{{#if (isStrEqual (asUpperCamelCase name) "DeviceTypeList")}}DeviceList{{else}}{{asUpperCamelCase name}}{{/if}}{{else}}{{asUpperCamelCase name}}{{/if}}{{/inline~}}
-{{~! TODO: We need a better setup for the API_AVAILABLE annotations here; this does not scale at all sanely. ~}}
+{{~#*inline "attribute"}}Attribute{{compatAttributeNameRemapping parent.name name}}{{/inline~}}
 {{~#*inline "attributeDecls"}}
-- (NSDictionary<NSString *, id> *)read{{>attribute}}WithParams:(MTRReadParams * _Nullable)params {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}} MTR_NEWLY_DEPRECATED("Please use readAttribute{{asUpperCamelCase name preserveAcronyms=true}}WithParams on MTRCluster{{asUpperCamelCase parent.name preserveAcronyms=true}}");
+- (NSDictionary<NSString *, id> *)read{{>attribute}}WithParams:(MTRReadParams * _Nullable)params {{availability (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name) deprecatedRelease="First major API revamp" deprecationMessage=(concat "Please use readAttribute" (asUpperCamelCase name preserveAcronyms=true) "WithParams on MTRCluster" (asUpperCamelCase parent.name preserveAcronyms=true))}};
 {{#if isWritableAttribute}}
-- (void)write{{>attribute}}WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}} MTR_NEWLY_DEPRECATED("Please use writeAtribute{{asUpperCamelCase name preserveAcronyms=true}}WithValue on MTRCluster{{asUpperCamelCase parent.name preserveAcronyms=true}}");
-- (void)write{{>attribute}}WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params {{#if (isStrEqual (asUpperCamelCase parent.name) "UnitTesting")}}{{#if (isStrEqual (asUpperCamelCase name) "WriteOnlyInt8u")}}API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)){{/if}}{{/if}} MTR_NEWLY_DEPRECATED("Please use writeAttribute{{asUpperCamelCase name preserveAcronyms=true}}WithValue on MTRCluster{{asUpperCamelCase parent.name preserveAcronyms=true}}");
+- (void)write{{>attribute}}WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs {{availability (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name) deprecationMessage=(concat "Please use writeAttribute" (asUpperCamelCase name preserveAcronyms=true) "WithValue on MTRCluster" (asUpperCamelCase parent.name preserveAcronyms=true))}};
+- (void)write{{>attribute}}WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary expectedValueInterval:(NSNumber *)expectedValueIntervalMs params:(MTRWriteParams * _Nullable)params {{availability (compatClusterNameRemapping parent.name) attribute=(compatAttributeNameRemapping parent.name name) deprecationMessage=(concat "Please use writeAttribute" (asUpperCamelCase name preserveAcronyms=true) "WithValue on MTRCluster" (asUpperCamelCase parent.name preserveAcronyms=true))}};
 {{/if}}
 {{/inline~}}
-{{#if (isStrEqual (asUpperCamelCase name preserveAcronyms=true) (asUpperCamelCase name))}}
-  {{#if (isStrEqual (asUpperCamelCase parent.name preserveAcronyms=true) "Descriptor")}}
-    {{#if (isStrEqual (asUpperCamelCase name preserveAcronyms=true) "DeviceTypeList")}}
-      {{> attributeDecls}}
-    {{/if}}
-  {{/if}}
-{{else}}
+{{#unless (isStrEqual (asUpperCamelCase name preserveAcronyms=true) (compatAttributeNameRemapping parent.name name))}}
   {{> attributeDecls}}
-{{/if}}
+{{/unless}}
 {{/chip_server_cluster_attributes}}
 @end
 
+{{/if}}
 {{/chip_client_clusters}}
 
 NS_ASSUME_NONNULL_END
diff --git a/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc.zapt b/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc.zapt
index 40a1bed..d56d2ff 100644
--- a/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRCommandPayloadsObjc.zapt
@@ -8,20 +8,15 @@
 {{#zcl_clusters}}
 {{#zcl_commands}}
 
-{{#unless (isStrEqual (asUpperCamelCase parent.name preserveAcronyms=true) (compatClusterNameRemapping parent.name))}}
-MTR_NEWLY_AVAILABLE
-{{else}}
-{{#unless (isStrEqual (asUpperCamelCase name preserveAcronyms=true) (asUpperCamelCase name))}}
-MTR_NEWLY_AVAILABLE
-{{/unless}}
-{{/unless}}
+{{availability (asUpperCamelCase parent.name preserveAcronyms=true) command=(asUpperCamelCase name preserveAcronyms=true) isForCommandPayload=true}}
 @interface MTR{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}Params : NSObject <NSCopying>
 {{#zcl_command_arguments}}
 
 {{! Override the getter name because some of our properties start with things
     like "new" or "init" }}
-@property (nonatomic, copy{{#unless (isStrEqual (asGetterName label) (asStructPropertyName label))}}, getter={{asGetterName label}}{{/unless}}) {{asObjectiveCType type parent.parent.name}} {{asStructPropertyName label}};
+@property (nonatomic, copy{{#unless (isStrEqual (asGetterName label) (asStructPropertyName label))}}, getter={{asGetterName label}}{{/unless}}) {{asObjectiveCType type parent.parent.name}} {{asStructPropertyName label}} {{availability (asUpperCamelCase ../../name preserveAcronyms=true) command=(asUpperCamelCase ../name preserveAcronyms=true) commandField=(asStructPropertyName label)}};
 {{/zcl_command_arguments}}
+{{#if (isStrEqual source "client")}}
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -36,11 +31,30 @@
  * request) within the timeout window.
  *
  */
-@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs {{#if (isStrEqual source "server")}}MTR_NEWLY_DEPRECATED("Timed invoke does not make sense for server to client commands"){{/if}};
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
+{{! This is using the pre-renaming names for the isAvailableBefore test, because the pre-rename things inherit
+    from the post-rename ones and need to have this selector.}}
+{{else if (wasIntroducedBeforeRelease "First major API revamp" (compatClusterNameRemapping parent.name) command=(asUpperCamelCase name))}}
+/**
+ * Controls whether the command is a timed command (using Timed Invoke).
+ *
+ * If nil (the default value), a regular invoke is done for commands that do
+ * not require a timed invoke and a timed invoke with some default timed request
+ * timeout is done for commands that require a timed invoke.
+ *
+ * If not nil, a timed invoke is done, with the provided value used as the timed
+ * request timeout.  The value should be chosen small enough to provide the
+ * desired security properties but large enough that it will allow a round-trip
+ * from the sever to the client (for the status response and actual invoke
+ * request) within the timeout window.
+ *
+ */
+@property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs {{availability "" api="Timed Invoke for server to client commands" deprecationMessage="Timed invoke does not make sense for server to client commands"}};
+{{/if}}
 @end
 {{#*inline "deprecatedDecl"}}
 
-MTR_NEWLY_DEPRECATED("Please use MTR{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}Params")
+{{availability (compatClusterNameRemapping parent.name) command=(asUpperCamelCase name) deprecationMessage=(concat "Please use MTR" (asUpperCamelCase parent.name preserveAcronyms=true) "Cluster" (asUpperCamelCase name preserveAcronyms=true) "Params")}}
 @interface MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase name}}Params : MTR{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name}}Params
 @end
 
diff --git a/src/darwin/Framework/CHIP/templates/MTRStructsObjc.zapt b/src/darwin/Framework/CHIP/templates/MTRStructsObjc.zapt
index 28ace6a..4da179e 100644
--- a/src/darwin/Framework/CHIP/templates/MTRStructsObjc.zapt
+++ b/src/darwin/Framework/CHIP/templates/MTRStructsObjc.zapt
@@ -10,33 +10,25 @@
 {{! Override the getter name because some of our properties start with things
     like "new" or "init" }}
 {{#zcl_struct_items}}
-@property (nonatomic, copy{{#unless (isStrEqual (asGetterName label) (asStructPropertyName label))}}, getter={{asGetterName label}}{{/unless}}) {{asObjectiveCType type parent.parent.name}} {{asStructPropertyName label}};
+@property (nonatomic, copy{{#unless (isStrEqual (asGetterName label) (asStructPropertyName label))}}, getter={{asGetterName label}}{{/unless}}) {{asObjectiveCType type parent.parent.name}} {{asStructPropertyName label}} {{availability (asUpperCamelCase ../../name preserveAcronyms=true) struct=../struct structField=(asStructPropertyName label) deprecationMessage=(concat "Please use MTR" (asUpperCamelCase ../../name preserveAcronyms=true) "Cluster" (asUpperCamelCase ../name preserveAcronyms=true))}};
 {{/zcl_struct_items}}
 {{/inline}}
-{{! TODO: We need a better setup for the API_AVALABLE annotations here; this does not scale at all sanely. }}
-{{#if (isStrEqual (asUpperCamelCase parent.name) "Descriptor")}}
-{{#if (isStrEqual (asUpperCamelCase name) "DeviceTypeStruct")}}
-API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
-{{/if}}
-{{else}}
-{{#unless (isStrEqual (asUpperCamelCase parent.name preserveAcronyms=true) (compatClusterNameRemapping parent.name))}}
-MTR_NEWLY_AVAILABLE
-{{/unless}}
-{{/if}}
+{{availability (asUpperCamelCase parent.name preserveAcronyms=true) struct=(asUpperCamelCase name preserveAcronyms=true)}}
 @interface MTR{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}} : NSObject <NSCopying>
-{{> interfaceDecl}}
+{{> interfaceDecl struct=(asUpperCamelCase name preserveAcronyms=true)}}
 @end
 
 {{!Backwards compat for now: Add a DeviceType thing that is API-compatible with DeviceTypeStruct. }}
 {{#if (isStrEqual (asUpperCamelCase parent.name) "Descriptor")}}
 {{#if (isStrEqual (asUpperCamelCase name) "DeviceTypeStruct")}}
+{{availability (asUpperCamelCase parent.name preserveAcronyms=true) struct="DeviceType" deprecationMessage="Please use MTRDescriptorClusterDeviceTypeStruct"}}
 @interface MTRDescriptorClusterDeviceType : NSObject <NSCopying>
-{{> interfaceDecl}}
+{{> interfaceDecl struct="DeviceType"}}
 @end
 {{/if}}
 {{else}}
 {{#unless (isStrEqual (asUpperCamelCase parent.name preserveAcronyms=true) (compatClusterNameRemapping parent.name))}}
-MTR_NEWLY_DEPRECATED("Please use MTR{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}")
+{{availability (compatClusterNameRemapping parent.name) struct=(asUpperCamelCase name) deprecationMessage=(concat "Please use MTR" (asUpperCamelCase parent.name preserveAcronyms=true) "Cluster" (asUpperCamelCase name preserveAcronyms=true))}}
 @interface MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase name}} : MTR{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name}}
 @end
 {{/unless}}
@@ -44,27 +36,23 @@
 {{/zcl_structs}}
 
 {{#zcl_events}}
-{{#unless (isStrEqual (asUpperCamelCase parent.name preserveAcronyms=true) (compatClusterNameRemapping parent.name))}}
-MTR_NEWLY_AVAILABLE
-{{/unless}}
+{{availability (asUpperCamelCase parent.name preserveAcronyms=true) event=(asUpperCamelCase name preserveAcronyms=true)}}
 @interface MTR{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}Event : NSObject <NSCopying>
 {{#zcl_event_fields}}
-@property (nonatomic, copy{{#unless (isStrEqual (asGetterName name) (asStructPropertyName name))}}, getter={{asGetterName name}}{{/unless}}) {{asObjectiveCType type parent.parent.name}} {{asStructPropertyName name}}
+@property (nonatomic, copy{{#unless (isStrEqual (asGetterName name) (asStructPropertyName name))}}, getter={{asGetterName name}}{{/unless}}) {{asObjectiveCType type parent.parent.name}} {{asStructPropertyName name}} {{availability (asUpperCamelCase ../../name preserveAcronyms=true) event=(asUpperCamelCase ../name preserveAcronyms=true) eventField=(asStructPropertyName name)}};
 {{#if (isStrEqual (asUpperCamelCase ../parent.name preserveAcronyms=true) "Switch")}}
 {{#if (isStrEqual (asUpperCamelCase ../name preserveAcronyms=true) "MultiPressComplete")}}
 {{#if (isStrEqual (asStructPropertyName name) "previousPosition")}}
 {{! Workaround for the name being mis-spelled in XML previously }}
-MTR_NEWLY_AVAILABLE;
-@property (nonatomic, copy) NSNumber * _Nonnull newPosition MTR_NEWLY_DEPRECATED("Please use previousPosition")
+@property (nonatomic, copy) NSNumber * _Nonnull newPosition {{availability (asUpperCamelCase ../../name preserveAcronyms=true) event=(asUpperCamelCase ../name) eventField="newPosition" deprecationMessage="Please use previousPosition"}};
 {{/if}}
 {{/if}}
 {{/if}}
-;
 {{/zcl_event_fields}}
 @end
 {{#unless (isStrEqual (asUpperCamelCase parent.name preserveAcronyms=true) (compatClusterNameRemapping parent.name))}}
 
-MTR_NEWLY_DEPRECATED("Please use MTR{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}Event")
+{{availability (compatClusterNameRemapping parent.name) event=(asUpperCamelCase name) deprecationMessage=(concat "Please use MTR" (asUpperCamelCase parent.name preserveAcronyms=true) "Cluster" (asUpperCamelCase name preserveAcronyms=true) "Event")}}
 @interface MTR{{compatClusterNameRemapping parent.name}}Cluster{{asUpperCamelCase name}}Event : MTR{{asUpperCamelCase parent.name preserveAcronyms=true}}Cluster{{asUpperCamelCase name preserveAcronyms=true}}Event
 @end
 {{/unless}}
diff --git a/src/darwin/Framework/CHIP/templates/availability.yaml b/src/darwin/Framework/CHIP/templates/availability.yaml
new file mode 100644
index 0000000..d3f018b
--- /dev/null
+++ b/src/darwin/Framework/CHIP/templates/availability.yaml
@@ -0,0 +1,5111 @@
+# The magic value "future" for versions can be used once we are
+# tracking a release but don't know what its version numbers will be.
+#
+# Each release has:
+# * A name (labeled "release")
+# * A versions field which is either a dictionary of per-OS versions, or "future"
+# * "introduced" and "deprecated" fields, which are dictionaries with the following keys:
+#   * "clusters": An array of cluster names
+#   * "attributes": A dictionary with cluster names as keys and arrays of
+#                   attribute names as values.
+#   * "commands": A dictionary with cluster names as keys and arrays of
+#                 command names as values.
+#   * "command fields": A dictionary with cluster names as keys and dictionaries
+#                       as values.  Those dictionaries have command names as
+#                       keys and arrays of field names as values.
+#   * "structs": A dictionary with cluster names as keys and arrays of
+#                struct names as values.
+#   * "struct fields": A dictionary with cluster names as keys and dictionaries
+#                      as values.  Those dictionaries have struct names as
+#                      keys and arrays of field names as values.
+#   * "events": A dictionary with cluster names as keys and arrays of
+#               event names as values.
+#   * "event fields": A dictionary with cluster names as keys and dictionaries
+#                     as values.  Those dictionaries have event names as
+#                     keys and arrays of field names as values.
+#   * "enums": A dictionary with cluster names as keys and arrays of
+#              enum names as values.
+#   * "enum values": A dictionary with cluster names as keys and dictionaries
+#                    as values.  Those dictionaries have enum names as
+#                    keys and arrays of enum value names as values.
+#   * "bitmaps": A dictionary with cluster names as keys and arrays of
+#                bitmap names as values.
+#   * "bitmap values": A dictionary with cluster names as keys and dictionaries
+#                      as values.  Those dictionaries have bitmap names as
+#                      keys and arrays of bitmap value names as values.
+#   * "ids": Can contain clusters, attributes, commands, events as described
+#            above inside it, but just indicates whether the id was
+#            introduced/deprecated, not the construct itself.
+#   * "global attributes": An array of names of global attributes.
+#   * "apis": An array of API labels that codegen can use.
+
+- release: "Initial release"
+  versions:
+      ""
+      # For now initial versions are "" to minimize changes to generated code
+      # until after the initial landing.
+  #    ios: "16.1"
+  #    macos: "13.0"
+  #    watchos: "9.1"
+  #    tvos: "16.1"
+  introduced:
+      clusters:
+          - Identify
+          - Groups
+          - Scenes
+          - OnOff
+          - OnOffSwitchConfiguration
+          - LevelControl
+          - BinaryInputBasic
+          - Descriptor
+          - Binding
+          - AccessControl
+          - Actions
+          - Basic
+          - OtaSoftwareUpdateProvider
+          - OtaSoftwareUpdateRequestor
+          - LocalizationConfiguration
+          - TimeFormatLocalization
+          - UnitLocalization
+          - PowerSourceConfiguration
+          - PowerSource
+          - GeneralCommissioning
+          - NetworkCommissioning
+          - DiagnosticLogs
+          - GeneralDiagnostics
+          - SoftwareDiagnostics
+          - ThreadNetworkDiagnostics
+          - WiFiNetworkDiagnostics
+          - EthernetNetworkDiagnostics
+          - BridgedDeviceBasic
+          - Switch
+          - AdministratorCommissioning
+          - OperationalCredentials
+          - GroupKeyManagement
+          - FixedLabel
+          - UserLabel
+          - BooleanState
+          - ModeSelect
+          - DoorLock
+          - WindowCovering
+          - BarrierControl
+          - PumpConfigurationAndControl
+          - Thermostat
+          - FanControl
+          - ThermostatUserInterfaceConfiguration
+          - ColorControl
+          - BallastConfiguration
+          - IlluminanceMeasurement
+          - TemperatureMeasurement
+          - PressureMeasurement
+          - FlowMeasurement
+          - RelativeHumidityMeasurement
+          - OccupancySensing
+          - WakeOnLan
+          - Channel
+          - TargetNavigator
+          - MediaPlayback
+          - MediaInput
+          - LowPower
+          - KeypadInput
+          - ContentLauncher
+          - AudioOutput
+          - ApplicationLauncher
+          - ApplicationBasic
+          - AccountLogin
+          - ElectricalMeasurement
+          - TestCluster
+      attributes:
+          Identify:
+              - IdentifyTime
+              - IdentifyType
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          Groups:
+              - NameSupport
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          Scenes:
+              - SceneCount
+              - CurrentScene
+              - CurrentGroup
+              - SceneValid
+              - NameSupport
+              - LastConfiguredBy
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          OnOff:
+              - OnOff
+              - GlobalSceneControl
+              - OnTime
+              - OffWaitTime
+              - StartUpOnOff
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          OnOffSwitchConfiguration:
+              - SwitchType
+              - SwitchActions
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          LevelControl:
+              - CurrentLevel
+              - RemainingTime
+              - MinLevel
+              - MaxLevel
+              - CurrentFrequency
+              - MinFrequency
+              - MaxFrequency
+              - Options
+              - OnOffTransitionTime
+              - OnLevel
+              - OnTransitionTime
+              - OffTransitionTime
+              - DefaultMoveRate
+              - StartUpCurrentLevel
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          BinaryInputBasic:
+              - ActiveText
+              - Description
+              - InactiveText
+              - OutOfService
+              - Polarity
+              - PresentValue
+              - Reliability
+              - StatusFlags
+              - ApplicationType
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          Descriptor:
+              - DeviceList
+              - ServerList
+              - ClientList
+              - PartsList
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          Binding:
+              - Binding
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          AccessControl:
+              - Acl
+              - Extension
+              - SubjectsPerAccessControlEntry
+              - TargetsPerAccessControlEntry
+              - AccessControlEntriesPerFabric
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          Actions:
+              - ActionList
+              - EndpointLists
+              - SetupURL
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          Basic:
+              - DataModelRevision
+              - VendorName
+              - VendorID
+              - ProductName
+              - ProductID
+              - NodeLabel
+              - Location
+              - HardwareVersion
+              - HardwareVersionString
+              - SoftwareVersion
+              - SoftwareVersionString
+              - ManufacturingDate
+              - PartNumber
+              - ProductURL
+              - ProductLabel
+              - SerialNumber
+              - LocalConfigDisabled
+              - Reachable
+              - UniqueID
+              - CapabilityMinima
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          OtaSoftwareUpdateProvider:
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          OtaSoftwareUpdateRequestor:
+              - DefaultOtaProviders
+              - UpdatePossible
+              - UpdateState
+              - UpdateStateProgress
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          LocalizationConfiguration:
+              - ActiveLocale
+              - SupportedLocales
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          TimeFormatLocalization:
+              - HourFormat
+              - ActiveCalendarType
+              - SupportedCalendarTypes
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          UnitLocalization:
+              - TemperatureUnit
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          PowerSourceConfiguration:
+              - Sources
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          PowerSource:
+              - Status
+              - Order
+              - Description
+              - WiredAssessedInputVoltage
+              - WiredAssessedInputFrequency
+              - WiredCurrentType
+              - WiredAssessedCurrent
+              - WiredNominalVoltage
+              - WiredMaximumCurrent
+              - WiredPresent
+              - ActiveWiredFaults
+              - BatVoltage
+              - BatPercentRemaining
+              - BatTimeRemaining
+              - BatChargeLevel
+              - BatReplacementNeeded
+              - BatReplaceability
+              - BatPresent
+              - ActiveBatFaults
+              - BatReplacementDescription
+              - BatCommonDesignation
+              - BatANSIDesignation
+              - BatIECDesignation
+              - BatApprovedChemistry
+              - BatCapacity
+              - BatQuantity
+              - BatChargeState
+              - BatTimeToFullCharge
+              - BatFunctionalWhileCharging
+              - BatChargingCurrent
+              - ActiveBatChargeFaults
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          GeneralCommissioning:
+              - Breadcrumb
+              - BasicCommissioningInfo
+              - RegulatoryConfig
+              - LocationCapability
+              - SupportsConcurrentConnection
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          NetworkCommissioning:
+              - MaxNetworks
+              - Networks
+              - ScanMaxTimeSeconds
+              - ConnectMaxTimeSeconds
+              - InterfaceEnabled
+              - LastNetworkingStatus
+              - LastNetworkID
+              - LastConnectErrorValue
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          DiagnosticLogs:
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          GeneralDiagnostics:
+              - NetworkInterfaces
+              - RebootCount
+              - UpTime
+              - TotalOperationalHours
+              - BootReasons
+              - ActiveHardwareFaults
+              - ActiveRadioFaults
+              - ActiveNetworkFaults
+              - TestEventTriggersEnabled
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          SoftwareDiagnostics:
+              - ThreadMetrics
+              - CurrentHeapFree
+              - CurrentHeapUsed
+              - CurrentHeapHighWatermark
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          ThreadNetworkDiagnostics:
+              - Channel
+              - RoutingRole
+              - NetworkName
+              - PanId
+              - ExtendedPanId
+              - MeshLocalPrefix
+              - OverrunCount
+              - NeighborTableList
+              - RouteTableList
+              - PartitionId
+              - Weighting
+              - DataVersion
+              - StableDataVersion
+              - LeaderRouterId
+              - DetachedRoleCount
+              - ChildRoleCount
+              - RouterRoleCount
+              - LeaderRoleCount
+              - AttachAttemptCount
+              - PartitionIdChangeCount
+              - BetterPartitionAttachAttemptCount
+              - ParentChangeCount
+              - TxTotalCount
+              - TxUnicastCount
+              - TxBroadcastCount
+              - TxAckRequestedCount
+              - TxAckedCount
+              - TxNoAckRequestedCount
+              - TxDataCount
+              - TxDataPollCount
+              - TxBeaconCount
+              - TxBeaconRequestCount
+              - TxOtherCount
+              - TxRetryCount
+              - TxDirectMaxRetryExpiryCount
+              - TxIndirectMaxRetryExpiryCount
+              - TxErrCcaCount
+              - TxErrAbortCount
+              - TxErrBusyChannelCount
+              - RxTotalCount
+              - RxUnicastCount
+              - RxBroadcastCount
+              - RxDataCount
+              - RxDataPollCount
+              - RxBeaconCount
+              - RxBeaconRequestCount
+              - RxOtherCount
+              - RxAddressFilteredCount
+              - RxDestAddrFilteredCount
+              - RxDuplicatedCount
+              - RxErrNoFrameCount
+              - RxErrUnknownNeighborCount
+              - RxErrInvalidSrcAddrCount
+              - RxErrSecCount
+              - RxErrFcsCount
+              - RxErrOtherCount
+              - ActiveTimestamp
+              - PendingTimestamp
+              - Delay
+              - SecurityPolicy
+              - ChannelPage0Mask
+              - OperationalDatasetComponents
+              - ActiveNetworkFaultsList
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          WiFiNetworkDiagnostics:
+              - Bssid
+              - SecurityType
+              - WiFiVersion
+              - ChannelNumber
+              - Rssi
+              - BeaconLostCount
+              - BeaconRxCount
+              - PacketMulticastRxCount
+              - PacketMulticastTxCount
+              - PacketUnicastRxCount
+              - PacketUnicastTxCount
+              - CurrentMaxRate
+              - OverrunCount
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          EthernetNetworkDiagnostics:
+              - PHYRate
+              - FullDuplex
+              - PacketRxCount
+              - PacketTxCount
+              - TxErrCount
+              - CollisionCount
+              - OverrunCount
+              - CarrierDetect
+              - TimeSinceReset
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          BridgedDeviceBasic:
+              - VendorName
+              - VendorID
+              - ProductName
+              - NodeLabel
+              - HardwareVersion
+              - HardwareVersionString
+              - SoftwareVersion
+              - SoftwareVersionString
+              - ManufacturingDate
+              - PartNumber
+              - ProductURL
+              - ProductLabel
+              - SerialNumber
+              - Reachable
+              - UniqueID
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          Switch:
+              - NumberOfPositions
+              - CurrentPosition
+              - MultiPressMax
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          AdministratorCommissioning:
+              - WindowStatus
+              - AdminFabricIndex
+              - AdminVendorId
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          OperationalCredentials:
+              - NOCs
+              - Fabrics
+              - SupportedFabrics
+              - CommissionedFabrics
+              - TrustedRootCertificates
+              - CurrentFabricIndex
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          GroupKeyManagement:
+              - GroupKeyMap
+              - GroupTable
+              - MaxGroupsPerFabric
+              - MaxGroupKeysPerFabric
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          FixedLabel:
+              - LabelList
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          UserLabel:
+              - LabelList
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          BooleanState:
+              - StateValue
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          ModeSelect:
+              - Description
+              - StandardNamespace
+              - SupportedModes
+              - CurrentMode
+              - StartUpMode
+              - OnMode
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          DoorLock:
+              - LockState
+              - LockType
+              - ActuatorEnabled
+              - DoorState
+              - DoorOpenEvents
+              - DoorClosedEvents
+              - OpenPeriod
+              - NumberOfTotalUsersSupported
+              - NumberOfPINUsersSupported
+              - NumberOfRFIDUsersSupported
+              - NumberOfWeekDaySchedulesSupportedPerUser
+              - NumberOfYearDaySchedulesSupportedPerUser
+              - NumberOfHolidaySchedulesSupported
+              - MaxPINCodeLength
+              - MinPINCodeLength
+              - MaxRFIDCodeLength
+              - MinRFIDCodeLength
+              - CredentialRulesSupport
+              - NumberOfCredentialsSupportedPerUser
+              - Language
+              - LEDSettings
+              - AutoRelockTime
+              - SoundVolume
+              - OperatingMode
+              - SupportedOperatingModes
+              - DefaultConfigurationRegister
+              - EnableLocalProgramming
+              - EnableOneTouchLocking
+              - EnableInsideStatusLED
+              - EnablePrivacyModeButton
+              - LocalProgrammingFeatures
+              - WrongCodeEntryLimit
+              - UserCodeTemporaryDisableTime
+              - SendPINOverTheAir
+              - RequirePINforRemoteOperation
+              - ExpiringUserTimeout
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          WindowCovering:
+              - Type
+              - PhysicalClosedLimitLift
+              - PhysicalClosedLimitTilt
+              - CurrentPositionLift
+              - CurrentPositionTilt
+              - NumberOfActuationsLift
+              - NumberOfActuationsTilt
+              - ConfigStatus
+              - CurrentPositionLiftPercentage
+              - CurrentPositionTiltPercentage
+              - OperationalStatus
+              - TargetPositionLiftPercent100ths
+              - TargetPositionTiltPercent100ths
+              - EndProductType
+              - CurrentPositionLiftPercent100ths
+              - CurrentPositionTiltPercent100ths
+              - InstalledOpenLimitLift
+              - InstalledClosedLimitLift
+              - InstalledOpenLimitTilt
+              - InstalledClosedLimitTilt
+              - Mode
+              - SafetyStatus
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          BarrierControl:
+              - BarrierMovingState
+              - BarrierSafetyStatus
+              - BarrierCapabilities
+              - BarrierOpenEvents
+              - BarrierCloseEvents
+              - BarrierCommandOpenEvents
+              - BarrierCommandCloseEvents
+              - BarrierOpenPeriod
+              - BarrierClosePeriod
+              - BarrierPosition
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          PumpConfigurationAndControl:
+              - MaxPressure
+              - MaxSpeed
+              - MaxFlow
+              - MinConstPressure
+              - MaxConstPressure
+              - MinCompPressure
+              - MaxCompPressure
+              - MinConstSpeed
+              - MaxConstSpeed
+              - MinConstFlow
+              - MaxConstFlow
+              - MinConstTemp
+              - MaxConstTemp
+              - PumpStatus
+              - EffectiveOperationMode
+              - EffectiveControlMode
+              - Capacity
+              - Speed
+              - LifetimeRunningHours
+              - Power
+              - LifetimeEnergyConsumed
+              - OperationMode
+              - ControlMode
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          Thermostat:
+              - LocalTemperature
+              - OutdoorTemperature
+              - Occupancy
+              - AbsMinHeatSetpointLimit
+              - AbsMaxHeatSetpointLimit
+              - AbsMinCoolSetpointLimit
+              - AbsMaxCoolSetpointLimit
+              - PICoolingDemand
+              - PIHeatingDemand
+              - HVACSystemTypeConfiguration
+              - LocalTemperatureCalibration
+              - OccupiedCoolingSetpoint
+              - OccupiedHeatingSetpoint
+              - UnoccupiedCoolingSetpoint
+              - UnoccupiedHeatingSetpoint
+              - MinHeatSetpointLimit
+              - MaxHeatSetpointLimit
+              - MinCoolSetpointLimit
+              - MaxCoolSetpointLimit
+              - MinSetpointDeadBand
+              - RemoteSensing
+              - ControlSequenceOfOperation
+              - SystemMode
+              - ThermostatRunningMode
+              - StartOfWeek
+              - NumberOfWeeklyTransitions
+              - NumberOfDailyTransitions
+              - TemperatureSetpointHold
+              - TemperatureSetpointHoldDuration
+              - ThermostatProgrammingOperationMode
+              - ThermostatRunningState
+              - SetpointChangeSource
+              - SetpointChangeAmount
+              - SetpointChangeSourceTimestamp
+              - OccupiedSetback
+              - OccupiedSetbackMin
+              - OccupiedSetbackMax
+              - UnoccupiedSetback
+              - UnoccupiedSetbackMin
+              - UnoccupiedSetbackMax
+              - EmergencyHeatDelta
+              - ACType
+              - ACCapacity
+              - ACRefrigerantType
+              - ACCompressorType
+              - ACErrorCode
+              - ACLouverPosition
+              - ACCoilTemperature
+              - ACCapacityformat
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          FanControl:
+              - FanMode
+              - FanModeSequence
+              - PercentSetting
+              - PercentCurrent
+              - SpeedMax
+              - SpeedSetting
+              - SpeedCurrent
+              - RockSupport
+              - RockSetting
+              - WindSupport
+              - WindSetting
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          ThermostatUserInterfaceConfiguration:
+              - TemperatureDisplayMode
+              - KeypadLockout
+              - ScheduleProgrammingVisibility
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          ColorControl:
+              - CurrentHue
+              - CurrentSaturation
+              - RemainingTime
+              - CurrentX
+              - CurrentY
+              - DriftCompensation
+              - CompensationText
+              - ColorTemperatureMireds
+              - ColorMode
+              - Options
+              - NumberOfPrimaries
+              - Primary1X
+              - Primary1Y
+              - Primary1Intensity
+              - Primary2X
+              - Primary2Y
+              - Primary2Intensity
+              - Primary3X
+              - Primary3Y
+              - Primary3Intensity
+              - Primary4X
+              - Primary4Y
+              - Primary4Intensity
+              - Primary5X
+              - Primary5Y
+              - Primary5Intensity
+              - Primary6X
+              - Primary6Y
+              - Primary6Intensity
+              - WhitePointX
+              - WhitePointY
+              - ColorPointRX
+              - ColorPointRY
+              - ColorPointRIntensity
+              - ColorPointGX
+              - ColorPointGY
+              - ColorPointGIntensity
+              - ColorPointBX
+              - ColorPointBY
+              - ColorPointBIntensity
+              - EnhancedCurrentHue
+              - EnhancedColorMode
+              - ColorLoopActive
+              - ColorLoopDirection
+              - ColorLoopTime
+              - ColorLoopStartEnhancedHue
+              - ColorLoopStoredEnhancedHue
+              - ColorCapabilities
+              - ColorTempPhysicalMinMireds
+              - ColorTempPhysicalMaxMireds
+              - CoupleColorTempToLevelMinMireds
+              - StartUpColorTemperatureMireds
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          BallastConfiguration:
+              - PhysicalMinLevel
+              - PhysicalMaxLevel
+              - BallastStatus
+              - MinLevel
+              - MaxLevel
+              - IntrinsicBalanceFactor
+              - BallastFactorAdjustment
+              - LampQuantity
+              - LampType
+              - LampManufacturer
+              - LampRatedHours
+              - LampBurnHours
+              - LampAlarmMode
+              - LampBurnHoursTripPoint
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          IlluminanceMeasurement:
+              - MeasuredValue
+              - MinMeasuredValue
+              - MaxMeasuredValue
+              - Tolerance
+              - LightSensorType
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          TemperatureMeasurement:
+              - MeasuredValue
+              - MinMeasuredValue
+              - MaxMeasuredValue
+              - Tolerance
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          PressureMeasurement:
+              - MeasuredValue
+              - MinMeasuredValue
+              - MaxMeasuredValue
+              - Tolerance
+              - ScaledValue
+              - MinScaledValue
+              - MaxScaledValue
+              - ScaledTolerance
+              - Scale
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          FlowMeasurement:
+              - MeasuredValue
+              - MinMeasuredValue
+              - MaxMeasuredValue
+              - Tolerance
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          RelativeHumidityMeasurement:
+              - MeasuredValue
+              - MinMeasuredValue
+              - MaxMeasuredValue
+              - Tolerance
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          OccupancySensing:
+              - Occupancy
+              - OccupancySensorType
+              - OccupancySensorTypeBitmap
+              - PirOccupiedToUnoccupiedDelay
+              - PirUnoccupiedToOccupiedDelay
+              - PirUnoccupiedToOccupiedThreshold
+              - UltrasonicOccupiedToUnoccupiedDelay
+              - UltrasonicUnoccupiedToOccupiedDelay
+              - UltrasonicUnoccupiedToOccupiedThreshold
+              - PhysicalContactOccupiedToUnoccupiedDelay
+              - PhysicalContactUnoccupiedToOccupiedDelay
+              - PhysicalContactUnoccupiedToOccupiedThreshold
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          WakeOnLan:
+              - MACAddress
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          Channel:
+              - ChannelList
+              - Lineup
+              - CurrentChannel
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          TargetNavigator:
+              - TargetList
+              - CurrentTarget
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          MediaPlayback:
+              - CurrentState
+              - StartTime
+              - Duration
+              - SampledPosition
+              - PlaybackSpeed
+              - SeekRangeEnd
+              - SeekRangeStart
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          MediaInput:
+              - InputList
+              - CurrentInput
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          LowPower:
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          KeypadInput:
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          ContentLauncher:
+              - AcceptHeader
+              - SupportedStreamingProtocols
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          AudioOutput:
+              - OutputList
+              - CurrentOutput
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          ApplicationLauncher:
+              - CatalogList
+              - CurrentApp
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          ApplicationBasic:
+              - VendorName
+              - VendorID
+              - ApplicationName
+              - ProductID
+              - Application
+              - Status
+              - ApplicationVersion
+              - AllowedVendorList
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          AccountLogin:
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          ElectricalMeasurement:
+              - MeasurementType
+              - DcVoltage
+              - DcVoltageMin
+              - DcVoltageMax
+              - DcCurrent
+              - DcCurrentMin
+              - DcCurrentMax
+              - DcPower
+              - DcPowerMin
+              - DcPowerMax
+              - DcVoltageMultiplier
+              - DcVoltageDivisor
+              - DcCurrentMultiplier
+              - DcCurrentDivisor
+              - DcPowerMultiplier
+              - DcPowerDivisor
+              - AcFrequency
+              - AcFrequencyMin
+              - AcFrequencyMax
+              - NeutralCurrent
+              - TotalActivePower
+              - TotalReactivePower
+              - TotalApparentPower
+              - Measured1stHarmonicCurrent
+              - Measured3rdHarmonicCurrent
+              - Measured5thHarmonicCurrent
+              - Measured7thHarmonicCurrent
+              - Measured9thHarmonicCurrent
+              - Measured11thHarmonicCurrent
+              - MeasuredPhase1stHarmonicCurrent
+              - MeasuredPhase3rdHarmonicCurrent
+              - MeasuredPhase5thHarmonicCurrent
+              - MeasuredPhase7thHarmonicCurrent
+              - MeasuredPhase9thHarmonicCurrent
+              - MeasuredPhase11thHarmonicCurrent
+              - AcFrequencyMultiplier
+              - AcFrequencyDivisor
+              - PowerMultiplier
+              - PowerDivisor
+              - HarmonicCurrentMultiplier
+              - PhaseHarmonicCurrentMultiplier
+              - InstantaneousVoltage
+              - InstantaneousLineCurrent
+              - InstantaneousActiveCurrent
+              - InstantaneousReactiveCurrent
+              - InstantaneousPower
+              - RmsVoltage
+              - RmsVoltageMin
+              - RmsVoltageMax
+              - RmsCurrent
+              - RmsCurrentMin
+              - RmsCurrentMax
+              - ActivePower
+              - ActivePowerMin
+              - ActivePowerMax
+              - ReactivePower
+              - ApparentPower
+              - PowerFactor
+              - AverageRmsVoltageMeasurementPeriod
+              - AverageRmsUnderVoltageCounter
+              - RmsExtremeOverVoltagePeriod
+              - RmsExtremeUnderVoltagePeriod
+              - RmsVoltageSagPeriod
+              - RmsVoltageSwellPeriod
+              - AcVoltageMultiplier
+              - AcVoltageDivisor
+              - AcCurrentMultiplier
+              - AcCurrentDivisor
+              - AcPowerMultiplier
+              - AcPowerDivisor
+              - OverloadAlarmsMask
+              - VoltageOverload
+              - CurrentOverload
+              - AcOverloadAlarmsMask
+              - AcVoltageOverload
+              - AcCurrentOverload
+              - AcActivePowerOverload
+              - AcReactivePowerOverload
+              - AverageRmsOverVoltage
+              - AverageRmsUnderVoltage
+              - RmsExtremeOverVoltage
+              - RmsExtremeUnderVoltage
+              - RmsVoltageSag
+              - RmsVoltageSwell
+              - LineCurrentPhaseB
+              - ActiveCurrentPhaseB
+              - ReactiveCurrentPhaseB
+              - RmsVoltagePhaseB
+              - RmsVoltageMinPhaseB
+              - RmsVoltageMaxPhaseB
+              - RmsCurrentPhaseB
+              - RmsCurrentMinPhaseB
+              - RmsCurrentMaxPhaseB
+              - ActivePowerPhaseB
+              - ActivePowerMinPhaseB
+              - ActivePowerMaxPhaseB
+              - ReactivePowerPhaseB
+              - ApparentPowerPhaseB
+              - PowerFactorPhaseB
+              - AverageRmsVoltageMeasurementPeriodPhaseB
+              - AverageRmsOverVoltageCounterPhaseB
+              - AverageRmsUnderVoltageCounterPhaseB
+              - RmsExtremeOverVoltagePeriodPhaseB
+              - RmsExtremeUnderVoltagePeriodPhaseB
+              - RmsVoltageSagPeriodPhaseB
+              - RmsVoltageSwellPeriodPhaseB
+              - LineCurrentPhaseC
+              - ActiveCurrentPhaseC
+              - ReactiveCurrentPhaseC
+              - RmsVoltagePhaseC
+              - RmsVoltageMinPhaseC
+              - RmsVoltageMaxPhaseC
+              - RmsCurrentPhaseC
+              - RmsCurrentMinPhaseC
+              - RmsCurrentMaxPhaseC
+              - ActivePowerPhaseC
+              - ActivePowerMinPhaseC
+              - ActivePowerMaxPhaseC
+              - ReactivePowerPhaseC
+              - ApparentPowerPhaseC
+              - PowerFactorPhaseC
+              - AverageRmsVoltageMeasurementPeriodPhaseC
+              - AverageRmsOverVoltageCounterPhaseC
+              - AverageRmsUnderVoltageCounterPhaseC
+              - RmsExtremeOverVoltagePeriodPhaseC
+              - RmsExtremeUnderVoltagePeriodPhaseC
+              - RmsVoltageSagPeriodPhaseC
+              - RmsVoltageSwellPeriodPhaseC
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          TestCluster:
+              - Boolean
+              - Bitmap8
+              - Bitmap16
+              - Bitmap32
+              - Bitmap64
+              - Int8u
+              - Int16u
+              - Int24u
+              - Int32u
+              - Int40u
+              - Int48u
+              - Int56u
+              - Int64u
+              - Int8s
+              - Int16s
+              - Int24s
+              - Int32s
+              - Int40s
+              - Int48s
+              - Int56s
+              - Int64s
+              - Enum8
+              - Enum16
+              - FloatSingle
+              - FloatDouble
+              - OctetString
+              - ListInt8u
+              - ListOctetString
+              - ListStructOctetString
+              - LongOctetString
+              - CharString
+              - LongCharString
+              - EpochUs
+              - EpochS
+              - VendorId
+              - ListNullablesAndOptionalsStruct
+              - EnumAttr
+              - StructAttr
+              - RangeRestrictedInt8u
+              - RangeRestrictedInt8s
+              - RangeRestrictedInt16u
+              - RangeRestrictedInt16s
+              - ListLongOctetString
+              - ListFabricScoped
+              - TimedWriteBoolean
+              - GeneralErrorBoolean
+              - ClusterErrorBoolean
+              - Unsupported
+              - NullableBoolean
+              - NullableBitmap8
+              - NullableBitmap16
+              - NullableBitmap32
+              - NullableBitmap64
+              - NullableInt8u
+              - NullableInt16u
+              - NullableInt24u
+              - NullableInt32u
+              - NullableInt40u
+              - NullableInt48u
+              - NullableInt56u
+              - NullableInt64u
+              - NullableInt8s
+              - NullableInt16s
+              - NullableInt24s
+              - NullableInt32s
+              - NullableInt40s
+              - NullableInt48s
+              - NullableInt56s
+              - NullableInt64s
+              - NullableEnum8
+              - NullableEnum16
+              - NullableFloatSingle
+              - NullableFloatDouble
+              - NullableOctetString
+              - NullableCharString
+              - NullableEnumAttr
+              - NullableStruct
+              - NullableRangeRestrictedInt8u
+              - NullableRangeRestrictedInt8s
+              - NullableRangeRestrictedInt16u
+              - NullableRangeRestrictedInt16s
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+      commands:
+          Identify:
+              - Identify
+              - TriggerEffect
+          Groups:
+              - AddGroup
+              - AddGroupResponse
+              - ViewGroup
+              - ViewGroupResponse
+              - GetGroupMembership
+              - GetGroupMembershipResponse
+              - RemoveGroup
+              - RemoveGroupResponse
+              - RemoveAllGroups
+              - AddGroupIfIdentifying
+          Scenes:
+              - AddScene
+              - AddSceneResponse
+              - ViewScene
+              - ViewSceneResponse
+              - RemoveScene
+              - RemoveSceneResponse
+              - RemoveAllScenes
+              - RemoveAllScenesResponse
+              - StoreScene
+              - StoreSceneResponse
+              - RecallScene
+              - GetSceneMembership
+              - GetSceneMembershipResponse
+              - EnhancedAddScene
+              - EnhancedAddSceneResponse
+              - EnhancedViewScene
+              - EnhancedViewSceneResponse
+              - CopyScene
+              - CopySceneResponse
+          OnOff:
+              - Off
+              - On
+              - Toggle
+              - OffWithEffect
+              - OnWithRecallGlobalScene
+              - OnWithTimedOff
+          LevelControl:
+              - MoveToLevel
+              - Move
+              - Step
+              - Stop
+              - MoveToLevelWithOnOff
+              - MoveWithOnOff
+              - StepWithOnOff
+              - StopWithOnOff
+              - MoveToClosestFrequency
+          Actions:
+              - InstantAction
+              - InstantActionWithTransition
+              - StartAction
+              - StartActionWithDuration
+              - StopAction
+              - PauseAction
+              - PauseActionWithDuration
+              - ResumeAction
+              - EnableAction
+              - EnableActionWithDuration
+              - DisableAction
+              - DisableActionWithDuration
+          Basic:
+              - MfgSpecificPing
+          OtaSoftwareUpdateProvider:
+              - QueryImage
+              - QueryImageResponse
+              - ApplyUpdateRequest
+              - ApplyUpdateResponse
+              - NotifyUpdateApplied
+          OtaSoftwareUpdateRequestor:
+              - AnnounceOtaProvider
+          GeneralCommissioning:
+              - ArmFailSafe
+              - ArmFailSafeResponse
+              - SetRegulatoryConfig
+              - SetRegulatoryConfigResponse
+              - CommissioningComplete
+              - CommissioningCompleteResponse
+          NetworkCommissioning:
+              - ScanNetworks
+              - ScanNetworksResponse
+              - AddOrUpdateWiFiNetwork
+              - AddOrUpdateThreadNetwork
+              - RemoveNetwork
+              - NetworkConfigResponse
+              - ConnectNetwork
+              - ConnectNetworkResponse
+              - ReorderNetwork
+          DiagnosticLogs:
+              - RetrieveLogsRequest
+              - RetrieveLogsResponse
+          GeneralDiagnostics:
+              - TestEventTrigger
+          SoftwareDiagnostics:
+              - ResetWatermarks
+          ThreadNetworkDiagnostics:
+              - ResetCounts
+          WiFiNetworkDiagnostics:
+              - ResetCounts
+          EthernetNetworkDiagnostics:
+              - ResetCounts
+          AdministratorCommissioning:
+              - OpenCommissioningWindow
+              - OpenBasicCommissioningWindow
+              - RevokeCommissioning
+          OperationalCredentials:
+              - AttestationRequest
+              - AttestationResponse
+              - CertificateChainRequest
+              - CertificateChainResponse
+              - CSRRequest
+              - CSRResponse
+              - AddNOC
+              - UpdateNOC
+              - NOCResponse
+              - UpdateFabricLabel
+              - RemoveFabric
+              - AddTrustedRootCertificate
+          GroupKeyManagement:
+              - KeySetWrite
+              - KeySetRead
+              - KeySetReadResponse
+              - KeySetRemove
+              - KeySetReadAllIndices
+              - KeySetReadAllIndicesResponse
+          ModeSelect:
+              - ChangeToMode
+          DoorLock:
+              - LockDoor
+              - UnlockDoor
+              - UnlockWithTimeout
+              - SetWeekDaySchedule
+              - GetWeekDaySchedule
+              - GetWeekDayScheduleResponse
+              - ClearWeekDaySchedule
+              - SetYearDaySchedule
+              - GetYearDaySchedule
+              - GetYearDayScheduleResponse
+              - ClearYearDaySchedule
+              - SetHolidaySchedule
+              - GetHolidaySchedule
+              - GetHolidayScheduleResponse
+              - ClearHolidaySchedule
+              - SetUser
+              - GetUser
+              - GetUserResponse
+              - ClearUser
+              - SetCredential
+              - SetCredentialResponse
+              - GetCredentialStatus
+              - GetCredentialStatusResponse
+              - ClearCredential
+          WindowCovering:
+              - UpOrOpen
+              - DownOrClose
+              - StopMotion
+              - GoToLiftValue
+              - GoToLiftPercentage
+              - GoToTiltValue
+              - GoToTiltPercentage
+          BarrierControl:
+              - BarrierControlGoToPercent
+              - BarrierControlStop
+          Thermostat:
+              - SetpointRaiseLower
+              - GetWeeklyScheduleResponse
+              - SetWeeklySchedule
+              - GetWeeklySchedule
+              - ClearWeeklySchedule
+          ColorControl:
+              - MoveToHue
+              - MoveHue
+              - StepHue
+              - MoveToSaturation
+              - MoveSaturation
+              - StepSaturation
+              - MoveToHueAndSaturation
+              - MoveToColor
+              - MoveColor
+              - StepColor
+              - MoveToColorTemperature
+              - EnhancedMoveToHue
+              - EnhancedMoveHue
+              - EnhancedStepHue
+              - EnhancedMoveToHueAndSaturation
+              - ColorLoopSet
+              - StopMoveStep
+              - MoveColorTemperature
+              - StepColorTemperature
+          Channel:
+              - ChangeChannel
+              - ChangeChannelResponse
+              - ChangeChannelByNumber
+              - SkipChannel
+          TargetNavigator:
+              - NavigateTarget
+              - NavigateTargetResponse
+          MediaPlayback:
+              - Play
+              - Pause
+              - StopPlayback
+              - StartOver
+              - Previous
+              - Next
+              - Rewind
+              - FastForward
+              - SkipForward
+              - SkipBackward
+              - PlaybackResponse
+              - Seek
+          MediaInput:
+              - SelectInput
+              - ShowInputStatus
+              - HideInputStatus
+              - RenameInput
+          LowPower:
+              - Sleep
+          KeypadInput:
+              - SendKey
+              - SendKeyResponse
+          ContentLauncher:
+              - LaunchContent
+              - LaunchURL
+              - LaunchResponse
+          AudioOutput:
+              - SelectOutput
+              - RenameOutput
+          ApplicationLauncher:
+              - LaunchApp
+              - StopApp
+              - HideApp
+              - LauncherResponse
+          AccountLogin:
+              - GetSetupPIN
+              - GetSetupPINResponse
+              - Login
+              - Logout
+          ElectricalMeasurement:
+              - GetProfileInfoResponseCommand
+              - GetProfileInfoCommand
+              - GetMeasurementProfileResponseCommand
+              - GetMeasurementProfileCommand
+          TestCluster:
+              - Test
+              - TestSpecificResponse
+              - TestNotHandled
+              - TestAddArgumentsResponse
+              - TestSpecific
+              - TestSimpleArgumentResponse
+              - TestUnknownCommand
+              - TestStructArrayArgumentResponse
+              - TestAddArguments
+              - TestListInt8UReverseResponse
+              - TestSimpleArgumentRequest
+              - TestEnumsResponse
+              - TestStructArrayArgumentRequest
+              - TestNullableOptionalResponse
+              - TestStructArgumentRequest
+              - TestComplexNullableOptionalResponse
+              - TestNestedStructArgumentRequest
+              - BooleanResponse
+              - TestListStructArgumentRequest
+              - SimpleStructResponse
+              - TestListInt8UArgumentRequest
+              - TestEmitTestEventResponse
+              - TestNestedStructListArgumentRequest
+              - TestEmitTestFabricScopedEventResponse
+              - TestListNestedStructListArgumentRequest
+              - TestListInt8UReverseRequest
+              - TestEnumsRequest
+              - TestNullableOptionalRequest
+              - TestComplexNullableOptionalRequest
+              - SimpleStructEchoRequest
+              - TimedInvokeRequest
+              - TestSimpleOptionalArgumentRequest
+              - TestEmitTestEventRequest
+              - TestEmitTestFabricScopedEventRequest
+      command fields:
+          Identify:
+              Identify:
+                  - identifyTime
+              TriggerEffect:
+                  - effectIdentifier
+                  - effectVariant
+          Groups:
+              AddGroup:
+                  - groupId
+                  - groupName
+              AddGroupResponse:
+                  - status
+                  - groupId
+              ViewGroup:
+                  - groupId
+              ViewGroupResponse:
+                  - status
+                  - groupId
+                  - groupName
+              GetGroupMembership:
+                  - groupList
+              GetGroupMembershipResponse:
+                  - capacity
+                  - groupList
+              RemoveGroup:
+                  - groupId
+              RemoveGroupResponse:
+                  - status
+                  - groupId
+              AddGroupIfIdentifying:
+                  - groupId
+                  - groupName
+          Scenes:
+              AddScene:
+                  - groupId
+                  - sceneId
+                  - transitionTime
+                  - sceneName
+                  - extensionFieldSets
+              AddSceneResponse:
+                  - status
+                  - groupId
+                  - sceneId
+              ViewScene:
+                  - groupId
+                  - sceneId
+              ViewSceneResponse:
+                  - status
+                  - groupId
+                  - sceneId
+                  - transitionTime
+                  - sceneName
+                  - extensionFieldSets
+              RemoveScene:
+                  - groupId
+                  - sceneId
+              RemoveSceneResponse:
+                  - status
+                  - groupId
+                  - sceneId
+              RemoveAllScenes:
+                  - groupId
+              RemoveAllScenesResponse:
+                  - status
+                  - groupId
+              StoreScene:
+                  - groupId
+                  - sceneId
+              StoreSceneResponse:
+                  - status
+                  - groupId
+                  - sceneId
+              RecallScene:
+                  - groupId
+                  - sceneId
+                  - transitionTime
+              GetSceneMembership:
+                  - groupId
+              GetSceneMembershipResponse:
+                  - status
+                  - capacity
+                  - groupId
+                  - sceneList
+              EnhancedAddScene:
+                  - groupId
+                  - sceneId
+                  - transitionTime
+                  - sceneName
+                  - extensionFieldSets
+              EnhancedAddSceneResponse:
+                  - status
+                  - groupId
+                  - sceneId
+              EnhancedViewScene:
+                  - groupId
+                  - sceneId
+              EnhancedViewSceneResponse:
+                  - status
+                  - groupId
+                  - sceneId
+                  - transitionTime
+                  - sceneName
+                  - extensionFieldSets
+              CopyScene:
+                  - mode
+                  - groupIdFrom
+                  - sceneIdFrom
+                  - groupIdTo
+                  - sceneIdTo
+              CopySceneResponse:
+                  - status
+                  - groupIdFrom
+                  - sceneIdFrom
+          OnOff:
+              OffWithEffect:
+                  - effectId
+                  - effectVariant
+              OnWithTimedOff:
+                  - onOffControl
+                  - onTime
+                  - offWaitTime
+          LevelControl:
+              MoveToLevel:
+                  - level
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              Move:
+                  - moveMode
+                  - rate
+                  - optionsMask
+                  - optionsOverride
+              Step:
+                  - stepMode
+                  - stepSize
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              Stop:
+                  - optionsMask
+                  - optionsOverride
+              MoveToLevelWithOnOff:
+                  - level
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              MoveWithOnOff:
+                  - moveMode
+                  - rate
+                  - optionsMask
+                  - optionsOverride
+              StepWithOnOff:
+                  - stepMode
+                  - stepSize
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              StopWithOnOff:
+                  - optionsMask
+                  - optionsOverride
+              MoveToClosestFrequency:
+                  - frequency
+          Actions:
+              InstantAction:
+                  - actionID
+                  - invokeID
+              InstantActionWithTransition:
+                  - actionID
+                  - invokeID
+                  - transitionTime
+              StartAction:
+                  - actionID
+                  - invokeID
+              StartActionWithDuration:
+                  - actionID
+                  - invokeID
+                  - duration
+              StopAction:
+                  - actionID
+                  - invokeID
+              PauseAction:
+                  - actionID
+                  - invokeID
+              PauseActionWithDuration:
+                  - actionID
+                  - invokeID
+                  - duration
+              ResumeAction:
+                  - actionID
+                  - invokeID
+              EnableAction:
+                  - actionID
+                  - invokeID
+              EnableActionWithDuration:
+                  - actionID
+                  - invokeID
+                  - duration
+              DisableAction:
+                  - actionID
+                  - invokeID
+              DisableActionWithDuration:
+                  - actionID
+                  - invokeID
+                  - duration
+          OtaSoftwareUpdateProvider:
+              QueryImage:
+                  - vendorId
+                  - productId
+                  - softwareVersion
+                  - protocolsSupported
+                  - hardwareVersion
+                  - location
+                  - requestorCanConsent
+                  - metadataForProvider
+              QueryImageResponse:
+                  - status
+                  - delayedActionTime
+                  - imageURI
+                  - softwareVersion
+                  - softwareVersionString
+                  - updateToken
+                  - userConsentNeeded
+                  - metadataForRequestor
+              ApplyUpdateRequest:
+                  - updateToken
+                  - newVersion
+              ApplyUpdateResponse:
+                  - action
+                  - delayedActionTime
+              NotifyUpdateApplied:
+                  - updateToken
+                  - softwareVersion
+          OtaSoftwareUpdateRequestor:
+              AnnounceOtaProvider:
+                  - providerNodeId
+                  - vendorId
+                  - announcementReason
+                  - metadataForNode
+                  - endpoint
+          GeneralCommissioning:
+              ArmFailSafe:
+                  - expiryLengthSeconds
+                  - breadcrumb
+              ArmFailSafeResponse:
+                  - errorCode
+                  - debugText
+              SetRegulatoryConfig:
+                  - newRegulatoryConfig
+                  - countryCode
+                  - breadcrumb
+              SetRegulatoryConfigResponse:
+                  - errorCode
+                  - debugText
+              CommissioningCompleteResponse:
+                  - errorCode
+                  - debugText
+          NetworkCommissioning:
+              ScanNetworks:
+                  - ssid
+                  - breadcrumb
+              ScanNetworksResponse:
+                  - networkingStatus
+                  - debugText
+                  - wiFiScanResults
+                  - threadScanResults
+              AddOrUpdateWiFiNetwork:
+                  - ssid
+                  - credentials
+                  - breadcrumb
+              AddOrUpdateThreadNetwork:
+                  - operationalDataset
+                  - breadcrumb
+              RemoveNetwork:
+                  - networkID
+                  - breadcrumb
+              NetworkConfigResponse:
+                  - networkingStatus
+                  - debugText
+                  - networkIndex
+              ConnectNetwork:
+                  - networkID
+                  - breadcrumb
+              ConnectNetworkResponse:
+                  - networkingStatus
+                  - debugText
+                  - errorValue
+              ReorderNetwork:
+                  - networkID
+                  - networkIndex
+                  - breadcrumb
+          DiagnosticLogs:
+              RetrieveLogsRequest:
+                  - intent
+                  - requestedProtocol
+                  - transferFileDesignator
+              RetrieveLogsResponse:
+                  - status
+                  - content
+                  - timeStamp
+                  - timeSinceBoot
+          GeneralDiagnostics:
+              TestEventTrigger:
+                  - enableKey
+                  - eventTrigger
+          SoftwareDiagnostics:
+          ThreadNetworkDiagnostics:
+          WiFiNetworkDiagnostics:
+          EthernetNetworkDiagnostics:
+          TimeSynchronization:
+              SetUtcTime:
+                  - utcTime
+                  - granularity
+                  - timeSource
+          AdministratorCommissioning:
+              OpenCommissioningWindow:
+                  - commissioningTimeout
+                  - pakeVerifier
+                  - discriminator
+                  - iterations
+                  - salt
+              OpenBasicCommissioningWindow:
+                  - commissioningTimeout
+          OperationalCredentials:
+              AttestationRequest:
+                  - attestationNonce
+              AttestationResponse:
+                  - attestationElements
+                  - signature
+              CertificateChainRequest:
+                  - certificateType
+              CertificateChainResponse:
+                  - certificate
+              CSRRequest:
+                  - csrNonce
+                  - isForUpdateNOC
+              CSRResponse:
+                  - nocsrElements
+                  - attestationSignature
+              AddNOC:
+                  - nocValue
+                  - icacValue
+                  - ipkValue
+                  - caseAdminSubject
+                  - adminVendorId
+              UpdateNOC:
+                  - nocValue
+                  - icacValue
+              NOCResponse:
+                  - statusCode
+                  - fabricIndex
+                  - debugText
+              UpdateFabricLabel:
+                  - label
+              RemoveFabric:
+                  - fabricIndex
+              AddTrustedRootCertificate:
+                  - rootCertificate
+          GroupKeyManagement:
+              KeySetWrite:
+                  - groupKeySet
+              KeySetRead:
+                  - groupKeySetID
+              KeySetReadResponse:
+                  - groupKeySet
+              KeySetRemove:
+                  - groupKeySetID
+              KeySetReadAllIndices:
+                  - groupKeySetIDs
+              KeySetReadAllIndicesResponse:
+                  - groupKeySetIDs
+          ModeSelect:
+              ChangeToMode:
+                  - newMode
+          DoorLock:
+              LockDoor:
+                  - pinCode
+              UnlockDoor:
+                  - pinCode
+              UnlockWithTimeout:
+                  - timeout
+                  - pinCode
+              SetWeekDaySchedule:
+                  - weekDayIndex
+                  - userIndex
+                  - daysMask
+                  - startHour
+                  - startMinute
+                  - endHour
+                  - endMinute
+              GetWeekDaySchedule:
+                  - weekDayIndex
+                  - userIndex
+              GetWeekDayScheduleResponse:
+                  - weekDayIndex
+                  - userIndex
+                  - status
+                  - daysMask
+                  - startHour
+                  - startMinute
+                  - endHour
+                  - endMinute
+              ClearWeekDaySchedule:
+                  - weekDayIndex
+                  - userIndex
+              SetYearDaySchedule:
+                  - yearDayIndex
+                  - userIndex
+                  - localStartTime
+                  - localEndTime
+              GetYearDaySchedule:
+                  - yearDayIndex
+                  - userIndex
+              GetYearDayScheduleResponse:
+                  - yearDayIndex
+                  - userIndex
+                  - status
+                  - localStartTime
+                  - localEndTime
+              ClearYearDaySchedule:
+                  - yearDayIndex
+                  - userIndex
+              SetHolidaySchedule:
+                  - holidayIndex
+                  - localStartTime
+                  - localEndTime
+                  - operatingMode
+              GetHolidaySchedule:
+                  - holidayIndex
+              GetHolidayScheduleResponse:
+                  - holidayIndex
+                  - status
+                  - localStartTime
+                  - localEndTime
+                  - operatingMode
+              ClearHolidaySchedule:
+                  - holidayIndex
+              SetUser:
+                  - operationType
+                  - userIndex
+                  - userName
+                  - userUniqueId
+                  - userStatus
+                  - userType
+                  - credentialRule
+              GetUser:
+                  - userIndex
+              GetUserResponse:
+                  - userIndex
+                  - userName
+                  - userUniqueId
+                  - userStatus
+                  - userType
+                  - credentialRule
+                  - credentials
+                  - creatorFabricIndex
+                  - lastModifiedFabricIndex
+                  - nextUserIndex
+              ClearUser:
+                  - userIndex
+              SetCredential:
+                  - operationType
+                  - credential
+                  - credentialData
+                  - userIndex
+                  - userStatus
+                  - userType
+              SetCredentialResponse:
+                  - status
+                  - userIndex
+                  - nextCredentialIndex
+              GetCredentialStatus:
+                  - credential
+              GetCredentialStatusResponse:
+                  - credentialExists
+                  - userIndex
+                  - creatorFabricIndex
+                  - lastModifiedFabricIndex
+                  - nextCredentialIndex
+              ClearCredential:
+                  - credential
+          WindowCovering:
+              GoToLiftValue:
+                  - liftValue
+              GoToLiftPercentage:
+                  - liftPercent100thsValue
+              GoToTiltValue:
+                  - tiltValue
+              GoToTiltPercentage:
+                  - tiltPercent100thsValue
+          BarrierControl:
+              BarrierControlGoToPercent:
+                  - percentOpen
+          Thermostat:
+              SetpointRaiseLower:
+                  - mode
+                  - amount
+              GetWeeklyScheduleResponse:
+                  - numberOfTransitionsForSequence
+                  - dayOfWeekForSequence
+                  - modeForSequence
+                  - transitions
+              SetWeeklySchedule:
+                  - numberOfTransitionsForSequence
+                  - dayOfWeekForSequence
+                  - modeForSequence
+                  - transitions
+              GetWeeklySchedule:
+                  - daysToReturn
+                  - modeToReturn
+          ColorControl:
+              MoveToHue:
+                  - hue
+                  - direction
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              MoveHue:
+                  - moveMode
+                  - rate
+                  - optionsMask
+                  - optionsOverride
+              StepHue:
+                  - stepMode
+                  - stepSize
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              MoveToSaturation:
+                  - saturation
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              MoveSaturation:
+                  - moveMode
+                  - rate
+                  - optionsMask
+                  - optionsOverride
+              StepSaturation:
+                  - stepMode
+                  - stepSize
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              MoveToHueAndSaturation:
+                  - hue
+                  - saturation
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              MoveToColor:
+                  - colorX
+                  - colorY
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              MoveColor:
+                  - rateX
+                  - rateY
+                  - optionsMask
+                  - optionsOverride
+              StepColor:
+                  - stepX
+                  - stepY
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              MoveToColorTemperature:
+                  - colorTemperature
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              EnhancedMoveToHue:
+                  - enhancedHue
+                  - direction
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              EnhancedMoveHue:
+                  - moveMode
+                  - rate
+                  - optionsMask
+                  - optionsOverride
+              EnhancedStepHue:
+                  - stepMode
+                  - stepSize
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              EnhancedMoveToHueAndSaturation:
+                  - enhancedHue
+                  - saturation
+                  - transitionTime
+                  - optionsMask
+                  - optionsOverride
+              ColorLoopSet:
+                  - updateFlags
+                  - action
+                  - direction
+                  - time
+                  - startHue
+                  - optionsMask
+                  - optionsOverride
+              StopMoveStep:
+                  - optionsMask
+                  - optionsOverride
+              MoveColorTemperature:
+                  - moveMode
+                  - rate
+                  - colorTemperatureMinimumMireds
+                  - colorTemperatureMaximumMireds
+                  - optionsMask
+                  - optionsOverride
+              StepColorTemperature:
+                  - stepMode
+                  - stepSize
+                  - transitionTime
+                  - colorTemperatureMinimumMireds
+                  - colorTemperatureMaximumMireds
+                  - optionsMask
+                  - optionsOverride
+          Channel:
+              ChangeChannel:
+                  - match
+              ChangeChannelResponse:
+                  - status
+                  - data
+              ChangeChannelByNumber:
+                  - majorNumber
+                  - minorNumber
+              SkipChannel:
+                  - count
+          TargetNavigator:
+              NavigateTarget:
+                  - target
+                  - data
+              NavigateTargetResponse:
+                  - status
+                  - data
+          MediaPlayback:
+              SkipForward:
+                  - deltaPositionMilliseconds
+              SkipBackward:
+                  - deltaPositionMilliseconds
+              PlaybackResponse:
+                  - status
+                  - data
+              Seek:
+                  - position
+          MediaInput:
+              SelectInput:
+                  - index
+              RenameInput:
+                  - index
+                  - name
+          LowPower:
+          KeypadInput:
+              SendKey:
+                  - keyCode
+              SendKeyResponse:
+                  - status
+          ContentLauncher:
+              LaunchContent:
+                  - search
+                  - autoPlay
+                  - data
+              LaunchURL:
+                  - contentURL
+                  - displayString
+                  - brandingInformation
+              LaunchResponse:
+                  - status
+                  - data
+          AudioOutput:
+              SelectOutput:
+                  - index
+              RenameOutput:
+                  - index
+                  - name
+          ApplicationLauncher:
+              LaunchApp:
+                  - application
+                  - data
+              StopApp:
+                  - application
+              HideApp:
+                  - application
+              LauncherResponse:
+                  - status
+                  - data
+          AccountLogin:
+              GetSetupPIN:
+                  - tempAccountIdentifier
+              GetSetupPINResponse:
+                  - setupPIN
+              Login:
+                  - tempAccountIdentifier
+                  - setupPIN
+          ElectricalMeasurement:
+              GetProfileInfoResponseCommand:
+                  - profileCount
+                  - profileIntervalPeriod
+                  - maxNumberOfIntervals
+                  - listOfAttributes
+              GetMeasurementProfileResponseCommand:
+                  - startTime
+                  - status
+                  - profileIntervalPeriod
+                  - numberOfIntervalsDelivered
+                  - attributeId
+                  - intervals
+              GetMeasurementProfileCommand:
+                  - attributeId
+                  - startTime
+                  - numberOfIntervals
+          TestCluster:
+              TestSpecificResponse:
+                  - returnValue
+              TestAddArgumentsResponse:
+                  - returnValue
+              TestSimpleArgumentResponse:
+                  - returnValue
+              TestStructArrayArgumentResponse:
+                  - arg1
+                  - arg2
+                  - arg3
+                  - arg4
+                  - arg5
+                  - arg6
+              TestAddArguments:
+                  - arg1
+                  - arg2
+              TestListInt8UReverseResponse:
+                  - arg1
+              TestSimpleArgumentRequest:
+                  - arg1
+              TestEnumsResponse:
+                  - arg1
+                  - arg2
+              TestStructArrayArgumentRequest:
+                  - arg1
+                  - arg2
+                  - arg3
+                  - arg4
+                  - arg5
+                  - arg6
+              TestNullableOptionalResponse:
+                  - wasPresent
+                  - wasNull
+                  - value
+                  - originalValue
+              TestStructArgumentRequest:
+                  - arg1
+              TestComplexNullableOptionalResponse:
+                  - nullableIntWasNull
+                  - nullableIntValue
+                  - optionalIntWasPresent
+                  - optionalIntValue
+                  - nullableOptionalIntWasPresent
+                  - nullableOptionalIntWasNull
+                  - nullableOptionalIntValue
+                  - nullableStringWasNull
+                  - nullableStringValue
+                  - optionalStringWasPresent
+                  - optionalStringValue
+                  - nullableOptionalStringWasPresent
+                  - nullableOptionalStringWasNull
+                  - nullableOptionalStringValue
+                  - nullableStructWasNull
+                  - nullableStructValue
+                  - optionalStructWasPresent
+                  - optionalStructValue
+                  - nullableOptionalStructWasPresent
+                  - nullableOptionalStructWasNull
+                  - nullableOptionalStructValue
+                  - nullableListWasNull
+                  - nullableListValue
+                  - optionalListWasPresent
+                  - optionalListValue
+                  - nullableOptionalListWasPresent
+                  - nullableOptionalListWasNull
+                  - nullableOptionalListValue
+              TestNestedStructArgumentRequest:
+                  - arg1
+              BooleanResponse:
+                  - value
+              TestListStructArgumentRequest:
+                  - arg1
+              SimpleStructResponse:
+                  - arg1
+              TestListInt8UArgumentRequest:
+                  - arg1
+              TestEmitTestEventResponse:
+                  - value
+              TestNestedStructListArgumentRequest:
+                  - arg1
+              TestEmitTestFabricScopedEventResponse:
+                  - value
+              TestListNestedStructListArgumentRequest:
+                  - arg1
+              TestListInt8UReverseRequest:
+                  - arg1
+              TestEnumsRequest:
+                  - arg1
+                  - arg2
+              TestNullableOptionalRequest:
+                  - arg1
+              TestComplexNullableOptionalRequest:
+                  - nullableInt
+                  - optionalInt
+                  - nullableOptionalInt
+                  - nullableString
+                  - optionalString
+                  - nullableOptionalString
+                  - nullableStruct
+                  - optionalStruct
+                  - nullableOptionalStruct
+                  - nullableList
+                  - optionalList
+                  - nullableOptionalList
+              SimpleStructEchoRequest:
+                  - arg1
+              TestSimpleOptionalArgumentRequest:
+                  - arg1
+              TestEmitTestEventRequest:
+                  - arg1
+                  - arg2
+                  - arg3
+              TestEmitTestFabricScopedEventRequest:
+                  - arg1
+          FaultInjection:
+              FailAtFault:
+                  - type
+                  - id
+                  - numCallsToSkip
+                  - numCallsToFail
+                  - takeMutex
+              FailRandomlyAtFault:
+                  - type
+                  - id
+                  - percentage
+      structs:
+          Scenes:
+              - AttributeValuePair
+              - ExtensionFieldSet
+          Descriptor:
+              - DeviceType
+          Binding:
+              - TargetStruct
+          AccessControl:
+              - Target
+              - AccessControlEntry
+              - ExtensionEntry
+          Actions:
+              - ActionStruct
+              - EndpointListStruct
+          Basic:
+              - CapabilityMinimaStruct
+          OtaSoftwareUpdateRequestor:
+              - ProviderLocation
+          PowerSource:
+              - BatChargeFaultChangeType
+              - BatFaultChangeType
+              - WiredFaultChangeType
+          GeneralCommissioning:
+              - BasicCommissioningInfo
+          NetworkCommissioning:
+              - NetworkInfo
+              - ThreadInterfaceScanResult
+              - WiFiInterfaceScanResult
+          GeneralDiagnostics:
+              - NetworkInterfaceType
+          SoftwareDiagnostics:
+              - ThreadMetrics
+          ThreadNetworkDiagnostics:
+              - NeighborTable
+              - OperationalDatasetComponents
+              - RouteTable
+              - SecurityPolicy
+          TimeSynchronization:
+              - DstOffsetType
+              - TimeZoneType
+          OperationalCredentials:
+              - FabricDescriptor
+              - NOCStruct
+          GroupKeyManagement:
+              - GroupInfoMapStruct
+              - GroupKeyMapStruct
+              - GroupKeySetStruct
+          FixedLabel:
+              - LabelStruct
+          UserLabel:
+              - LabelStruct
+          ModeSelect:
+              - SemanticTag
+              - ModeOptionStruct
+          DoorLock:
+              - DlCredential
+          Thermostat:
+              - ThermostatScheduleTransition
+          Channel:
+              - ChannelInfo
+              - LineupInfo
+          TargetNavigator:
+              - TargetInfo
+          MediaPlayback:
+              - PlaybackPosition
+          MediaInput:
+              - InputInfo
+          ContentLauncher:
+              - Dimension
+              - AdditionalInfo
+              - Parameter
+              - ContentSearch
+              - StyleInformation
+              - BrandingInformation
+          AudioOutput:
+              - OutputInfo
+          ApplicationLauncher:
+              - Application
+              - ApplicationEP
+          ApplicationBasic:
+              - ApplicationBasicApplication
+          TestCluster:
+              - SimpleStruct
+              - TestFabricScoped
+              - NullablesAndOptionalsStruct
+              - NestedStruct
+              - NestedStructList
+              - DoubleNestedStructList
+              - TestListStructOctet
+      struct fields:
+          Scenes:
+              AttributeValuePair:
+                  - attributeId
+                  - attributeValue
+              ExtensionFieldSet:
+                  - clusterId
+                  - attributeValueList
+          Descriptor:
+              DeviceType:
+                  - type
+                  - revision
+          Binding:
+              TargetStruct:
+                  - node
+                  - group
+                  - endpoint
+                  - cluster
+                  - fabricIndex
+          AccessControl:
+              Target:
+                  - cluster
+                  - endpoint
+                  - deviceType
+              AccessControlEntry:
+                  - privilege
+                  - authMode
+                  - subjects
+                  - targets
+                  - fabricIndex
+              ExtensionEntry:
+                  - data
+                  - fabricIndex
+          Actions:
+              ActionStruct:
+                  - actionID
+                  - name
+                  - type
+                  - endpointListID
+                  - supportedCommands
+                  - state
+              EndpointListStruct:
+                  - endpointListID
+                  - name
+                  - type
+                  - endpoints
+          Basic:
+              CapabilityMinimaStruct:
+                  - caseSessionsPerFabric
+                  - subscriptionsPerFabric
+          OtaSoftwareUpdateRequestor:
+              ProviderLocation:
+                  - providerNodeID
+                  - endpoint
+                  - fabricIndex
+          PowerSource:
+              BatChargeFaultChangeType:
+                  - current
+                  - previous
+              BatFaultChangeType:
+                  - current
+                  - previous
+              WiredFaultChangeType:
+                  - current
+                  - previous
+          GeneralCommissioning:
+              BasicCommissioningInfo:
+                  - failSafeExpiryLengthSeconds
+                  - maxCumulativeFailsafeSeconds
+          NetworkCommissioning:
+              NetworkInfo:
+                  - networkID
+                  - connected
+              ThreadInterfaceScanResult:
+                  - panId
+                  - extendedPanId
+                  - networkName
+                  - channel
+                  - version
+                  - extendedAddress
+                  - rssi
+                  - lqi
+              WiFiInterfaceScanResult:
+                  - security
+                  - ssid
+                  - bssid
+                  - channel
+                  - wiFiBand
+                  - rssi
+          GeneralDiagnostics:
+              NetworkInterfaceType:
+                  - name
+                  - isOperational
+                  - offPremiseServicesReachableIPv4
+                  - offPremiseServicesReachableIPv6
+                  - hardwareAddress
+                  - iPv4Addresses
+                  - iPv6Addresses
+                  - type
+          SoftwareDiagnostics:
+              ThreadMetrics:
+                  - id
+                  - name
+                  - stackFreeCurrent
+                  - stackFreeMinimum
+                  - stackSize
+          ThreadNetworkDiagnostics:
+              NeighborTable:
+                  - extAddress
+                  - age
+                  - rloc16
+                  - linkFrameCounter
+                  - mleFrameCounter
+                  - lqi
+                  - averageRssi
+                  - lastRssi
+                  - frameErrorRate
+                  - messageErrorRate
+                  - rxOnWhenIdle
+                  - fullThreadDevice
+                  - fullNetworkData
+                  - isChild
+              OperationalDatasetComponents:
+                  - activeTimestampPresent
+                  - pendingTimestampPresent
+                  - masterKeyPresent
+                  - networkNamePresent
+                  - extendedPanIdPresent
+                  - meshLocalPrefixPresent
+                  - delayPresent
+                  - panIdPresent
+                  - channelPresent
+                  - pskcPresent
+                  - securityPolicyPresent
+                  - channelMaskPresent
+              RouteTable:
+                  - extAddress
+                  - rloc16
+                  - routerId
+                  - nextHop
+                  - pathCost
+                  - lqiIn
+                  - lqiOut
+                  - age
+                  - allocated
+                  - linkEstablished
+              SecurityPolicy:
+                  - rotationTime
+                  - flags
+          TimeSynchronization:
+              DstOffsetType:
+                  - offset
+                  - validStarting
+                  - validUntil
+              TimeZoneType:
+                  - offset
+                  - validAt
+                  - name
+          OperationalCredentials:
+              FabricDescriptor:
+                  - rootPublicKey
+                  - vendorId
+                  - fabricId
+                  - nodeId
+                  - label
+                  - fabricIndex
+              NOCStruct:
+                  - noc
+                  - icac
+                  - fabricIndex
+          GroupKeyManagement:
+              GroupInfoMapStruct:
+                  - groupId
+                  - endpoints
+                  - groupName
+                  - fabricIndex
+              GroupKeyMapStruct:
+                  - groupId
+                  - groupKeySetID
+                  - fabricIndex
+              GroupKeySetStruct:
+                  - groupKeySetID
+                  - groupKeySecurityPolicy
+                  - epochKey0
+                  - epochStartTime0
+                  - epochKey1
+                  - epochStartTime1
+                  - epochKey2
+                  - epochStartTime2
+          FixedLabel:
+              LabelStruct:
+                  - label
+                  - value
+          UserLabel:
+              LabelStruct:
+                  - label
+                  - value
+          ModeSelect:
+              SemanticTag:
+                  - mfgCode
+                  - value
+              ModeOptionStruct:
+                  - label
+                  - mode
+                  - semanticTags
+          DoorLock:
+              DlCredential:
+                  - credentialType
+                  - credentialIndex
+          Thermostat:
+              ThermostatScheduleTransition:
+                  - transitionTime
+                  - heatSetpoint
+                  - coolSetpoint
+          Channel:
+              ChannelInfo:
+                  - majorNumber
+                  - minorNumber
+                  - name
+                  - callSign
+                  - affiliateCallSign
+              LineupInfo:
+                  - operatorName
+                  - lineupName
+                  - postalCode
+                  - lineupInfoType
+          TargetNavigator:
+              TargetInfo:
+                  - identifier
+                  - name
+          MediaPlayback:
+              PlaybackPosition:
+                  - updatedAt
+                  - position
+          MediaInput:
+              InputInfo:
+                  - index
+                  - inputType
+                  - name
+                  - descriptionString
+          ContentLauncher:
+              Dimension:
+                  - width
+                  - height
+                  - metric
+              AdditionalInfo:
+                  - name
+                  - value
+              Parameter:
+                  - type
+                  - value
+                  - externalIDList
+              ContentSearch:
+                  - parameterList
+              StyleInformation:
+                  - imageUrl
+                  - color
+                  - size
+              BrandingInformation:
+                  - providerName
+                  - background
+                  - logo
+                  - progressBar
+                  - splash
+                  - waterMark
+          AudioOutput:
+              OutputInfo:
+                  - index
+                  - outputType
+                  - name
+          ApplicationLauncher:
+              Application:
+                  - catalogVendorId
+                  - applicationId
+              ApplicationEP:
+                  - application
+                  - endpoint
+          ApplicationBasic:
+              ApplicationBasicApplication:
+                  - catalogVendorId
+                  - applicationId
+          TestCluster:
+              SimpleStruct:
+                  - a
+                  - b
+                  - c
+                  - d
+                  - e
+                  - f
+                  - g
+                  - h
+              TestFabricScoped:
+                  - fabricSensitiveInt8u
+                  - optionalFabricSensitiveInt8u
+                  - nullableFabricSensitiveInt8u
+                  - nullableOptionalFabricSensitiveInt8u
+                  - fabricSensitiveCharString
+                  - fabricSensitiveStruct
+                  - fabricSensitiveInt8uList
+                  - fabricIndex
+              NullablesAndOptionalsStruct:
+                  - nullableInt
+                  - optionalInt
+                  - nullableOptionalInt
+                  - nullableString
+                  - optionalString
+                  - nullableOptionalString
+                  - nullableStruct
+                  - optionalStruct
+                  - nullableOptionalStruct
+                  - nullableList
+                  - optionalList
+                  - nullableOptionalList
+              NestedStruct:
+                  - a
+                  - b
+                  - c
+              NestedStructList:
+                  - a
+                  - b
+                  - c
+                  - d
+                  - e
+                  - f
+                  - g
+              DoubleNestedStructList:
+                  - a
+              TestListStructOctet:
+                  - member1
+                  - member2
+      events:
+          AccessControl:
+              - AccessControlEntryChanged
+              - AccessControlExtensionChanged
+          Actions:
+              - StateChanged
+              - ActionFailed
+          Basic:
+              - StartUp
+              - ShutDown
+              - Leave
+              - ReachableChanged
+          OtaSoftwareUpdateRequestor:
+              - StateTransition
+              - VersionApplied
+              - DownloadError
+          GeneralDiagnostics:
+              - HardwareFaultChange
+              - RadioFaultChange
+              - NetworkFaultChange
+              - BootReason
+          SoftwareDiagnostics:
+              - SoftwareFault
+          ThreadNetworkDiagnostics:
+              - ConnectionStatus
+              - NetworkFaultChange
+          WiFiNetworkDiagnostics:
+              - Disconnection
+              - AssociationFailure
+              - ConnectionStatus
+          BridgedDeviceBasic:
+              - StartUp
+              - ShutDown
+              - Leave
+              - ReachableChanged
+          Switch:
+              - SwitchLatched
+              - InitialPress
+              - LongPress
+              - ShortRelease
+              - LongRelease
+              - MultiPressOngoing
+              - MultiPressComplete
+          BooleanState:
+              - StateChange
+          DoorLock:
+              - DoorLockAlarm
+              - DoorStateChange
+              - LockOperation
+              - LockOperationError
+              - LockUserChange
+          PumpConfigurationAndControl:
+              - SupplyVoltageLow
+              - SupplyVoltageHigh
+              - PowerMissingPhase
+              - SystemPressureLow
+              - SystemPressureHigh
+              - DryRunning
+              - MotorTemperatureHigh
+              - PumpMotorFatalFailure
+              - ElectronicTemperatureHigh
+              - PumpBlocked
+              - SensorFailure
+              - ElectronicNonFatalFailure
+              - ElectronicFatalFailure
+              - GeneralFault
+              - Leakage
+              - AirDetection
+              - TurbineOperation
+          TestCluster:
+              - TestEvent
+              - TestFabricScopedEvent
+      event fields:
+          AccessControl:
+              AccessControlEntryChanged:
+                  - adminNodeID
+                  - adminPasscodeID
+                  - changeType
+                  - latestValue
+                  - fabricIndex
+              AccessControlExtensionChanged:
+                  - adminNodeID
+                  - adminPasscodeID
+                  - changeType
+                  - latestValue
+                  - fabricIndex
+          Actions:
+              StateChanged:
+                  - actionID
+                  - invokeID
+                  - newState
+              ActionFailed:
+                  - actionID
+                  - invokeID
+                  - newState
+                  - error
+          Basic:
+              StartUp:
+                  - softwareVersion
+              Leave:
+                  - fabricIndex
+              ReachableChanged:
+                  - reachableNewValue
+          OtaSoftwareUpdateRequestor:
+              StateTransition:
+                  - previousState
+                  - newState
+                  - reason
+                  - targetSoftwareVersion
+              VersionApplied:
+                  - softwareVersion
+                  - productID
+              DownloadError:
+                  - softwareVersion
+                  - bytesDownloaded
+                  - progressPercent
+                  - platformCode
+          GeneralDiagnostics:
+              HardwareFaultChange:
+                  - current
+                  - previous
+              RadioFaultChange:
+                  - current
+                  - previous
+              NetworkFaultChange:
+                  - current
+                  - previous
+              BootReason:
+                  - bootReason
+          SoftwareDiagnostics:
+              SoftwareFault:
+                  - id
+                  - name
+                  - faultRecording
+          ThreadNetworkDiagnostics:
+              ConnectionStatus:
+                  - connectionStatus
+              NetworkFaultChange:
+                  - current
+                  - previous
+          WiFiNetworkDiagnostics:
+              Disconnection:
+                  - reasonCode
+              AssociationFailure:
+                  - associationFailure
+                  - status
+              ConnectionStatus:
+                  - connectionStatus
+          BridgedDeviceBasic:
+              StartUp:
+                  - softwareVersion
+              ReachableChanged:
+                  - reachableNewValue
+          Switch:
+              SwitchLatched:
+                  - newPosition
+              InitialPress:
+                  - newPosition
+              LongPress:
+                  - newPosition
+              ShortRelease:
+                  - previousPosition
+              LongRelease:
+                  - previousPosition
+              MultiPressOngoing:
+                  - newPosition
+                  - currentNumberOfPressesCounted
+              MultiPressComplete:
+                  - newPosition
+                  - totalNumberOfPressesCounted
+          BooleanState:
+              StateChange:
+                  - stateValue
+          DoorLock:
+              DoorLockAlarm:
+                  - alarmCode
+              DoorStateChange:
+                  - doorState
+              LockOperation:
+                  - lockOperationType
+                  - operationSource
+                  - userIndex
+                  - fabricIndex
+                  - sourceNode
+                  - credentials
+              LockOperationError:
+                  - lockOperationType
+                  - operationSource
+                  - operationError
+                  - userIndex
+                  - fabricIndex
+                  - sourceNode
+                  - credentials
+              LockUserChange:
+                  - lockDataType
+                  - dataOperationType
+                  - operationSource
+                  - userIndex
+                  - fabricIndex
+                  - sourceNode
+                  - dataIndex
+          PumpConfigurationAndControl:
+          TestCluster:
+              TestEvent:
+                  - arg1
+                  - arg2
+                  - arg3
+                  - arg4
+                  - arg5
+                  - arg6
+              TestFabricScopedEvent:
+                  - fabricIndex
+      enums:
+          Identify:
+              - IdentifyEffectIdentifier
+              - IdentifyEffectVariant
+              - IdentifyIdentifyType
+          OnOff:
+              - OnOffDelayedAllOffEffectVariant
+              - OnOffDyingLightEffectVariant
+              - OnOffEffectIdentifier
+              - OnOffStartUpOnOff
+          LevelControl:
+              - MoveMode
+              - StepMode
+          AccessControl:
+              - AuthMode
+              - ChangeTypeEnum
+              - Privilege
+          Actions:
+              - ActionErrorEnum
+              - ActionStateEnum
+              - ActionTypeEnum
+              - EndpointListTypeEnum
+          OtaSoftwareUpdateProvider:
+              - OTAApplyUpdateAction
+              - OTADownloadProtocol
+              - OTAQueryStatus
+          OtaSoftwareUpdateRequestor:
+              - OTAAnnouncementReason
+              - OTAChangeReasonEnum
+              - OTAUpdateStateEnum
+          TimeFormatLocalization:
+              - CalendarType
+              - HourFormat
+          UnitLocalization:
+              - TempUnit
+          PowerSource:
+              - BatChargeFault
+              - BatChargeLevel
+              - BatChargeState
+              - BatFault
+              - BatReplaceability
+              - PowerSourceStatus
+              - WiredCurrentType
+              - WiredFault
+          GeneralCommissioning:
+              - CommissioningError
+              - RegulatoryLocationType
+          NetworkCommissioning:
+              - NetworkCommissioningStatus
+              - WiFiBand
+          DiagnosticLogs:
+              - LogsIntent
+              - LogsStatus
+              - LogsTransferProtocol
+          GeneralDiagnostics:
+              - BootReasonType
+              - HardwareFaultType
+              - InterfaceType
+              - NetworkFaultType
+              - RadioFaultType
+          ThreadNetworkDiagnostics:
+              - NetworkFault
+              - RoutingRole
+              - ThreadConnectionStatus
+          WiFiNetworkDiagnostics:
+              - AssociationFailureCause
+              - SecurityType
+              - WiFiConnectionStatus
+              - WiFiVersionType
+          EthernetNetworkDiagnostics:
+              - PHYRateType
+          TimeSynchronization:
+              - GranularityEnum
+              - TimeSourceEnum
+          AdministratorCommissioning:
+              - CommissioningWindowStatus
+              - StatusCode
+          OperationalCredentials:
+              - OperationalCertStatus
+          GroupKeyManagement:
+              - GroupKeySecurityPolicy
+          DoorLock:
+              - DlAlarmCode
+              - DlCredentialRule
+              - DlCredentialType
+              - DlDataOperationType
+              - DlDoorState
+              - DlLockDataType
+              - DlLockOperationType
+              - DlLockState
+              - DlLockType
+              - DlOperatingMode
+              - DlOperationError
+              - DlOperationSource
+              - DlStatus
+              - DlUserStatus
+              - DlUserType
+              - DoorLockOperationEventCode
+              - DoorLockProgrammingEventCode
+              - DoorLockSetPinOrIdStatus
+              - DoorLockUserStatus
+              - DoorLockUserType
+          WindowCovering:
+              - EndProductType
+              - Type
+          PumpConfigurationAndControl:
+              - PumpControlMode
+              - PumpOperationMode
+          Thermostat:
+              - SetpointAdjustMode
+              - ThermostatControlSequence
+              - ThermostatRunningMode
+              - ThermostatSystemMode
+          FanControl:
+              - FanModeSequenceType
+              - FanModeType
+          ColorControl:
+              - ColorLoopAction
+              - ColorLoopDirection
+              - ColorMode
+              - HueDirection
+              - HueMoveMode
+              - HueStepMode
+              - SaturationMoveMode
+              - SaturationStepMode
+          IlluminanceMeasurement:
+              - LightSensorType
+          Channel:
+              - ChannelStatusEnum
+              - LineupInfoTypeEnum
+          TargetNavigator:
+              - TargetNavigatorStatusEnum
+          MediaPlayback:
+              - MediaPlaybackStatusEnum
+              - PlaybackStateEnum
+          MediaInput:
+              - InputTypeEnum
+          KeypadInput:
+              - CecKeyCode
+              - KeypadInputStatusEnum
+          ContentLauncher:
+              - ContentLaunchStatusEnum
+              - MetricTypeEnum
+              - ParameterEnum
+          AudioOutput:
+              - OutputTypeEnum
+          ApplicationLauncher:
+              - ApplicationLauncherStatusEnum
+          ApplicationBasic:
+              - ApplicationStatusEnum
+          TestCluster:
+              - SimpleEnum
+          FaultInjection:
+              - FaultType
+      enum values:
+          Identify:
+              IdentifyEffectIdentifier:
+                  - Blink
+                  - Breathe
+                  - Okay
+                  - ChannelChange
+                  - FinishEffect
+                  - StopEffect
+              IdentifyEffectVariant:
+                  - Default
+              IdentifyIdentifyType:
+                  - None
+                  - VisibleLight
+                  - VisibleLED
+                  - AudibleBeep
+                  - Display
+                  - Actuator
+          OnOff:
+              OnOffDelayedAllOffEffectVariant:
+                  - FadeToOffIn0p8Seconds
+                  - NoFade
+                  - 50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds
+              OnOffDyingLightEffectVariant:
+                  - 20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second
+              OnOffEffectIdentifier:
+                  - DelayedAllOff
+                  - DyingLight
+              OnOffStartUpOnOff:
+                  - Off
+                  - On
+                  - TogglePreviousOnOff
+          LevelControl:
+              MoveMode:
+                  - Up
+                  - Down
+              StepMode:
+                  - Up
+                  - Down
+          AccessControl:
+              AuthMode:
+                  - PASE
+                  - CASE
+                  - Group
+              ChangeTypeEnum:
+                  - Changed
+                  - Added
+                  - Removed
+              Privilege:
+                  - View
+                  - ProxyView
+                  - Operate
+                  - Manage
+                  - Administer
+          Actions:
+              ActionErrorEnum:
+                  - Unknown
+                  - Interrupted
+              ActionStateEnum:
+                  - Inactive
+                  - Active
+                  - Paused
+                  - Disabled
+              ActionTypeEnum:
+                  - Other
+                  - Scene
+                  - Sequence
+                  - Automation
+                  - Exception
+                  - Notification
+                  - Alarm
+              EndpointListTypeEnum:
+                  - Other
+                  - Room
+                  - Zone
+          OtaSoftwareUpdateProvider:
+              OTAApplyUpdateAction:
+                  - Proceed
+                  - AwaitNextAction
+                  - Discontinue
+              OTADownloadProtocol:
+                  - BDXSynchronous
+                  - BDXAsynchronous
+                  - HTTPS
+                  - VendorSpecific
+              OTAQueryStatus:
+                  - UpdateAvailable
+                  - Busy
+                  - NotAvailable
+                  - DownloadProtocolNotSupported
+          OtaSoftwareUpdateRequestor:
+              OTAAnnouncementReason:
+                  - SimpleAnnouncement
+                  - UpdateAvailable
+                  - UrgentUpdateAvailable
+              OTAChangeReasonEnum:
+                  - Unknown
+                  - Success
+                  - Failure
+                  - TimeOut
+                  - DelayByProvider
+              OTAUpdateStateEnum:
+                  - Unknown
+                  - Idle
+                  - Querying
+                  - DelayedOnQuery
+                  - Downloading
+                  - Applying
+                  - DelayedOnApply
+                  - RollingBack
+                  - DelayedOnUserConsent
+          TimeFormatLocalization:
+              CalendarType:
+                  - Buddhist
+                  - Chinese
+                  - Coptic
+                  - Ethiopian
+                  - Gregorian
+                  - Hebrew
+                  - Indian
+                  - Islamic
+                  - Japanese
+                  - Korean
+                  - Persian
+                  - Taiwanese
+              HourFormat:
+                  - 12hr
+                  - 24hr
+          UnitLocalization:
+              TempUnit:
+                  - Fahrenheit
+                  - Celsius
+                  - Kelvin
+          PowerSource:
+              BatChargeFault:
+                  - Unspecfied
+                  - AmbientTooHot
+                  - AmbientTooCold
+                  - BatteryTooHot
+                  - BatteryTooCold
+                  - BatteryAbsent
+                  - BatteryOverVoltage
+                  - BatteryUnderVoltage
+                  - ChargerOverVoltage
+                  - ChargerUnderVoltage
+                  - SafetyTimeout
+              BatChargeLevel:
+                  - Ok
+                  - Warning
+                  - Critical
+              BatChargeState:
+                  - Unknown
+                  - IsCharging
+                  - IsAtFullCharge
+                  - IsNotCharging
+              BatFault:
+                  - Unspecfied
+                  - OverTemp
+                  - UnderTemp
+              BatReplaceability:
+                  - Unspecified
+                  - NotReplaceable
+                  - UserReplaceable
+                  - FactoryReplaceable
+              PowerSourceStatus:
+                  - Unspecfied
+                  - Active
+                  - Standby
+                  - Unavailable
+              WiredCurrentType:
+                  - AC
+                  - DC
+              WiredFault:
+                  - Unspecfied
+                  - OverVoltage
+                  - UnderVoltage
+          GeneralCommissioning:
+              CommissioningError:
+                  - Ok
+                  - ValueOutsideRange
+                  - InvalidAuthentication
+                  - NoFailSafe
+                  - BusyWithOtherAdmin
+              RegulatoryLocationType:
+                  - Indoor
+                  - Outdoor
+                  - IndoorOutdoor
+          NetworkCommissioning:
+              NetworkCommissioningStatus:
+                  - Success
+                  - OutOfRange
+                  - BoundsExceeded
+                  - NetworkIDNotFound
+                  - DuplicateNetworkID
+                  - NetworkNotFound
+                  - RegulatoryError
+                  - AuthFailure
+                  - UnsupportedSecurity
+                  - OtherConnectionFailure
+                  - IPV6Failed
+                  - IPBindFailed
+                  - UnknownError
+              WiFiBand:
+                  - 2G4
+                  - 3G65
+                  - 5G
+                  - 6G
+                  - 60G
+          DiagnosticLogs:
+              LogsIntent:
+                  - EndUserSupport
+                  - NetworkDiag
+                  - CrashLogs
+              LogsStatus:
+                  - Success
+                  - Exhausted
+                  - NoLogs
+                  - Busy
+                  - Denied
+              LogsTransferProtocol:
+                  - ResponsePayload
+                  - BDX
+          GeneralDiagnostics:
+              BootReasonType:
+                  - Unspecified
+                  - PowerOnReboot
+                  - BrownOutReset
+                  - SoftwareWatchdogReset
+                  - HardwareWatchdogReset
+                  - SoftwareUpdateCompleted
+                  - SoftwareReset
+              HardwareFaultType:
+                  - Unspecified
+                  - Radio
+                  - Sensor
+                  - ResettableOverTemp
+                  - NonResettableOverTemp
+                  - PowerSource
+                  - VisualDisplayFault
+                  - AudioOutputFault
+                  - UserInterfaceFault
+                  - NonVolatileMemoryError
+                  - TamperDetected
+              InterfaceType:
+                  - Unspecified
+                  - WiFi
+                  - Ethernet
+                  - Cellular
+                  - Thread
+              NetworkFaultType:
+                  - Unspecified
+                  - HardwareFailure
+                  - NetworkJammed
+                  - ConnectionFailed
+              RadioFaultType:
+                  - Unspecified
+                  - WiFiFault
+                  - CellularFault
+                  - ThreadFault
+                  - NFCFault
+                  - BLEFault
+                  - EthernetFault
+          ThreadNetworkDiagnostics:
+              NetworkFault:
+                  - Unspecified
+                  - LinkDown
+                  - HardwareFailure
+                  - NetworkJammed
+              RoutingRole:
+                  - Unspecified
+                  - Unassigned
+                  - SleepyEndDevice
+                  - EndDevice
+                  - REED
+                  - Router
+                  - Leader
+              ThreadConnectionStatus:
+                  - Connected
+                  - NotConnected
+          WiFiNetworkDiagnostics:
+              AssociationFailureCause:
+                  - Unknown
+                  - AssociationFailed
+                  - AuthenticationFailed
+                  - SsidNotFound
+              SecurityType:
+                  - Unspecified
+                  - None
+                  - WEP
+                  - WPA
+                  - WPA2
+                  - WPA3
+              WiFiConnectionStatus:
+                  - Connected
+                  - NotConnected
+              WiFiVersionType:
+                  - 80211a
+                  - 80211b
+                  - 80211g
+                  - 80211n
+                  - 80211ac
+                  - 80211ax
+          EthernetNetworkDiagnostics:
+              PHYRateType:
+                  - 10M
+                  - 100M
+                  - 1000M
+                  - 25G
+                  - 5G
+                  - 10G
+                  - 40G
+                  - 100G
+                  - 200G
+                  - 400G
+          TimeSynchronization:
+              GranularityEnum:
+                  - NoTimeGranularity
+                  - MinutesGranularity
+                  - SecondsGranularity
+                  - MillisecondsGranularity
+                  - MicrosecondsGranularity
+              TimeSourceEnum:
+                  - None
+                  - Unknown
+                  - Admin
+                  - NodeTimeCluster
+                  - NonFabricSntp
+                  - NonFabricNtp
+                  - FabricSntp
+                  - FabricNtp
+                  - MixedNtp
+                  - NonFabricSntpNts
+                  - NonFabricNtpNts
+                  - FabricSntpNts
+                  - FabricNtpNts
+                  - MixedNtpNts
+                  - CloudSource
+                  - Ptp
+                  - Gnss
+          AdministratorCommissioning:
+              CommissioningWindowStatus:
+                  - WindowNotOpen
+                  - EnhancedWindowOpen
+                  - BasicWindowOpen
+              StatusCode:
+                  - Busy
+                  - PAKEParameterError
+                  - WindowNotOpen
+          OperationalCredentials:
+              OperationalCertStatus:
+                  - SUCCESS
+                  - InvalidPublicKey
+                  - InvalidNodeOpId
+                  - InvalidNOC
+                  - MissingCsr
+                  - TableFull
+                  - InvalidAdminSubject
+                  - FabricConflict
+                  - LabelConflict
+                  - InvalidFabricIndex
+          GroupKeyManagement:
+              GroupKeySecurityPolicy:
+                  - TrustFirst
+                  - CacheAndSync
+          DoorLock:
+              DlAlarmCode:
+                  - LockJammed
+                  - LockFactoryReset
+                  - LockRadioPowerCycled
+                  - WrongCodeEntryLimit
+                  - FrontEsceutcheonRemoved
+                  - DoorForcedOpen
+                  - DoorAjar
+                  - ForcedUser
+              DlCredentialRule:
+                  - Single
+                  - Double
+                  - Tri
+              DlCredentialType:
+                  - ProgrammingPIN
+                  - PIN
+                  - RFID
+                  - Fingerprint
+                  - FingerVein
+                  - Face
+              DlDataOperationType:
+                  - Add
+                  - Clear
+                  - Modify
+              DlDoorState:
+                  - DoorOpen
+                  - DoorClosed
+                  - DoorJammed
+                  - DoorForcedOpen
+                  - DoorUnspecifiedError
+                  - DoorAjar
+              DlLockDataType:
+                  - Unspecified
+                  - ProgrammingCode
+                  - UserIndex
+                  - WeekDaySchedule
+                  - YearDaySchedule
+                  - HolidaySchedule
+                  - PIN
+                  - RFID
+                  - Fingerprint
+              DlLockOperationType:
+                  - Lock
+                  - Unlock
+                  - NonAccessUserEvent
+                  - ForcedUserEvent
+              DlLockState:
+                  - NotFullyLocked
+                  - Locked
+                  - Unlocked
+              DlLockType:
+                  - DeadBolt
+                  - Magnetic
+                  - Other
+                  - Mortise
+                  - Rim
+                  - LatchBolt
+                  - CylindricalLock
+                  - TubularLock
+                  - InterconnectedLock
+                  - DeadLatch
+                  - DoorFurniture
+              DlOperatingMode:
+                  - Normal
+                  - Vacation
+                  - Privacy
+                  - NoRemoteLockUnlock
+                  - Passage
+              DlOperationError:
+                  - Unspecified
+                  - InvalidCredential
+                  - DisabledUserDenied
+                  - Restricted
+                  - InsufficientBattery
+              DlOperationSource:
+                  - Unspecified
+                  - Manual
+                  - ProprietaryRemote
+                  - Keypad
+                  - Auto
+                  - Button
+                  - Schedule
+                  - Remote
+                  - RFID
+                  - Biometric
+              DlStatus:
+                  - Success
+                  - Failure
+                  - Duplicate
+                  - Occupied
+                  - InvalidField
+                  - ResourceExhausted
+                  - NotFound
+              DlUserStatus:
+                  - Available
+                  - OccupiedEnabled
+                  - OccupiedDisabled
+              DlUserType:
+                  - UnrestrictedUser
+                  - YearDayScheduleUser
+                  - WeekDayScheduleUser
+                  - ProgrammingUser
+                  - NonAccessUser
+                  - ForcedUser
+                  - DisposableUser
+                  - ExpiringUser
+                  - ScheduleRestrictedUser
+                  - RemoteOnlyUser
+              DoorLockOperationEventCode:
+                  - UnknownOrMfgSpecific
+                  - Lock
+                  - Unlock
+                  - LockInvalidPinOrId
+                  - LockInvalidSchedule
+                  - UnlockInvalidPinOrId
+                  - UnlockInvalidSchedule
+                  - OneTouchLock
+                  - KeyLock
+                  - KeyUnlock
+                  - AutoLock
+                  - ScheduleLock
+                  - ScheduleUnlock
+                  - ManualLock
+                  - ManualUnlock
+              DoorLockProgrammingEventCode:
+                  - UnknownOrMfgSpecific
+                  - MasterCodeChanged
+                  - PinAdded
+                  - PinDeleted
+                  - PinChanged
+                  - IdAdded
+                  - IdDeleted
+              DoorLockSetPinOrIdStatus:
+                  - Success
+                  - GeneralFailure
+                  - MemoryFull
+                  - DuplicateCodeError
+              DoorLockUserStatus:
+                  - Available
+                  - OccupiedEnabled
+                  - OccupiedDisabled
+                  - NotSupported
+              DoorLockUserType:
+                  - Unrestricted
+                  - YearDayScheduleUser
+                  - WeekDayScheduleUser
+                  - MasterUser
+                  - NonAccessUser
+                  - NotSupported
+          WindowCovering:
+              EndProductType:
+                  - RollerShade
+                  - RomanShade
+                  - BalloonShade
+                  - WovenWood
+                  - PleatedShade
+                  - CellularShade
+                  - LayeredShade
+                  - LayeredShade2D
+                  - SheerShade
+                  - TiltOnlyInteriorBlind
+                  - InteriorBlind
+                  - VerticalBlindStripCurtain
+                  - InteriorVenetianBlind
+                  - ExteriorVenetianBlind
+                  - LateralLeftCurtain
+                  - LateralRightCurtain
+                  - CentralCurtain
+                  - RollerShutter
+                  - ExteriorVerticalScreen
+                  - AwningTerracePatio
+                  - AwningVerticalScreen
+                  - TiltOnlyPergola
+                  - SwingingShutter
+                  - SlidingShutter
+                  - Unknown
+              Type:
+                  - RollerShade
+                  - RollerShade2Motor
+                  - RollerShadeExterior
+                  - RollerShadeExterior2Motor
+                  - Drapery
+                  - Awning
+                  - Shutter
+                  - TiltBlindTiltOnly
+                  - TiltBlindLiftAndTilt
+                  - ProjectorScreen
+                  - Unknown
+          PumpConfigurationAndControl:
+              PumpControlMode:
+                  - ConstantSpeed
+                  - ConstantPressure
+                  - ProportionalPressure
+                  - ConstantFlow
+                  - ConstantTemperature
+                  - Automatic
+              PumpOperationMode:
+                  - Normal
+                  - Minimum
+                  - Maximum
+                  - Local
+          Thermostat:
+              SetpointAdjustMode:
+                  - HeatSetpoint
+                  - CoolSetpoint
+                  - HeatAndCoolSetpoints
+              ThermostatControlSequence:
+                  - CoolingOnly
+                  - CoolingWithReheat
+                  - HeatingOnly
+                  - HeatingWithReheat
+                  - CoolingAndHeating
+                  - CoolingAndHeatingWithReheat
+              ThermostatRunningMode:
+                  - Off
+                  - Cool
+                  - Heat
+              ThermostatSystemMode:
+                  - Off
+                  - Auto
+                  - Cool
+                  - Heat
+                  - EmergencyHeating
+                  - Precooling
+                  - FanOnly
+          FanControl:
+              FanModeSequenceType:
+                  - OffLowMedHigh
+                  - OffLowHigh
+                  - OffLowMedHighAuto
+                  - OffLowHighAuto
+                  - OffOnAuto
+                  - OffOn
+              FanModeType:
+                  - Off
+                  - Low
+                  - Medium
+                  - High
+                  - On
+                  - Auto
+                  - Smart
+          ColorControl:
+              ColorLoopAction:
+                  - Deactivate
+                  - ActivateFromColorLoopStartEnhancedHue
+                  - ActivateFromEnhancedCurrentHue
+              ColorLoopDirection:
+                  - DecrementHue
+                  - IncrementHue
+              ColorMode:
+                  - CurrentHueAndCurrentSaturation
+                  - CurrentXAndCurrentY
+                  - ColorTemperature
+              HueDirection:
+                  - ShortestDistance
+                  - LongestDistance
+                  - Up
+                  - Down
+              HueMoveMode:
+                  - Stop
+                  - Up
+                  - Down
+              HueStepMode:
+                  - Up
+                  - Down
+              SaturationMoveMode:
+                  - Stop
+                  - Up
+                  - Down
+              SaturationStepMode:
+                  - Up
+                  - Down
+          IlluminanceMeasurement:
+              LightSensorType:
+                  - Photodiode
+                  - CMOS
+          Channel:
+              ChannelStatusEnum:
+                  - Success
+                  - MultipleMatches
+                  - NoMatches
+              LineupInfoTypeEnum:
+                  - Mso
+          TargetNavigator:
+              TargetNavigatorStatusEnum:
+                  - Success
+                  - TargetNotFound
+                  - NotAllowed
+          MediaPlayback:
+              MediaPlaybackStatusEnum:
+                  - Success
+                  - InvalidStateForCommand
+                  - NotAllowed
+                  - NotActive
+                  - SpeedOutOfRange
+                  - SeekOutOfRange
+              PlaybackStateEnum:
+                  - Playing
+                  - Paused
+                  - NotPlaying
+                  - Buffering
+          MediaInput:
+              InputTypeEnum:
+                  - Internal
+                  - Aux
+                  - Coax
+                  - Composite
+                  - Hdmi
+                  - Input
+                  - Line
+                  - Optical
+                  - Video
+                  - Scart
+                  - Usb
+                  - Other
+          KeypadInput:
+              CecKeyCode:
+                  - Select
+                  - Up
+                  - Down
+                  - Left
+                  - Right
+                  - RightUp
+                  - RightDown
+                  - LeftUp
+                  - LeftDown
+                  - RootMenu
+                  - SetupMenu
+                  - ContentsMenu
+                  - FavoriteMenu
+                  - Exit
+                  - MediaTopMenu
+                  - MediaContextSensitiveMenu
+                  - NumberEntryMode
+                  - Number11
+                  - Number12
+                  - Number0OrNumber10
+                  - Numbers1
+                  - Numbers2
+                  - Numbers3
+                  - Numbers4
+                  - Numbers5
+                  - Numbers6
+                  - Numbers7
+                  - Numbers8
+                  - Numbers9
+                  - Dot
+                  - Enter
+                  - Clear
+                  - NextFavorite
+                  - ChannelUp
+                  - ChannelDown
+                  - PreviousChannel
+                  - SoundSelect
+                  - InputSelect
+                  - DisplayInformation
+                  - Help
+                  - PageUp
+                  - PageDown
+                  - Power
+                  - VolumeUp
+                  - VolumeDown
+                  - Mute
+                  - Play
+                  - Stop
+                  - Pause
+                  - Record
+                  - Rewind
+                  - FastForward
+                  - Eject
+                  - Forward
+                  - Backward
+                  - StopRecord
+                  - PauseRecord
+                  - Reserved
+                  - Angle
+                  - SubPicture
+                  - VideoOnDemand
+                  - ElectronicProgramGuide
+                  - TimerProgramming
+                  - InitialConfiguration
+                  - SelectBroadcastType
+                  - SelectSoundPresentation
+                  - PlayFunction
+                  - PausePlayFunction
+                  - RecordFunction
+                  - PauseRecordFunction
+                  - StopFunction
+                  - MuteFunction
+                  - RestoreVolumeFunction
+                  - TuneFunction
+                  - SelectMediaFunction
+                  - SelectAvInputFunction
+                  - SelectAudioInputFunction
+                  - PowerToggleFunction
+                  - PowerOffFunction
+                  - PowerOnFunction
+                  - F1Blue
+                  - F2Red
+                  - F3Green
+                  - F4Yellow
+                  - F5
+                  - Data
+              KeypadInputStatusEnum:
+                  - Success
+                  - UnsupportedKey
+                  - InvalidKeyInCurrentState
+          ContentLauncher:
+              ContentLaunchStatusEnum:
+                  - Success
+                  - UrlNotAvailable
+                  - AuthFailed
+              MetricTypeEnum:
+                  - PIXELS
+                  - PERCENTAGE
+              ParameterEnum:
+                  - Actor
+                  - Channel
+                  - Character
+                  - Director
+                  - Event
+                  - Franchise
+                  - Genre
+                  - League
+                  - Popularity
+                  - Provider
+                  - Sport
+                  - SportsTeam
+                  - Type
+          AudioOutput:
+              OutputTypeEnum:
+                  - Hdmi
+                  - Bt
+                  - Optical
+                  - Headphone
+                  - Internal
+                  - Other
+          ApplicationLauncher:
+              ApplicationLauncherStatusEnum:
+                  - Success
+                  - AppNotAvailable
+                  - SystemBusy
+          ApplicationBasic:
+              ApplicationStatusEnum:
+                  - Stopped
+                  - ActiveVisibleFocus
+                  - ActiveHidden
+                  - ActiveVisibleNotFocus
+          TestCluster:
+              SimpleEnum:
+                  - Unspecified
+                  - ValueA
+                  - ValueB
+                  - ValueC
+          FaultInjection:
+              FaultType:
+                  - Unspecified
+                  - SystemFault
+                  - InetFault
+                  - ChipFault
+                  - CertFault
+      bitmaps:
+          Groups:
+              - GroupClusterFeature
+          Scenes:
+              - ScenesCopyMode
+          OnOff:
+              - OnOffControl
+              - OnOffFeature
+              - SceneFeatures
+          LevelControl:
+              - LevelControlFeature
+          Actions:
+              - CommandBits
+          UnitLocalization:
+              - UnitLocalizationFeature
+          PowerSource:
+              - PowerSourceFeature
+          NetworkCommissioning:
+              - NetworkCommissioningFeature
+              - WiFiSecurity
+          SoftwareDiagnostics:
+              - SoftwareDiagnosticsFeature
+          ThreadNetworkDiagnostics:
+              - ThreadNetworkDiagnosticsFeature
+          ModeSelect:
+              - ModeSelectFeature
+          DoorLock:
+              - DlCredentialRuleMask
+              - DlCredentialRulesSupport
+              - DlDaysMaskMap
+              - DlDefaultConfigurationRegister
+              - DlKeypadOperationEventMask
+              - DlKeypadProgrammingEventMask
+              - DlLocalProgrammingFeatures
+              - DlManualOperationEventMask
+              - DlRFIDOperationEventMask
+              - DlRFIDProgrammingEventMask
+              - DlRemoteOperationEventMask
+              - DlRemoteProgrammingEventMask
+              - DlSupportedOperatingModes
+              - DoorLockDayOfWeek
+              - DoorLockFeature
+          WindowCovering:
+              - ConfigStatus
+              - Feature
+              - Mode
+              - OperationalStatus
+              - SafetyStatus
+          PumpConfigurationAndControl:
+              - PumpStatus
+          Thermostat:
+              - DayOfWeek
+              - ModeForSequence
+              - ThermostatFeature
+          FanControl:
+              - FanControlFeature
+              - RockSupportMask
+              - WindSettingMask
+              - WindSupportMask
+          ColorControl:
+              - ColorCapabilities
+              - ColorControlFeature
+              - ColorLoopUpdateFlags
+          PressureMeasurement:
+              - PressureFeature
+          Channel:
+              - ChannelFeature
+          MediaInput:
+              - MediaInputFeature
+          KeypadInput:
+              - KeypadInputFeature
+          ContentLauncher:
+              - ContentLauncherFeature
+              - SupportedStreamingProtocol
+          AudioOutput:
+              - AudioOutputFeature
+          ApplicationLauncher:
+              - ApplicationLauncherFeature
+          TestCluster:
+              - Bitmap16MaskMap
+              - Bitmap32MaskMap
+              - Bitmap64MaskMap
+              - Bitmap8MaskMap
+              - SimpleBitmap
+      bitmap values:
+          Groups:
+              GroupClusterFeature:
+                  - GroupNames
+          Scenes:
+              ScenesCopyMode:
+                  - CopyAllScenes
+          OnOff:
+              OnOffControl:
+                  - AcceptOnlyWhenOn
+              OnOffFeature:
+                  - Lighting
+              SceneFeatures:
+                  - SceneNames
+          LevelControl:
+              LevelControlFeature:
+                  - OnOff
+                  - Lighting
+                  - Frequency
+          Actions:
+              CommandBits:
+                  - InstantAction
+                  - InstantActionWithTransition
+                  - StartAction
+                  - StartActionWithDuration
+                  - StopAction
+                  - PauseAction
+                  - PauseActionWithDuration
+                  - ResumeAction
+                  - EnableAction
+                  - EnableActionWithDuration
+                  - DisableAction
+                  - DisableActionWithDuration
+          UnitLocalization:
+              UnitLocalizationFeature:
+                  - TemperatureUnit
+          PowerSource:
+              PowerSourceFeature:
+                  - Wired
+                  - Battery
+                  - Rechargeable
+                  - Replaceable
+          NetworkCommissioning:
+              NetworkCommissioningFeature:
+                  - WiFiNetworkInterface
+                  - ThreadNetworkInterface
+                  - EthernetNetworkInterface
+              WiFiSecurity:
+                  - Unencrypted
+                  - WepPersonal
+                  - WpaPersonal
+                  - Wpa2Personal
+                  - Wpa3Personal
+          SoftwareDiagnostics:
+              SoftwareDiagnosticsFeature:
+                  - WaterMarks
+          ThreadNetworkDiagnostics:
+              ThreadNetworkDiagnosticsFeature:
+                  - PacketCounts
+                  - ErrorCounts
+                  - MLECounts
+                  - MACCounts
+          ModeSelect:
+              ModeSelectFeature:
+                  - DEPONOFF
+          DoorLock:
+              DlCredentialRuleMask:
+                  - Single
+                  - Dual
+                  - Tri
+              DlCredentialRulesSupport:
+                  - Single
+                  - Dual
+                  - Tri
+              DlDaysMaskMap:
+                  - Sunday
+                  - Monday
+                  - Tuesday
+                  - Wednesday
+                  - Thursday
+                  - Friday
+                  - Saturday
+              DlDefaultConfigurationRegister:
+                  - EnableLocalProgrammingEnabled
+                  - KeypadInterfaceDefaultAccessEnabled
+                  - RemoteInterfaceDefaultAccessIsEnabled
+                  - SoundEnabled
+                  - AutoRelockTimeSet
+                  - LEDSettingsSet
+              DlKeypadOperationEventMask:
+                  - Unknown
+                  - Lock
+                  - Unlock
+                  - LockInvalidPIN
+                  - LockInvalidSchedule
+                  - UnlockInvalidCode
+                  - UnlockInvalidSchedule
+                  - NonAccessUserOpEvent
+              DlKeypadProgrammingEventMask:
+                  - Unknown
+                  - ProgrammingPINChanged
+                  - PINAdded
+                  - PINCleared
+                  - PINChanged
+              DlLocalProgrammingFeatures:
+                  - AddUsersCredentialsSchedulesLocally
+                  - ModifyUsersCredentialsSchedulesLocally
+                  - ClearUsersCredentialsSchedulesLocally
+                  - AdjustLockSettingsLocally
+              DlManualOperationEventMask:
+                  - Unknown
+                  - ThumbturnLock
+                  - ThumbturnUnlock
+                  - OneTouchLock
+                  - KeyLock
+                  - KeyUnlock
+                  - AutoLock
+                  - ScheduleLock
+                  - ScheduleUnlock
+                  - ManualLock
+                  - ManualUnlock
+              DlRFIDOperationEventMask:
+                  - Unknown
+                  - Lock
+                  - Unlock
+                  - LockInvalidRFID
+                  - LockInvalidSchedule
+                  - UnlockInvalidRFID
+                  - UnlockInvalidSchedule
+              DlRFIDProgrammingEventMask:
+                  - Unknown
+                  - RFIDCodeAdded
+                  - RFIDCodeCleared
+              DlRemoteOperationEventMask:
+                  - Unknown
+                  - Lock
+                  - Unlock
+                  - LockInvalidCode
+                  - LockInvalidSchedule
+                  - UnlockInvalidCode
+                  - UnlockInvalidSchedule
+              DlRemoteProgrammingEventMask:
+                  - Unknown
+                  - ProgrammingPINChanged
+                  - PINAdded
+                  - PINCleared
+                  - PINChanged
+                  - RFIDCodeAdded
+                  - RFIDCodeCleared
+              DlSupportedOperatingModes:
+                  - Normal
+                  - Vacation
+                  - Privacy
+                  - NoRemoteLockUnlock
+                  - Passage
+              DoorLockDayOfWeek:
+                  - Sunday
+                  - Monday
+                  - Tuesday
+                  - Wednesday
+                  - Thursday
+                  - Friday
+                  - Saturday
+              DoorLockFeature:
+                  - PINCredentials
+                  - RFIDCredentials
+                  - FingerCredentials
+                  - Logging
+                  - WeekDaySchedules
+                  - DoorPositionSensor
+                  - FaceCredentials
+                  - CredentialsOTA
+                  - UsersManagement
+                  - Notifications
+                  - YearDaySchedules
+                  - HolidaySchedules
+          WindowCovering:
+              ConfigStatus:
+                  - Operational
+                  - OnlineReserved
+                  - LiftMovementReversed
+                  - LiftPositionAware
+                  - TiltPositionAware
+                  - LiftEncoderControlled
+                  - TiltEncoderControlled
+              Feature:
+                  - Lift
+                  - Tilt
+                  - PositionAwareLift
+                  - AbsolutePosition
+                  - PositionAwareTilt
+              Mode:
+                  - MotorDirectionReversed
+                  - CalibrationMode
+                  - MaintenanceMode
+                  - LedFeedback
+              OperationalStatus:
+                  - Global
+                  - Lift
+                  - Tilt
+              SafetyStatus:
+                  - RemoteLockout
+                  - TamperDetection
+                  - FailedCommunication
+                  - PositionFailure
+                  - ThermalProtection
+                  - ObstacleDetected
+                  - Power
+                  - StopInput
+                  - MotorJammed
+                  - HardwareFailure
+                  - ManualOperation
+                  - Protection
+          PumpConfigurationAndControl:
+              PumpStatus:
+                  - DeviceFault
+                  - Supplyfault
+                  - SpeedLow
+                  - SpeedHigh
+                  - LocalOverride
+                  - Running
+                  - RemotePressure
+                  - RemoteFlow
+                  - RemoteTemperature
+          Thermostat:
+              DayOfWeek:
+                  - Sunday
+                  - Monday
+                  - Tuesday
+                  - Wednesday
+                  - Thursday
+                  - Friday
+                  - Saturday
+                  - AwayOrVacation
+              ModeForSequence:
+                  - HeatSetpointFieldPresent
+                  - CoolSetpointFieldPresent
+              ThermostatFeature:
+                  - Heating
+                  - Cooling
+                  - Occupancy
+                  - Schedule
+                  - Setback
+                  - Automode
+          FanControl:
+              FanControlFeature:
+                  - MultiSpeed
+                  - Auto
+                  - Rocking
+                  - Wind
+              RockSupportMask:
+                  - RockLeftRight
+                  - RockUpDown
+                  - RockRound
+              WindSettingMask:
+                  - SleepWind
+                  - NaturalWind
+              WindSupportMask:
+                  - SleepWind
+                  - NaturalWind
+          ColorControl:
+              ColorCapabilities:
+                  - HueSaturationSupported
+                  - EnhancedHueSupported
+                  - ColorLoopSupported
+                  - XYAttributesSupported
+                  - ColorTemperatureSupported
+              ColorControlFeature:
+                  - HueAndSaturation
+                  - EnhancedHue
+                  - ColorLoop
+                  - XY
+                  - ColorTemperature
+              ColorLoopUpdateFlags:
+                  - UpdateAction
+                  - UpdateDirection
+                  - UpdateTime
+                  - UpdateStartHue
+          PressureMeasurement:
+              PressureFeature:
+                  - EXT
+          Channel:
+              ChannelFeature:
+                  - ChannelList
+                  - LineupInfo
+          MediaInput:
+              MediaInputFeature:
+                  - NameUpdates
+          KeypadInput:
+              KeypadInputFeature:
+                  - NavigationKeyCodes
+                  - LocationKeys
+                  - NumberKeys
+          ContentLauncher:
+              ContentLauncherFeature:
+                  - ContentSearch
+                  - URLPlayback
+              SupportedStreamingProtocol:
+                  - DASH
+                  - HLS
+          AudioOutput:
+              AudioOutputFeature:
+                  - NameUpdates
+          ApplicationLauncher:
+              ApplicationLauncherFeature:
+                  - ApplicationPlatform
+          TestCluster:
+              Bitmap16MaskMap:
+                  - MaskVal1
+                  - MaskVal2
+                  - MaskVal3
+                  - MaskVal4
+              Bitmap32MaskMap:
+                  - MaskVal1
+                  - MaskVal2
+                  - MaskVal3
+                  - MaskVal4
+              Bitmap64MaskMap:
+                  - MaskVal1
+                  - MaskVal2
+                  - MaskVal3
+                  - MaskVal4
+              Bitmap8MaskMap:
+                  - MaskVal1
+                  - MaskVal2
+                  - MaskVal3
+                  - MaskVal4
+              SimpleBitmap:
+                  - ValueA
+                  - ValueB
+                  - ValueC
+      ids:
+          clusters:
+              - PulseWidthModulation
+              - TimeSynchronization
+              - ProxyConfiguration
+              - ProxyDiscovery
+              - ProxyValid
+              - FaultInjection
+          attributes:
+              PulseWidthModulation:
+                  - GeneratedCommandList
+                  - AcceptedCommandList
+                  - AttributeList
+                  - FeatureMap
+                  - ClusterRevision
+              TimeSynchronization:
+                  - GeneratedCommandList
+                  - AcceptedCommandList
+                  - AttributeList
+                  - FeatureMap
+                  - ClusterRevision
+                  - UTCTime
+                  - Granularity
+                  - TimeSource
+                  - TrustedTimeNodeId
+                  - DefaultNtp
+                  - TimeZone
+                  - DstOffset
+                  - LocalTime
+                  - TimeZoneDatabase
+                  - NtpServerPort
+              ProxyConfiguration:
+                  - GeneratedCommandList
+                  - AcceptedCommandList
+                  - AttributeList
+                  - FeatureMap
+                  - ClusterRevision
+              ProxyDiscovery:
+                  - GeneratedCommandList
+                  - AcceptedCommandList
+                  - AttributeList
+                  - FeatureMap
+                  - ClusterRevision
+              ProxyValid:
+                  - GeneratedCommandList
+                  - AcceptedCommandList
+                  - AttributeList
+                  - FeatureMap
+                  - ClusterRevision
+              FaultInjection:
+                  - GeneratedCommandList
+                  - AcceptedCommandList
+                  - AttributeList
+                  - FeatureMap
+                  - ClusterRevision
+          commands:
+              FaultInjection:
+                  - FailAtFault
+                  - FailRandomlyAtFault
+              TimeSynchronization:
+                  - SetUtcTime
+      command payloads:
+          FaultInjection:
+              - FailAtFault
+              - FailRandomlyAtFault
+          TimeSynchronization:
+              - SetUtcTime
+      global attributes:
+          - FeatureMap
+          - ClusterRevision
+          - AttributeList
+          - GeneratedCommandList
+          - AcceptedCommandList
+      apis:
+          - Timed Invoke for server to client commands
+          - Deprecated global attribute names
+
+- release: "First dot-release"
+  versions:
+      ios: "16.2"
+      macos: "13.1"
+      watchos: "9.2"
+      tvos: "16.2"
+  introduced:
+      attributes:
+          TestCluster:
+              - WriteOnlyInt8u
+      structs:
+          Descriptor:
+              - DeviceTypeStruct
+      struct fields:
+          Descriptor:
+              DeviceTypeStruct:
+                  - type
+                  - revision
+      bitmaps:
+          Switch:
+              - SwitchFeature
+          MediaPlayback:
+              - MediaPlaybackFeature
+      bitmap values:
+          Switch:
+              SwitchFeature:
+                  - LatchingSwitch
+                  - MomentarySwitch
+                  - MomentarySwitchRelease
+                  - MomentarySwitchLongPress
+                  - MomentarySwitchMultiPress
+          MediaPlayback:
+              MediaPlaybackFeature:
+                  - AdvancedSeek
+                  - VariableSpeed
+      ids:
+          attributes:
+              Descriptor:
+                  - DeviceTypeList
+
+- release: "First major API revamp"
+  versions: "future"
+  introduced:
+      clusters:
+          - OTASoftwareUpdateProvider
+          - OTASoftwareUpdateRequestor
+          - UnitTesting
+          - WakeOnLAN
+          - ClientMonitoring
+      attributes:
+          Descriptor:
+              # We really only started treating DeviceTypeList as DeviceTypeList in the API revamp,
+              # except in the list of attribute ids.
+              - DeviceTypeList
+          AccessControl:
+              - ACL
+          OccupancySensing:
+              - PIROccupiedToUnoccupiedDelay
+              - PIRUnoccupiedToOccupiedDelay
+              - PIRUnoccupiedToOccupiedThreshold
+          ClientMonitoring:
+              - IdleModeInterval
+              - ActiveModeInterval
+              - ActiveModeThreshold
+              - ExpectedClients
+              - FeatureMap
+              - ClusterRevision
+              - AttributeList
+              - GeneratedCommandList
+              - AcceptedCommandList
+          UnitTesting:
+              - Boolean
+              - Bitmap8
+              - Bitmap16
+              - Bitmap32
+              - Bitmap64
+              - Int8u
+              - Int16u
+              - Int24u
+              - Int32u
+              - Int40u
+              - Int48u
+              - Int56u
+              - Int64u
+              - Int8s
+              - Int16s
+              - Int24s
+              - Int32s
+              - Int40s
+              - Int48s
+              - Int56s
+              - Int64s
+              - Enum8
+              - Enum16
+              - FloatSingle
+              - FloatDouble
+              - OctetString
+              - ListInt8u
+              - ListOctetString
+              - ListStructOctetString
+              - LongOctetString
+              - CharString
+              - LongCharString
+              - EpochUs
+              - EpochS
+              - VendorId
+              - ListNullablesAndOptionalsStruct
+              - EnumAttr
+              - StructAttr
+              - RangeRestrictedInt8u
+              - RangeRestrictedInt8s
+              - RangeRestrictedInt16u
+              - RangeRestrictedInt16s
+              - ListLongOctetString
+              - ListFabricScoped
+              - TimedWriteBoolean
+              - GeneralErrorBoolean
+              - ClusterErrorBoolean
+              - Unsupported
+              - NullableBoolean
+              - NullableBitmap8
+              - NullableBitmap16
+              - NullableBitmap32
+              - NullableBitmap64
+              - NullableInt8u
+              - NullableInt16u
+              - NullableInt24u
+              - NullableInt32u
+              - NullableInt40u
+              - NullableInt48u
+              - NullableInt56u
+              - NullableInt64u
+              - NullableInt8s
+              - NullableInt16s
+              - NullableInt24s
+              - NullableInt32s
+              - NullableInt40s
+              - NullableInt48s
+              - NullableInt56s
+              - NullableInt64s
+              - NullableEnum8
+              - NullableEnum16
+              - NullableFloatSingle
+              - NullableFloatDouble
+              - NullableOctetString
+              - NullableCharString
+              - NullableEnumAttr
+              - NullableStruct
+              - NullableRangeRestrictedInt8u
+              - NullableRangeRestrictedInt8s
+              - NullableRangeRestrictedInt16u
+              - NullableRangeRestrictedInt16s
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+              - WriteOnlyInt8u
+          OTASoftwareUpdateProvider:
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          OTASoftwareUpdateRequestor:
+              - DefaultOtaProviders
+              - UpdatePossible
+              - UpdateState
+              - UpdateStateProgress
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+          WakeOnLAN:
+              - MACAddress
+              - GeneratedCommandList
+              - AcceptedCommandList
+              - AttributeList
+              - FeatureMap
+              - ClusterRevision
+      commands:
+          OTASoftwareUpdateProvider:
+              - QueryImage
+              - QueryImageResponse
+              - ApplyUpdateRequest
+              - ApplyUpdateResponse
+              - NotifyUpdateApplied
+          OTASoftwareUpdateRequestor:
+              - AnnounceOtaProvider
+          UnitTesting:
+              - Test
+              - TestSpecificResponse
+              - TestNotHandled
+              - TestAddArgumentsResponse
+              - TestSpecific
+              - TestSimpleArgumentResponse
+              - TestUnknownCommand
+              - TestStructArrayArgumentResponse
+              - TestAddArguments
+              - TestListInt8UReverseResponse
+              - TestSimpleArgumentRequest
+              - TestEnumsResponse
+              - TestStructArrayArgumentRequest
+              - TestNullableOptionalResponse
+              - TestStructArgumentRequest
+              - TestComplexNullableOptionalResponse
+              - TestNestedStructArgumentRequest
+              - BooleanResponse
+              - TestListStructArgumentRequest
+              - SimpleStructResponse
+              - TestListInt8UArgumentRequest
+              - TestEmitTestEventResponse
+              - TestNestedStructListArgumentRequest
+              - TestEmitTestFabricScopedEventResponse
+              - TestListNestedStructListArgumentRequest
+              - TestListInt8UReverseRequest
+              - TestEnumsRequest
+              - TestNullableOptionalRequest
+              - TestComplexNullableOptionalRequest
+              - SimpleStructEchoRequest
+              - TimedInvokeRequest
+              - TestSimpleOptionalArgumentRequest
+              - TestEmitTestEventRequest
+              - TestEmitTestFabricScopedEventRequest
+          ClientMonitoring:
+              - RegisterClientMonitoring
+              - StayAwakeRequest
+      command fields:
+          UnitTesting:
+              TestSpecificResponse:
+                  - returnValue
+              TestAddArgumentsResponse:
+                  - returnValue
+              TestSimpleArgumentResponse:
+                  - returnValue
+              TestStructArrayArgumentResponse:
+                  - arg1
+                  - arg2
+                  - arg3
+                  - arg4
+                  - arg5
+                  - arg6
+              TestAddArguments:
+                  - arg1
+                  - arg2
+              TestListInt8UReverseResponse:
+                  - arg1
+              TestSimpleArgumentRequest:
+                  - arg1
+              TestEnumsResponse:
+                  - arg1
+                  - arg2
+              TestStructArrayArgumentRequest:
+                  - arg1
+                  - arg2
+                  - arg3
+                  - arg4
+                  - arg5
+                  - arg6
+              TestNullableOptionalResponse:
+                  - wasPresent
+                  - wasNull
+                  - value
+                  - originalValue
+              TestStructArgumentRequest:
+                  - arg1
+              TestComplexNullableOptionalResponse:
+                  - nullableIntWasNull
+                  - nullableIntValue
+                  - optionalIntWasPresent
+                  - optionalIntValue
+                  - nullableOptionalIntWasPresent
+                  - nullableOptionalIntWasNull
+                  - nullableOptionalIntValue
+                  - nullableStringWasNull
+                  - nullableStringValue
+                  - optionalStringWasPresent
+                  - optionalStringValue
+                  - nullableOptionalStringWasPresent
+                  - nullableOptionalStringWasNull
+                  - nullableOptionalStringValue
+                  - nullableStructWasNull
+                  - nullableStructValue
+                  - optionalStructWasPresent
+                  - optionalStructValue
+                  - nullableOptionalStructWasPresent
+                  - nullableOptionalStructWasNull
+                  - nullableOptionalStructValue
+                  - nullableListWasNull
+                  - nullableListValue
+                  - optionalListWasPresent
+                  - optionalListValue
+                  - nullableOptionalListWasPresent
+                  - nullableOptionalListWasNull
+                  - nullableOptionalListValue
+              TestNestedStructArgumentRequest:
+                  - arg1
+              BooleanResponse:
+                  - value
+              TestListStructArgumentRequest:
+                  - arg1
+              SimpleStructResponse:
+                  - arg1
+              TestListInt8UArgumentRequest:
+                  - arg1
+              TestEmitTestEventResponse:
+                  - value
+              TestNestedStructListArgumentRequest:
+                  - arg1
+              TestEmitTestFabricScopedEventResponse:
+                  - value
+              TestListNestedStructListArgumentRequest:
+                  - arg1
+              TestListInt8UReverseRequest:
+                  - arg1
+              TestEnumsRequest:
+                  - arg1
+                  - arg2
+              TestNullableOptionalRequest:
+                  - arg1
+              TestComplexNullableOptionalRequest:
+                  - nullableInt
+                  - optionalInt
+                  - nullableOptionalInt
+                  - nullableString
+                  - optionalString
+                  - nullableOptionalString
+                  - nullableStruct
+                  - optionalStruct
+                  - nullableOptionalStruct
+                  - nullableList
+                  - optionalList
+                  - nullableOptionalList
+              SimpleStructEchoRequest:
+                  - arg1
+              TestSimpleOptionalArgumentRequest:
+                  - arg1
+              TestEmitTestEventRequest:
+                  - arg1
+                  - arg2
+                  - arg3
+              TestEmitTestFabricScopedEventRequest:
+                  - arg1
+          OTASoftwareUpdateProvider:
+              QueryImage:
+                  - vendorId
+                  - productId
+                  - softwareVersion
+                  - protocolsSupported
+                  - hardwareVersion
+                  - location
+                  - requestorCanConsent
+                  - metadataForProvider
+              QueryImageResponse:
+                  - status
+                  - delayedActionTime
+                  - imageURI
+                  - softwareVersion
+                  - softwareVersionString
+                  - updateToken
+                  - userConsentNeeded
+                  - metadataForRequestor
+              ApplyUpdateRequest:
+                  - updateToken
+                  - newVersion
+              ApplyUpdateResponse:
+                  - action
+                  - delayedActionTime
+              NotifyUpdateApplied:
+                  - updateToken
+                  - softwareVersion
+          OTASoftwareUpdateRequestor:
+              AnnounceOtaProvider:
+                  - providerNodeId
+                  - vendorId
+                  - announcementReason
+                  - metadataForNode
+                  - endpoint
+          ClientMonitoring:
+              RegisterClientMonitoring:
+                  - clientNodeId
+                  - iCid
+      structs:
+          OTASoftwareUpdateRequestor:
+              - ProviderLocation
+          UnitTesting:
+              - SimpleStruct
+              - TestFabricScoped
+              - NullablesAndOptionalsStruct
+              - NestedStruct
+              - NestedStructList
+              - DoubleNestedStructList
+              - TestListStructOctet
+          ClientMonitoring:
+              - MonitoringRegistration
+      struct fields:
+          UnitTesting:
+              SimpleStruct:
+                  - a
+                  - b
+                  - c
+                  - d
+                  - e
+                  - f
+                  - g
+                  - h
+              TestFabricScoped:
+                  - fabricSensitiveInt8u
+                  - optionalFabricSensitiveInt8u
+                  - nullableFabricSensitiveInt8u
+                  - nullableOptionalFabricSensitiveInt8u
+                  - fabricSensitiveCharString
+                  - fabricSensitiveStruct
+                  - fabricSensitiveInt8uList
+                  - fabricIndex
+              NullablesAndOptionalsStruct:
+                  - nullableInt
+                  - optionalInt
+                  - nullableOptionalInt
+                  - nullableString
+                  - optionalString
+                  - nullableOptionalString
+                  - nullableStruct
+                  - optionalStruct
+                  - nullableOptionalStruct
+                  - nullableList
+                  - optionalList
+                  - nullableOptionalList
+              NestedStruct:
+                  - a
+                  - b
+                  - c
+              NestedStructList:
+                  - a
+                  - b
+                  - c
+                  - d
+                  - e
+                  - f
+                  - g
+              DoubleNestedStructList:
+                  - a
+              TestListStructOctet:
+                  - member1
+                  - member2
+          OTASoftwareUpdateRequestor:
+              ProviderLocation:
+                  - providerNodeID
+                  - endpoint
+                  - fabricIndex
+          ClientMonitoring:
+              MonitoringRegistration:
+                  - clientNodeId
+                  - iCid
+                  - fabricIndex
+      events:
+          OTASoftwareUpdateRequestor:
+              - StateTransition
+              - VersionApplied
+              - DownloadError
+          UnitTesting:
+              - TestEvent
+              - TestFabricScopedEvent
+      event fields:
+          Switch:
+              MultiPressComplete:
+                  - previousPosition
+          UnitTesting:
+              TestEvent:
+                  - arg1
+                  - arg2
+                  - arg3
+                  - arg4
+                  - arg5
+                  - arg6
+              TestFabricScopedEvent:
+                  - fabricIndex
+          OTASoftwareUpdateRequestor:
+              StateTransition:
+                  - previousState
+                  - newState
+                  - reason
+                  - targetSoftwareVersion
+              VersionApplied:
+                  - softwareVersion
+                  - productID
+              DownloadError:
+                  - softwareVersion
+                  - bytesDownloaded
+                  - progressPercent
+                  - platformCode
+      enums:
+          OTASoftwareUpdateProvider:
+              - OTAApplyUpdateAction
+              - OTADownloadProtocol
+              - OTAQueryStatus
+          OTASoftwareUpdateRequestor:
+              - OTAAnnouncementReason
+              - OTAChangeReasonEnum
+              - OTAUpdateStateEnum
+          UnitTesting:
+              - SimpleEnum
+      enum values:
+          OTASoftwareUpdateProvider:
+              OTAApplyUpdateAction:
+                  - Proceed
+                  - AwaitNextAction
+                  - Discontinue
+              OTADownloadProtocol:
+                  - BDXSynchronous
+                  - BDXAsynchronous
+                  - HTTPS
+                  - VendorSpecific
+              OTAQueryStatus:
+                  - UpdateAvailable
+                  - Busy
+                  - NotAvailable
+                  - DownloadProtocolNotSupported
+          OTASoftwareUpdateRequestor:
+              OTAAnnouncementReason:
+                  - SimpleAnnouncement
+                  - UpdateAvailable
+                  - UrgentUpdateAvailable
+              OTAChangeReasonEnum:
+                  - Unknown
+                  - Success
+                  - Failure
+                  - TimeOut
+                  - DelayByProvider
+              OTAUpdateStateEnum:
+                  - Unknown
+                  - Idle
+                  - Querying
+                  - DelayedOnQuery
+                  - Downloading
+                  - Applying
+                  - DelayedOnApply
+                  - RollingBack
+                  - DelayedOnUserConsent
+          UnitTesting:
+              SimpleEnum:
+                  - Unspecified
+                  - ValueA
+                  - ValueB
+                  - ValueC
+      bitmaps:
+          UnitTesting:
+              - Bitmap8MaskMap
+              - Bitmap16MaskMap
+              - Bitmap32MaskMap
+              - Bitmap64MaskMap
+              - SimpleBitmap
+          LevelControl:
+              - LevelControlOptions
+      bitmap values:
+          UnitTesting:
+              Bitmap8MaskMap:
+                  - MaskVal1
+                  - MaskVal2
+                  - MaskVal3
+                  - MaskVal4
+              Bitmap16MaskMap:
+                  - MaskVal1
+                  - MaskVal2
+                  - MaskVal3
+                  - MaskVal4
+              Bitmap32MaskMap:
+                  - MaskVal1
+                  - MaskVal2
+                  - MaskVal3
+                  - MaskVal4
+              Bitmap64MaskMap:
+                  - MaskVal1
+                  - MaskVal2
+                  - MaskVal3
+                  - MaskVal4
+              SimpleBitmap:
+                  - ValueA
+                  - ValueB
+                  - ValueC
+          LevelControl:
+              LevelControlOptions:
+                  - ExecuteIfOff
+                  - CoupleColorTempToLevel
+  deprecated:
+      clusters:
+          - OtaSoftwareUpdateProvider
+          - OtaSoftwareUpdateRequestor
+          - TestCluster
+          - WakeOnLan
+      attributes:
+          Descriptor:
+              - DeviceList
+          AccessControl:
+              - Acl
+          OccupancySensing:
+              - PirOccupiedToUnoccupiedDelay
+              - PirUnoccupiedToOccupiedDelay
+              - PirUnoccupiedToOccupiedThreshold
+      structs:
+          Descriptor:
+              - DeviceType
+      event fields:
+          Switch:
+              MultiPressComplete:
+                  - newPosition
+      apis:
+          - Timed Invoke for server to client commands
+          - Deprecated global attribute names
+  renames:
+      clusters:
+          UnitTesting: TestCluster
+      attributes:
+          Descriptor:
+              DeviceTypeList: DeviceList
diff --git a/src/darwin/Framework/CHIP/templates/templates.json b/src/darwin/Framework/CHIP/templates/templates.json
index fa5b38b..819b0b5 100644
--- a/src/darwin/Framework/CHIP/templates/templates.json
+++ b/src/darwin/Framework/CHIP/templates/templates.json
@@ -11,9 +11,7 @@
         "darwin/Framework/CHIP/templates/helper.js"
     ],
     "resources": {
-        "pics-metafile": "../../../../app/tests/suites/certification/PICS.yaml",
-        "certification-metadir": "../../../../app/tests/suites/certification",
-        "test-metadir": "../../../../app/tests/suites"
+        "availability-data": "availability.yaml"
     },
     "override": "../../../../../src/app/zap-templates/common/override.js",
     "partials": [
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
index ddf9058..44ade19 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRBaseClusters.h
@@ -2287,8 +2287,7 @@
  *
  * Provides an interface for providing OTA software updates
  */
-MTR_NEWLY_AVAILABLE
-@interface MTRBaseClusterOTASoftwareUpdateProvider : MTRCluster
+MTR_NEWLY_AVAILABLE @interface MTRBaseClusterOTASoftwareUpdateProvider : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device
                               endpointID:(NSNumber *)endpointID
@@ -2388,8 +2387,7 @@
  *
  * Provides an interface for downloading and applying OTA software updates
  */
-MTR_NEWLY_AVAILABLE
-@interface MTRBaseClusterOTASoftwareUpdateRequestor : MTRCluster
+MTR_NEWLY_AVAILABLE @interface MTRBaseClusterOTASoftwareUpdateRequestor : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device
                               endpointID:(NSNumber *)endpointID
@@ -11996,8 +11994,7 @@
  *
  * This cluster provides an interface for managing low power mode on a device that supports the Wake On LAN protocol.
  */
-MTR_NEWLY_AVAILABLE
-@interface MTRBaseClusterWakeOnLAN : MTRCluster
+MTR_NEWLY_AVAILABLE @interface MTRBaseClusterWakeOnLAN : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device
                               endpointID:(NSNumber *)endpointID
@@ -15301,8 +15298,7 @@
  *
  * The Test Cluster is meant to validate the generated code
  */
-MTR_NEWLY_AVAILABLE
-@interface MTRBaseClusterUnitTesting : MTRCluster
+MTR_NEWLY_AVAILABLE @interface MTRBaseClusterUnitTesting : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRBaseDevice *)device
                               endpointID:(NSNumber *)endpointID
@@ -17054,9 +17050,9 @@
 };
 
 typedef NS_OPTIONS(uint8_t, MTRLevelControlOptions) {
-    MTRLevelControlOptionsExecuteIfOff = 0x1,
-    MTRLevelControlOptionsCoupleColorTempToLevel = 0x2,
-};
+    MTRLevelControlOptionsExecuteIfOff MTR_NEWLY_AVAILABLE = 0x1,
+    MTRLevelControlOptionsCoupleColorTempToLevel MTR_NEWLY_AVAILABLE = 0x2,
+} MTR_NEWLY_AVAILABLE;
 
 typedef NS_ENUM(uint8_t, MTRAccessControlAuthMode) {
     MTRAccessControlAuthModePASE = 0x01,
@@ -17122,95 +17118,150 @@
 };
 
 typedef NS_ENUM(uint8_t, MTROTASoftwareUpdateProviderOTAApplyUpdateAction) {
-    MTROTASoftwareUpdateProviderOTAApplyUpdateActionProceed = 0x00,
-    MTROTASoftwareUpdateProviderOTAApplyUpdateActionAwaitNextAction = 0x01,
-    MTROTASoftwareUpdateProviderOTAApplyUpdateActionDiscontinue = 0x02,
+    MTROTASoftwareUpdateProviderOTAApplyUpdateActionProceed MTR_NEWLY_AVAILABLE = 0x00,
+    MTROTASoftwareUpdateProviderOTAApplyUpdateActionAwaitNextAction MTR_NEWLY_AVAILABLE = 0x01,
+    MTROTASoftwareUpdateProviderOTAApplyUpdateActionDiscontinue MTR_NEWLY_AVAILABLE = 0x02,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_ENUM(uint8_t, MTROtaSoftwareUpdateProviderOTAApplyUpdateAction) {
-    MTROtaSoftwareUpdateProviderOTAApplyUpdateActionProceed = 0x00,
-    MTROtaSoftwareUpdateProviderOTAApplyUpdateActionAwaitNextAction = 0x01,
-    MTROtaSoftwareUpdateProviderOTAApplyUpdateActionDiscontinue = 0x02,
+    MTROtaSoftwareUpdateProviderOTAApplyUpdateActionProceed MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateProviderOTAApplyUpdateActionProceed")
+    = 0x00,
+    MTROtaSoftwareUpdateProviderOTAApplyUpdateActionAwaitNextAction MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateProviderOTAApplyUpdateActionAwaitNextAction")
+    = 0x01,
+    MTROtaSoftwareUpdateProviderOTAApplyUpdateActionDiscontinue MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateProviderOTAApplyUpdateActionDiscontinue")
+    = 0x02,
 } MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateProviderOTAApplyUpdateAction");
 
 typedef NS_ENUM(uint8_t, MTROTASoftwareUpdateProviderOTADownloadProtocol) {
-    MTROTASoftwareUpdateProviderOTADownloadProtocolBDXSynchronous = 0x00,
-    MTROTASoftwareUpdateProviderOTADownloadProtocolBDXAsynchronous = 0x01,
-    MTROTASoftwareUpdateProviderOTADownloadProtocolHTTPS = 0x02,
-    MTROTASoftwareUpdateProviderOTADownloadProtocolVendorSpecific = 0x03,
+    MTROTASoftwareUpdateProviderOTADownloadProtocolBDXSynchronous MTR_NEWLY_AVAILABLE = 0x00,
+    MTROTASoftwareUpdateProviderOTADownloadProtocolBDXAsynchronous MTR_NEWLY_AVAILABLE = 0x01,
+    MTROTASoftwareUpdateProviderOTADownloadProtocolHTTPS MTR_NEWLY_AVAILABLE = 0x02,
+    MTROTASoftwareUpdateProviderOTADownloadProtocolVendorSpecific MTR_NEWLY_AVAILABLE = 0x03,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_ENUM(uint8_t, MTROtaSoftwareUpdateProviderOTADownloadProtocol) {
-    MTROtaSoftwareUpdateProviderOTADownloadProtocolBDXSynchronous = 0x00,
-    MTROtaSoftwareUpdateProviderOTADownloadProtocolBDXAsynchronous = 0x01,
-    MTROtaSoftwareUpdateProviderOTADownloadProtocolHTTPS = 0x02,
-    MTROtaSoftwareUpdateProviderOTADownloadProtocolVendorSpecific = 0x03,
+    MTROtaSoftwareUpdateProviderOTADownloadProtocolBDXSynchronous MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateProviderOTADownloadProtocolBDXSynchronous")
+    = 0x00,
+    MTROtaSoftwareUpdateProviderOTADownloadProtocolBDXAsynchronous MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateProviderOTADownloadProtocolBDXAsynchronous")
+    = 0x01,
+    MTROtaSoftwareUpdateProviderOTADownloadProtocolHTTPS MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateProviderOTADownloadProtocolHTTPS")
+    = 0x02,
+    MTROtaSoftwareUpdateProviderOTADownloadProtocolVendorSpecific MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateProviderOTADownloadProtocolVendorSpecific")
+    = 0x03,
 } MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateProviderOTADownloadProtocol");
 
 typedef NS_ENUM(uint8_t, MTROTASoftwareUpdateProviderOTAQueryStatus) {
-    MTROTASoftwareUpdateProviderOTAQueryStatusUpdateAvailable = 0x00,
-    MTROTASoftwareUpdateProviderOTAQueryStatusBusy = 0x01,
-    MTROTASoftwareUpdateProviderOTAQueryStatusNotAvailable = 0x02,
-    MTROTASoftwareUpdateProviderOTAQueryStatusDownloadProtocolNotSupported = 0x03,
+    MTROTASoftwareUpdateProviderOTAQueryStatusUpdateAvailable MTR_NEWLY_AVAILABLE = 0x00,
+    MTROTASoftwareUpdateProviderOTAQueryStatusBusy MTR_NEWLY_AVAILABLE = 0x01,
+    MTROTASoftwareUpdateProviderOTAQueryStatusNotAvailable MTR_NEWLY_AVAILABLE = 0x02,
+    MTROTASoftwareUpdateProviderOTAQueryStatusDownloadProtocolNotSupported MTR_NEWLY_AVAILABLE = 0x03,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_ENUM(uint8_t, MTROtaSoftwareUpdateProviderOTAQueryStatus) {
-    MTROtaSoftwareUpdateProviderOTAQueryStatusUpdateAvailable = 0x00,
-    MTROtaSoftwareUpdateProviderOTAQueryStatusBusy = 0x01,
-    MTROtaSoftwareUpdateProviderOTAQueryStatusNotAvailable = 0x02,
-    MTROtaSoftwareUpdateProviderOTAQueryStatusDownloadProtocolNotSupported = 0x03,
+    MTROtaSoftwareUpdateProviderOTAQueryStatusUpdateAvailable MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateProviderOTAQueryStatusUpdateAvailable")
+    = 0x00,
+    MTROtaSoftwareUpdateProviderOTAQueryStatusBusy MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateProviderOTAQueryStatusBusy")
+    = 0x01,
+    MTROtaSoftwareUpdateProviderOTAQueryStatusNotAvailable MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateProviderOTAQueryStatusNotAvailable")
+    = 0x02,
+    MTROtaSoftwareUpdateProviderOTAQueryStatusDownloadProtocolNotSupported MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateProviderOTAQueryStatusDownloadProtocolNotSupported")
+    = 0x03,
 } MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateProviderOTAQueryStatus");
 
 typedef NS_ENUM(uint8_t, MTROTASoftwareUpdateRequestorOTAAnnouncementReason) {
-    MTROTASoftwareUpdateRequestorOTAAnnouncementReasonSimpleAnnouncement = 0x00,
-    MTROTASoftwareUpdateRequestorOTAAnnouncementReasonUpdateAvailable = 0x01,
-    MTROTASoftwareUpdateRequestorOTAAnnouncementReasonUrgentUpdateAvailable = 0x02,
+    MTROTASoftwareUpdateRequestorOTAAnnouncementReasonSimpleAnnouncement MTR_NEWLY_AVAILABLE = 0x00,
+    MTROTASoftwareUpdateRequestorOTAAnnouncementReasonUpdateAvailable MTR_NEWLY_AVAILABLE = 0x01,
+    MTROTASoftwareUpdateRequestorOTAAnnouncementReasonUrgentUpdateAvailable MTR_NEWLY_AVAILABLE = 0x02,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_ENUM(uint8_t, MTROtaSoftwareUpdateRequestorOTAAnnouncementReason) {
-    MTROtaSoftwareUpdateRequestorOTAAnnouncementReasonSimpleAnnouncement = 0x00,
-    MTROtaSoftwareUpdateRequestorOTAAnnouncementReasonUpdateAvailable = 0x01,
-    MTROtaSoftwareUpdateRequestorOTAAnnouncementReasonUrgentUpdateAvailable = 0x02,
+    MTROtaSoftwareUpdateRequestorOTAAnnouncementReasonSimpleAnnouncement MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAAnnouncementReasonSimpleAnnouncement")
+    = 0x00,
+    MTROtaSoftwareUpdateRequestorOTAAnnouncementReasonUpdateAvailable MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAAnnouncementReasonUpdateAvailable")
+    = 0x01,
+    MTROtaSoftwareUpdateRequestorOTAAnnouncementReasonUrgentUpdateAvailable MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAAnnouncementReasonUrgentUpdateAvailable")
+    = 0x02,
 } MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateRequestorOTAAnnouncementReason");
 
 typedef NS_ENUM(uint8_t, MTROTASoftwareUpdateRequestorOTAChangeReason) {
-    MTROTASoftwareUpdateRequestorOTAChangeReasonUnknown = 0x00,
-    MTROTASoftwareUpdateRequestorOTAChangeReasonSuccess = 0x01,
-    MTROTASoftwareUpdateRequestorOTAChangeReasonFailure = 0x02,
-    MTROTASoftwareUpdateRequestorOTAChangeReasonTimeOut = 0x03,
-    MTROTASoftwareUpdateRequestorOTAChangeReasonDelayByProvider = 0x04,
+    MTROTASoftwareUpdateRequestorOTAChangeReasonUnknown MTR_NEWLY_AVAILABLE = 0x00,
+    MTROTASoftwareUpdateRequestorOTAChangeReasonSuccess MTR_NEWLY_AVAILABLE = 0x01,
+    MTROTASoftwareUpdateRequestorOTAChangeReasonFailure MTR_NEWLY_AVAILABLE = 0x02,
+    MTROTASoftwareUpdateRequestorOTAChangeReasonTimeOut MTR_NEWLY_AVAILABLE = 0x03,
+    MTROTASoftwareUpdateRequestorOTAChangeReasonDelayByProvider MTR_NEWLY_AVAILABLE = 0x04,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_ENUM(uint8_t, MTROtaSoftwareUpdateRequestorOTAChangeReason) {
-    MTROtaSoftwareUpdateRequestorOTAChangeReasonUnknown = 0x00,
-    MTROtaSoftwareUpdateRequestorOTAChangeReasonSuccess = 0x01,
-    MTROtaSoftwareUpdateRequestorOTAChangeReasonFailure = 0x02,
-    MTROtaSoftwareUpdateRequestorOTAChangeReasonTimeOut = 0x03,
-    MTROtaSoftwareUpdateRequestorOTAChangeReasonDelayByProvider = 0x04,
+    MTROtaSoftwareUpdateRequestorOTAChangeReasonUnknown MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAChangeReasonUnknown")
+    = 0x00,
+    MTROtaSoftwareUpdateRequestorOTAChangeReasonSuccess MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAChangeReasonSuccess")
+    = 0x01,
+    MTROtaSoftwareUpdateRequestorOTAChangeReasonFailure MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAChangeReasonFailure")
+    = 0x02,
+    MTROtaSoftwareUpdateRequestorOTAChangeReasonTimeOut MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAChangeReasonTimeOut")
+    = 0x03,
+    MTROtaSoftwareUpdateRequestorOTAChangeReasonDelayByProvider MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAChangeReasonDelayByProvider")
+    = 0x04,
 } MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateRequestorOTAChangeReason");
 
 typedef NS_ENUM(uint8_t, MTROTASoftwareUpdateRequestorOTAUpdateState) {
-    MTROTASoftwareUpdateRequestorOTAUpdateStateUnknown = 0x00,
-    MTROTASoftwareUpdateRequestorOTAUpdateStateIdle = 0x01,
-    MTROTASoftwareUpdateRequestorOTAUpdateStateQuerying = 0x02,
-    MTROTASoftwareUpdateRequestorOTAUpdateStateDelayedOnQuery = 0x03,
-    MTROTASoftwareUpdateRequestorOTAUpdateStateDownloading = 0x04,
-    MTROTASoftwareUpdateRequestorOTAUpdateStateApplying = 0x05,
-    MTROTASoftwareUpdateRequestorOTAUpdateStateDelayedOnApply = 0x06,
-    MTROTASoftwareUpdateRequestorOTAUpdateStateRollingBack = 0x07,
-    MTROTASoftwareUpdateRequestorOTAUpdateStateDelayedOnUserConsent = 0x08,
+    MTROTASoftwareUpdateRequestorOTAUpdateStateUnknown MTR_NEWLY_AVAILABLE = 0x00,
+    MTROTASoftwareUpdateRequestorOTAUpdateStateIdle MTR_NEWLY_AVAILABLE = 0x01,
+    MTROTASoftwareUpdateRequestorOTAUpdateStateQuerying MTR_NEWLY_AVAILABLE = 0x02,
+    MTROTASoftwareUpdateRequestorOTAUpdateStateDelayedOnQuery MTR_NEWLY_AVAILABLE = 0x03,
+    MTROTASoftwareUpdateRequestorOTAUpdateStateDownloading MTR_NEWLY_AVAILABLE = 0x04,
+    MTROTASoftwareUpdateRequestorOTAUpdateStateApplying MTR_NEWLY_AVAILABLE = 0x05,
+    MTROTASoftwareUpdateRequestorOTAUpdateStateDelayedOnApply MTR_NEWLY_AVAILABLE = 0x06,
+    MTROTASoftwareUpdateRequestorOTAUpdateStateRollingBack MTR_NEWLY_AVAILABLE = 0x07,
+    MTROTASoftwareUpdateRequestorOTAUpdateStateDelayedOnUserConsent MTR_NEWLY_AVAILABLE = 0x08,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_ENUM(uint8_t, MTROtaSoftwareUpdateRequestorOTAUpdateState) {
-    MTROtaSoftwareUpdateRequestorOTAUpdateStateUnknown = 0x00,
-    MTROtaSoftwareUpdateRequestorOTAUpdateStateIdle = 0x01,
-    MTROtaSoftwareUpdateRequestorOTAUpdateStateQuerying = 0x02,
-    MTROtaSoftwareUpdateRequestorOTAUpdateStateDelayedOnQuery = 0x03,
-    MTROtaSoftwareUpdateRequestorOTAUpdateStateDownloading = 0x04,
-    MTROtaSoftwareUpdateRequestorOTAUpdateStateApplying = 0x05,
-    MTROtaSoftwareUpdateRequestorOTAUpdateStateDelayedOnApply = 0x06,
-    MTROtaSoftwareUpdateRequestorOTAUpdateStateRollingBack = 0x07,
-    MTROtaSoftwareUpdateRequestorOTAUpdateStateDelayedOnUserConsent = 0x08,
+    MTROtaSoftwareUpdateRequestorOTAUpdateStateUnknown MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAUpdateStateUnknown")
+    = 0x00,
+    MTROtaSoftwareUpdateRequestorOTAUpdateStateIdle MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAUpdateStateIdle")
+    = 0x01,
+    MTROtaSoftwareUpdateRequestorOTAUpdateStateQuerying MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAUpdateStateQuerying")
+    = 0x02,
+    MTROtaSoftwareUpdateRequestorOTAUpdateStateDelayedOnQuery MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAUpdateStateDelayedOnQuery")
+    = 0x03,
+    MTROtaSoftwareUpdateRequestorOTAUpdateStateDownloading MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAUpdateStateDownloading")
+    = 0x04,
+    MTROtaSoftwareUpdateRequestorOTAUpdateStateApplying MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAUpdateStateApplying")
+    = 0x05,
+    MTROtaSoftwareUpdateRequestorOTAUpdateStateDelayedOnApply MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAUpdateStateDelayedOnApply")
+    = 0x06,
+    MTROtaSoftwareUpdateRequestorOTAUpdateStateRollingBack MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAUpdateStateRollingBack")
+    = 0x07,
+    MTROtaSoftwareUpdateRequestorOTAUpdateStateDelayedOnUserConsent MTR_NEWLY_DEPRECATED(
+        "Please use MTROTASoftwareUpdateRequestorOTAUpdateStateDelayedOnUserConsent")
+    = 0x08,
 } MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateRequestorOTAUpdateState");
 
 typedef NS_ENUM(uint8_t, MTRTimeFormatLocalizationCalendarType) {
@@ -17533,11 +17584,11 @@
 };
 
 typedef NS_OPTIONS(uint32_t, MTRSwitchFeature) {
-    MTRSwitchFeatureLatchingSwitch = 0x1,
-    MTRSwitchFeatureMomentarySwitch = 0x2,
-    MTRSwitchFeatureMomentarySwitchRelease = 0x4,
-    MTRSwitchFeatureMomentarySwitchLongPress = 0x8,
-    MTRSwitchFeatureMomentarySwitchMultiPress = 0x10,
+    MTRSwitchFeatureLatchingSwitch API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)) = 0x1,
+    MTRSwitchFeatureMomentarySwitch API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)) = 0x2,
+    MTRSwitchFeatureMomentarySwitchRelease API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)) = 0x4,
+    MTRSwitchFeatureMomentarySwitchLongPress API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)) = 0x8,
+    MTRSwitchFeatureMomentarySwitchMultiPress API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)) = 0x10,
 } API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2));
 
 typedef NS_ENUM(uint8_t, MTRAdministratorCommissioningCommissioningWindowStatus) {
@@ -18233,8 +18284,8 @@
 };
 
 typedef NS_OPTIONS(uint32_t, MTRMediaPlaybackFeature) {
-    MTRMediaPlaybackFeatureAdvancedSeek = 0x1,
-    MTRMediaPlaybackFeatureVariableSpeed = 0x2,
+    MTRMediaPlaybackFeatureAdvancedSeek API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)) = 0x1,
+    MTRMediaPlaybackFeatureVariableSpeed API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2)) = 0x2,
 } API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2));
 
 typedef NS_ENUM(uint8_t, MTRMediaInputInputType) {
@@ -18425,85 +18476,86 @@
 };
 
 typedef NS_ENUM(uint8_t, MTRUnitTestingSimple) {
-    MTRUnitTestingSimpleUnspecified = 0x00,
-    MTRUnitTestingSimpleValueA = 0x01,
-    MTRUnitTestingSimpleValueB = 0x02,
-    MTRUnitTestingSimpleValueC = 0x03,
+    MTRUnitTestingSimpleUnspecified MTR_NEWLY_AVAILABLE = 0x00,
+    MTRUnitTestingSimpleValueA MTR_NEWLY_AVAILABLE = 0x01,
+    MTRUnitTestingSimpleValueB MTR_NEWLY_AVAILABLE = 0x02,
+    MTRUnitTestingSimpleValueC MTR_NEWLY_AVAILABLE = 0x03,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_ENUM(uint8_t, MTRTestClusterSimple) {
-    MTRTestClusterSimpleUnspecified = 0x00,
-    MTRTestClusterSimpleValueA = 0x01,
-    MTRTestClusterSimpleValueB = 0x02,
-    MTRTestClusterSimpleValueC = 0x03,
+    MTRTestClusterSimpleUnspecified MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimpleUnspecified") = 0x00,
+    MTRTestClusterSimpleValueA MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimpleValueA") = 0x01,
+    MTRTestClusterSimpleValueB MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimpleValueB") = 0x02,
+    MTRTestClusterSimpleValueC MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimpleValueC") = 0x03,
 } MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimple");
 
 typedef NS_OPTIONS(uint16_t, MTRUnitTestingBitmap16MaskMap) {
-    MTRUnitTestingBitmap16MaskMapMaskVal1 = 0x1,
-    MTRUnitTestingBitmap16MaskMapMaskVal2 = 0x2,
-    MTRUnitTestingBitmap16MaskMapMaskVal3 = 0x4,
-    MTRUnitTestingBitmap16MaskMapMaskVal4 = 0x4000,
+    MTRUnitTestingBitmap16MaskMapMaskVal1 MTR_NEWLY_AVAILABLE = 0x1,
+    MTRUnitTestingBitmap16MaskMapMaskVal2 MTR_NEWLY_AVAILABLE = 0x2,
+    MTRUnitTestingBitmap16MaskMapMaskVal3 MTR_NEWLY_AVAILABLE = 0x4,
+    MTRUnitTestingBitmap16MaskMapMaskVal4 MTR_NEWLY_AVAILABLE = 0x4000,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_OPTIONS(uint16_t, MTRTestClusterBitmap16MaskMap) {
-    MTRTestClusterBitmap16MaskMapMaskVal1 = 0x1,
-    MTRTestClusterBitmap16MaskMapMaskVal2 = 0x2,
-    MTRTestClusterBitmap16MaskMapMaskVal3 = 0x4,
-    MTRTestClusterBitmap16MaskMapMaskVal4 = 0x4000,
+    MTRTestClusterBitmap16MaskMapMaskVal1 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap16MaskMapMaskVal1") = 0x1,
+    MTRTestClusterBitmap16MaskMapMaskVal2 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap16MaskMapMaskVal2") = 0x2,
+    MTRTestClusterBitmap16MaskMapMaskVal3 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap16MaskMapMaskVal3") = 0x4,
+    MTRTestClusterBitmap16MaskMapMaskVal4 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap16MaskMapMaskVal4") = 0x4000,
 } MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap16MaskMap");
 
 typedef NS_OPTIONS(uint32_t, MTRUnitTestingBitmap32MaskMap) {
-    MTRUnitTestingBitmap32MaskMapMaskVal1 = 0x1,
-    MTRUnitTestingBitmap32MaskMapMaskVal2 = 0x2,
-    MTRUnitTestingBitmap32MaskMapMaskVal3 = 0x4,
-    MTRUnitTestingBitmap32MaskMapMaskVal4 = 0x40000000,
+    MTRUnitTestingBitmap32MaskMapMaskVal1 MTR_NEWLY_AVAILABLE = 0x1,
+    MTRUnitTestingBitmap32MaskMapMaskVal2 MTR_NEWLY_AVAILABLE = 0x2,
+    MTRUnitTestingBitmap32MaskMapMaskVal3 MTR_NEWLY_AVAILABLE = 0x4,
+    MTRUnitTestingBitmap32MaskMapMaskVal4 MTR_NEWLY_AVAILABLE = 0x40000000,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_OPTIONS(uint32_t, MTRTestClusterBitmap32MaskMap) {
-    MTRTestClusterBitmap32MaskMapMaskVal1 = 0x1,
-    MTRTestClusterBitmap32MaskMapMaskVal2 = 0x2,
-    MTRTestClusterBitmap32MaskMapMaskVal3 = 0x4,
-    MTRTestClusterBitmap32MaskMapMaskVal4 = 0x40000000,
+    MTRTestClusterBitmap32MaskMapMaskVal1 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap32MaskMapMaskVal1") = 0x1,
+    MTRTestClusterBitmap32MaskMapMaskVal2 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap32MaskMapMaskVal2") = 0x2,
+    MTRTestClusterBitmap32MaskMapMaskVal3 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap32MaskMapMaskVal3") = 0x4,
+    MTRTestClusterBitmap32MaskMapMaskVal4 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap32MaskMapMaskVal4") = 0x40000000,
 } MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap32MaskMap");
 
 typedef NS_OPTIONS(uint64_t, MTRUnitTestingBitmap64MaskMap) {
-    MTRUnitTestingBitmap64MaskMapMaskVal1 = 0x1,
-    MTRUnitTestingBitmap64MaskMapMaskVal2 = 0x2,
-    MTRUnitTestingBitmap64MaskMapMaskVal3 = 0x4,
-    MTRUnitTestingBitmap64MaskMapMaskVal4 = 0x4000000000000000,
+    MTRUnitTestingBitmap64MaskMapMaskVal1 MTR_NEWLY_AVAILABLE = 0x1,
+    MTRUnitTestingBitmap64MaskMapMaskVal2 MTR_NEWLY_AVAILABLE = 0x2,
+    MTRUnitTestingBitmap64MaskMapMaskVal3 MTR_NEWLY_AVAILABLE = 0x4,
+    MTRUnitTestingBitmap64MaskMapMaskVal4 MTR_NEWLY_AVAILABLE = 0x4000000000000000,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_OPTIONS(uint64_t, MTRTestClusterBitmap64MaskMap) {
-    MTRTestClusterBitmap64MaskMapMaskVal1 = 0x1,
-    MTRTestClusterBitmap64MaskMapMaskVal2 = 0x2,
-    MTRTestClusterBitmap64MaskMapMaskVal3 = 0x4,
-    MTRTestClusterBitmap64MaskMapMaskVal4 = 0x4000000000000000,
+    MTRTestClusterBitmap64MaskMapMaskVal1 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap64MaskMapMaskVal1") = 0x1,
+    MTRTestClusterBitmap64MaskMapMaskVal2 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap64MaskMapMaskVal2") = 0x2,
+    MTRTestClusterBitmap64MaskMapMaskVal3 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap64MaskMapMaskVal3") = 0x4,
+    MTRTestClusterBitmap64MaskMapMaskVal4 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap64MaskMapMaskVal4")
+    = 0x4000000000000000,
 } MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap64MaskMap");
 
 typedef NS_OPTIONS(uint8_t, MTRUnitTestingBitmap8MaskMap) {
-    MTRUnitTestingBitmap8MaskMapMaskVal1 = 0x1,
-    MTRUnitTestingBitmap8MaskMapMaskVal2 = 0x2,
-    MTRUnitTestingBitmap8MaskMapMaskVal3 = 0x4,
-    MTRUnitTestingBitmap8MaskMapMaskVal4 = 0x40,
+    MTRUnitTestingBitmap8MaskMapMaskVal1 MTR_NEWLY_AVAILABLE = 0x1,
+    MTRUnitTestingBitmap8MaskMapMaskVal2 MTR_NEWLY_AVAILABLE = 0x2,
+    MTRUnitTestingBitmap8MaskMapMaskVal3 MTR_NEWLY_AVAILABLE = 0x4,
+    MTRUnitTestingBitmap8MaskMapMaskVal4 MTR_NEWLY_AVAILABLE = 0x40,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_OPTIONS(uint8_t, MTRTestClusterBitmap8MaskMap) {
-    MTRTestClusterBitmap8MaskMapMaskVal1 = 0x1,
-    MTRTestClusterBitmap8MaskMapMaskVal2 = 0x2,
-    MTRTestClusterBitmap8MaskMapMaskVal3 = 0x4,
-    MTRTestClusterBitmap8MaskMapMaskVal4 = 0x40,
+    MTRTestClusterBitmap8MaskMapMaskVal1 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap8MaskMapMaskVal1") = 0x1,
+    MTRTestClusterBitmap8MaskMapMaskVal2 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap8MaskMapMaskVal2") = 0x2,
+    MTRTestClusterBitmap8MaskMapMaskVal3 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap8MaskMapMaskVal3") = 0x4,
+    MTRTestClusterBitmap8MaskMapMaskVal4 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap8MaskMapMaskVal4") = 0x40,
 } MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingBitmap8MaskMap");
 
 typedef NS_OPTIONS(uint8_t, MTRUnitTestingSimpleBitmap) {
-    MTRUnitTestingSimpleBitmapValueA = 0x1,
-    MTRUnitTestingSimpleBitmapValueB = 0x2,
-    MTRUnitTestingSimpleBitmapValueC = 0x4,
+    MTRUnitTestingSimpleBitmapValueA MTR_NEWLY_AVAILABLE = 0x1,
+    MTRUnitTestingSimpleBitmapValueB MTR_NEWLY_AVAILABLE = 0x2,
+    MTRUnitTestingSimpleBitmapValueC MTR_NEWLY_AVAILABLE = 0x4,
 } MTR_NEWLY_AVAILABLE;
 
 typedef NS_OPTIONS(uint8_t, MTRTestClusterSimpleBitmap) {
-    MTRTestClusterSimpleBitmapValueA = 0x1,
-    MTRTestClusterSimpleBitmapValueB = 0x2,
-    MTRTestClusterSimpleBitmapValueC = 0x4,
+    MTRTestClusterSimpleBitmapValueA MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimpleBitmapValueA") = 0x1,
+    MTRTestClusterSimpleBitmapValueB MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimpleBitmapValueB") = 0x2,
+    MTRTestClusterSimpleBitmapValueC MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimpleBitmapValueC") = 0x4,
 } MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingSimpleBitmap");
 
 typedef NS_ENUM(uint8_t, MTRFaultInjectionFaultType) {
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
index d6b5c27..93c21d9 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusterConstants.h
@@ -99,7 +99,6 @@
     MTRClusterApplicationBasicID MTR_NEWLY_DEPRECATED("Please use MTRClusterIDTypeApplicationBasicID") = 0x0000050D,
     MTRClusterAccountLoginID MTR_NEWLY_DEPRECATED("Please use MTRClusterIDTypeAccountLoginID") = 0x0000050E,
     MTRClusterElectricalMeasurementID MTR_NEWLY_DEPRECATED("Please use MTRClusterIDTypeElectricalMeasurementID") = 0x00000B04,
-    MTRClusterClientMonitoringID MTR_NEWLY_DEPRECATED("Please use MTRClusterIDTypeClientMonitoringID") = 0x00001046,
     MTRClusterTestClusterID MTR_NEWLY_DEPRECATED("Please use MTRClusterIDTypeUnitTestingID") = 0xFFF1FC05,
     MTRClusterFaultInjectionID MTR_NEWLY_DEPRECATED("Please use MTRClusterIDTypeFaultInjectionID") = 0xFFF1FC06,
     MTRClusterIDTypeIdentifyID MTR_NEWLY_AVAILABLE = 0x00000003,
@@ -569,9 +568,8 @@
     = MTRAttributeIDTypeGlobalAttributeClusterRevisionID,
 
     // Cluster Descriptor deprecated attribute names
-    MTRClusterDescriptorAttributeDeviceTypeListID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterDescriptorAttributeDeviceTypeListID")
-        API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
+    MTRClusterDescriptorAttributeDeviceTypeListID API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
+        MTR_NEWLY_DEPRECATED("Please use MTRAttributeIDTypeClusterDescriptorAttributeDeviceTypeListID")
     = 0x00000000,
     MTRClusterDescriptorAttributeDeviceListID MTR_NEWLY_DEPRECATED(
         "Please use MTRAttributeIDTypeClusterDescriptorAttributeDeviceTypeListID")
@@ -4889,35 +4887,6 @@
     MTRAttributeIDTypeClusterElectricalMeasurementAttributeClusterRevisionID MTR_NEWLY_AVAILABLE
     = MTRAttributeIDTypeGlobalAttributeClusterRevisionID,
 
-    // Cluster ClientMonitoring deprecated attribute names
-    MTRClusterClientMonitoringAttributeIdleModeIntervalID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterClientMonitoringAttributeIdleModeIntervalID")
-    = 0x00000000,
-    MTRClusterClientMonitoringAttributeActiveModeIntervalID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterClientMonitoringAttributeActiveModeIntervalID")
-    = 0x00000001,
-    MTRClusterClientMonitoringAttributeActiveModeThresholdID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterClientMonitoringAttributeActiveModeThresholdID")
-    = 0x00000002,
-    MTRClusterClientMonitoringAttributeExpectedClientsID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterClientMonitoringAttributeExpectedClientsID")
-    = 0x00000003,
-    MTRClusterClientMonitoringAttributeGeneratedCommandListID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterClientMonitoringAttributeGeneratedCommandListID")
-    = MTRClusterGlobalAttributeGeneratedCommandListID,
-    MTRClusterClientMonitoringAttributeAcceptedCommandListID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterClientMonitoringAttributeAcceptedCommandListID")
-    = MTRClusterGlobalAttributeAcceptedCommandListID,
-    MTRClusterClientMonitoringAttributeAttributeListID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterClientMonitoringAttributeAttributeListID")
-    = MTRClusterGlobalAttributeAttributeListID,
-    MTRClusterClientMonitoringAttributeFeatureMapID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterClientMonitoringAttributeFeatureMapID")
-    = MTRClusterGlobalAttributeFeatureMapID,
-    MTRClusterClientMonitoringAttributeClusterRevisionID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterClientMonitoringAttributeClusterRevisionID")
-    = MTRClusterGlobalAttributeClusterRevisionID,
-
     // Cluster ClientMonitoring attributes
     MTRAttributeIDTypeClusterClientMonitoringAttributeIdleModeIntervalID MTR_NEWLY_AVAILABLE = 0x00000000,
     MTRAttributeIDTypeClusterClientMonitoringAttributeActiveModeIntervalID MTR_NEWLY_AVAILABLE = 0x00000001,
@@ -5159,8 +5128,8 @@
     MTRClusterTestClusterAttributeNullableRangeRestrictedInt16sID MTR_NEWLY_DEPRECATED(
         "Please use MTRAttributeIDTypeClusterUnitTestingAttributeNullableRangeRestrictedInt16sID")
     = 0x00004029,
-    MTRClusterTestClusterAttributeWriteOnlyInt8uID MTR_NEWLY_DEPRECATED(
-        "Please use MTRAttributeIDTypeClusterUnitTestingAttributeWriteOnlyInt8uID")
+    MTRClusterTestClusterAttributeWriteOnlyInt8uID API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
+        MTR_NEWLY_DEPRECATED("Please use MTRAttributeIDTypeClusterUnitTestingAttributeWriteOnlyInt8uID")
     = 0x0000402A,
     MTRClusterTestClusterAttributeGeneratedCommandListID MTR_NEWLY_DEPRECATED(
         "Please use MTRAttributeIDTypeClusterUnitTestingAttributeGeneratedCommandListID")
@@ -6246,14 +6215,6 @@
     MTRCommandIDTypeClusterElectricalMeasurementCommandGetMeasurementProfileResponseCommandID MTR_NEWLY_AVAILABLE = 0x00000001,
     MTRCommandIDTypeClusterElectricalMeasurementCommandGetMeasurementProfileCommandID MTR_NEWLY_AVAILABLE = 0x00000001,
 
-    // Cluster ClientMonitoring deprecated command id names
-    MTRClusterClientMonitoringCommandRegisterClientMonitoringID MTR_NEWLY_DEPRECATED(
-        "Please use MTRCommandIDTypeClusterClientMonitoringCommandRegisterClientMonitoringID")
-    = 0x00000000,
-    MTRClusterClientMonitoringCommandStayAwakeRequestID MTR_NEWLY_DEPRECATED(
-        "Please use MTRCommandIDTypeClusterClientMonitoringCommandStayAwakeRequestID")
-    = 0x00000001,
-
     // Cluster ClientMonitoring commands
     MTRCommandIDTypeClusterClientMonitoringCommandRegisterClientMonitoringID MTR_NEWLY_AVAILABLE = 0x00000000,
     MTRCommandIDTypeClusterClientMonitoringCommandStayAwakeRequestID MTR_NEWLY_AVAILABLE = 0x00000001,
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
index 5abf133..ff900fd 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRClusters.h
@@ -820,8 +820,7 @@
  * Cluster OTA Software Update Provider
  *    Provides an interface for providing OTA software updates
  */
-MTR_NEWLY_AVAILABLE
-@interface MTRClusterOTASoftwareUpdateProvider : MTRCluster
+MTR_NEWLY_AVAILABLE @interface MTRClusterOTASoftwareUpdateProvider : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRDevice *)device
                               endpointID:(NSNumber *)endpointID
@@ -842,15 +841,15 @@
                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                            completion:(MTRStatusCompletion)completion MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
 - (instancetype)init NS_UNAVAILABLE;
 + (instancetype)new NS_UNAVAILABLE;
@@ -861,8 +860,7 @@
  * Cluster OTA Software Update Requestor
  *    Provides an interface for downloading and applying OTA software updates
  */
-MTR_NEWLY_AVAILABLE
-@interface MTRClusterOTASoftwareUpdateRequestor : MTRCluster
+MTR_NEWLY_AVAILABLE @interface MTRClusterOTASoftwareUpdateRequestor : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRDevice *)device
                               endpointID:(NSNumber *)endpointID
@@ -873,28 +871,28 @@
                 expectedValueInterval:(NSNumber * _Nullable)expectedValueIntervalMs
                            completion:(MTRStatusCompletion)completion MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeDefaultOtaProvidersWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeDefaultOtaProvidersWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeDefaultOtaProvidersWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeDefaultOtaProvidersWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                            params:(MTRWriteParams * _Nullable)params;
+                                            params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeUpdatePossibleWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeUpdatePossibleWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeUpdateStateWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeUpdateStateWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeUpdateStateProgressWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeUpdateStateProgressWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
 - (instancetype)init NS_UNAVAILABLE;
 + (instancetype)new NS_UNAVAILABLE;
@@ -3697,24 +3695,23 @@
  * Cluster Wake on LAN
  *    This cluster provides an interface for managing low power mode on a device that supports the Wake On LAN protocol.
  */
-MTR_NEWLY_AVAILABLE
-@interface MTRClusterWakeOnLAN : MTRCluster
+MTR_NEWLY_AVAILABLE @interface MTRClusterWakeOnLAN : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRDevice *)device
                               endpointID:(NSNumber *)endpointID
                                    queue:(dispatch_queue_t)queue NS_DESIGNATED_INITIALIZER MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeMACAddressWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeMACAddressWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
 - (instancetype)init NS_UNAVAILABLE;
 + (instancetype)new NS_UNAVAILABLE;
@@ -4602,8 +4599,7 @@
  * Cluster Unit Testing
  *    The Test Cluster is meant to validate the generated code
  */
-MTR_NEWLY_AVAILABLE
-@interface MTRClusterUnitTesting : MTRCluster
+MTR_NEWLY_AVAILABLE @interface MTRClusterUnitTesting : MTRCluster
 
 - (instancetype _Nullable)initWithDevice:(MTRDevice *)device
                               endpointID:(NSNumber *)endpointID
@@ -4742,589 +4738,597 @@
                                                 MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams * _Nullable data,
                                                 NSError * _Nullable error))completion MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeBooleanWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeBooleanWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                params:(MTRWriteParams * _Nullable)params;
+                                params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeBitmap8WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeBitmap8WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                params:(MTRWriteParams * _Nullable)params;
+                                params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeBitmap16WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeBitmap16WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                 params:(MTRWriteParams * _Nullable)params;
+                                 params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeBitmap32WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeBitmap32WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                 params:(MTRWriteParams * _Nullable)params;
+                                 params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeBitmap64WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeBitmap64WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                 params:(MTRWriteParams * _Nullable)params;
+                                 params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt8uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+               expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                              params:(MTRWriteParams * _Nullable)params;
+                              params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt16uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt16uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt24uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt24uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt32uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt32uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt40uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt40uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt48uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt48uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt56uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt56uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt64uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt64uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt8sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt8sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+               expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                              params:(MTRWriteParams * _Nullable)params;
+                              params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt16sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt16sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt24sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt24sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt32sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt32sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt40sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt40sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt48sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt48sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt56sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt56sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeInt64sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeInt64sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeEnum8WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeEnum8WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+               expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                              params:(MTRWriteParams * _Nullable)params;
+                              params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeEnum16WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeEnum16WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeFloatSingleWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeFloatSingleWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                    params:(MTRWriteParams * _Nullable)params;
+                                    params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeFloatDoubleWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeFloatDoubleWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                    params:(MTRWriteParams * _Nullable)params;
+                                    params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeOctetStringWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                    params:(MTRWriteParams * _Nullable)params;
+                                    params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeListInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeListInt8uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                  params:(MTRWriteParams * _Nullable)params;
+                                  params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeListOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeListOctetStringWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                        params:(MTRWriteParams * _Nullable)params;
+                                        params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeListStructOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeListStructOctetStringWithParams:(MTRReadParams * _Nullable)params
+    MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListStructOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListStructOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                              params:(MTRWriteParams * _Nullable)params;
+                                              params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeLongOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeLongOctetStringWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                        params:(MTRWriteParams * _Nullable)params;
+                                        params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeCharStringWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeCharStringWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                   params:(MTRWriteParams * _Nullable)params;
+                                   params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeLongCharStringWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeLongCharStringWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeLongCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeLongCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeEpochUsWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeEpochUsWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeEpochUsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeEpochUsWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                params:(MTRWriteParams * _Nullable)params;
+                                params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeEpochSWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeEpochSWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeEpochSWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeEpochSWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                 expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                               params:(MTRWriteParams * _Nullable)params;
+                               params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeVendorIdWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeVendorIdWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeVendorIdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeVendorIdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                 params:(MTRWriteParams * _Nullable)params;
+                                 params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeListNullablesAndOptionalsStructWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeListNullablesAndOptionalsStructWithParams:(MTRReadParams * _Nullable)params
+    MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListNullablesAndOptionalsStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListNullablesAndOptionalsStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                                        params:(MTRWriteParams * _Nullable)params;
+                                                        params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeEnumAttrWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeEnumAttrWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                  expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                   expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                 params:(MTRWriteParams * _Nullable)params;
+                                 params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeStructAttrWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeStructAttrWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeStructAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                    expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeStructAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                   params:(MTRWriteParams * _Nullable)params;
+                                   params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt8uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                             params:(MTRWriteParams * _Nullable)params;
+                                             params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt8sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt8sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                             params:(MTRWriteParams * _Nullable)params;
+                                             params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt16uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt16uWithParams:(MTRReadParams * _Nullable)params
+    MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                              params:(MTRWriteParams * _Nullable)params;
+                                              params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt16sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeRangeRestrictedInt16sWithParams:(MTRReadParams * _Nullable)params
+    MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                               expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                              params:(MTRWriteParams * _Nullable)params;
+                                              params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeListLongOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeListLongOctetStringWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListLongOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                            params:(MTRWriteParams * _Nullable)params;
+                                            params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeListFabricScopedWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeListFabricScopedWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListFabricScopedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeListFabricScopedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                         params:(MTRWriteParams * _Nullable)params;
+                                         params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeTimedWriteBooleanWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeTimedWriteBooleanWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeTimedWriteBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeTimedWriteBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                          params:(MTRWriteParams * _Nullable)params;
+                                          params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeGeneralErrorBooleanWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeGeneralErrorBooleanWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeGeneralErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeGeneralErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                            params:(MTRWriteParams * _Nullable)params;
+                                            params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeClusterErrorBooleanWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeClusterErrorBooleanWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeClusterErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeClusterErrorBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                            params:(MTRWriteParams * _Nullable)params;
+                                            params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeUnsupportedWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeUnsupportedWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeUnsupportedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                     expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeUnsupportedWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                    params:(MTRWriteParams * _Nullable)params;
+                                    params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableBooleanWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableBooleanWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableBooleanWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                        params:(MTRWriteParams * _Nullable)params;
+                                        params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap8WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap8WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableBitmap8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                        params:(MTRWriteParams * _Nullable)params;
+                                        params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap16WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap16WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableBitmap16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                         params:(MTRWriteParams * _Nullable)params;
+                                         params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap32WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap32WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableBitmap32WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                         params:(MTRWriteParams * _Nullable)params;
+                                         params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap64WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableBitmap64WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableBitmap64WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                         params:(MTRWriteParams * _Nullable)params;
+                                         params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt8uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                      params:(MTRWriteParams * _Nullable)params;
+                                      params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt16uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt16uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt24uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt24uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt24uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt32uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt32uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt32uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt40uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt40uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt40uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt48uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt48uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt48uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt56uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt56uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt56uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt64uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt64uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt64uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt8sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt8sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                      params:(MTRWriteParams * _Nullable)params;
+                                      params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt16sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt16sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt24sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt24sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt24sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt32sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt32sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt32sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt40sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt40sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt40sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt48sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt48sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt48sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt56sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt56sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt56sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableInt64sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableInt64sWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableInt64sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableEnum8WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableEnum8WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableEnum8WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                      params:(MTRWriteParams * _Nullable)params;
+                                      params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableEnum16WithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableEnum16WithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableEnum16WithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableFloatSingleWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableFloatSingleWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableFloatSingleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                            params:(MTRWriteParams * _Nullable)params;
+                                            params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableFloatDoubleWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableFloatDoubleWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableFloatDoubleWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                            params:(MTRWriteParams * _Nullable)params;
+                                            params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableOctetStringWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableOctetStringWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableOctetStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                            params:(MTRWriteParams * _Nullable)params;
+                                            params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableCharStringWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableCharStringWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                            expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableCharStringWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                             expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                           params:(MTRWriteParams * _Nullable)params;
+                                           params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableEnumAttrWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableEnumAttrWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                          expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableEnumAttrWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                         params:(MTRWriteParams * _Nullable)params;
+                                         params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableStructWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableStructWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableStructWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt8uWithParams:(MTRReadParams * _Nullable)params
+    MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableRangeRestrictedInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                                     params:(MTRWriteParams * _Nullable)params;
+                                                     params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt8sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt8sWithParams:(MTRReadParams * _Nullable)params
+    MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                                      expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableRangeRestrictedInt8sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                                     params:(MTRWriteParams * _Nullable)params;
+                                                     params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt16uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt16uWithParams:(MTRReadParams * _Nullable)params
+    MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableRangeRestrictedInt16uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                                      params:(MTRWriteParams * _Nullable)params;
+                                                      params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt16sWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeNullableRangeRestrictedInt16sWithParams:(MTRReadParams * _Nullable)params
+    MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeNullableRangeRestrictedInt16sWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                                      params:(MTRWriteParams * _Nullable)params;
+                                                      params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeWriteOnlyInt8uWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeWriteOnlyInt8uWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeWriteOnlyInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
-                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs;
+                        expectedValueInterval:(NSNumber *)expectedValueIntervalMs MTR_NEWLY_AVAILABLE;
 - (void)writeAttributeWriteOnlyInt8uWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                         expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-                                       params:(MTRWriteParams * _Nullable)params;
+                                       params:(MTRWriteParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeGeneratedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeAcceptedCommandListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeAttributeListWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeFeatureMapWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
-- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params;
+- (NSDictionary<NSString *, id> *)readAttributeClusterRevisionWithParams:(MTRReadParams * _Nullable)params MTR_NEWLY_AVAILABLE;
 
 - (instancetype)init NS_UNAVAILABLE;
 + (instancetype)new NS_UNAVAILABLE;
@@ -5629,7 +5633,7 @@
     MTR_NEWLY_DEPRECATED("Please use readAttributeACLWithParams on MTRClusterAccessControl");
 - (void)writeAttributeAclWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-    MTR_NEWLY_DEPRECATED("Please use writeAtributeACLWithValue on MTRClusterAccessControl");
+    MTR_NEWLY_DEPRECATED("Please use writeAttributeACLWithValue on MTRClusterAccessControl");
 - (void)writeAttributeAclWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
              expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                             params:(MTRWriteParams * _Nullable)params
@@ -6535,7 +6539,7 @@
     MTR_NEWLY_DEPRECATED("Please use readAttributePIROccupiedToUnoccupiedDelayWithParams on MTRClusterOccupancySensing");
 - (void)writeAttributePirOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-    MTR_NEWLY_DEPRECATED("Please use writeAtributePIROccupiedToUnoccupiedDelayWithValue on MTRClusterOccupancySensing");
+    MTR_NEWLY_DEPRECATED("Please use writeAttributePIROccupiedToUnoccupiedDelayWithValue on MTRClusterOccupancySensing");
 - (void)writeAttributePirOccupiedToUnoccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                                                      params:(MTRWriteParams * _Nullable)params
@@ -6544,7 +6548,7 @@
     MTR_NEWLY_DEPRECATED("Please use readAttributePIRUnoccupiedToOccupiedDelayWithParams on MTRClusterOccupancySensing");
 - (void)writeAttributePirUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-    MTR_NEWLY_DEPRECATED("Please use writeAtributePIRUnoccupiedToOccupiedDelayWithValue on MTRClusterOccupancySensing");
+    MTR_NEWLY_DEPRECATED("Please use writeAttributePIRUnoccupiedToOccupiedDelayWithValue on MTRClusterOccupancySensing");
 - (void)writeAttributePirUnoccupiedToOccupiedDelayWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                       expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                                                      params:(MTRWriteParams * _Nullable)params
@@ -6553,7 +6557,7 @@
     MTR_NEWLY_DEPRECATED("Please use readAttributePIRUnoccupiedToOccupiedThresholdWithParams on MTRClusterOccupancySensing");
 - (void)writeAttributePirUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
-    MTR_NEWLY_DEPRECATED("Please use writeAtributePIRUnoccupiedToOccupiedThresholdWithValue on MTRClusterOccupancySensing");
+    MTR_NEWLY_DEPRECATED("Please use writeAttributePIRUnoccupiedToOccupiedThresholdWithValue on MTRClusterOccupancySensing");
 - (void)writeAttributePirUnoccupiedToOccupiedThresholdWithValue:(NSDictionary<NSString *, id> *)dataValueDictionary
                                           expectedValueInterval:(NSNumber *)expectedValueIntervalMs
                                                          params:(MTRWriteParams * _Nullable)params
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h
index 8b94196..569c6a7 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRCommandPayloadsObjc.h
@@ -1388,21 +1388,21 @@
 MTR_NEWLY_AVAILABLE
 @interface MTROTASoftwareUpdateProviderClusterQueryImageParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull vendorId;
+@property (nonatomic, copy) NSNumber * _Nonnull vendorId MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull productId;
+@property (nonatomic, copy) NSNumber * _Nonnull productId MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull softwareVersion;
+@property (nonatomic, copy) NSNumber * _Nonnull softwareVersion MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nonnull protocolsSupported;
+@property (nonatomic, copy) NSArray * _Nonnull protocolsSupported MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable hardwareVersion;
+@property (nonatomic, copy) NSNumber * _Nullable hardwareVersion MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSString * _Nullable location;
+@property (nonatomic, copy) NSString * _Nullable location MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable requestorCanConsent;
+@property (nonatomic, copy) NSNumber * _Nullable requestorCanConsent MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSData * _Nullable metadataForProvider;
+@property (nonatomic, copy) NSData * _Nullable metadataForProvider MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -1427,21 +1427,21 @@
 MTR_NEWLY_AVAILABLE
 @interface MTROTASoftwareUpdateProviderClusterQueryImageResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull status;
+@property (nonatomic, copy) NSNumber * _Nonnull status MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable delayedActionTime;
+@property (nonatomic, copy) NSNumber * _Nullable delayedActionTime MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSString * _Nullable imageURI;
+@property (nonatomic, copy) NSString * _Nullable imageURI MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable softwareVersion;
+@property (nonatomic, copy) NSNumber * _Nullable softwareVersion MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSString * _Nullable softwareVersionString;
+@property (nonatomic, copy) NSString * _Nullable softwareVersionString MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSData * _Nullable updateToken;
+@property (nonatomic, copy) NSData * _Nullable updateToken MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable userConsentNeeded;
+@property (nonatomic, copy) NSNumber * _Nullable userConsentNeeded MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSData * _Nullable metadataForRequestor;
+@property (nonatomic, copy) NSData * _Nullable metadataForRequestor MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -1467,9 +1467,9 @@
 MTR_NEWLY_AVAILABLE
 @interface MTROTASoftwareUpdateProviderClusterApplyUpdateRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSData * _Nonnull updateToken;
+@property (nonatomic, copy) NSData * _Nonnull updateToken MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy, getter=getNewVersion) NSNumber * _Nonnull newVersion;
+@property (nonatomic, copy, getter=getNewVersion) NSNumber * _Nonnull newVersion MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -1494,9 +1494,9 @@
 MTR_NEWLY_AVAILABLE
 @interface MTROTASoftwareUpdateProviderClusterApplyUpdateResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull action;
+@property (nonatomic, copy) NSNumber * _Nonnull action MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull delayedActionTime;
+@property (nonatomic, copy) NSNumber * _Nonnull delayedActionTime MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -1523,9 +1523,9 @@
 MTR_NEWLY_AVAILABLE
 @interface MTROTASoftwareUpdateProviderClusterNotifyUpdateAppliedParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSData * _Nonnull updateToken;
+@property (nonatomic, copy) NSData * _Nonnull updateToken MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull softwareVersion;
+@property (nonatomic, copy) NSNumber * _Nonnull softwareVersion MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -1551,15 +1551,15 @@
 MTR_NEWLY_AVAILABLE
 @interface MTROTASoftwareUpdateRequestorClusterAnnounceOtaProviderParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull providerNodeId;
+@property (nonatomic, copy) NSNumber * _Nonnull providerNodeId MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull vendorId;
+@property (nonatomic, copy) NSNumber * _Nonnull vendorId MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull announcementReason;
+@property (nonatomic, copy) NSNumber * _Nonnull announcementReason MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSData * _Nullable metadataForNode;
+@property (nonatomic, copy) NSData * _Nullable metadataForNode MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull endpoint;
+@property (nonatomic, copy) NSNumber * _Nonnull endpoint MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -4855,11 +4855,12 @@
 @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 @end
 
+MTR_NEWLY_AVAILABLE
 @interface MTRClientMonitoringClusterRegisterClientMonitoringParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull clientNodeId;
+@property (nonatomic, copy) NSNumber * _Nonnull clientNodeId MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull iCid;
+@property (nonatomic, copy) NSNumber * _Nonnull iCid MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -4877,6 +4878,7 @@
 @property (nonatomic, copy, nullable) NSNumber * timedInvokeTimeoutMs;
 @end
 
+MTR_NEWLY_AVAILABLE
 @interface MTRClientMonitoringClusterStayAwakeRequestParams : NSObject <NSCopying>
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
@@ -4921,7 +4923,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestSpecificResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull returnValue;
+@property (nonatomic, copy) NSNumber * _Nonnull returnValue MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -4970,7 +4972,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestAddArgumentsResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull returnValue;
+@property (nonatomic, copy) NSNumber * _Nonnull returnValue MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5019,7 +5021,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestSimpleArgumentResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull returnValue;
+@property (nonatomic, copy) NSNumber * _Nonnull returnValue MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5068,17 +5070,17 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestStructArrayArgumentResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSArray * _Nonnull arg1;
+@property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nonnull arg2;
+@property (nonatomic, copy) NSArray * _Nonnull arg2 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nonnull arg3;
+@property (nonatomic, copy) NSArray * _Nonnull arg3 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nonnull arg4;
+@property (nonatomic, copy) NSArray * _Nonnull arg4 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg5;
+@property (nonatomic, copy) NSNumber * _Nonnull arg5 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg6;
+@property (nonatomic, copy) NSNumber * _Nonnull arg6 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5104,9 +5106,9 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestAddArgumentsParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg1;
+@property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg2;
+@property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5131,7 +5133,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListInt8UReverseResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSArray * _Nonnull arg1;
+@property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5157,7 +5159,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestSimpleArgumentRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg1;
+@property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5182,9 +5184,9 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEnumsResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg1;
+@property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg2;
+@property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5210,17 +5212,17 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestStructArrayArgumentRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSArray * _Nonnull arg1;
+@property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nonnull arg2;
+@property (nonatomic, copy) NSArray * _Nonnull arg2 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nonnull arg3;
+@property (nonatomic, copy) NSArray * _Nonnull arg3 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nonnull arg4;
+@property (nonatomic, copy) NSArray * _Nonnull arg4 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg5;
+@property (nonatomic, copy) NSNumber * _Nonnull arg5 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg6;
+@property (nonatomic, copy) NSNumber * _Nonnull arg6 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5245,13 +5247,13 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestNullableOptionalResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull wasPresent;
+@property (nonatomic, copy) NSNumber * _Nonnull wasPresent MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable wasNull;
+@property (nonatomic, copy) NSNumber * _Nullable wasNull MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable value;
+@property (nonatomic, copy) NSNumber * _Nullable value MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable originalValue;
+@property (nonatomic, copy) NSNumber * _Nullable originalValue MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5277,7 +5279,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestStructArgumentRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5302,61 +5304,61 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestComplexNullableOptionalResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull nullableIntWasNull;
+@property (nonatomic, copy) NSNumber * _Nonnull nullableIntWasNull MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable nullableIntValue;
+@property (nonatomic, copy) NSNumber * _Nullable nullableIntValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull optionalIntWasPresent;
+@property (nonatomic, copy) NSNumber * _Nonnull optionalIntWasPresent MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable optionalIntValue;
+@property (nonatomic, copy) NSNumber * _Nullable optionalIntValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalIntWasPresent;
+@property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalIntWasPresent MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalIntWasNull;
+@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalIntWasNull MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalIntValue;
+@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalIntValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull nullableStringWasNull;
+@property (nonatomic, copy) NSNumber * _Nonnull nullableStringWasNull MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSString * _Nullable nullableStringValue;
+@property (nonatomic, copy) NSString * _Nullable nullableStringValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull optionalStringWasPresent;
+@property (nonatomic, copy) NSNumber * _Nonnull optionalStringWasPresent MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSString * _Nullable optionalStringValue;
+@property (nonatomic, copy) NSString * _Nullable optionalStringValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalStringWasPresent;
+@property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalStringWasPresent MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalStringWasNull;
+@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalStringWasNull MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSString * _Nullable nullableOptionalStringValue;
+@property (nonatomic, copy) NSString * _Nullable nullableOptionalStringValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull nullableStructWasNull;
+@property (nonatomic, copy) NSNumber * _Nonnull nullableStructWasNull MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableStructValue;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableStructValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull optionalStructWasPresent;
+@property (nonatomic, copy) NSNumber * _Nonnull optionalStructWasPresent MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable optionalStructValue;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable optionalStructValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalStructWasPresent;
+@property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalStructWasPresent MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalStructWasNull;
+@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalStructWasNull MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableOptionalStructValue;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableOptionalStructValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull nullableListWasNull;
+@property (nonatomic, copy) NSNumber * _Nonnull nullableListWasNull MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nullable nullableListValue;
+@property (nonatomic, copy) NSArray * _Nullable nullableListValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull optionalListWasPresent;
+@property (nonatomic, copy) NSNumber * _Nonnull optionalListWasPresent MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nullable optionalListValue;
+@property (nonatomic, copy) NSArray * _Nullable optionalListValue MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalListWasPresent;
+@property (nonatomic, copy) NSNumber * _Nonnull nullableOptionalListWasPresent MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalListWasNull;
+@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalListWasNull MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nullable nullableOptionalListValue;
+@property (nonatomic, copy) NSArray * _Nullable nullableOptionalListValue MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5383,7 +5385,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestNestedStructArgumentRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) MTRUnitTestingClusterNestedStruct * _Nonnull arg1;
+@property (nonatomic, copy) MTRUnitTestingClusterNestedStruct * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5408,7 +5410,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterBooleanResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull value;
+@property (nonatomic, copy) NSNumber * _Nonnull value MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5434,7 +5436,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListStructArgumentRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSArray * _Nonnull arg1;
+@property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5459,7 +5461,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterSimpleStructResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5485,7 +5487,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListInt8UArgumentRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSArray * _Nonnull arg1;
+@property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5510,7 +5512,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEmitTestEventResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull value;
+@property (nonatomic, copy) NSNumber * _Nonnull value MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5536,7 +5538,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestNestedStructListArgumentRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) MTRUnitTestingClusterNestedStructList * _Nonnull arg1;
+@property (nonatomic, copy) MTRUnitTestingClusterNestedStructList * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5562,7 +5564,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEmitTestFabricScopedEventResponseParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull value;
+@property (nonatomic, copy) NSNumber * _Nonnull value MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5589,7 +5591,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListNestedStructListArgumentRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSArray * _Nonnull arg1;
+@property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5615,7 +5617,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListInt8UReverseRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSArray * _Nonnull arg1;
+@property (nonatomic, copy) NSArray * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5640,9 +5642,9 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEnumsRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg1;
+@property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg2;
+@property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5667,7 +5669,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestNullableOptionalRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nullable arg1;
+@property (nonatomic, copy) NSNumber * _Nullable arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5692,29 +5694,29 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestComplexNullableOptionalRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nullable nullableInt;
+@property (nonatomic, copy) NSNumber * _Nullable nullableInt MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable optionalInt;
+@property (nonatomic, copy) NSNumber * _Nullable optionalInt MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalInt;
+@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalInt MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSString * _Nullable nullableString;
+@property (nonatomic, copy) NSString * _Nullable nullableString MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSString * _Nullable optionalString;
+@property (nonatomic, copy) NSString * _Nullable optionalString MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSString * _Nullable nullableOptionalString;
+@property (nonatomic, copy) NSString * _Nullable nullableOptionalString MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableStruct;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableStruct MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable optionalStruct;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable optionalStruct MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableOptionalStruct;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableOptionalStruct MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nullable nullableList;
+@property (nonatomic, copy) NSArray * _Nullable nullableList MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nullable optionalList;
+@property (nonatomic, copy) NSArray * _Nullable optionalList MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSArray * _Nullable nullableOptionalList;
+@property (nonatomic, copy) NSArray * _Nullable nullableOptionalList MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5740,7 +5742,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterSimpleStructEchoRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5788,7 +5790,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestSimpleOptionalArgumentRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nullable arg1;
+@property (nonatomic, copy) NSNumber * _Nullable arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5814,11 +5816,11 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEmitTestEventRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg1;
+@property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg2;
+@property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_NEWLY_AVAILABLE;
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg3;
+@property (nonatomic, copy) NSNumber * _Nonnull arg3 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
@@ -5843,7 +5845,7 @@
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEmitTestFabricScopedEventRequestParams : NSObject <NSCopying>
 
-@property (nonatomic, copy) NSNumber * _Nonnull arg1;
+@property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
 /**
  * Controls whether the command is a timed command (using Timed Invoke).
  *
diff --git a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
index 397f744..e6235b6 100644
--- a/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
+++ b/src/darwin/Framework/CHIP/zap-generated/MTRStructsObjc.h
@@ -31,13 +31,14 @@
 
 API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2))
 @interface MTRDescriptorClusterDeviceTypeStruct : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull type;
-@property (nonatomic, copy) NSNumber * _Nonnull revision;
+@property (nonatomic, copy) NSNumber * _Nonnull type API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2));
+@property (nonatomic, copy) NSNumber * _Nonnull revision API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2));
 @end
 
+MTR_NEWLY_DEPRECATED("Please use MTRDescriptorClusterDeviceTypeStruct")
 @interface MTRDescriptorClusterDeviceType : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull type;
-@property (nonatomic, copy) NSNumber * _Nonnull revision;
+@property (nonatomic, copy) NSNumber * _Nonnull type MTR_NEWLY_DEPRECATED("Please use MTRDescriptorClusterDeviceTypeStruct");
+@property (nonatomic, copy) NSNumber * _Nonnull revision MTR_NEWLY_DEPRECATED("Please use MTRDescriptorClusterDeviceTypeStruct");
 @end
 
 @interface MTRBindingClusterTargetStruct : NSObject <NSCopying>
@@ -134,9 +135,9 @@
 
 MTR_NEWLY_AVAILABLE
 @interface MTROTASoftwareUpdateRequestorClusterProviderLocation : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull providerNodeID;
-@property (nonatomic, copy) NSNumber * _Nonnull endpoint;
-@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex;
+@property (nonatomic, copy) NSNumber * _Nonnull providerNodeID MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull endpoint MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateRequestorClusterProviderLocation")
@@ -145,10 +146,10 @@
 
 MTR_NEWLY_AVAILABLE
 @interface MTROTASoftwareUpdateRequestorClusterStateTransitionEvent : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull previousState;
-@property (nonatomic, copy, getter=getNewState) NSNumber * _Nonnull newState;
-@property (nonatomic, copy) NSNumber * _Nonnull reason;
-@property (nonatomic, copy) NSNumber * _Nullable targetSoftwareVersion;
+@property (nonatomic, copy) NSNumber * _Nonnull previousState MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy, getter=getNewState) NSNumber * _Nonnull newState MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull reason MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nullable targetSoftwareVersion MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateRequestorClusterStateTransitionEvent")
@@ -157,8 +158,8 @@
 
 MTR_NEWLY_AVAILABLE
 @interface MTROTASoftwareUpdateRequestorClusterVersionAppliedEvent : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull softwareVersion;
-@property (nonatomic, copy) NSNumber * _Nonnull productID;
+@property (nonatomic, copy) NSNumber * _Nonnull softwareVersion MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull productID MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateRequestorClusterVersionAppliedEvent")
@@ -167,10 +168,10 @@
 
 MTR_NEWLY_AVAILABLE
 @interface MTROTASoftwareUpdateRequestorClusterDownloadErrorEvent : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull softwareVersion;
-@property (nonatomic, copy) NSNumber * _Nonnull bytesDownloaded;
-@property (nonatomic, copy) NSNumber * _Nullable progressPercent;
-@property (nonatomic, copy) NSNumber * _Nullable platformCode;
+@property (nonatomic, copy) NSNumber * _Nonnull softwareVersion MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull bytesDownloaded MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nullable progressPercent MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nullable platformCode MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTROTASoftwareUpdateRequestorClusterDownloadErrorEvent")
@@ -647,22 +648,23 @@
 @property (nonatomic, copy) NSString * _Nonnull applicationId;
 @end
 
+MTR_NEWLY_AVAILABLE
 @interface MTRClientMonitoringClusterMonitoringRegistration : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull clientNodeId;
-@property (nonatomic, copy) NSNumber * _Nonnull iCid;
-@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex;
+@property (nonatomic, copy) NSNumber * _Nonnull clientNodeId MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull iCid MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterSimpleStruct : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull a;
-@property (nonatomic, copy) NSNumber * _Nonnull b;
-@property (nonatomic, copy) NSNumber * _Nonnull c;
-@property (nonatomic, copy) NSData * _Nonnull d;
-@property (nonatomic, copy) NSString * _Nonnull e;
-@property (nonatomic, copy) NSNumber * _Nonnull f;
-@property (nonatomic, copy) NSNumber * _Nonnull g;
-@property (nonatomic, copy) NSNumber * _Nonnull h;
+@property (nonatomic, copy) NSNumber * _Nonnull a MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull b MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull c MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSData * _Nonnull d MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSString * _Nonnull e MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull f MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull g MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull h MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterSimpleStruct")
@@ -670,14 +672,14 @@
 @end
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestFabricScoped : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull fabricSensitiveInt8u;
-@property (nonatomic, copy) NSNumber * _Nullable optionalFabricSensitiveInt8u;
-@property (nonatomic, copy) NSNumber * _Nullable nullableFabricSensitiveInt8u;
-@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalFabricSensitiveInt8u;
-@property (nonatomic, copy) NSString * _Nonnull fabricSensitiveCharString;
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull fabricSensitiveStruct;
-@property (nonatomic, copy) NSArray * _Nonnull fabricSensitiveInt8uList;
-@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex;
+@property (nonatomic, copy) NSNumber * _Nonnull fabricSensitiveInt8u MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nullable optionalFabricSensitiveInt8u MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nullable nullableFabricSensitiveInt8u MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalFabricSensitiveInt8u MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSString * _Nonnull fabricSensitiveCharString MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull fabricSensitiveStruct MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nonnull fabricSensitiveInt8uList MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestFabricScoped")
@@ -685,18 +687,18 @@
 @end
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterNullablesAndOptionalsStruct : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nullable nullableInt;
-@property (nonatomic, copy) NSNumber * _Nullable optionalInt;
-@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalInt;
-@property (nonatomic, copy) NSString * _Nullable nullableString;
-@property (nonatomic, copy) NSString * _Nullable optionalString;
-@property (nonatomic, copy) NSString * _Nullable nullableOptionalString;
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableStruct;
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable optionalStruct;
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableOptionalStruct;
-@property (nonatomic, copy) NSArray * _Nullable nullableList;
-@property (nonatomic, copy) NSArray * _Nullable optionalList;
-@property (nonatomic, copy) NSArray * _Nullable nullableOptionalList;
+@property (nonatomic, copy) NSNumber * _Nullable nullableInt MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nullable optionalInt MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nullable nullableOptionalInt MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSString * _Nullable nullableString MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSString * _Nullable optionalString MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSString * _Nullable nullableOptionalString MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableStruct MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable optionalStruct MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nullable nullableOptionalStruct MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nullable nullableList MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nullable optionalList MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nullable nullableOptionalList MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterNullablesAndOptionalsStruct")
@@ -704,9 +706,9 @@
 @end
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterNestedStruct : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull a;
-@property (nonatomic, copy) NSNumber * _Nonnull b;
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull c;
+@property (nonatomic, copy) NSNumber * _Nonnull a MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull b MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull c MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterNestedStruct")
@@ -714,13 +716,13 @@
 @end
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterNestedStructList : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull a;
-@property (nonatomic, copy) NSNumber * _Nonnull b;
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull c;
-@property (nonatomic, copy) NSArray * _Nonnull d;
-@property (nonatomic, copy) NSArray * _Nonnull e;
-@property (nonatomic, copy) NSArray * _Nonnull f;
-@property (nonatomic, copy) NSArray * _Nonnull g;
+@property (nonatomic, copy) NSNumber * _Nonnull a MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull b MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull c MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nonnull d MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nonnull e MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nonnull f MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nonnull g MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterNestedStructList")
@@ -728,7 +730,7 @@
 @end
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterDoubleNestedStructList : NSObject <NSCopying>
-@property (nonatomic, copy) NSArray * _Nonnull a;
+@property (nonatomic, copy) NSArray * _Nonnull a MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterDoubleNestedStructList")
@@ -736,8 +738,8 @@
 @end
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestListStructOctet : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull member1;
-@property (nonatomic, copy) NSData * _Nonnull member2;
+@property (nonatomic, copy) NSNumber * _Nonnull member1 MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSData * _Nonnull member2 MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestListStructOctet")
@@ -746,12 +748,12 @@
 
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestEventEvent : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull arg1;
-@property (nonatomic, copy) NSNumber * _Nonnull arg2;
-@property (nonatomic, copy) NSNumber * _Nonnull arg3;
-@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg4;
-@property (nonatomic, copy) NSArray * _Nonnull arg5;
-@property (nonatomic, copy) NSArray * _Nonnull arg6;
+@property (nonatomic, copy) NSNumber * _Nonnull arg1 MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull arg2 MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSNumber * _Nonnull arg3 MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) MTRUnitTestingClusterSimpleStruct * _Nonnull arg4 MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nonnull arg5 MTR_NEWLY_AVAILABLE;
+@property (nonatomic, copy) NSArray * _Nonnull arg6 MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestEventEvent")
@@ -760,7 +762,7 @@
 
 MTR_NEWLY_AVAILABLE
 @interface MTRUnitTestingClusterTestFabricScopedEventEvent : NSObject <NSCopying>
-@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex;
+@property (nonatomic, copy) NSNumber * _Nonnull fabricIndex MTR_NEWLY_AVAILABLE;
 @end
 
 MTR_NEWLY_DEPRECATED("Please use MTRUnitTestingClusterTestFabricScopedEventEvent")
