Auto-generate availability annotations for Darwin. (#24071)

* Auto-generate availability annotations for Darwin.

The changes to the generated code are as follows:

* MTRBaseClusters.h:
  * Some newlines after MTR_NEWLY_AVAILABLE were removed.  This led to a
    smaller diff than adding blank lines in all the places that do not use
    MTR_NEWLY_AVAILABLE.  The newlines will return once we add availability
    annotations to everything we shipped in the initial Matter release, in a
    followup.
  * MTRLevelControlOptions gained the availability annotation it was missing.
  * Enum and bitmap values now have availability annotations.
* MTRClusterConstants.h:
  * ClientMonitoring bits that should not have been generated (because it was
    added after we made the API changes that those bits are backwards compat
    shims for) were removed.
  * The availability annotations on
    MTRClusterDescriptorAttributeDeviceTypeListID got reordered (because the
    new autogenerated things put API_AVAILABLE before the deprecation
    annotation).
* MTRClusters.h:
  * Some newlines after MTR_NEWLY_AVAILABLE were removed, similar to
    MTRBaseClusters.h.
  * Various selectors on clusters that have been newly added (e.g. due to
    renames) now have the right availability annotations.  Most of the diff
    here is from the UnitTesting cluster.
  * Some typos in deprecation messages ("writeAtribute" instead of
    "writeAttribute" were fixed).
* MTRCommandPayloadsObjc.h
  * Commands fields now have availability annotations.
  * MTRClientMonitoringClusterRegisterClientMonitoringParams and
    MTRClientMonitoringClusterStayAwakeRequestParams gained the availability
    annotation they were missing.
* MTRStructsObjc.h
  * Struct fields now have availability annotations.
  * Deprecation annotation added to MTRDescriptorClusterDeviceType.
  * MTRClientMonitoringClusterMonitoringRegistration gained the availability
    annotation it was missing.

* Fixes https://github.com/project-chip/connectedhomeip/issues/23880
* Fixes https://github.com/project-chip/connectedhomeip/issues/23680

* Address review comments:

* Put the availability data filename in templates.json.
* Deprecation of a container should deprecate all its contents.

* Add renames as well.

* Update to containers with newer ZAP.
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")