# 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.
#   * "command payloads": Lists commands only, if we introduced the payload without
#                         actually exposing API for the command.
#   * "global attributes": An array of names of global attributes.
#   * "apis": An array of API labels that codegen can use.
#
# * "renames": Can contain clusters, attributes, etc as described
#              above for "introduced" and "deprecated", with the one
#              difference that instead of an array the value is a hash
#              with new names as keys and old names as values.
#
# * "removed": Can contain clusters, commands, attributes, etc as described
#              above for "introduced" and "deprecated".  Items can be removed
#              without ever being introduced, if they are added to the XML but
#              we have never shipped generated APIs for them.
#              NOTE: support for "removed" may not be complete in the templates.
#              Please examine codegen carefully when using "removed" to make
#              sure all the things that should have been removed have been.
#
# * "swiftUnavailable": Can contain clusters, commands, attributes, etc as
#                       described above for "introduced" and "deprecated".  This
#                       can be used to mark APIs with NS_SWIFT_UNAVAILABLE,
#                       typically when an API was renamed between two names that
#                       map to the same Swift name and then both names were
#                       deprecated.
#
# * "provisional": Can contain clusters, commands, attributes, etc as described
#                  above for "introduced" and "deprecated".  Items can be
#                  defined as provisional to prevent code generation for them.
#                  If they are then listed as introduced in a release that is
#                  later than the one where they were marked provisional,
#                  they will start being code-generated.
#                  NOTE: support for "provisional" may not be complete in the
#                  templates. Please examine codegen carefully when using
#                  "provisional" to make sure all the things that should have
#                  been omitted have been.

- release: "Initial release"
  versions:
      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
              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:
              # EffectIdentifierEnum, EffectVariantEnum, and IdentifyTypeEnum
              # were originally named IdentifyEffectIdentifier,
              # IdentifyEffectVariant, and IdentifyIdentifyType, but we generate
              # the same API for the names with/without "Enum" at the end, and
              # with/without the cluster name at the beginning, so the name can
              # just change here.
              - EffectIdentifierEnum
              - EffectVariantEnum
              - IdentifyTypeEnum
          OnOff:
              # DelayedOnOffEffectVariantEnum, DyingLightEffectVariantEnum,
              # EffectIdentifierEnum, and StartUpOnOffEnum were originally named
              # OnOffDelayedAllOffEffectVariant,
              # OnOffDelayedAllOffEffectVariant, OnOffEffectIdentifier, and
              # OnOffStartUpOnOff, but we generate the same API for the names
              # with/without "Enum" at the end, and with/without the cluster
              # name at the beginning, so the name can just change here.
              - DelayedAllOffEffectVariantEnum
              - DyingLightEffectVariantEnum
              - EffectIdentifierEnum
              - StartUpOnOffEnum
          LevelControl:
              # MoveModeEnum and StepModeEnum were originally named MoveMode and
              # StepMode, but we generate the same API for the names
              # with/without "Enum" at the end, and with/without the cluster
              # name at the beginning, so the name can just change here.
              - MoveModeEnum
              - StepModeEnum
          AccessControl:
              - AuthMode
              - ChangeTypeEnum
              - Privilege
          Actions:
              - ActionErrorEnum
              - ActionStateEnum
              - ActionTypeEnum
              - EndpointListTypeEnum
          OtaSoftwareUpdateProvider:
              - OTAApplyUpdateAction
              - OTADownloadProtocol
              - OTAQueryStatus
          OtaSoftwareUpdateRequestor:
              - OTAAnnouncementReason
              - OTAChangeReasonEnum
              - OTAUpdateStateEnum
          TimeFormatLocalization:
              # CalendarTypeEnum and HourFormatEnum were originally just named
              # CalendarType and HourFormat, but we generate the same API for
              # the names with/without "Enum" at the end, so the name can just
              # change here.
              - CalendarTypeEnum
              - HourFormatEnum
          UnitLocalization:
              # TempUnitEnum was originally just named TempUnit, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - TempUnitEnum
          PowerSource:
              # All the PowerSource enums originally did not have the "Enum"
              # suffix, but we generate the same API whether that suffix is
              # there or not, so the names can just change here.
              - BatChargeFaultEnum
              - BatChargeLevelEnum
              - BatChargeStateEnum
              - BatFaultEnum
              - BatReplaceabilityEnum
              - PowerSourceStatusEnum
              - WiredCurrentTypeEnum
              - WiredFaultEnum
          GeneralCommissioning:
              # CommissioningErrorEnum was originally just named
              # CommissioningError, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              - CommissioningErrorEnum
              # RegulatoryLocationTypeEnum was originally just named
              # RegulatoryLocationType, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              - RegulatoryLocationTypeEnum
          NetworkCommissioning:
              # NetworkCommissioningStatusEnum and WiFiBandEnum were originally
              # just named NetworkCommissioningStatus and WiFiBand, but we
              # generate the same API for both of those names, so the name can
              # just change here.
              - NetworkCommissioningStatusEnum
              - WiFiBandEnum
          DiagnosticLogs:
              - LogsIntent
              - LogsStatus
              - LogsTransferProtocol
          GeneralDiagnostics:
              - BootReasonType
              - HardwareFaultType
              # InterfaceTypeEnum was originally just named InterfaceType, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - InterfaceTypeEnum
              - NetworkFaultType
              - RadioFaultType
          ThreadNetworkDiagnostics:
              # NetworkFaultEnum and RoutingRoleEnum were originally just named
              # NetworkFault and RoutingRole, but we generate the same API for
              # both of those names, so the name can just change here.
              - NetworkFaultEnum
              - RoutingRoleEnum
              - ThreadConnectionStatus
          WiFiNetworkDiagnostics:
              # AssociationFailureCauseEnum was originally just named
              # AssociationFailureCause, but we generate the same API for both
              # of those names, so the name can just change here.
              - AssociationFailureCauseEnum
              # SecurityTypeEnum was originally just named SecurityType, but we
              # generate the same API for both of those names, so the name can
              # just change here.
              - SecurityTypeEnum
              - WiFiConnectionStatus
              - WiFiVersionType
          EthernetNetworkDiagnostics:
              - PHYRateType
          TimeSynchronization:
              - GranularityEnum
              - TimeSourceEnum
          AdministratorCommissioning:
              # CommissioningWindowStatusEnum was originally just named
              # CommissioningWindowStatus, but we generate the same API for both
              # of those names, so the name can just change here.
              - CommissioningWindowStatusEnum
              - StatusCode
          OperationalCredentials:
              - OperationalCertStatus
          GroupKeyManagement:
              # GroupKeySecurityPolicyEnum was originally just named
              # GroupKeySecurityPolicy, but we generate the same API for both of
              # those names, so the name can just change here.
              - GroupKeySecurityPolicyEnum
          DoorLock:
              - DlAlarmCode
              - DlCredentialRule
              - DlCredentialType
              - DlDataOperationType
              - DlDoorState
              - DlLockDataType
              - DlLockOperationType
              - DlLockState
              - DlLockType
              - DlOperatingMode
              - DlOperationError
              - DlOperationSource
              - DlStatus
              - DlUserStatus
              - DlUserType
              - DoorLockOperationEventCode
              - DoorLockProgrammingEventCode
              - DoorLockSetPinOrIdStatus
              - DoorLockUserStatus
              - DoorLockUserType
              # UserTypeEnum and UserStatusEnum use the same generated name as
              # DoorLockUserStatus and DoorLockUserType, so need to be
              # considered as introduced at the same time.
              - UserStatusEnum
              - UserTypeEnum
          WindowCovering:
              - EndProductType
              - Type
          PumpConfigurationAndControl:
              - PumpControlMode
              - PumpOperationMode
          Thermostat:
              - SetpointAdjustMode
              - ThermostatControlSequence
              # ThermostatRunningModeEnum was originally named
              # ThermostatRunningMode, but we generate the same API for the
              # names with/without "Enum" at the end, so the name can just
              # change here.
              - ThermostatRunningModeEnum
              # SystemModeEnum was originally named ThermostatSystemMode, but we
              # generate the same API for the names with/without "Enum" at the
              # end and the cluster name present/absent at the beginning, so the
              # name can just change here.
              - SystemModeEnum
          FanControl:
              - FanModeSequenceType
              - FanModeType
          ColorControl:
              - ColorLoopAction
              - ColorLoopDirection
              - ColorMode
              - HueDirection
              - HueMoveMode
              - HueStepMode
              - SaturationMoveMode
              - SaturationStepMode
          IlluminanceMeasurement:
              # LightSensorTypeEnum was originally named LightSensorType, but we
              # generate the same API for the names with/without "Enum" at the
              # end, so the name can just change here.
              - LightSensorTypeEnum
          Channel:
              # StatusEnum was originally named ChannelStatusEnum, but we
              # generate the same API for the names with/without the cluster
              # name at the beginning, so the name can just change here.
              - StatusEnum
              - LineupInfoTypeEnum
          TargetNavigator:
              # StatusEnum was originally named TargetNavigatorStatusEnum, but
              # we generate the same API for the names with/without the cluster
              # name at the beginning, so the name can just change here.
              - StatusEnum
          MediaPlayback:
              # StatusEnum was originally named MediaPlaybackStatusEnum, but we
              # generate the same API for the names with/without the cluster
              # name at the beginning, so the name can just change here.
              - StatusEnum
              - PlaybackStateEnum
          MediaInput:
              - InputTypeEnum
          KeypadInput:
              - CecKeyCode
              # StatusEnum was originally named KeypadInputStatusEnum, but we
              # generate the same API for the names with/without the cluster
              # name at the beginning, so the name can just change here.
              - StatusEnum
          ContentLauncher:
              - ContentLaunchStatusEnum
              - MetricTypeEnum
              - ParameterEnum
          AudioOutput:
              - OutputTypeEnum
          ApplicationLauncher:
              # StatusEnum was originally named ApplicationLauncherStatusEnum, but we
              # generate the same API for the names with/without the cluster name at the
              # beginning, so the name can just change here.
              - StatusEnum
          ApplicationBasic:
              - ApplicationStatusEnum
          TestCluster:
              - SimpleEnum
          FaultInjection:
              - FaultType
      enum values:
          Identify:
              # EffectIdentifierEnum, EffectVariantEnum, and IdentifyTypeEnum
              # were originally named IdentifyEffectIdentifier,
              # IdentifyEffectVariant, and IdentifyIdentifyType, but we generate
              # the same API for the names with/without "Enum" at the end, and
              # with/without the cluster name at the beginning, so the name can
              # just change here.
              EffectIdentifierEnum:
                  - Blink
                  - Breathe
                  - Okay
                  - ChannelChange
                  - FinishEffect
                  - StopEffect
              EffectVariantEnum:
                  - Default
              IdentifyTypeEnum:
                  - None
                  - VisibleLight
                  - VisibleLED
                  - AudibleBeep
                  - Display
                  - Actuator
          OnOff:
              # DelayedOnOffEffectVariantEnum, DyingLightEffectVariantEnum,
              # EffectIdentifierEnum, and StartUpOnOffEnum were originally named
              # OnOffDelayedAllOffEffectVariant,
              # OnOffDelayedAllOffEffectVariant, OnOffEffectIdentifier, and
              # OnOffStartUpOnOff, but we generate the same API for the names
              # with/without "Enum" at the end, and with/without the cluster
              # name at the beginning, so the name can just change here.
              DelayedAllOffEffectVariantEnum:
                  - FadeToOffIn0p8Seconds
                  - NoFade
                  - 50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds
              DyingLightEffectVariantEnum:
                  - 20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second
              EffectIdentifierEnum:
                  - DelayedAllOff
                  - DyingLight
              StartUpOnOffEnum:
                  - Off
                  - On
                  - TogglePreviousOnOff
          LevelControl:
              # MoveModeEnum and StepModeEnum were originally named MoveMode and
              # StepMode, but we generate the same API for the names
              # with/without "Enum" at the end, and with/without the cluster
              # name at the beginning, so the name can just change here.
              MoveModeEnum:
                  - Up
                  - Down
              StepModeEnum:
                  - 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:
              # CalendarTypeEnum and HourFormatEnum were originally just named
              # CalendarType and HourFormat, but we generate the same API for
              # the names with/without "Enum" at the end, so the name can just
              # change here.
              CalendarTypeEnum:
                  - Buddhist
                  - Chinese
                  - Coptic
                  - Ethiopian
                  - Gregorian
                  - Hebrew
                  - Indian
                  - Islamic
                  - Japanese
                  - Korean
                  - Persian
                  - Taiwanese
              HourFormatEnum:
                  - 12hr
                  - 24hr
          UnitLocalization:
              # TempUnitEnum was originally just named TempUnit, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              TempUnitEnum:
                  - Fahrenheit
                  - Celsius
                  - Kelvin
          PowerSource:
              # All the PowerSource enums originally did not have the "Enum"
              # suffix, but we generate the same API whether that suffix is
              # there or not, so the names can just change here.
              BatChargeFaultEnum:
                  - Unspecfied
                  - AmbientTooHot
                  - AmbientTooCold
                  - BatteryTooHot
                  - BatteryTooCold
                  - BatteryAbsent
                  - BatteryOverVoltage
                  - BatteryUnderVoltage
                  - ChargerOverVoltage
                  - ChargerUnderVoltage
                  - SafetyTimeout
              BatChargeLevelEnum:
                  - Ok
                  - Warning
                  - Critical
              BatChargeStateEnum:
                  - Unknown
                  - IsCharging
                  - IsAtFullCharge
                  - IsNotCharging
              BatFaultEnum:
                  - Unspecfied
                  - OverTemp
                  - UnderTemp
              BatReplaceabilityEnum:
                  - Unspecified
                  - NotReplaceable
                  - UserReplaceable
                  - FactoryReplaceable
              PowerSourceStatusEnum:
                  - Unspecfied
                  - Active
                  - Standby
                  - Unavailable
              WiredCurrentTypeEnum:
                  - AC
                  - DC
              WiredFaultEnum:
                  - Unspecfied
                  - OverVoltage
                  - UnderVoltage
          GeneralCommissioning:
              # CommissioningErrorEnum was originally just named
              # CommissioningError, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              CommissioningErrorEnum:
                  - Ok
                  - ValueOutsideRange
                  - InvalidAuthentication
                  - NoFailSafe
                  - BusyWithOtherAdmin
              # RegulatoryLocationTypeEnum was originally just named
              # RegulatoryLocationType, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              RegulatoryLocationTypeEnum:
                  - Indoor
                  - Outdoor
                  - IndoorOutdoor
          NetworkCommissioning:
              # NetworkCommissioningStatusEnum and WiFiBandEnum were originally
              # just named NetworkCommissioningStatus and WiFiBand, but we
              # generate the same API for both of those names, so the name can
              # just change here.
              NetworkCommissioningStatusEnum:
                  - Success
                  - OutOfRange
                  - BoundsExceeded
                  - NetworkIDNotFound
                  - DuplicateNetworkID
                  - NetworkNotFound
                  - RegulatoryError
                  - AuthFailure
                  - UnsupportedSecurity
                  - OtherConnectionFailure
                  - IPV6Failed
                  - IPBindFailed
                  - UnknownError
              WiFiBandEnum:
                  - 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
              # InterfaceTypeEnum was originally just named InterfaceType, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              InterfaceTypeEnum:
                  - Unspecified
                  - WiFi
                  - Ethernet
                  - Cellular
                  - Thread
              NetworkFaultType:
                  - Unspecified
                  - HardwareFailure
                  - NetworkJammed
                  - ConnectionFailed
              RadioFaultType:
                  - Unspecified
                  - WiFiFault
                  - CellularFault
                  - ThreadFault
                  - NFCFault
                  - BLEFault
                  - EthernetFault
          ThreadNetworkDiagnostics:
              # NetworkFaultEnum and RoutingRoleEnum were originally just named
              # NetworkFault and RoutingRole, but we generate the same API for
              # both of those names, so the name can just change here.
              NetworkFaultEnum:
                  - Unspecified
                  - LinkDown
                  - HardwareFailure
                  - NetworkJammed
              RoutingRoleEnum:
                  - Unspecified
                  - Unassigned
                  - SleepyEndDevice
                  - EndDevice
                  - REED
                  - Router
                  - Leader
              ThreadConnectionStatus:
                  - Connected
                  - NotConnected
          WiFiNetworkDiagnostics:
              # AssociationFailureCauseEnum was originally just named
              # AssociationFailureCause, but we generate the same API for both
              # of those names, so the name can just change here.
              AssociationFailureCauseEnum:
                  - Unknown
                  - AssociationFailed
                  - AuthenticationFailed
                  - SsidNotFound
              # SecurityTypeEnum was originally just named SecurityType, but we
              # generate the same API for both of those names, so the name can
              # just change here.
              SecurityTypeEnum:
                  - 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:
              # CommissioningWindowStatusEnum was originally just named
              # CommissioningWindowStatus, but we generate the same API for both
              # of those names, so the name can just change here.
              CommissioningWindowStatusEnum:
                  - WindowNotOpen
                  - EnhancedWindowOpen
                  - BasicWindowOpen
              StatusCode:
                  - Busy
                  - PAKEParameterError
                  - WindowNotOpen
          OperationalCredentials:
              OperationalCertStatus:
                  - SUCCESS
                  - InvalidPublicKey
                  - InvalidNodeOpId
                  - InvalidNOC
                  - MissingCsr
                  - TableFull
                  - InvalidAdminSubject
                  - FabricConflict
                  - LabelConflict
                  - InvalidFabricIndex
          GroupKeyManagement:
              # GroupKeySecurityPolicyEnum was originally just named
              # GroupKeySecurityPolicy, but we generate the same API for both of
              # those names, so the name can just change here.
              GroupKeySecurityPolicyEnum:
                  - 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
              # UserTypeEnum and UserStatusEnum use the same generated name as
              # DoorLockUserStatus and DoorLockUserType, so need to be
              # considered as introduced at the same time, with the enum value
              # names that match DoorLockUserStatus and DoorLockUserType.
              UserStatusEnum:
                  - Available
                  - OccupiedEnabled
                  - OccupiedDisabled
                  - NotSupported
              UserTypeEnum:
                  - 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
              # ThermostatRunningModeEnum was originally named
              # ThermostatRunningMode, but we generate the same API for the
              # names with/without "Enum" at the end, so the name can just
              # change here.
              ThermostatRunningModeEnum:
                  - Off
                  - Cool
                  - Heat
              # SystemModeEnum was originally named ThermostatSystemMode, but we
              # generate the same API for the names with/without "Enum" at the
              # end and the cluster name present/absent at the beginning, so the
              # name can just change here.
              SystemModeEnum:
                  - 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:
              LightSensorTypeEnum:
                  - Photodiode
                  - CMOS
          Channel:
              # StatusEnum was originally named ChannelStatusEnum, but we
              # generate the same API for the names with/without the cluster
              # name at the beginning, so the name can just change here.
              StatusEnum:
                  - Success
                  - MultipleMatches
                  - NoMatches
              LineupInfoTypeEnum:
                  - Mso
          TargetNavigator:
              # StatusEnum was originally named TargetNavigatorStatusEnum, but
              # we generate the same API for the names with/without the cluster
              # name at the beginning, so the name can just change here.
              StatusEnum:
                  - Success
                  - TargetNotFound
                  - NotAllowed
          MediaPlayback:
              # StatusEnum was originally named MediaPlaybackStatusEnum, but we
              # generate the same API for the names with/without the cluster
              # name at the beginning, so the name can just change here.
              StatusEnum:
                  - 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
              # StatusEnum was originally named KeypadInputStatusEnum, but we
              # generate the same API for the names with/without the cluster
              # name at the beginning, so the name can just change here.
              StatusEnum:
                  - 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:
              # StatusEnum was originally named ApplicationLauncherStatusEnum, but we
              # generate the same API for the names with/without the cluster name at the
              # beginning, so the name can just change here.
              StatusEnum:
                  - Success
                  - AppNotAvailable
                  - SystemBusy
          ApplicationBasic:
              ApplicationStatusEnum:
                  - Stopped
                  - ActiveVisibleFocus
                  - ActiveHidden
                  - ActiveVisibleNotFocus
          TestCluster:
              SimpleEnum:
                  - Unspecified
                  - ValueA
                  - ValueB
                  - ValueC
      bitmaps:
          Groups:
              - GroupClusterFeature
          Scenes:
              - ScenesCopyMode
          OnOff:
              - OnOffControl
              # Feature was originally named OnOffFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          LevelControl:
              # Feature was originally named LevelControlFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          Actions:
              - CommandBits
          UnitLocalization:
              # Feature was originally named UnitLocalizationFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          PowerSource:
              # Feature was originally named PowerSourceFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          NetworkCommissioning:
              # Feature was originally named NetworkCommissioningFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
              - WiFiSecurity
          SoftwareDiagnostics:
              # Feature was originally named SoftwareDiagnosticsFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          ThreadNetworkDiagnostics:
              # Feature was originally named ThreadNetworkDiagnosticsFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          ModeSelect:
              # Feature was originally named ModeSelectFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          DoorLock:
              - DlCredentialRuleMask
              - DlCredentialRulesSupport
              - DlDaysMaskMap
              - DlDefaultConfigurationRegister
              - DlKeypadOperationEventMask
              - DlKeypadProgrammingEventMask
              - DlLocalProgrammingFeatures
              - DlManualOperationEventMask
              - DlRFIDOperationEventMask
              - DlRFIDProgrammingEventMask
              - DlRemoteOperationEventMask
              - DlRemoteProgrammingEventMask
              - DlSupportedOperatingModes
              - DoorLockDayOfWeek
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          WindowCovering:
              - ConfigStatus
              - Feature
              - Mode
              - OperationalStatus
              - SafetyStatus
          PumpConfigurationAndControl:
              - PumpStatus
          Thermostat:
              - DayOfWeek
              - ModeForSequence
              # Feature was originally named ThermostatFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          FanControl:
              # Feature was originally named FanControlFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - Feature
              - RockSupportMask
              - WindSettingMask
              - WindSupportMask
          ColorControl:
              - ColorCapabilities
              # Feature was originally named ColorControlFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
              - ColorLoopUpdateFlags
          PressureMeasurement:
              - PressureFeature
          Channel:
              # Feature was originally named ChannelFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          MediaInput:
              # Feature was originally named MediaInputFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          KeypadInput:
              # Feature was originally named KeypadInputFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          ContentLauncher:
              # Feature was originally named ContentLauncherFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
              - SupportedStreamingProtocol
          AudioOutput:
              # Feature was originally named AudioOutputFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - Feature
          ApplicationLauncher:
              # Feature was originally named ApplicationLauncherFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - Feature
          TestCluster:
              - Bitmap16MaskMap
              - Bitmap32MaskMap
              - Bitmap64MaskMap
              - Bitmap8MaskMap
              - SimpleBitmap
      bitmap values:
          Groups:
              GroupClusterFeature:
                  - GroupNames
          Scenes:
              ScenesCopyMode:
                  - CopyAllScenes
          OnOff:
              OnOffControl:
                  - AcceptOnlyWhenOn
              # Feature was originally named OnOffFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - Lighting
          LevelControl:
              # Feature was originally named LevelControlFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - OnOff
                  - Lighting
                  - Frequency
          Actions:
              CommandBits:
                  - InstantAction
                  - InstantActionWithTransition
                  - StartAction
                  - StartActionWithDuration
                  - StopAction
                  - PauseAction
                  - PauseActionWithDuration
                  - ResumeAction
                  - EnableAction
                  - EnableActionWithDuration
                  - DisableAction
                  - DisableActionWithDuration
          UnitLocalization:
              # Feature was originally named UnitLocalizationFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - TemperatureUnit
          PowerSource:
              # Feature was originally named PowerSourceFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - Wired
                  - Battery
                  - Rechargeable
                  - Replaceable
          NetworkCommissioning:
              # Feature was originally named NetworkCommissioningFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - WiFiNetworkInterface
                  - ThreadNetworkInterface
                  - EthernetNetworkInterface
              WiFiSecurity:
                  - Unencrypted
                  - WepPersonal
                  - WpaPersonal
                  - Wpa2Personal
                  - Wpa3Personal
          SoftwareDiagnostics:
              # Feature was originally named SoftwareDiagnosticsFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - WaterMarks
          ThreadNetworkDiagnostics:
              # Feature was originally named ThreadNetworkDiagnosticsFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - PacketCounts
                  - ErrorCounts
                  - MLECounts
                  - MACCounts
          ModeSelect:
              # Feature was originally named ModeSelectFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - 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
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - 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
              # Feature was originally named ThermostatFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - Heating
                  - Cooling
                  - Occupancy
                  - Schedule
                  - Setback
                  - Automode
          FanControl:
              # Feature was originally named FanControlFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              Feature:
                  - MultiSpeed
                  - Auto
                  - Rocking
                  - Wind
              RockSupportMask:
                  - RockLeftRight
                  - RockUpDown
                  - RockRound
              WindSettingMask:
                  - SleepWind
                  - NaturalWind
              WindSupportMask:
                  - SleepWind
                  - NaturalWind
          ColorControl:
              ColorCapabilities:
                  - HueSaturationSupported
                  - EnhancedHueSupported
                  - ColorLoopSupported
                  - XYAttributesSupported
                  - ColorTemperatureSupported
              # Feature was originally named ColorControlFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - HueAndSaturation
                  - EnhancedHue
                  - ColorLoop
                  - XY
                  - ColorTemperature
              ColorLoopUpdateFlags:
                  - UpdateAction
                  - UpdateDirection
                  - UpdateTime
                  - UpdateStartHue
          PressureMeasurement:
              PressureFeature:
                  - EXT
          Channel:
              # Feature was originally named ChannelFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - ChannelList
                  - LineupInfo
          MediaInput:
              # Feature was originally named MediaInputFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - NameUpdates
          KeypadInput:
              # Feature was originally named KeypadInputFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - NavigationKeyCodes
                  - LocationKeys
                  - NumberKeys
          ContentLauncher:
              # Feature was originally named ContentLauncherFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - ContentSearch
                  - URLPlayback
              SupportedStreamingProtocol:
                  - DASH
                  - HLS
          AudioOutput:
              # Feature was originally named AudioOutputFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              Feature:
                  - NameUpdates
          ApplicationLauncher:
              # Feature was originally named ApplicationLauncherFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              Feature:
                  - 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
          attributes:
              PulseWidthModulation:
                  - GeneratedCommandList
                  - AcceptedCommandList
                  - AttributeList
                  - FeatureMap
                  - ClusterRevision
              TimeSynchronization:
                  - GeneratedCommandList
                  - AcceptedCommandList
                  - AttributeList
                  - FeatureMap
                  - ClusterRevision
                  - UTCTime
                  - Granularity
                  - TimeSource
                  - TrustedTimeNodeId
                  - DefaultNtp
                  - TimeZone
                  - DstOffset
                  - LocalTime
                  - TimeZoneDatabase
                  - NtpServerPort
          commands:
              TimeSynchronization:
                  - SetUtcTime
      command payloads:
          TimeSynchronization:
              - SetUtcTime
      global attributes:
          - FeatureMap
          - ClusterRevision
          - AttributeList
          - GeneratedCommandList
          - AcceptedCommandList
      apis:
          - Timed Invoke for server to client commands
          - Deprecated global attribute names
  provisional:
      clusters:
          - PulseWidthModulation
          - TimeSynchronization

- 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:
              # Feature was originally named SwitchFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
          MediaPlayback:
              # Feature was originally named MediaPlaybackFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              - Feature
      bitmap values:
          Switch:
              # Feature was originally named SwitchFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - LatchingSwitch
                  - MomentarySwitch
                  - MomentarySwitchRelease
                  - MomentarySwitchLongPress
                  - MomentarySwitchMultiPress
          MediaPlayback:
              # Feature was originally named MediaPlaybackFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - AdvancedSeek
                  - VariableSpeed
      ids:
          attributes:
              Descriptor:
                  - DeviceTypeList
  renames:
      structs:
          Descriptor:
              DeviceTypeStruct: DeviceType

- release: "First major API revamp"
  versions:
      iOS: "16.4"
      macOS: "13.3"
      watchOS: "9.4"
      tvOS: "16.4"
  introduced:
      clusters:
          - OTASoftwareUpdateProvider
          - OTASoftwareUpdateRequestor
          - UnitTesting
          - WakeOnLAN
          - BasicInformation
          - BridgedDeviceBasicInformation
      attributes:
          Descriptor:
              # We really only started treating DeviceTypeList as DeviceTypeList in the API revamp,
              # except in the list of attribute ids.
              - DeviceTypeList
          AccessControl:
              - ACL
          BallastConfiguration:
              - IntrinsicBallastFactor
          OccupancySensing:
              - PIROccupiedToUnoccupiedDelay
              - PIRUnoccupiedToOccupiedDelay
              - PIRUnoccupiedToOccupiedThreshold
          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
          BasicInformation:
              - 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
          ThreadNetworkDiagnostics:
              - NeighborTable
              - RouteTable
          WiFiNetworkDiagnostics:
              - BSSID
              - RSSI
          GeneralDiagnostics:
              - BootReason
          BridgedDeviceBasicInformation:
              - VendorName
              - VendorID
              - ProductName
              - NodeLabel
              - HardwareVersion
              - HardwareVersionString
              - SoftwareVersion
              - SoftwareVersionString
              - ManufacturingDate
              - PartNumber
              - ProductURL
              - ProductLabel
              - SerialNumber
              - Reachable
              - UniqueID
              - 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
          ContentLauncher:
              - LauncherResponse
          MediaPlayback:
              - Stop
      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
                  # Next two were introduced and deprecated at the same time, effectively
                  - vendorId
                  - productId
              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
                  # Next two were introduced and deprecated at the same time, effectively
                  - providerNodeId
                  - vendorId
          Groups:
              AddGroup:
                  - groupID
              AddGroupIfIdentifying:
                  - groupID
              AddGroupResponse:
                  - groupID
              RemoveGroup:
                  - groupID
              RemoveGroupResponse:
                  - groupID
              ViewGroup:
                  - groupID
              ViewGroupResponse:
                  - groupID
          OnOff:
              OffWithEffect:
                  - effectIdentifier
          DiagnosticLogs:
              RetrieveLogsResponse:
                  - logContent
                  - utcTimeStamp
          AdministratorCommissioning:
              OpenCommissioningWindow:
                  - pakePasscodeVerifier
          OperationalCredentials:
              AttestationResponse:
                  - attestationSignature
              AddTrustedRootCertificate:
                  - rootCACertificate
          DoorLock:
              SetUser:
                  - userUniqueID
              GetUserResponse:
                  - userUniqueID
          ColorControl:
              MoveToColorTemperature:
                  - colorTemperatureMireds
          ContentLauncher:
              LauncherResponse:
                  - status
                  - data
          Scenes:
              AddScene:
                  - groupID
                  - sceneID
              ViewScene:
                  - groupID
                  - sceneID
              RemoveScene:
                  - groupID
                  - sceneID
              RemoveAllScenes:
                  - groupID
              StoreScene:
                  - groupID
                  - sceneID
              RecallScene:
                  - groupID
                  - sceneID
              GetSceneMembership:
                  - groupID
              EnhancedAddScene:
                  - groupID
                  - sceneID
              EnhancedViewScene:
                  - groupID
                  - sceneID
              CopyScene:
                  - groupIdentifierFrom
                  - sceneIdentifierFrom
                  - groupIdentifierTo
                  - sceneIdentifierTo
              AddSceneResponse:
                  - groupID
                  - sceneID
              ViewSceneResponse:
                  - groupID
                  - sceneID
              RemoveSceneResponse:
                  - groupID
                  - sceneID
              RemoveAllScenesResponse:
                  - groupID
              StoreSceneResponse:
                  - groupID
                  - sceneID
              GetSceneMembershipResponse:
                  - groupID
              EnhancedAddSceneResponse:
                  - groupID
                  - sceneID
              EnhancedViewSceneResponse:
                  - groupID
                  - sceneID
              CopySceneResponse:
                  - groupIdentifierFrom
                  - sceneIdentifierFrom
      structs:
          OTASoftwareUpdateRequestor:
              - ProviderLocation
          UnitTesting:
              - SimpleStruct
              - TestFabricScoped
              - NullablesAndOptionalsStruct
              - NestedStruct
              - NestedStructList
              - DoubleNestedStructList
              - TestListStructOctet
          BasicInformation:
              - CapabilityMinimaStruct
          AccessControl:
              - AccessControlEntryStruct
              - AccessControlExtensionStruct
          SoftwareDiagnostics:
              - ThreadMetricsStruct
          GeneralDiagnostics:
              - NetworkInterface
          ModeSelect:
              - SemanticTagStruct
          OperationalCredentials:
              - FabricDescriptorStruct
          DoorLock:
              - CredentialStruct
          MediaPlayback:
              - PlaybackPositionStruct
          TargetNavigator:
              - TargetInfoStruct
          MediaInput:
              - InputInfoStruct
          AudioOutput:
              - OutputInfoStruct
          Channel:
              - ChannelInfoStruct
              - LineupInfoStruct
          ContentLauncher:
              - DimensionStruct
              - AdditionalInfoStruct
              - ParameterStruct
              - ContentSearchStruct
              - StyleInformationStruct
              - BrandingInformationStruct
          ApplicationLauncher:
              - ApplicationStruct
              - ApplicationEPStruct
          ApplicationBasic:
              - ApplicationStruct
      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
          BasicInformation:
              CapabilityMinimaStruct:
                  - caseSessionsPerFabric
                  - subscriptionsPerFabric
          Descriptor:
              DeviceTypeStruct:
                  - deviceType
          AccessControl:
              AccessControlEntryStruct:
                  - privilege
                  - authMode
                  - subjects
                  - targets
                  - fabricIndex
              AccessControlExtensionStruct:
                  - data
                  - fabricIndex
          SoftwareDiagnostics:
              ThreadMetricsStruct:
                  - id
                  - name
                  - stackFreeCurrent
                  - stackFreeMinimum
                  - stackSize
          GeneralDiagnostics:
              NetworkInterface:
                  - name
                  - isOperational
                  - offPremiseServicesReachableIPv4
                  - offPremiseServicesReachableIPv6
                  - hardwareAddress
                  - iPv4Addresses
                  - iPv6Addresses
                  - type
          ModeSelect:
              SemanticTagStruct:
                  - mfgCode
                  - value
          OperationalCredentials:
              FabricDescriptorStruct:
                  - rootPublicKey
                  - vendorID
                  - fabricID
                  - nodeID
                  - label
                  - fabricIndex
                  # Values that are actually deprecated, but we effectively
                  # introduced them in this release.
                  - vendorId
                  - fabricId
                  - nodeId
          DoorLock:
              CredentialStruct:
                  - credentialType
                  - credentialIndex
          MediaPlayback:
              PlaybackPositionStruct:
                  - updatedAt
                  - position
          TargetNavigator:
              TargetInfoStruct:
                  - identifier
                  - name
          MediaInput:
              InputInfoStruct:
                  - index
                  - inputType
                  - name
                  - descriptionString
          AudioOutput:
              OutputInfoStruct:
                  - index
                  - outputType
                  - name
          Channel:
              ChannelInfoStruct:
                  - majorNumber
                  - minorNumber
                  - name
                  - callSign
                  - affiliateCallSign
              LineupInfoStruct:
                  - operatorName
                  - lineupName
                  - postalCode
                  - lineupInfoType
          ContentLauncher:
              DimensionStruct:
                  - width
                  - height
                  - metric
              AdditionalInfoStruct:
                  - name
                  - value
              ParameterStruct:
                  - type
                  - value
                  - externalIDList
              ContentSearchStruct:
                  - parameterList
              StyleInformationStruct:
                  - imageURL
                  - color
                  - size
                  # Member that is actually deprecated, but we effectively
                  # introduced it in this release.
                  - imageUrl
              BrandingInformationStruct:
                  - providerName
                  - background
                  - logo
                  - progressBar
                  - splash
                  - waterMark
          ApplicationLauncher:
              ApplicationStruct:
                  - catalogVendorID
                  - applicationID
                  # Values that are actually deprecated, but we effectively
                  # introduced them in this release.
                  - catalogVendorId
                  - applicationId
              ApplicationEPStruct:
                  - application
                  - endpoint
          ApplicationBasic:
              ApplicationStruct:
                  - catalogVendorID
                  - applicationID
                  # Values that are actually deprecated, but we effectively
                  # introduced them in this release.
                  - catalogVendorId
                  - applicationId
          Scenes:
              AttributeValuePair:
                  - attributeID
              ExtensionFieldSet:
                  - clusterID
      events:
          OTASoftwareUpdateRequestor:
              - StateTransition
              - VersionApplied
              - DownloadError
          UnitTesting:
              - TestEvent
              - TestFabricScopedEvent
          BasicInformation:
              - StartUp
              - ShutDown
              - Leave
              - ReachableChanged
          PowerSource:
              - WiredFaultChange
              - BatFaultChange
              - BatChargeFaultChange
          BridgedDeviceBasicInformation:
              - StartUp
              - ShutDown
              - Leave
              - ReachableChanged
      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
          BasicInformation:
              StartUp:
                  - softwareVersion
              Leave:
                  - fabricIndex
              ReachableChanged:
                  - reachableNewValue
          PowerSource:
              WiredFaultChange:
                  - current
                  - previous
              BatFaultChange:
                  - current
                  - previous
              BatChargeFaultChange:
                  - current
                  - previous
          BridgedDeviceBasicInformation:
              StartUp:
                  - softwareVersion
              ReachableChanged:
                  - reachableNewValue
      enums:
          OTASoftwareUpdateProvider:
              - OTAApplyUpdateAction
              - OTADownloadProtocol
              - OTAQueryStatus
          OTASoftwareUpdateRequestor:
              - OTAAnnouncementReason
              - OTAChangeReasonEnum
              - OTAUpdateStateEnum
          UnitTesting:
              - SimpleEnum
          AccessControl:
              - AccessControlEntryPrivilegeEnum
              - AccessControlEntryAuthModeEnum
          ThreadNetworkDiagnostics:
              - ConnectionStatusEnum
          EthernetNetworkDiagnostics:
              - PHYRateEnum
          GeneralDiagnostics:
              - HardwareFaultEnum
              - RadioFaultEnum
              - BootReasonEnum
              - NetworkFaultEnum
          OperationalCredentials:
              - NodeOperationalCertStatusEnum
              - CertificateChainTypeEnum
          DoorLock:
              - AlarmCodeEnum
              - CredentialRuleEnum
              - CredentialTypeEnum
              - DataOperationTypeEnum
              - DoorStateEnum
              - LockDataTypeEnum
              - LockOperationTypeEnum
              - OperationErrorEnum
              - OperatingModeEnum
              - OperationSourceEnum
      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
          GeneralCommissioning:
              # CommissioningErrorEnum was originally just named
              # CommissioningError, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              CommissioningErrorEnum:
                  - OK
          AccessControl:
              AccessControlEntryPrivilegeEnum:
                  - View
                  - ProxyView
                  - Operate
                  - Manage
                  - Administer
              AccessControlEntryAuthModeEnum:
                  - PASE
                  - CASE
                  - Group
          PowerSource:
              BatChargeLevelEnum:
                  - OK
              BatChargeFaultEnum:
                  - Unspecified
              PowerSourceStatusEnum:
                  - Unspecified
          ThreadNetworkDiagnostics:
              ConnectionStatusEnum:
                  - Connected
                  - NotConnected
          WiFiNetworkDiagnostics:
              WiFiVersionType:
                  - A
                  - B
                  - G
                  - N
                  - Ac
                  - Ax
          EthernetNetworkDiagnostics:
              PHYRateEnum:
                  - Rate10M
                  - Rate100M
                  - Rate1G
                  - Rate25G
                  - Rate5G
                  - Rate10G
                  - Rate40G
                  - Rate100G
                  - Rate200G
                  - Rate400G
          GeneralDiagnostics:
              HardwareFaultEnum:
                  - Unspecified
                  - Radio
                  - Sensor
                  - ResettableOverTemp
                  - NonResettableOverTemp
                  - PowerSource
                  - VisualDisplayFault
                  - AudioOutputFault
                  - UserInterfaceFault
                  - NonVolatileMemoryError
                  - TamperDetected
              RadioFaultEnum:
                  - Unspecified
                  - WiFiFault
                  - CellularFault
                  - ThreadFault
                  - NFCFault
                  - BLEFault
                  - EthernetFault
              BootReasonEnum:
                  - Unspecified
                  - PowerOnReboot
                  - BrownOutReset
                  - SoftwareWatchdogReset
                  - HardwareWatchdogReset
                  - SoftwareUpdateCompleted
                  - SoftwareReset
              NetworkFaultEnum:
                  - Unspecified
                  - HardwareFailure
                  - NetworkJammed
                  - ConnectionFailed
          OperationalCredentials:
              NodeOperationalCertStatusEnum:
                  - OK
                  - InvalidPublicKey
                  - InvalidNodeOpId
                  - InvalidNOC
                  - MissingCsr
                  - TableFull
                  - InvalidAdminSubject
                  - FabricConflict
                  - LabelConflict
                  - InvalidFabricIndex
              CertificateChainTypeEnum:
                  - DACCertificate
                  - PAICertificate
          DoorLock:
              AlarmCodeEnum:
                  - LockJammed
                  - LockFactoryReset
                  - LockRadioPowerCycled
                  - WrongCodeEntryLimit
                  - FrontEsceutcheonRemoved
                  - DoorForcedOpen
                  - DoorAjar
                  - ForcedUser
              CredentialRuleEnum:
                  - Single
                  - Dual
                  - Tri
              CredentialTypeEnum:
                  - ProgrammingPIN
                  - PIN
                  - RFID
                  - Fingerprint
                  - FingerVein
                  - Face
              DataOperationTypeEnum:
                  - Add
                  - Clear
                  - Modify
              DoorStateEnum:
                  - DoorOpen
                  - DoorClosed
                  - DoorJammed
                  - DoorForcedOpen
                  - DoorUnspecifiedError
                  - DoorAjar
              LockDataTypeEnum:
                  - Unspecified
                  - ProgrammingCode
                  - UserIndex
                  - WeekDaySchedule
                  - YearDaySchedule
                  - HolidaySchedule
                  - PIN
                  - RFID
                  - Fingerprint
              LockOperationTypeEnum:
                  - Lock
                  - Unlock
                  - NonAccessUserEvent
                  - ForcedUserEvent
              OperationErrorEnum:
                  - Unspecified
                  - InvalidCredential
                  - DisabledUserDenied
                  - Restricted
                  - InsufficientBattery
              OperatingModeEnum:
                  - Normal
                  - Vacation
                  - Privacy
                  - NoRemoteLockUnlock
                  - Passage
              OperationSourceEnum:
                  - Unspecified
                  - Manual
                  - ProprietaryRemote
                  - Keypad
                  - Auto
                  - Button
                  - Schedule
                  - Remote
                  - RFID
                  - Biometric
              UserTypeEnum:
                  - UnrestrictedUser
                  - ProgrammingUser
                  - ForcedUser
                  - DisposableUser
                  - ExpiringUser
                  - ScheduleRestrictedUser
                  - RemoteOnlyUser
          MediaInput:
              InputTypeEnum:
                  - HDMI
                  - SCART
                  - USB
          AudioOutput:
              OutputTypeEnum:
                  - HDMI
                  - BT
          Channel:
              LineupInfoTypeEnum:
                  - MSO
          ContentLauncher:
              MetricTypeEnum:
                  - Pixels
                  - Percentage
              ParameterEnum:
                  - Video
          Thermostat:
              # SystemModeEnum was originally named ThermostatSystemMode, but we
              # generate the same API for the names with/without "Enum" at the
              # end and the cluster name present/absent at the beginning, so the
              # name can just change here.
              SystemModeEnum:
                  - EmergencyHeat
                  - Dry
                  - Sleep
              SetpointAdjustMode:
                  - Heat
                  - Cool
                  - Both
      bitmaps:
          UnitTesting:
              - Bitmap8MaskMap
              - Bitmap16MaskMap
              - Bitmap32MaskMap
              - Bitmap64MaskMap
              - SimpleBitmap
          LevelControl:
              - LevelControlOptions
          DoorLock:
              - DaysMaskMap
          PumpConfigurationAndControl:
              - PumpFeature
          WiFiNetworkDiagnostics:
              # Feature was originally named WiFiNetworkDiagnosticsFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - Feature
          EthernetNetworkDiagnostics:
              # Feature was originally named EthernetNetworkDiagnosticsFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              - Feature
      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
          NetworkCommissioning:
              WiFiSecurity:
                  - WEP
                  - WPAPersonal
                  - WPA2Personal
                  - WPA3Personal
          PressureMeasurement:
              PressureFeature:
                  - Extended
          DoorLock:
              DaysMaskMap:
                  - Sunday
                  - Monday
                  - Tuesday
                  - Wednesday
                  - Thursday
                  - Friday
                  - Saturday
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - PINCredential
                  - RFIDCredential
                  - WeekDayAccessSchedules
                  - CredentialsOverTheAirAccess
                  - User
                  - Notification
                  - YearDayAccessSchedules
          PumpConfigurationAndControl:
              PumpFeature:
                  - ConstantPressure
                  - CompensatedPressure
                  - ConstantFlow
                  - ConstantSpeed
                  - ConstantTemperature
                  - Automatic
                  - Local
          Thermostat:
              # Feature was originally named ThermostatFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - ScheduleConfiguration
                  - AutoMode
              DayOfWeek:
                  - Away
              ModeForSequence:
                  - HeatSetpointPresent
                  - CoolSetpointPresent
          WiFiNetworkDiagnostics:
              # Feature was originally named WiFiNetworkDiagnosticsFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              Feature:
                  - PacketCounts
                  - ErrorCounts
          EthernetNetworkDiagnostics:
              # Feature was originally named EthernetNetworkDiagnosticsFeature, but
              # we generate the same API for both of those names, so the name
              # can just change here.
              Feature:
                  - PacketCounts
                  - ErrorCounts
  deprecated:
      clusters:
          - OtaSoftwareUpdateProvider
          - OtaSoftwareUpdateRequestor
          - TestCluster
          - WakeOnLan
          - Basic
      attributes:
          Descriptor:
              - DeviceList
          AccessControl:
              - Acl
          BallastConfiguration:
              - IntrinsicBalanceFactor
          OccupancySensing:
              - PirOccupiedToUnoccupiedDelay
              - PirUnoccupiedToOccupiedDelay
              - PirUnoccupiedToOccupiedThreshold
          ThreadNetworkDiagnostics:
              - NeighborTableList
              - RouteTableList
          WiFiNetworkDiagnostics:
              - Bssid
              - Rssi
          GeneralDiagnostics:
              - BootReasons
      commands:
          ContentLauncher:
              - LaunchResponse
          MediaPlayback:
              - StopPlayback
      command fields:
          Groups:
              AddGroup:
                  - groupId
              AddGroupIfIdentifying:
                  - groupId
              AddGroupResponse:
                  - groupId
              RemoveGroup:
                  - groupId
              RemoveGroupResponse:
                  - groupId
              ViewGroup:
                  - groupId
              ViewGroupResponse:
                  - groupId
          OnOff:
              OffWithEffect:
                  - effectId
          DiagnosticLogs:
              RetrieveLogsResponse:
                  - content
                  - timeStamp
          AdministratorCommissioning:
              OpenCommissioningWindow:
                  - pakeVerifier
          OperationalCredentials:
              AttestationResponse:
                  - signature
              AddTrustedRootCertificate:
                  - rootCertificate
          DoorLock:
              SetUser:
                  - userUniqueId
              GetUserResponse:
                  - userUniqueId
          ColorControl:
              MoveToColorTemperature:
                  - colorTemperature
          OTASoftwareUpdateProvider:
              QueryImage:
                  - vendorId
                  - productId
          OTASoftwareUpdateRequestor:
              AnnounceOTAProvider:
                  - providerNodeId
                  - vendorId
          Scenes:
              AddScene:
                  - groupId
                  - sceneId
              ViewScene:
                  - groupId
                  - sceneId
              RemoveScene:
                  - groupId
                  - sceneId
              RemoveAllScenes:
                  - groupId
              StoreScene:
                  - groupId
                  - sceneId
              RecallScene:
                  - groupId
                  - sceneId
              GetSceneMembership:
                  - groupId
              EnhancedAddScene:
                  - groupId
                  - sceneId
              EnhancedViewScene:
                  - groupId
                  - sceneId
              CopyScene:
                  - groupIdFrom
                  - sceneIdFrom
                  - groupIdTo
                  - sceneIdTo
              AddSceneResponse:
                  - groupId
                  - sceneId
              ViewSceneResponse:
                  - groupId
                  - sceneId
              RemoveSceneResponse:
                  - groupId
                  - sceneId
              RemoveAllScenesResponse:
                  - groupId
              StoreSceneResponse:
                  - groupId
                  - sceneId
              GetSceneMembershipResponse:
                  - groupId
              EnhancedAddSceneResponse:
                  - groupId
                  - sceneId
              EnhancedViewSceneResponse:
                  - groupId
                  - sceneId
              CopySceneResponse:
                  - groupIdFrom
                  - sceneIdFrom
      structs:
          Descriptor:
              - DeviceType
          AccessControl:
              - AccessControlEntry
              - ExtensionEntry
          PowerSource:
              - WiredFaultChangeType
              - BatFaultChangeType
              - BatChargeFaultChangeType
          SoftwareDiagnostics:
              - ThreadMetrics
          GeneralDiagnostics:
              - NetworkInterfaceType
          ModeSelect:
              - SemanticTag
          OperationalCredentials:
              - FabricDescriptor
          DoorLock:
              - DlCredential
          MediaPlayback:
              - PlaybackPosition
          TargetNavigator:
              - TargetInfo
          MediaInput:
              - InputInfo
          AudioOutput:
              - OutputInfo
          Channel:
              - ChannelInfo
              - LineupInfo
          ContentLauncher:
              - Dimension
              - AdditionalInfo
              - Parameter
              - ContentSearch
              - StyleInformation
              - BrandingInformation
          ApplicationLauncher:
              - Application
              - ApplicationEP
          ApplicationBasic:
              - ApplicationBasicApplication
      struct fields:
          Descriptor:
              DeviceTypeStruct:
                  - type
          OperationalCredentials:
              FabricDescriptorStruct:
                  - vendorId
                  - fabricId
                  - nodeId
          ContentLauncher:
              StyleInformationStruct:
                  - imageUrl
          ApplicationLauncher:
              ApplicationStruct:
                  - catalogVendorId
                  - applicationId
          ApplicationBasic:
              ApplicationStruct:
                  - catalogVendorId
                  - applicationId
          Scenes:
              AttributeValuePair:
                  - attributeId
              ExtensionFieldSet:
                  - clusterId
      event fields:
          Switch:
              MultiPressComplete:
                  - newPosition
      enums:
          AccessControl:
              - Privilege
              - AuthMode
          ThreadNetworkDiagnostics:
              - ThreadConnectionStatus
          EthernetNetworkDiagnostics:
              - PHYRateType
          GeneralDiagnostics:
              - HardwareFaultType
              - RadioFaultType
              - BootReasonType
              - NetworkFaultType
          OperationalCredentials:
              - OperationalCertStatus
          DoorLock:
              - DlAlarmCode
              - DlCredentialRule
              - DlCredentialType
              - DlDataOperationType
              - DlDoorState
              - DlLockDataType
              - DlLockOperationType
              - DlOperationError
              - DlOperatingMode
              - DlOperationSource
              - DlUserStatus
              - DlUserType
              # The enums after this come from the draft/types/door-lock.xml, not the
              # door lock cluster XML
              #
              # DoorLockUserStatus is not marked deprecated here because the
              # UserStatusEnum from the spec ends up with the same enum name
              # (MTRDoorLockUserStatus) but is missing one of the values
              # compared to DoorLockUserStatus.  So we have to keep
              # DoorLockUserStatus for now and just deprecate its one extra name.
              - DoorLockUserStatus
              - DoorLockUserType
              - DoorLockDayOfWeek
              - DoorLockSetPinOrIdStatus
              - DoorLockOperationEventCode
              - DoorLockProgrammingEventCode
      enum values:
          GeneralCommissioning:
              # CommissioningErrorEnum was originally just named
              # CommissioningError, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              CommissioningErrorEnum:
                  - Ok
          PowerSource:
              BatChargeLevelEnum:
                  - Ok
              BatChargeFaultEnum:
                  - Unspecfied
              PowerSourceStatusEnum:
                  - Unspecfied
          WiFiNetworkDiagnostics:
              WiFiVersionType:
                  - 80211a
                  - 80211b
                  - 80211g
                  - 80211n
                  - 80211ac
                  - 80211ax
          DoorLock:
              UserStatusEnum:
                  - NotSupported
              UserTypeEnum:
                  - NotSupported
                  - Unrestricted
                  - MasterUser
          MediaInput:
              InputTypeEnum:
                  - Hdmi
                  - Scart
                  - Usb
          AudioOutput:
              OutputTypeEnum:
                  - Hdmi
                  - Bt
          Channel:
              LineupInfoTypeEnum:
                  - Mso
          ContentLauncher:
              MetricTypeEnum:
                  - PIXELS
                  - PERCENTAGE
          Thermostat:
              # SystemModeEnum was originally named ThermostatSystemMode, but we
              # generate the same API for the names with/without "Enum" at the
              # end and the cluster name present/absent at the beginning, so the
              # name can just change here.
              SystemModeEnum:
                  - EmergencyHeating
              SetpointAdjustMode:
                  - HeatSetpoint
                  - CoolSetpoint
                  - HeatAndCoolSetpoints
      bitmaps:
          DoorLock:
              - DlDaysMaskMap
      bitmap values:
          NetworkCommissioning:
              WiFiSecurity:
                  - WepPersonal
                  - WpaPersonal
                  - Wpa2Personal
                  - Wpa3Personal
          PressureMeasurement:
              PressureFeature:
                  - EXT
          DoorLock:
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - PINCredentials
                  - RFIDCredentials
                  - WeekDaySchedules
                  - CredentialsOTA
                  - UsersManagement
                  - Notifications
                  - YearDaySchedules
          Thermostat:
              # Feature was originally named ThermostatFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - Schedule
                  - Automode
              DayOfWeek:
                  - AwayOrVacation
              ModeForSequence:
                  - HeatSetpointFieldPresent
                  - CoolSetpointFieldPresent
      apis:
          - Timed Invoke for server to client commands
          - Deprecated global attribute names
  removed:
      commands:
          BasicInformation:
              - MfgSpecificPing
      command fields:
          # Cases where the cluster/command got renamed and the fields got
          # renamed, so the old command name never had the new fields.
          OtaSoftwareUpdateProvider:
              QueryImage:
                  - vendorID
                  - productID
      enums:
          # DoorLockUserStatus (non-spec) and UserStatusEnum (from the spec) end
          # up with the same enum name (MTRDoorLockUserStatus), so just remove
          # the non-spec one.
          DoorLock:
              - DoorLockUserStatus
              - DoorLockUserType
      enum values:
          EthernetNetworkDiagnostics:
              # Both the enum and the values got renamed, so don't output the
              # old values with the new enum name.
              PHYRateEnum:
                  - 10M
                  - 100M
                  - 1000M
                  - 25G
                  - 5G
                  - 10G
                  - 40G
                  - 100G
                  - 200G
                  - 400G
          OperationalCredentials:
              # Both the enum and the value got renamed, so don't output the
              # old value with the new enum name.
              NodeOperationalCertStatusEnum:
                  - SUCCESS
          DoorLock:
              # Both the enum and the values got renamed, so don't output the
              # old value with the new enum name.
              CredentialRuleEnum:
                  - Double
  renames:
      clusters:
          UnitTesting: TestCluster
          BasicInformation: Basic
          OTASoftwareUpdateProvider: OtaSoftwareUpdateProvider
          OTASoftwareUpdateRequestor: OtaSoftwareUpdateRequestor
          WakeOnLAN: WakeOnLan
          BridgedDeviceBasicInformation: BridgedDeviceBasic
      attributes:
          Descriptor:
              DeviceTypeList: DeviceList
          AccessControl:
              ACL: Acl
          BallastConfiguration:
              IntrinsicBallastFactor: IntrinsicBalanceFactor
          OccupancySensing:
              PIROccupiedToUnoccupiedDelay: PirOccupiedToUnoccupiedDelay
              PIRUnoccupiedToOccupiedDelay: PirUnoccupiedToOccupiedDelay
              PIRUnoccupiedToOccupiedThreshold: PirUnoccupiedToOccupiedThreshold
          OTASoftwareUpdateRequestor:
              DefaultOTAProviders: DefaultOtaProviders
          ThreadNetworkDiagnostics:
              NeighborTable: NeighborTableList
              RouteTable: RouteTableList
          WiFiNetworkDiagnostics:
              BSSID: Bssid
              RSSI: Rssi
          GeneralDiagnostics:
              BootReason: BootReasons
      commands:
          OTASoftwareUpdateRequestor:
              AnnounceOTAProvider: AnnounceOtaProvider
          ContentLauncher:
              LauncherResponse: LaunchResponse
          MediaPlayback:
              Stop: StopPlayback
      command fields:
          OTASoftwareUpdateProvider:
              QueryImage:
                  vendorID: vendorId
                  productID: productId
          OTASoftwareUpdateRequestor:
              AnnounceOTAProvider:
                  providerNodeID: providerNodeId
                  vendorID: vendorId
          Groups:
              AddGroup:
                  groupID: groupId
              AddGroupIfIdentifying:
                  groupID: groupId
              AddGroupResponse:
                  groupID: groupId
              RemoveGroup:
                  groupID: groupId
              RemoveGroupResponse:
                  groupID: groupId
              ViewGroup:
                  groupID: groupId
              ViewGroupResponse:
                  groupID: groupId
          OnOff:
              OffWithEffect:
                  effectIdentifier: effectId
          DiagnosticLogs:
              RetrieveLogsResponse:
                  logContent: content
                  utcTimeStamp: timeStamp
          AdministratorCommissioning:
              OpenCommissioningWindow:
                  pakePasscodeVerifier: pakeVerifier
          OperationalCredentials:
              AttestationResponse:
                  attestationSignature: signature
              AddTrustedRootCertificate:
                  rootCACertificate: rootCertificate
          DoorLock:
              SetUser:
                  userUniqueID: userUniqueId
              GetUserResponse:
                  userUniqueID: userUniqueId
          ColorControl:
              MoveToColorTemperature:
                  colorTemperatureMireds: colorTemperature
          Scenes:
              AddScene:
                  groupID: groupId
                  sceneID: sceneId
              ViewScene:
                  groupID: groupId
                  sceneID: sceneId
              RemoveScene:
                  groupID: groupId
                  sceneID: sceneId
              RemoveAllScenes:
                  groupID: groupId
              StoreScene:
                  groupID: groupId
                  sceneID: sceneId
              RecallScene:
                  groupID: groupId
                  sceneID: sceneId
              GetSceneMembership:
                  groupID: groupId
              EnhancedAddScene:
                  groupID: groupId
                  sceneID: sceneId
              EnhancedViewScene:
                  groupID: groupId
                  sceneID: sceneId
              CopyScene:
                  groupIdentifierFrom: groupIdFrom
                  sceneIdentifierFrom: sceneIdFrom
                  groupIdentifierTo: groupIdTo
                  sceneIdentifierTo: sceneIdTo
              AddSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              ViewSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              RemoveSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              RemoveAllScenesResponse:
                  groupID: groupId
              StoreSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              GetSceneMembershipResponse:
                  groupID: groupId
              EnhancedAddSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              EnhancedViewSceneResponse:
                  groupID: groupId
                  sceneID: sceneId
              CopySceneResponse:
                  groupIdentifierFrom: groupIdFrom
                  sceneIdentifierFrom: sceneIdFrom
      structs:
          AccessControl:
              AccessControlEntryStruct: AccessControlEntry
              AccessControlExtensionStruct: ExtensionEntry
          SoftwareDiagnostics:
              ThreadMetricsStruct: ThreadMetrics
          GeneralDiagnostics:
              NetworkInterface: NetworkInterfaceType
          ModeSelect:
              SemanticTagStruct: SemanticTag
          OperationalCredentials:
              FabricDescriptorStruct: FabricDescriptor
          DoorLock:
              CredentialStruct: DlCredential
          MediaPlayback:
              PlaybackPositionStruct: PlaybackPosition
          TargetNavigator:
              TargetInfoStruct: TargetInfo
          MediaInput:
              InputInfoStruct: InputInfo
          AudioOutput:
              OutputInfoStruct: OutputInfo
          Channel:
              ChannelInfoStruct: ChannelInfo
              LineupInfoStruct: LineupInfo
          ContentLauncher:
              DimensionStruct: Dimension
              AdditionalInfoStruct: AdditionalInfo
              ParameterStruct: Parameter
              ContentSearchStruct: ContentSearch
              StyleInformationStruct: StyleInformation
              BrandingInformationStruct: BrandingInformation
          ApplicationLauncher:
              ApplicationStruct: Application
              ApplicationEPStruct: ApplicationEP
          ApplicationBasic:
              ApplicationStruct: ApplicationBasicApplication
      struct fields:
          Descriptor:
              DeviceTypeStruct:
                  deviceType: type
          OperationalCredentials:
              FabricDescriptorStruct:
                  vendorID: vendorId
                  fabricID: fabricId
                  nodeID: nodeId
          ContentLauncher:
              StyleInformationStruct:
                  imageURL: imageUrl
          ApplicationLauncher:
              ApplicationStruct:
                  catalogVendorID: catalogVendorId
                  applicationID: applicationId
          ApplicationBasic:
              ApplicationStruct:
                  catalogVendorID: catalogVendorId
                  applicationID: applicationId
          Scenes:
              AttributeValuePair:
                  attributeID: attributeId
              ExtensionFieldSet:
                  clusterID: clusterId
      event fields:
          Switch:
              MultiPressComplete:
                  previousPosition: newPosition
      enums:
          AccessControl:
              AccessControlEntryPrivilegeEnum: Privilege
              AccessControlEntryAuthModeEnum: AuthMode
          ThreadNetworkDiagnostics:
              ConnectionStatusEnum: ThreadConnectionStatus
          EthernetNetworkDiagnostics:
              PHYRateEnum: PHYRateType
          GeneralDiagnostics:
              HardwareFaultEnum: HardwareFaultType
              RadioFaultEnum: RadioFaultType
              BootReasonEnum: BootReasonType
              NetworkFaultEnum: NetworkFaultType
          OperationalCredentials:
              NodeOperationalCertStatusEnum: OperationalCertStatus
          DoorLock:
              AlarmCodeEnum: DlAlarmCode
              CredentialRuleEnum: DlCredentialRule
              CredentialTypeEnum: DlCredentialType
              DataOperationTypeEnum: DlDataOperationType
              DoorStateEnum: DlDoorState
              LockDataTypeEnum: DlLockDataType
              LockOperationTypeEnum: DlLockOperationType
              OperationErrorEnum: DlOperationError
              OperatingModeEnum: DlOperatingMode
              OperationSourceEnum: DlOperationSource
              UserStatusEnum: DlUserStatus
              UserTypeEnum: DlUserType
      enum values:
          GeneralCommissioning:
              # CommissioningErrorEnum was originally just named
              # CommissioningError, but we generate the same API
              # for both of those names, so the name can just change
              # here.
              CommissioningErrorEnum:
                  OK: Ok
          PowerSource:
              BatChargeLevelEnum:
                  OK: Ok
              BatChargeFaultEnum:
                  Unspecified: Unspecfied
              PowerSourceStatusEnum:
                  Unspecified: Unspecfied
          WiFiNetworkDiagnostics:
              WiFiVersionType:
                  A: 80211a
                  B: 80211b
                  G: 80211g
                  N: 80211n
                  Ac: 80211ac
                  Ax: 80211ax
          EthernetNetworkDiagnostics:
              PHYRateEnum:
                  Rate10M: 10M
                  Rate100M: 100M
                  Rate1G: 1000M
                  Rate25G: 25G
                  Rate5G: 5G
                  Rate10G: 10G
                  Rate40G: 40G
                  Rate100G: 100G
                  Rate200G: 200G
                  Rate400G: 400G
              PHYRateType:
                  Rate10M: 10M
                  Rate100M: 100M
                  Rate1G: 1000M
                  Rate25G: 25G
                  Rate5G: 5G
                  Rate10G: 10G
                  Rate40G: 40G
                  Rate100G: 100G
                  Rate200G: 200G
                  Rate400G: 400G
          OperationalCredentials:
              NodeOperationalCertStatusEnum:
                  OK: SUCCESS
              OperationalCertStatus:
                  OK: SUCCESS
          DoorLock:
              CredentialRuleEnum:
                  Dual: Double
              UserTypeEnum:
                  UnrestrictedUser: Unrestricted
                  ProgrammingUser: MasterUser
          MediaInput:
              InputTypeEnum:
                  HDMI: Hdmi
                  SCART: Scart
                  USB: Usb
          AudioOutput:
              OutputTypeEnum:
                  HDMI: Hdmi
                  BT: Bt
          Channel:
              LineupInfoTypeEnum:
                  MSO: Mso
          ContentLauncher:
              MetricTypeEnum:
                  Pixels: PIXELS
                  Percentage: PERCENTAGE
          Thermostat:
              # SystemModeEnum was originally named ThermostatSystemMode, but we
              # generate the same API for the names with/without "Enum" at the
              # end and the cluster name present/absent at the beginning, so the
              # name can just change here.
              SystemModeEnum:
                  EmergencyHeat: EmergencyHeating
              SetpointAdjustMode:
                  Heat: HeatSetpoint
                  Cool: CoolSetpoint
                  Both: HeatAndCoolSetpoints
      bitmaps:
          DoorLock:
              DaysMaskMap: DlDaysMaskMap
      bitmap values:
          NetworkCommissioning:
              WiFiSecurity:
                  WEP: WepPersonal
                  WPAPersonal: WpaPersonal
                  WPA2Personal: Wpa2Personal
                  WPA3Personal: Wpa3Personal
          PressureMeasurement:
              PressureFeature:
                  Extended: EXT
          DoorLock:
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  PINCredential: PINCredentials
                  RFIDCredential: RFIDCredentials
                  WeekDayAccessSchedules: WeekDaySchedules
                  CredentialsOverTheAirAccess: CredentialsOTA
                  User: UsersManagement
                  Notification: Notifications
                  YearDayAccessSchedules: YearDaySchedules
          Thermostat:
              # Feature was originally named ThermostatFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  ScheduleConfiguration: Schedule
                  AutoMode: Automode
              DayOfWeek:
                  Away: AwayOrVacation
              ModeForSequence:
                  HeatSetpointPresent: HeatSetpointFieldPresent
                  CoolSetpointPresent: CoolSetpointFieldPresent

- release: "First after major API revamp"
  versions:
      iOS: "16.5"
      macOS: "13.4"
      watchOS: "9.5"
      tvOS: "16.5"
  introduced:
      ids:
          attributes:
              TimeSynchronization:
                  - DSTOffset
      command fields:
          DiagnosticLogs:
              RetrieveLogsRequest:
                  # Not really usable in earlier releases: wrong type.
                  - transferFileDesignator
      structs:
          TimeSynchronization:
              - DSTOffsetStruct
              - TimeZoneStruct
      struct fields:
          TimeSynchronization:
              DSTOffsetStruct:
                  - offset
                  - validStarting
                  - validUntil
              TimeZoneStruct:
                  - offset
                  - validAt
                  - name
      enums:
          DiagnosticLogs:
              - IntentEnum
              - StatusEnum
              - TransferProtocolEnum
          OccupancySensing:
              - OccupancySensorTypeEnum
          WiFiNetworkDiagnostics:
              - ConnectionStatusEnum
              - WiFiVersionEnum
          PumpConfigurationAndControl:
              - ControlModeEnum
              - OperationModeEnum
          PowerSource:
              - BatCommonDesignationEnum
              - BatApprovedChemistryEnum
      enum values:
          DoorLock:
              LockDataTypeEnum:
                  - FingerVein
                  - Face
          DiagnosticLogs:
              IntentEnum:
                  - EndUserSupport
                  - NetworkDiag
                  - CrashLogs
              StatusEnum:
                  - Success
                  - Exhausted
                  - NoLogs
                  - Busy
                  - Denied
              TransferProtocolEnum:
                  - ResponsePayload
                  - BDX
          OccupancySensing:
              OccupancySensorTypeEnum:
                  - PIR
                  - Ultrasonic
                  - PIRAndUltrasonic
                  - PhysicalContact
          WiFiNetworkDiagnostics:
              ConnectionStatusEnum:
                  - Connected
                  - NotConnected
              WiFiVersionEnum:
                  - A
                  - B
                  - G
                  - N
                  - Ac
                  - Ax
          PumpConfigurationAndControl:
              ControlModeEnum:
                  - ConstantSpeed
                  - ConstantPressure
                  - ProportionalPressure
                  - ConstantFlow
                  - ConstantTemperature
                  - Automatic
              OperationModeEnum:
                  - Normal
                  - Minimum
                  - Maximum
                  - Local
          PowerSource:
              WiredFaultEnum:
                  - Unspecified
              BatFaultEnum:
                  - Unspecified
              BatCommonDesignationEnum:
                  - Unspecified
                  - AAA
                  - AA
                  - C
                  - D
                  - 4v5
                  - 6v0
                  - 9v0
                  - 12AA
                  - AAAA
                  - A
                  - B
                  - F
                  - N
                  - No6
                  - SubC
                  - A23
                  - A27
                  - BA5800
                  - Duplex
                  - 4SR44
                  - "523"
                  - "531"
                  - 15v0
                  - 22v5
                  - 30v0
                  - 45v0
                  - 67v5
                  - J
                  - CR123A
                  - CR2
                  - 2CR5
                  - CRP2
                  - CRV3
                  - SR41
                  - SR43
                  - SR44
                  - SR45
                  - SR48
                  - SR54
                  - SR55
                  - SR57
                  - SR58
                  - SR59
                  - SR60
                  - SR63
                  - SR64
                  - SR65
                  - SR66
                  - SR67
                  - SR68
                  - SR69
                  - SR516
                  - SR731
                  - SR712
                  - LR932
                  - A5
                  - A10
                  - A13
                  - A312
                  - A675
                  - AC41E
                  - "10180"
                  - "10280"
                  - "10440"
                  - "14250"
                  - "14430"
                  - "14500"
                  - "14650"
                  - "15270"
                  - "16340"
                  - RCR123A
                  - "17500"
                  - "17670"
                  - "18350"
                  - "18500"
                  - "18650"
                  - "19670"
                  - "25500"
                  - "26650"
                  - "32600"
              BatApprovedChemistryEnum:
                  - Unspecified
                  - Alkaline
                  - LithiumCarbonFluoride
                  - LithiumChromiumOxide
                  - LithiumCopperOxide
                  - LithiumIronDisulfide
                  - LithiumManganeseDioxide
                  - LithiumThionylChloride
                  - Magnesium
                  - MercuryOxide
                  - NickelOxyhydride
                  - SilverOxide
                  - ZincAir
                  - ZincCarbon
                  - ZincChloride
                  - ZincManganeseDioxide
                  - LeadAcid
                  - LithiumCobaltOxide
                  - LithiumIon
                  - LithiumIonPolymer
                  - LithiumIronPhosphate
                  - LithiumSulfur
                  - LithiumTitanate
                  - NickelCadmium
                  - NickelHydrogen
                  - NickelIron
                  - NickelMetalHydride
                  - NickelZinc
                  - SilverZinc
                  - SodiumIon
                  - SodiumSulfur
                  - ZincBromide
                  - ZincCerium
      bitmaps:
          OccupancySensing:
              - OccupancyBitmap
              - OccupancySensorTypeBitmap
          PumpConfigurationAndControl:
              - PumpStatusBitmap
      bitmap values:
          OccupancySensing:
              OccupancyBitmap:
                  - Occupied
              OccupancySensorTypeBitmap:
                  - PIR
                  - Ultrasonic
                  - PhysicalContact
          PumpConfigurationAndControl:
              PumpFeature:
                  - LocalOperation
              PumpStatusBitmap:
                  - DeviceFault
                  - Supplyfault
                  - SpeedLow
                  - SpeedHigh
                  - LocalOverride
                  - Running
                  - RemotePressure
                  - RemoteFlow
                  - RemoteTemperature
  deprecated:
      attributes:
          TimeSynchronization:
              - DstOffset
      structs:
          TimeSynchronization:
              - DstOffsetType
              - TimeZoneType
      enums:
          DiagnosticLogs:
              - LogsIntent
              - LogsStatus
              - LogsTransferProtocol
          WiFiNetworkDiagnostics:
              - WiFiConnectionStatus
              - WiFiVersionType
          PumpConfigurationAndControl:
              - PumpControlMode
              - PumpOperationMode
      enum values:
          PowerSource:
              WiredFaultEnum:
                  - Unspecfied
              BatFaultEnum:
                  - Unspecfied
      bitmaps:
          PumpConfigurationAndControl:
              - PumpStatus
      bitmap values:
          PumpConfigurationAndControl:
              PumpFeature:
                  - Local
  renames:
      attributes:
          TimeSynchronization:
              DSTOffset: DstOffset
      structs:
          TimeSynchronization:
              DSTOffsetStruct: DstOffsetType
              TimeZoneStruct: TimeZoneType
      enums:
          DiagnosticLogs:
              IntentEnum: LogsIntent
              StatusEnum: LogsStatus
              TransferProtocolEnum: LogsTransferProtocol
          WiFiNetworkDiagnostics:
              ConnectionStatusEnum: WiFiConnectionStatus
              WiFiVersionEnum: WiFiVersionType
          PumpConfigurationAndControl:
              ControlModeEnum: PumpControlMode
              OperationModeEnum: PumpOperationMode
      enum values:
          PowerSource:
              WiredFaultEnum:
                  Unspecified: Unspecfied
              BatFaultEnum:
                  Unspecified: Unspecfied
      bitmaps:
          PumpConfigurationAndControl:
              PumpStatusBitmap: PumpStatus
      bitmap values:
          PumpConfigurationAndControl:
              PumpFeature:
                  LocalOperation: Local

- release: "Fall 2023"
  versions:
      iOS: "17.0"
      macOS: "14.0"
      watchOS: "10.0"
      tvOS: "17.0"
  introduced:
      attributes:
          BasicInformation:
              - ProductAppearance
          BridgedDeviceBasicInformation:
              - ProductAppearance
      structs:
          AccessControl:
              - AccessControlTargetStruct
          BasicInformation:
              - ProductAppearanceStruct
          BridgedDeviceBasicInformation:
              - ProductAppearanceStruct
          NetworkCommissioning:
              - WiFiInterfaceScanResultStruct
              - ThreadInterfaceScanResultStruct
              - NetworkInfoStruct
          ThreadNetworkDiagnostics:
              - NeighborTableStruct
              - RouteTableStruct
      struct fields:
          AccessControl:
              AccessControlTargetStruct:
                  - cluster
                  - endpoint
                  - deviceType
          BasicInformation:
              ProductAppearanceStruct:
                  - finish
                  - primaryColor
          BridgedDeviceBasicInformation:
              ProductAppearanceStruct:
                  - finish
                  - primaryColor
          NetworkCommissioning:
              WiFiInterfaceScanResultStruct:
                  - security
                  - ssid
                  - bssid
                  - channel
                  - wiFiBand
                  - rssi
              ThreadInterfaceScanResultStruct:
                  - panId
                  - extendedPanId
                  - networkName
                  - channel
                  - version
                  - extendedAddress
                  - rssi
                  - lqi
              NetworkInfoStruct:
                  - networkID
                  - connected
          ThreadNetworkDiagnostics:
              NeighborTableStruct:
                  - extAddress
                  - age
                  - rloc16
                  - linkFrameCounter
                  - mleFrameCounter
                  - lqi
                  - averageRssi
                  - lastRssi
                  - frameErrorRate
                  - messageErrorRate
                  - rxOnWhenIdle
                  - fullThreadDevice
                  - fullNetworkData
                  - isChild
              RouteTableStruct:
                  - extAddress
                  - rloc16
                  - routerId
                  - nextHop
                  - pathCost
                  - lqiIn
                  - lqiOut
                  - age
                  - allocated
                  - linkEstablished
      enums:
          BasicInformation:
              - ColorEnum
              - ProductFinishEnum
          BridgedDeviceBasicInformation:
              - ColorEnum
              - ProductFinishEnum
          FanControl:
              - FanModeEnum
              - FanModeSequenceEnum
      enum values:
          BasicInformation:
              ColorEnum:
                  - Black
                  - Navy
                  - Green
                  - Teal
                  - Maroon
                  - Purple
                  - Olive
                  - Gray
                  - Blue
                  - Lime
                  - Aqua
                  - Red
                  - Fuchsia
                  - Yellow
                  - White
                  - Nickel
                  - Chrome
                  - Brass
                  - Copper
                  - Silver
                  - Gold
              ProductFinishEnum:
                  - Matte
                  - Satin
                  - Polished
                  - Rugged
                  - Fabric
                  - Other
          BridgedDeviceBasicInformation:
              ColorEnum:
                  - Black
                  - Navy
                  - Green
                  - Teal
                  - Maroon
                  - Purple
                  - Olive
                  - Gray
                  - Blue
                  - Lime
                  - Aqua
                  - Red
                  - Fuchsia
                  - Yellow
                  - White
                  - Nickel
                  - Chrome
                  - Brass
                  - Copper
                  - Silver
                  - Gold
              ProductFinishEnum:
                  - Matte
                  - Satin
                  - Polished
                  - Rugged
                  - Fabric
                  - Other
          FanControl:
              FanModeEnum:
                  - Off
                  - Low
                  - Medium
                  - High
                  - On
                  - Auto
                  - Smart
              FanModeSequenceEnum:
                  - OffLowMedHigh
                  - OffLowHigh
                  - OffLowMedHighAuto
                  - OffLowHighAuto
                  - OffOnAuto
                  - OffOn
          NetworkCommissioning:
              # WiFiBandEnum was originally just named WiFiBand, but we generate
              # the same API for both of those names, so the name can just
              # change here.
              WiFiBandEnum:
                  - 1G
          WiFiNetworkDiagnostics:
              WiFiVersionEnum:
                  - Ah
          Identify:
              IdentifyTypeEnum:
                  - LightOutput
                  - VisibleIndicator
      bitmaps:
          Groups:
              - Feature
              - NameSupportBitmap
          NetworkCommissioning:
              - WiFiSecurityBitmap
          PressureMeasurement:
              - Feature
          PumpConfigurationAndControl:
              - Feature
          Scenes:
              - Feature
          FanControl:
              - RockBitmap
              - WindBitmap
      bitmap values:
          FanControl:
              RockBitmap:
                  - RockLeftRight
                  - RockUpDown
                  - RockRound
              WindBitmap:
                  - SleepWind
                  - NaturalWind
          Groups:
              Feature:
                  - GroupNames
              NameSupportBitmap:
                  - GroupNames
          ModeSelect:
              Feature:
                  - OnOff
          NetworkCommissioning:
              WiFiSecurityBitmap:
                  - Unencrypted
                  - WEP
                  - WPAPersonal
                  - WPA2Personal
                  - WPA3Personal
          PressureMeasurement:
              Feature:
                  - Extended
          PumpConfigurationAndControl:
              Feature:
                  - ConstantPressure
                  - CompensatedPressure
                  - ConstantFlow
                  - ConstantSpeed
                  - ConstantTemperature
                  - Automatic
                  - LocalOperation
          Scenes:
              Feature:
                  - SceneNames
          Thermostat:
              Feature:
                  - LocalTemperatureNotExposed
      ids:
          attributes:
              TimeSynchronization:
                  - TrustedTimeSource
                  - DefaultNTP
                  - NTPServerAvailable
  deprecated:
      clusters:
          # We apparently forgot to deprecate BridgedDeviceBasic when we
          # introduced BridgedDeviceBasicInformation.
          - BridgedDeviceBasic
      enum values:
          Identify:
              IdentifyTypeEnum:
                  - VisibleLight
                  - VisibleLED
      structs:
          AccessControl:
              - Target
          NetworkCommissioning:
              - WiFiInterfaceScanResult
              - ThreadInterfaceScanResult
              - NetworkInfo
          ThreadNetworkDiagnostics:
              - NeighborTable
              - RouteTable
      enums:
          FanControl:
              - FanModeType
              - FanModeSequenceType
      bitmaps:
          Groups:
              - GroupClusterFeature
          NetworkCommissioning:
              - WiFiSecurity
          PressureMeasurement:
              - PressureFeature
          PumpConfigurationAndControl:
              - PumpFeature
          FanControl:
              - RockSupportMask
              - WindSupportMask
      bitmap values:
          ModeSelect:
              Feature:
                  - DEPONOFF
  renames:
      attributes:
          TimeSynchronization:
              TrustedTimeSource: TrustedTimeNodeId
              DefaultNTP: DefaultNtp
              NTPServerAvailable: NtpServerPort
      commands:
          TimeSynchronization:
              SetUTCTime: SetUtcTime
      structs:
          AccessControl:
              AccessControlTargetStruct: Target
          NetworkCommissioning:
              WiFiInterfaceScanResultStruct: WiFiInterfaceScanResult
              ThreadInterfaceScanResultStruct: ThreadInterfaceScanResult
              NetworkInfoStruct: NetworkInfo
          ThreadNetworkDiagnostics:
              NeighborTableStruct: NeighborTable
              RouteTableStruct: RouteTable
      enums:
          FanControl:
              FanModeEnum: FanModeType
              FanModeSequenceEnum: FanModeSequenceType
      enum values:
          TimeSynchronization:
              TimeSourceEnum:
                  NonMatterSNTP: NonFabricSntp
                  NonMatterNTP: NonFabricNtp
                  MatterSNTP: FabricSntp
                  MatterNTP: FabricNtp
                  MixedNTP: MixedNtp
                  NonMatterSNTPNTS: NonFabricSntpNts
                  NonMatterNTPNTS: NonFabricNtpNts
                  MatterSNTPNTS: FabricSntpNts
                  MatterNTPNTS: FabricNtpNts
                  MixedNTPNTS: MixedNtpNts
                  PTP: Ptp
                  GNSS: Gnss
          Identify:
              IdentifyTypeEnum:
                  LightOutput: VisibleLight
                  VisibleIndicator: VisibleLED
      bitmaps:
          Groups:
              Feature: GroupClusterFeature
          NetworkCommissioning:
              WiFiSecurityBitmap: WiFiSecurity
          PressureMeasurement:
              Feature: PressureFeature
          PumpConfigurationAndControl:
              Feature: PumpFeature
          FanControl:
              RockBitmap: RockSupportMask
              WindBitmap: WindSupportMask
      bitmap values:
          ModeSelect:
              Feature:
                  OnOff: DEPONOFF
  swiftUnavailable:
      bitmap values:
          NetworkCommissioning:
              WiFiSecurity:
                  # The bitmap got renamed to WiFiSecurityBitmap, so now both
                  # the Wpa* and WPA* names on WiFiSecurity are deprecated.
                  # They get mapped to Swift with identical names, which leads
                  # to the names being ambiguous.  Mark the "Wpa*" as
                  # unavailable to Swift to work around this.
                  - WpaPersonal
                  - Wpa2Personal
                  - Wpa3Personal
  provisional:
      clusters:
          ## Not ready at cutoff
          - RefrigeratorAlarm
          - TemperatureControl
          ## Not ready to be public API yet.
          - ICDManagement
          - LaundryWasherMode
          - RefrigeratorAndTemperatureControlledCabinetMode
          - DishwasherMode
          - LaundryWasherControls
          - DishwasherAlarm
          - SampleMEI
      attributes:
          Scenes:
              # New scenes bits not stable yet.
              - SceneTableSize
          RVCCleanMode:
              # People are trying to deprecate this one
              - OnMode
          RVCRunMode:
              # People are trying to deprecate this one
              - OnMode
      commands:
          DoorLock:
              # Not stable yet
              - UnboltDoor
          RVCOperationalState:
              # Disallowed in the spec, but present in our XML?
              - Start
              - Stop
      enum values:
          DoorLock:
              # Not stable yet
              DlLockState:
                  - Unlatched
              DlLockType:
                  - Eurocylinder
              LockOperationTypeEnum:
                  - Unlatch
          TimeSynchronization:
              TimeSourceEnum:
                  - NonMatterSNTP
                  - NonMatterNTP
                  - MatterSNTP
                  - MatterNTP
                  - MixedNTP
                  - NonMatterSNTPNTS
                  - NonMatterNTPNTS
                  - MatterSNTPNTS
                  - MatterNTPNTS
                  - MixedNTPNTS
                  - PTP
                  - GNSS
      bitmap values:
          DoorLock:
              # Not stable yet
              # Feature was originally named DoorLockFeature, but we generate the
              # same API for both of those names, so the name can just change
              # here.
              Feature:
                  - Unbolt
          RVCRunMode:
              Feature:
                  # People are trying to deprecate this one
                  - OnOff
          RVCCleanMode:
              Feature:
                  # People are trying to deprecate this one
                  - OnOff
      global attributes:
          - EventList
      # Once we actually unmark TimeSynchronization as provisional, all these bits except EventList should go away too, and we should instead
      # mark things as introduced/deprecated as needed.  The "ids" entries should go away, in particular.
      ids:
          attributes:
              TimeSynchronization:
                  - TimeZoneListMaxSize
                  - DSTOffsetListMaxSize
                  - SupportsDNSResolve
                  # Because we are special-casing ids for TimeSynchronization
                  # above, we need to explicitly mark the EventList id
                  # provisional.
                  - EventList
              PulseWidthModulation:
                  # Because we are special-casing ids for PulseWidthModulation
                  # above, we need to explicitly mark the EventList id
                  # provisional.
                  - EventList
          commands:
              TimeSynchronization:
                  - SetUTCTime
                  - SetTrustedTimeSource
                  - SetTimeZone
                  - SetTimeZoneResponse
                  - SetDSTOffset
                  - SetDefaultNTP
          events:
              TimeSynchronization:
                  - DSTTableEmpty
                  - DSTStatus
                  - TimeZoneStatus
                  - TimeFailure
                  - MissingTrustedTimeSource

- release: "Fall 2023 #2"
  versions:
      iOS: "17.1"
      macOS: "14.1"
      watchOS: "10.1"
      tvOS: "17.1"
  introduced:
      bitmaps:
          TimeFormatLocalization:
              - Feature
      bitmap values:
          OnOff:
              Feature:
                  - DeadFront
          TimeFormatLocalization:
              Feature:
                  - CalendarFormat
  provisional:
      attributes:
          Descriptor:
              - TagList
      structs:
          # New things, not quite finalized.
          Descriptor:
              - SemanticTagStruct
      struct fields:
          # New things, not quite finalized.
          Descriptor:
              SemanticTagStruct:
                  - mfgCode
                  - namespaceID
                  - tag
                  - label
      bitmaps:
          # CacheAndSync is provisional in the spec.
          GroupKeyManagement:
              - Feature
          # New things, not quite finalized.
          Descriptor:
              - Feature
      bitmap values:
          # New things, not quite finalized.
          Descriptor:
              Feature:
                  - TagList
          # CacheAndSync is provisional in the spec.
          GroupKeyManagement:
              Feature:
                  - CacheAndSync
          # Scenes are generally provisional for now.
          Scenes:
              Feature:
                  - Explicit
                  - TableSize
                  - FabricScenes
  removed:
      clusters:
          # Clusters that really should just not be exposed, even if they're in our XML.
          - FaultInjection
          # Clusters that are not going to end up shipping in their current form,
          # so we should not be exposing the bits we expose now.
          - ProxyConfiguration
          - ProxyDiscovery
          - ProxyValid

- release: "Fall 2023 #3"
  versions:
      iOS: "17.2"
      macOS: "14.2"
      watchOS: "10.2"
      tvOS: "17.2"
  introduced:
      command payloads:
          TimeSynchronization:
              - SetUTCTime
      command fields:
          TimeSynchronization:
              SetUTCTime:
                  - utcTime
                  - granularity
                  - timeSource
      enums:
          OTASoftwareUpdateProvider:
              - StatusEnum
              - ApplyUpdateActionEnum
              - DownloadProtocolEnum
          OTASoftwareUpdateRequestor:
              - AnnouncementReasonEnum
              - UpdateStateEnum
              - ChangeReasonEnum
      enum values:
          OTASoftwareUpdateProvider:
              StatusEnum:
                  - UpdateAvailable
                  - Busy
                  - NotAvailable
                  - DownloadProtocolNotSupported
              ApplyUpdateActionEnum:
                  - Proceed
                  - AwaitNextAction
                  - Discontinue
              DownloadProtocolEnum:
                  - BDXSynchronous
                  - BDXAsynchronous
                  - HTTPS
                  - VendorSpecific
          OTASoftwareUpdateRequestor:
              AnnouncementReasonEnum:
                  - SimpleAnnouncement
                  - UpdateAvailable
                  - UrgentUpdateAvailable
              UpdateStateEnum:
                  - Unknown
                  - Idle
                  - Querying
                  - DelayedOnQuery
                  - Downloading
                  - Applying
                  - DelayedOnApply
                  - RollingBack
                  - DelayedOnUserConsent
              ChangeReasonEnum:
                  - Unknown
                  - Success
                  - Failure
                  - TimeOut
                  - DelayByProvider
          OnOff:
              DelayedAllOffEffectVariantEnum:
                  - DelayedOffFastFade
                  - DelayedOffSlowFade
              DyingLightEffectVariantEnum:
                  - DyingLightFadeOff
              StartUpOnOffEnum:
                  - Toggle
      bitmaps:
          OnOff:
              - OnOffControlBitmap
      bitmap values:
          OnOff:
              Feature:
                  - DeadFrontBehavior
              OnOffControlBitmap:
                  - AcceptOnlyWhenOn
  deprecated:
      enums:
          OTASoftwareUpdateProvider:
              - OTAQueryStatus
              - OTAApplyUpdateAction
              - OTADownloadProtocol
          OTASoftwareUpdateRequestor:
              - OTAAnnouncementReason
              - OTAUpdateStateEnum
              - OTAChangeReasonEnum
      enum values:
          OnOff:
              DelayedAllOffEffectVariantEnum:
                  - FadeToOffIn0p8Seconds
                  - 50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds
              DyingLightEffectVariantEnum:
                  - 20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second
              StartUpOnOffEnum:
                  - TogglePreviousOnOff
      bitmaps:
          OnOff:
              - OnOffControl
      bitmap values:
          OnOff:
              Feature:
                  - DeadFront
  provisional:
      bitmaps:
          BarrierControl:
              - BarrierControlCapabilities
              - BarrierControlSafetyStatus
          BallastConfiguration:
              # The BallastConfiguration cluster is provisional for now, but not marked that way.
              - BallastStatusBitmap
              - LampAlarmModeBitmap
      attributes:
          GeneralDiagnostics:
              # Not in the spec yet.
              - AverageWearCount
              # New things, not quite finalized.
  renames:
      enums:
          OTASoftwareUpdateProvider:
              StatusEnum: OTAQueryStatus
              ApplyUpdateActionEnum: OTAApplyUpdateAction
              DownloadProtocolEnum: OTADownloadProtocol
          OTASoftwareUpdateRequestor:
              AnnouncementReasonEnum: OTAAnnouncementReason
              UpdateStateEnum: OTAUpdateStateEnum
              ChangeReasonEnum: OTAChangeReasonEnum
      enum values:
          OnOff:
              DelayedAllOffEffectVariantEnum:
                  DelayedOffFastFade: FadeToOffIn0p8Seconds
                  DelayedOffSlowFade: 50PercentDimDownIn0p8SecondsThenFadeToOffIn12Seconds
              DyingLightEffectVariantEnum:
                  DyingLightFadeOff: 20PercenterDimUpIn0p5SecondsThenFadeToOffIn1Second
              StartUpOnOffEnum:
                  Toggle: TogglePreviousOnOff
      bitmaps:
          OnOff:
              OnOffControlBitmap: OnOffControl
      bitmap values:
          OnOff:
              Feature:
                  DeadFrontBehavior: DeadFront

- release: "Early 2024"
  versions:
      iOS: "17.4"
      macOS: "14.4"
      watchOS: "10.4"
      tvOS: "17.4"
  introduced:
      clusters:
          - RVCRunMode
          - RVCCleanMode
          - RVCOperationalState
          - OperationalState
      attributes:
          RVCRunMode:
              - SupportedModes
              - CurrentMode
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          RVCCleanMode:
              - SupportedModes
              - CurrentMode
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          RVCOperationalState:
              - PhaseList
              - CurrentPhase
              - CountdownTime
              - OperationalStateList
              - OperationalState
              - OperationalError
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          OperationalState:
              - PhaseList
              - CurrentPhase
              - CountdownTime
              - OperationalStateList
              - OperationalState
              - OperationalError
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          PowerSource:
              - EndpointList
      commands:
          RVCRunMode:
              - ChangeToMode
              - ChangeToModeResponse
          RVCCleanMode:
              - ChangeToMode
              - ChangeToModeResponse
          RVCOperationalState:
              - Pause
              - Resume
              - OperationalCommandResponse
          OperationalState:
              - Start
              - Stop
              - Pause
              - Resume
              - OperationalCommandResponse
      command fields:
          RVCRunMode:
              ChangeToMode:
                  - newMode
              ChangeToModeResponse:
                  - status
                  - statusText
          RVCCleanMode:
              ChangeToMode:
                  - newMode
              ChangeToModeResponse:
                  - status
                  - statusText
          RVCOperationalState:
              OperationalCommandResponse:
                  - commandResponseState
          OperationalState:
              OperationalCommandResponse:
                  - commandResponseState
      structs:
          RVCOperationalState:
              - OperationalStateStruct
              - ErrorStateStruct
          RVCRunMode:
              - ModeTagStruct
              - ModeOptionStruct
          RVCCleanMode:
              - ModeTagStruct
              - ModeOptionStruct
          OperationalState:
              - OperationalStateStruct
              - ErrorStateStruct
          Thermostat:
              - WeeklyScheduleTransitionStruct
      struct fields:
          RVCOperationalState:
              OperationalStateStruct:
                  - operationalStateID
                  - operationalStateLabel
              ErrorStateStruct:
                  - errorStateID
                  - errorStateLabel
                  - errorStateDetails
          RVCRunMode:
              ModeTagStruct:
                  - mfgCode
                  - value
              ModeOptionStruct:
                  - label
                  - mode
                  - modeTags
          RVCCleanMode:
              ModeTagStruct:
                  - mfgCode
                  - value
              ModeOptionStruct:
                  - label
                  - mode
                  - modeTags
          OperationalState:
              OperationalStateStruct:
                  - operationalStateID
                  - operationalStateLabel
              ErrorStateStruct:
                  - errorStateID
                  - errorStateLabel
                  - errorStateDetails
          Thermostat:
              WeeklyScheduleTransitionStruct:
                  - transitionTime
                  - heatSetpoint
                  - coolSetpoint
      events:
          RVCOperationalState:
              - OperationalError
              - OperationCompletion
          OperationalState:
              - OperationalError
              - OperationCompletion
      event fields:
          WiFiNetworkDiagnostics:
              AssociationFailure:
                  - associationFailureCause
          RVCOperationalState:
              OperationalError:
                  - errorState
              OperationCompletion:
                  - completionErrorCode
                  - totalOperationalTime
                  - pausedTime
          OperationalState:
              OperationalError:
                  - errorState
              OperationCompletion:
                  - completionErrorCode
                  - totalOperationalTime
                  - pausedTime
      enums:
          ContentLauncher:
              - StatusEnum
          KeypadInput:
              - CECKeyCodeEnum
          ThermostatUserInterfaceConfiguration:
              - KeypadLockoutEnum
              - ScheduleProgrammingVisibilityEnum
              - TemperatureDisplayModeEnum
          RVCOperationalState:
              - OperationalStateEnum
              - ErrorStateEnum
          RVCRunMode:
              - ModeTag
              - StatusCode
          RVCCleanMode:
              - ModeTag
              - StatusCode
          OperationalState:
              - OperationalStateEnum
              - ErrorStateEnum
          Thermostat:
              - ControlSequenceOfOperationEnum
              - SetpointRaiseLowerModeEnum
      enum values:
          ContentLauncher:
              StatusEnum:
                  - Success
                  - URLNotAvailable
                  - AuthFailed
          FanControl:
              FanModeSequenceEnum:
                  - OffHighAuto
                  - OffHigh
          KeypadInput:
              CECKeyCodeEnum:
                  - 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
          ThermostatUserInterfaceConfiguration:
              KeypadLockoutEnum:
                  - NoLockout
                  - Lockout1
                  - Lockout2
                  - Lockout3
                  - Lockout4
                  - Lockout5
              ScheduleProgrammingVisibilityEnum:
                  - ScheduleProgrammingPermitted
                  - ScheduleProgrammingDenied
              TemperatureDisplayModeEnum:
                  - Celsius
                  - Fahrenheit
          RVCOperationalState:
              OperationalStateEnum:
                  - SeekingCharger
                  - Charging
                  - Docked
              ErrorStateEnum:
                  - FailedToFindChargingDock
                  - Stuck
                  - DustBinMissing
                  - DustBinFull
                  - WaterTankEmpty
                  - WaterTankMissing
                  - WaterTankLidOpen
                  - MopCleaningPadMissing
          RVCRunMode:
              ModeTag:
                  - Idle
                  - Cleaning
              StatusCode:
                  - Stuck
                  - DustBinMissing
                  - DustBinFull
                  - WaterTankEmpty
                  - WaterTankMissing
                  - WaterTankLidOpen
                  - MopCleaningPadMissing
                  - BatteryLow
          RVCCleanMode:
              ModeTag:
                  - DeepClean
                  - Vacuum
                  - Mop
              StatusCode:
                  - CleaningInProgress
          OperationalState:
              OperationalStateEnum:
                  - Stopped
                  - Running
                  - Paused
                  - Error
              ErrorStateEnum:
                  - NoError
                  - UnableToStartOrResume
                  - UnableToCompleteOperation
                  - CommandInvalidInState
          Thermostat:
              ControlSequenceOfOperationEnum:
                  - CoolingOnly
                  - CoolingWithReheat
                  - HeatingOnly
                  - HeatingWithReheat
                  - CoolingAndHeating
                  - CoolingAndHeatingWithReheat
              SetpointRaiseLowerModeEnum:
                  - Heat
                  - Cool
                  - Both
      bitmaps:
          Scenes:
              - CopyModeBitmap
          AdministratorCommissioning:
              - Feature
          ContentLauncher:
              - SupportedProtocolsBitmap
          LevelControl:
              - OptionsBitmap
          RVCRunMode:
              - Feature
          RVCCleanMode:
              - Feature
          Thermostat:
              - ScheduleDayOfWeekBitmap
              - ScheduleModeBitmap
      bitmap values:
          PumpConfigurationAndControl:
              PumpStatusBitmap:
                  - SupplyFault
          Scenes:
              CopyModeBitmap:
                  - CopyAllScenes
          SoftwareDiagnostics:
              Feature:
                  - Watermarks
          AdministratorCommissioning:
              Feature:
                  - Basic
          ContentLauncher:
              SupportedProtocolsBitmap:
                  - DASH
                  - HLS
          LevelControl:
              OptionsBitmap:
                  - ExecuteIfOff
                  - CoupleColorTempToLevel
          Thermostat:
              ScheduleDayOfWeekBitmap:
                  - Sunday
                  - Monday
                  - Tuesday
                  - Wednesday
                  - Thursday
                  - Friday
                  - Saturday
                  - Away
              ScheduleModeBitmap:
                  - HeatSetpointPresent
                  - CoolSetpointPresent
  deprecated:
      structs:
          Thermostat:
              - ThermostatScheduleTransition
      event fields:
          WiFiNetworkDiagnostics:
              AssociationFailure:
                  - associationFailure
      enums:
          ContentLauncher:
              - ContentLaunchStatusEnum
          KeypadInput:
              - CecKeyCode
          Thermostat:
              - ThermostatControlSequence
              - SetpointAdjustMode
      enum values:
          FanControl:
              FanModeSequenceEnum:
                  - OffOnAuto
                  - OffOn
      bitmaps:
          Scenes:
              - ScenesCopyMode
          ContentLauncher:
              - SupportedStreamingProtocol
          LevelControl:
              - LevelControlOptions
          Thermostat:
              - DayOfWeek
              - ModeForSequence
      bitmap values:
          PumpConfigurationAndControl:
              PumpStatusBitmap:
                  - Supplyfault
          SoftwareDiagnostics:
              Feature:
                  - WaterMarks
  provisional:
      clusters:
          # Targeting Spring 2024 Matter release
          - MicrowaveOvenControl
          - MicrowaveOvenMode
          - DemandResponseLoadControl
          - BooleanStateConfiguration
          - ValveConfigurationAndControl
          - Timer
          - OvenMode
          - LaundryDryerControls
          - EnergyEVSE
          - OvenCavityOperationalState
          - ContentControl
          - ContentAppObserver
          - DeviceEnergyManagement
          - ElectricalEnergyMeasurement
          - EnergyPreference
          - ScenesManagement
      attributes:
          NetworkCommissioning:
              # Targeting Spring 2024 Matter release
              - SupportedWiFiBands
              - SupportedThreadFeatures
              - ThreadVersion
          WakeOnLAN:
              # Targeting Spring 2024 Matter release
              - LinkLocalAddress
          BasicInformation:
              # Targeting Spring 2024 Matter release
              - SpecificationVersion
              - MaxPathsPerInvoke
          Scenes:
              # Targeting Spring 2024 Matter release
              - FabricSceneInfo
          MediaPlayback:
              # Targeting Spring 2024 Matter release
              - ActiveAudioTrack
              - AvailableAudioTracks
              - ActiveTextTrack
              - AvailableTextTracks
      commands:
          GeneralDiagnostics:
              # Targeting Spring 2024 Matter release
              - TimeSnapshot
              - TimeSnapshotResponse
          NetworkCommissioning:
              # Targeting Spring 2024 Matter release
              - QueryIdentity
              - QueryIdentityResponse
          Channel:
              # Targeting Spring 2024 Matter release
              - GetProgramGuide
              - ProgramGuideResponse
              - RecordProgram
              - CancelRecordProgram
          MediaPlayback:
              # Targeting Spring 2024 Matter release
              - ActivateAudioTrack
              - ActivateTextTrack
              - DeactivateTextTrack
          UnitTesting:
              # Ideally none of UnitTesting would be exposed as public API, but
              # for now just start doing that for new additions to it.
              - TestBatchHelperResponse
              - TestBatchHelperRequest
              - TestSecondBatchHelperRequest
      command fields:
          NetworkCommissioning:
              # Targeting Spring 2024 Matter release
              AddOrUpdateWiFiNetwork:
                  - networkIdentity
                  - clientIdentifier
                  - possessionNonce
              NetworkConfigResponse:
                  - clientIdentity
                  - possessionSignature
              QueryIdentity:
                  - keyIdentifier
                  - possessionNonce
              QueryIdentityResponse:
                  - identity
                  - possessionSignature
          MediaPlayback:
              # Targeting Spring 2024 Matter release
              Rewind:
                  - audioAdvanceUnmuted
              FastForward:
                  - audioAdvanceUnmuted
          ContentLauncher:
              # Targeting Spring 2024 Matter release
              LaunchContent:
                  - playbackPreferences
                  - useCurrentContext
          AccountLogin:
              # Targeting Spring 2024 Matter release
              Login:
                  - node
              Logout:
                  - node
      structs:
          Scenes:
              # Targeting Spring 2024 Matter release
              - SceneInfoStruct
          Channel:
              # Targeting Spring 2024 Matter release
              - ProgramStruct
              - SeriesInfoStruct
              - ProgramCategoryStruct
              - ProgramCastStruct
              - PageTokenStruct
              - ChannelPagingStruct
              - AdditionalInfoStruct
          MediaPlayback:
              # Targeting Spring 2024 Matter release
              - TrackStruct
              - TrackAttributesStruct
          ContentLauncher:
              # Targeting Spring 2024 Matter release
              - PlaybackPreferencesStruct
              - TrackPreferenceStruct
      struct fields:
          NetworkCommissioning:
              # Targeting Spring 2024 Matter release
              NetworkInfoStruct:
                  - networkIdentifier
                  - clientIdentifier
          Channel:
              # Targeting Spring 2024 Matter release
              ChannelInfoStruct:
                  - identifier
                  - type
      events:
          MediaPlayback:
              # Targeting Spring 2024 Matter release
              - StateChanged
          AccountLogin:
              # Targeting Spring 2024 Matter release
              - LoggedOut
          TargetNavigator:
              # Targeting Spring 2024 Matter release
              - TargetUpdated
      enums:
          Thermostat:
              # Targeting Spring 2024 Matter release
              - StartOfWeekEnum
              - TemperatureSetpointHoldEnum
              - ACCapacityFormatEnum
              - ACCompressorTypeEnum
              - ACLouverPositionEnum
              - ACRefrigerantTypeEnum
              - ACTypeEnum
              - SetpointChangeSourceEnum
          Channel:
              # Targeting Spring 2024 Matter release
              - ChannelTypeEnum
          MediaPlayback:
              # Targeting Spring 2024 Matter release
              - CharacteristicEnum
          ContentLauncher:
              # Targeting Spring 2024 Matter release
              - CharacteristicEnum
      enum values:
          ContentLauncher:
              # Targeting Spring 2024 Matter release
              ParameterEnum:
                  - Season
                  - Episode
                  - Any
              StatusEnum:
                  - TextTrackNotAvailable
                  - AudioTrackNotAvailable
          TimeFormatLocalization:
              CalendarTypeEnum:
                  - UseActiveLocale
              HourFormatEnum:
                  - UseActiveLocale
      bitmaps:
          NetworkCommissioning:
              # Targeting Spring 2024 Matter release
              - ThreadCapabilitiesBitmap
          Scenes:
              # Targeting Spring 2024 Matter release
              - NameSupportBitmap
          Thermostat:
              # Targeting Spring 2024 Matter release
              - ACErrorCodeBitmap
              - HVACSystemTypeBitmap
              - ProgrammingOperationModeBitmap
              - RelayStateBitmap
              - RemoteSensingBitmap
          Channel:
              # Targeting Spring 2024 Matter release
              - RecordingFlagBitmap
      bitmap values:
          OnOff:
              Feature:
                  # Targeting Spring 2024 Matter release
                  - OffOnly
          NetworkCommissioning:
              # Targeting Spring 2024 Matter release
              Feature:
                  - PerDeviceCredentials
              WiFiSecurityBitmap:
                  - WPA3MatterPDC
          Channel:
              # Targeting Spring 2024 Matter release
              Feature:
                  - ElectronicGuide
                  - RecordProgram
          MediaPlayback:
              # Targeting Spring 2024 Matter release
              Feature:
                  - TextTracks
                  - AudioTracks
                  - AudioAdvance
          ContentLauncher:
              # Targeting Spring 2024 Matter release
              SupportedProtocolsBitmap:
                  - WebRTC
              Feature:
                  - AdvancedSeek
                  - TextTracks
                  - AudioTracks
  renames:
      structs:
          Thermostat:
              WeeklyScheduleTransitionStruct: ThermostatScheduleTransition
      event fields:
          WiFiNetworkDiagnostics:
              AssociationFailure:
                  associationFailureCause: associationFailure
      enums:
          ContentLauncher:
              StatusEnum: ContentLaunchStatusEnum
          KeypadInput:
              CECKeyCodeEnum: CecKeyCode
          Thermostat:
              ControlSequenceOfOperationEnum: ThermostatControlSequence
              SetpointRaiseLowerModeEnum: SetpointAdjustMode
      enum values:
          ContentLauncher:
              # The URLNotAvailable value got renamed at the same time
              # as the enum.  Record the rename here so that the old
              # value name is generated for the old enum name.
              ContentLaunchStatusEnum:
                  URLNotAvailable: UrlNotAvailable
          FanControl:
              FanModeSequenceEnum:
                  OffHighAuto: OffOnAuto
                  OffHigh: OffOn
              # FanModeSequenceType is the old name of
              # FanModeSequenceEnum; we need this rename annotation
              # here so we don't lose the old values under that old
              # name.
              FanModeSequenceType:
                  OffHighAuto: OffOnAuto
                  OffHigh: OffOn
      bitmaps:
          Scenes:
              CopyModeBitmap: ScenesCopyMode
          ContentLauncher:
              SupportedProtocolsBitmap: SupportedStreamingProtocol
          LevelControl:
              OptionsBitmap: LevelControlOptions
          Thermostat:
              ScheduleDayOfWeekBitmap: DayOfWeek
              ScheduleModeBitmap: ModeForSequence
      bitmap values:
          PumpConfigurationAndControl:
              PumpStatusBitmap:
                  SupplyFault: Supplyfault
          SoftwareDiagnostics:
              Feature:
                  Watermarks: WaterMarks
  removed:
      clusters:
          # Should never have been exposed in the shape it was in, and now is
          # getting renamed and getting a new cluster id, so just removing it
          # seems like the most sensible thing.
          - Scenes
      enum values:
          ContentLauncher:
              # The URLNotAvailable value got renamed at the same time
              # as the enum.  The old enum name never had the new value name.
              ContentLaunchStatusEnum:
                  - URLNotAvailable

- release: "Middle of 2024"
  versions:
      iOS: "17.6"
      macOS: "14.6"
      watchOS: "10.6"
      tvOS: "17.6"
  introduced:
      clusters:
          - ActivatedCarbonFilterMonitoring
          - AirQuality
          - BooleanStateConfiguration
          - ElectricalEnergyMeasurement
          - ElectricalPowerMeasurement
          - HEPAFilterMonitoring
          - SmokeCOAlarm
          # Concentration Measurement clusters
          - CarbonDioxideConcentrationMeasurement
          - CarbonMonoxideConcentrationMeasurement
          - FormaldehydeConcentrationMeasurement
          - NitrogenDioxideConcentrationMeasurement
          - OzoneConcentrationMeasurement
          - PM10ConcentrationMeasurement
          - PM1ConcentrationMeasurement
          - PM25ConcentrationMeasurement
          - RadonConcentrationMeasurement
          - TotalVolatileOrganicCompoundsConcentrationMeasurement
          - ValveConfigurationAndControl
      attributes:
          ActivatedCarbonFilterMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - LastChangedTime
              - ReplacementProductList
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          AirQuality:
              - AirQuality
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          BooleanStateConfiguration:
              - CurrentSensitivityLevel
              - SupportedSensitivityLevels
              - DefaultSensitivityLevel
              - AlarmsActive
              - AlarmsSuppressed
              - AlarmsEnabled
              - AlarmsSupported
              - SensorFault
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ElectricalEnergyMeasurement:
              - Accuracy
              - CumulativeEnergyImported
              - CumulativeEnergyExported
              - PeriodicEnergyImported
              - PeriodicEnergyExported
              - CumulativeEnergyReset
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ElectricalPowerMeasurement:
              - PowerMode
              - NumberOfMeasurementTypes
              - Accuracy
              - Ranges
              - Voltage
              - ActiveCurrent
              - ReactiveCurrent
              - ApparentCurrent
              - ActivePower
              - ReactivePower
              - ApparentPower
              - RMSVoltage
              - RMSCurrent
              - RMSPower
              - Frequency
              - HarmonicCurrents
              - HarmonicPhases
              - PowerFactor
              - NeutralCurrent
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          FanControl:
              - AirflowDirection
          HEPAFilterMonitoring:
              - Condition
              - DegradationDirection
              - ChangeIndication
              - InPlaceIndicator
              - LastChangedTime
              - ReplacementProductList
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          SmokeCOAlarm:
              - ExpressedState
              - SmokeState
              - COState
              - BatteryAlert
              - DeviceMuted
              - TestInProgress
              - HardwareFaultAlert
              - EndOfServiceAlert
              - InterconnectSmokeAlarm
              - InterconnectCOAlarm
              - ContaminationState
              - SmokeSensitivityLevel
              - ExpiryDate
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          CarbonDioxideConcentrationMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - PeakMeasuredValue
              - PeakMeasuredValueWindow
              - AverageMeasuredValue
              - AverageMeasuredValueWindow
              - Uncertainty
              - MeasurementUnit
              - MeasurementMedium
              - LevelValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          CarbonMonoxideConcentrationMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - PeakMeasuredValue
              - PeakMeasuredValueWindow
              - AverageMeasuredValue
              - AverageMeasuredValueWindow
              - Uncertainty
              - MeasurementUnit
              - MeasurementMedium
              - LevelValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          FormaldehydeConcentrationMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - PeakMeasuredValue
              - PeakMeasuredValueWindow
              - AverageMeasuredValue
              - AverageMeasuredValueWindow
              - Uncertainty
              - MeasurementUnit
              - MeasurementMedium
              - LevelValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          NitrogenDioxideConcentrationMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - PeakMeasuredValue
              - PeakMeasuredValueWindow
              - AverageMeasuredValue
              - AverageMeasuredValueWindow
              - Uncertainty
              - MeasurementUnit
              - MeasurementMedium
              - LevelValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          OzoneConcentrationMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - PeakMeasuredValue
              - PeakMeasuredValueWindow
              - AverageMeasuredValue
              - AverageMeasuredValueWindow
              - Uncertainty
              - MeasurementUnit
              - MeasurementMedium
              - LevelValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          PM10ConcentrationMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - PeakMeasuredValue
              - PeakMeasuredValueWindow
              - AverageMeasuredValue
              - AverageMeasuredValueWindow
              - Uncertainty
              - MeasurementUnit
              - MeasurementMedium
              - LevelValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          PM1ConcentrationMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - PeakMeasuredValue
              - PeakMeasuredValueWindow
              - AverageMeasuredValue
              - AverageMeasuredValueWindow
              - Uncertainty
              - MeasurementUnit
              - MeasurementMedium
              - LevelValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          PM25ConcentrationMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - PeakMeasuredValue
              - PeakMeasuredValueWindow
              - AverageMeasuredValue
              - AverageMeasuredValueWindow
              - Uncertainty
              - MeasurementUnit
              - MeasurementMedium
              - LevelValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          RadonConcentrationMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - PeakMeasuredValue
              - PeakMeasuredValueWindow
              - AverageMeasuredValue
              - AverageMeasuredValueWindow
              - Uncertainty
              - MeasurementUnit
              - MeasurementMedium
              - LevelValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          TotalVolatileOrganicCompoundsConcentrationMeasurement:
              - MeasuredValue
              - MinMeasuredValue
              - MaxMeasuredValue
              - PeakMeasuredValue
              - PeakMeasuredValueWindow
              - AverageMeasuredValue
              - AverageMeasuredValueWindow
              - Uncertainty
              - MeasurementUnit
              - MeasurementMedium
              - LevelValue
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
          ValveConfigurationAndControl:
              - OpenDuration
              - DefaultOpenDuration
              - AutoCloseTime
              - RemainingDuration
              - CurrentState
              - TargetState
              - CurrentLevel
              - TargetLevel
              - DefaultOpenLevel
              - ValveFault
              - LevelStep
              - GeneratedCommandList
              - AcceptedCommandList
              - AttributeList
              - FeatureMap
              - ClusterRevision
      commands:
          BooleanStateConfiguration:
              - SuppressAlarm
              - EnableDisableAlarm
          ActivatedCarbonFilterMonitoring:
              - ResetCondition
          FanControl:
              - Step
          HEPAFilterMonitoring:
              - ResetCondition
          SmokeCOAlarm:
              - SelfTestRequest
          ValveConfigurationAndControl:
              - Open
              - Close
      command fields:
          BooleanStateConfiguration:
              SuppressAlarm:
                  - alarmsToSuppress
              EnableDisableAlarm:
                  - alarmsToEnableDisable
          FanControl:
              Step:
                  - direction
                  - wrap
                  - lowestOff
          ValveConfigurationAndControl:
              Open:
                  - openDuration
                  - targetLevel
      structs:
          ActivatedCarbonFilterMonitoring:
              - ReplacementProductStruct
          ElectricalEnergyMeasurement:
              - EnergyMeasurementStruct
              - CumulativeEnergyResetStruct
              - MeasurementAccuracyStruct
          ElectricalPowerMeasurement:
              - HarmonicMeasurementStruct
              - MeasurementRangeStruct
              - MeasurementAccuracyRangeStruct
              - MeasurementAccuracyStruct
          HEPAFilterMonitoring:
              - ReplacementProductStruct
      struct fields:
          ActivatedCarbonFilterMonitoring:
              ReplacementProductStruct:
                  - productIdentifierType
                  - productIdentifierValue
          ElectricalEnergyMeasurement:
              EnergyMeasurementStruct:
                  - energy
                  - startTimestamp
                  - endTimestamp
                  - startSystime
                  - endSystime
              CumulativeEnergyResetStruct:
                  - importedResetTimestamp
                  - exportedResetTimestamp
                  - importedResetSystime
                  - exportedResetSystime
              MeasurementAccuracyStruct:
                  - measurementType
                  - measured
                  - minMeasuredValue
                  - maxMeasuredValue
                  - accuracyRanges
              MeasurementAccuracyRangeStruct:
                  - rangeMin
                  - rangeMax
                  - percentMax
                  - percentMin
                  - percentTypical
                  - fixedMax
                  - fixedMin
                  - fixedTypical
          ElectricalPowerMeasurement:
              MeasurementRangeStruct:
                  - measurementType
                  - min
                  - max
                  - startTimestamp
                  - endTimestamp
                  - minTimestamp
                  - maxTimestamp
                  - startSystime
                  - endSystime
                  - minSystime
                  - maxSystime
              HarmonicMeasurementStruct:
                  - order
                  - measurement
              MeasurementAccuracyStruct:
                  - measurementType
                  - measured
                  - minMeasuredValue
                  - maxMeasuredValue
                  - accuracyRanges
              MeasurementAccuracyRangeStruct:
                  - rangeMin
                  - rangeMax
                  - percentMax
                  - percentMin
                  - percentTypical
                  - fixedMax
                  - fixedMin
                  - fixedTypical
          HEPAFilterMonitoring:
              ReplacementProductStruct:
                  - productIdentifierType
                  - productIdentifierValue
      events:
          BooleanStateConfiguration:
              - AlarmsStateChanged
              - SensorFault
          ElectricalEnergyMeasurement:
              - CumulativeEnergyMeasured
              - PeriodicEnergyMeasured
          ElectricalPowerMeasurement:
              - MeasurementPeriodRanges
          SmokeCOAlarm:
              - SmokeAlarm
              - COAlarm
              - LowBattery
              - HardwareFault
              - EndOfService
              - SelfTestComplete
              - AlarmMuted
              - MuteEnded
              - InterconnectSmokeAlarm
              - InterconnectCOAlarm
              - AllClear
          ValveConfigurationAndControl:
              - ValveStateChanged
              - ValveFault
      event fields:
          BooleanStateConfiguration:
              AlarmsStateChanged:
                  - alarmsActive
                  - alarmsSuppressed
              SensorFault:
                  - sensorFault
          ElectricalEnergyMeasurement:
              CumulativeEnergyMeasured:
                  - energyImported
                  - energyExported
              PeriodicEnergyMeasured:
                  - energyImported
                  - energyExported
          ElectricalPowerMeasurement:
              MeasurementPeriodRanges:
                  - ranges
          SmokeCOAlarm:
              SmokeAlarm:
                  - alarmSeverityLevel
              COAlarm:
                  - alarmSeverityLevel
              LowBattery:
                  - alarmSeverityLevel
              InterconnectSmokeAlarm:
                  - alarmSeverityLevel
              InterconnectCOAlarm:
                  - alarmSeverityLevel
          ValveConfigurationAndControl:
              ValveStateChanged:
                  - valveState
                  - valveLevel
              ValveFault:
                  - valveFault
      enums:
          ActivatedCarbonFilterMonitoring:
              - DegradationDirectionEnum
              - ChangeIndicationEnum
              - ProductIdentifierTypeEnum
          AirQuality:
              - AirQualityEnum
          ElectricalPowerMeasurement:
              - PowerModeEnum
              - MeasurementTypeEnum
          FanControl:
              - StepDirectionEnum
              - AirflowDirectionEnum
          HEPAFilterMonitoring:
              - DegradationDirectionEnum
              - ChangeIndicationEnum
              - ProductIdentifierTypeEnum
          SmokeCOAlarm:
              - AlarmStateEnum
              - SensitivityEnum
              - ExpressedStateEnum
              - MuteStateEnum
              - EndOfServiceEnum
              - ContaminationStateEnum
          CarbonDioxideConcentrationMeasurement:
              - MeasurementUnitEnum
              - MeasurementMediumEnum
              - LevelValueEnum
          CarbonMonoxideConcentrationMeasurement:
              - MeasurementUnitEnum
              - MeasurementMediumEnum
              - LevelValueEnum
          FormaldehydeConcentrationMeasurement:
              - MeasurementUnitEnum
              - MeasurementMediumEnum
              - LevelValueEnum
          NitrogenDioxideConcentrationMeasurement:
              - MeasurementUnitEnum
              - MeasurementMediumEnum
              - LevelValueEnum
          OzoneConcentrationMeasurement:
              - MeasurementUnitEnum
              - MeasurementMediumEnum
              - LevelValueEnum
          PM10ConcentrationMeasurement:
              - MeasurementUnitEnum
              - MeasurementMediumEnum
              - LevelValueEnum
          PM1ConcentrationMeasurement:
              - MeasurementUnitEnum
              - MeasurementMediumEnum
              - LevelValueEnum
          PM25ConcentrationMeasurement:
              - MeasurementUnitEnum
              - MeasurementMediumEnum
              - LevelValueEnum
          RadonConcentrationMeasurement:
              - MeasurementUnitEnum
              - MeasurementMediumEnum
              - LevelValueEnum
          TotalVolatileOrganicCompoundsConcentrationMeasurement:
              - MeasurementUnitEnum
              - MeasurementMediumEnum
              - LevelValueEnum
          ValveConfigurationAndControl:
              - ValveStateEnum
              - StatusCodeEnum
      enum values:
          ActivatedCarbonFilterMonitoring:
              DegradationDirectionEnum:
                  - Up
                  - Down
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              ProductIdentifierTypeEnum:
                  - UPC
                  - GTIN8
                  - EAN
                  - GTIN14
                  - OEM
          AirQuality:
              AirQualityEnum:
                  - Unknown
                  - Good
                  - Fair
                  - Moderate
                  - Poor
                  - VeryPoor
                  - ExtremelyPoor
          ElectricalPowerMeasurement:
              PowerModeEnum:
                  - Unknown
                  - DC
                  - AC
              MeasurementTypeEnum:
                  - Unspecified
                  - Voltage
                  - ActiveCurrent
                  - ReactiveCurrent
                  - ApparentCurrent
                  - ActivePower
                  - ReactivePower
                  - ApparentPower
                  - RMSVoltage
                  - RMSCurrent
                  - RMSPower
                  - Frequency
                  - PowerFactor
                  - NeutralCurrent
                  - ElectricalEnergy

          FanControl:
              StepDirectionEnum:
                  - Increase
                  - Decrease
              AirflowDirectionEnum:
                  - Forward
                  - Reverse
          HEPAFilterMonitoring:
              DegradationDirectionEnum:
                  - Up
                  - Down
              ChangeIndicationEnum:
                  - OK
                  - Warning
                  - Critical
              ProductIdentifierTypeEnum:
                  - UPC
                  - GTIN8
                  - EAN
                  - GTIN14
                  - OEM
          SmokeCOAlarm:
              AlarmStateEnum:
                  - Normal
                  - Warning
                  - Critical
              SensitivityEnum:
                  - High
                  - Standard
                  - Low
              ExpressedStateEnum:
                  - Normal
                  - SmokeAlarm
                  - COAlarm
                  - BatteryAlert
                  - Testing
                  - HardwareFault
                  - EndOfService
                  - InterconnectSmoke
                  - InterconnectCO
              MuteStateEnum:
                  - NotMuted
                  - Muted
              EndOfServiceEnum:
                  - Normal
                  - Expired
              ContaminationStateEnum:
                  - Normal
                  - Low
                  - Warning
                  - Critical
          CarbonDioxideConcentrationMeasurement:
              MeasurementUnitEnum:
                  - PPM
                  - PPB
                  - PPT
                  - MGM3
                  - UGM3
                  - NGM3
                  - PM3
                  - BQM3
              MeasurementMediumEnum:
                  - Air
                  - Water
                  - Soil
              LevelValueEnum:
                  - Unknown
                  - Low
                  - Medium
                  - High
                  - Critical
          CarbonMonoxideConcentrationMeasurement:
              MeasurementUnitEnum:
                  - PPM
                  - PPB
                  - PPT
                  - MGM3
                  - UGM3
                  - NGM3
                  - PM3
                  - BQM3
              MeasurementMediumEnum:
                  - Air
                  - Water
                  - Soil
              LevelValueEnum:
                  - Unknown
                  - Low
                  - Medium
                  - High
                  - Critical
          FormaldehydeConcentrationMeasurement:
              MeasurementUnitEnum:
                  - PPM
                  - PPB
                  - PPT
                  - MGM3
                  - UGM3
                  - NGM3
                  - PM3
                  - BQM3
              MeasurementMediumEnum:
                  - Air
                  - Water
                  - Soil
              LevelValueEnum:
                  - Unknown
                  - Low
                  - Medium
                  - High
                  - Critical
          NitrogenDioxideConcentrationMeasurement:
              MeasurementUnitEnum:
                  - PPM
                  - PPB
                  - PPT
                  - MGM3
                  - UGM3
                  - NGM3
                  - PM3
                  - BQM3
              MeasurementMediumEnum:
                  - Air
                  - Water
                  - Soil
              LevelValueEnum:
                  - Unknown
                  - Low
                  - Medium
                  - High
                  - Critical
          OzoneConcentrationMeasurement:
              MeasurementUnitEnum:
                  - PPM
                  - PPB
                  - PPT
                  - MGM3
                  - UGM3
                  - NGM3
                  - PM3
                  - BQM3
              MeasurementMediumEnum:
                  - Air
                  - Water
                  - Soil
              LevelValueEnum:
                  - Unknown
                  - Low
                  - Medium
                  - High
                  - Critical
          PM10ConcentrationMeasurement:
              MeasurementUnitEnum:
                  - PPM
                  - PPB
                  - PPT
                  - MGM3
                  - UGM3
                  - NGM3
                  - PM3
                  - BQM3
              MeasurementMediumEnum:
                  - Air
                  - Water
                  - Soil
              LevelValueEnum:
                  - Unknown
                  - Low
                  - Medium
                  - High
                  - Critical
          PM1ConcentrationMeasurement:
              MeasurementUnitEnum:
                  - PPM
                  - PPB
                  - PPT
                  - MGM3
                  - UGM3
                  - NGM3
                  - PM3
                  - BQM3
              MeasurementMediumEnum:
                  - Air
                  - Water
                  - Soil
              LevelValueEnum:
                  - Unknown
                  - Low
                  - Medium
                  - High
                  - Critical
          PM25ConcentrationMeasurement:
              MeasurementUnitEnum:
                  - PPM
                  - PPB
                  - PPT
                  - MGM3
                  - UGM3
                  - NGM3
                  - PM3
                  - BQM3
              MeasurementMediumEnum:
                  - Air
                  - Water
                  - Soil
              LevelValueEnum:
                  - Unknown
                  - Low
                  - Medium
                  - High
                  - Critical
          RadonConcentrationMeasurement:
              MeasurementUnitEnum:
                  - PPM
                  - PPB
                  - PPT
                  - MGM3
                  - UGM3
                  - NGM3
                  - PM3
                  - BQM3
              MeasurementMediumEnum:
                  - Air
                  - Water
                  - Soil
              LevelValueEnum:
                  - Unknown
                  - Low
                  - Medium
                  - High
                  - Critical
          TotalVolatileOrganicCompoundsConcentrationMeasurement:
              MeasurementUnitEnum:
                  - PPM
                  - PPB
                  - PPT
                  - MGM3
                  - UGM3
                  - NGM3
                  - PM3
                  - BQM3
              MeasurementMediumEnum:
                  - Air
                  - Water
                  - Soil
              LevelValueEnum:
                  - Unknown
                  - Low
                  - Medium
                  - High
                  - Critical
          ValveConfigurationAndControl:
              ValveStateEnum:
                  - Closed
                  - Open
                  - Transitioning
              StatusCodeEnum:
                  - FailureDueToFault
      bitmaps:
          ActivatedCarbonFilterMonitoring:
              - Feature
          AirQuality:
              - Feature
          BooleanStateConfiguration:
              - Feature
              - AlarmModeBitmap
              - SensorFaultBitmap
          ElectricalEnergyMeasurement:
              - Feature
          ElectricalPowerMeasurement:
              - Feature
          HEPAFilterMonitoring:
              - Feature
          SmokeCOAlarm:
              - Feature
          CarbonDioxideConcentrationMeasurement:
              - Feature
          CarbonMonoxideConcentrationMeasurement:
              - Feature
          FormaldehydeConcentrationMeasurement:
              - Feature
          NitrogenDioxideConcentrationMeasurement:
              - Feature
          OzoneConcentrationMeasurement:
              - Feature
          PM10ConcentrationMeasurement:
              - Feature
          PM1ConcentrationMeasurement:
              - Feature
          PM25ConcentrationMeasurement:
              - Feature
          RadonConcentrationMeasurement:
              - Feature
          TotalVolatileOrganicCompoundsConcentrationMeasurement:
              - Feature
          ValveConfigurationAndControl:
              - Feature
              - ValveFaultBitmap
      bitmap values:
          ActivatedCarbonFilterMonitoring:
              Feature:
                  - Condition
                  - Warning
                  - ReplacementProductList
          AirQuality:
              Feature:
                  - Fair
                  - Moderate
                  - VeryPoor
                  - ExtremelyPoor
          BooleanStateConfiguration:
              Feature:
                  - Visual
                  - Audible
                  - AlarmSuppress
                  - SensitivityLevel
              AlarmModeBitmap:
                  - Visual
                  - Audible
              SensorFaultBitmap:
                  - GeneralFault
          ElectricalEnergyMeasurement:
              Feature:
                  - ImportedEnergy
                  - ExportedEnergy
                  - CumulativeEnergy
                  - PeriodicEnergy
          ElectricalPowerMeasurement:
              Feature:
                  - DirectCurrent
                  - AlternatingCurrent
                  - PolyphasePower
                  - Harmonics
                  - PowerQuality
          HEPAFilterMonitoring:
              Feature:
                  - Condition
                  - Warning
                  - ReplacementProductList
          FanControl:
              Feature:
                  - Step
                  - AirflowDirection
          SmokeCOAlarm:
              Feature:
                  - SmokeAlarm
                  - COAlarm
          CarbonDioxideConcentrationMeasurement:
              Feature:
                  - NumericMeasurement
                  - LevelIndication
                  - MediumLevel
                  - CriticalLevel
                  - PeakMeasurement
                  - AverageMeasurement
          CarbonMonoxideConcentrationMeasurement:
              Feature:
                  - NumericMeasurement
                  - LevelIndication
                  - MediumLevel
                  - CriticalLevel
                  - PeakMeasurement
                  - AverageMeasurement
          FormaldehydeConcentrationMeasurement:
              Feature:
                  - NumericMeasurement
                  - LevelIndication
                  - MediumLevel
                  - CriticalLevel
                  - PeakMeasurement
                  - AverageMeasurement
          NitrogenDioxideConcentrationMeasurement:
              Feature:
                  - NumericMeasurement
                  - LevelIndication
                  - MediumLevel
                  - CriticalLevel
                  - PeakMeasurement
                  - AverageMeasurement
          OzoneConcentrationMeasurement:
              Feature:
                  - NumericMeasurement
                  - LevelIndication
                  - MediumLevel
                  - CriticalLevel
                  - PeakMeasurement
                  - AverageMeasurement
          PM10ConcentrationMeasurement:
              Feature:
                  - NumericMeasurement
                  - LevelIndication
                  - MediumLevel
                  - CriticalLevel
                  - PeakMeasurement
                  - AverageMeasurement
          PM1ConcentrationMeasurement:
              Feature:
                  - NumericMeasurement
                  - LevelIndication
                  - MediumLevel
                  - CriticalLevel
                  - PeakMeasurement
                  - AverageMeasurement
          PM25ConcentrationMeasurement:
              Feature:
                  - NumericMeasurement
                  - LevelIndication
                  - MediumLevel
                  - CriticalLevel
                  - PeakMeasurement
                  - AverageMeasurement
          RadonConcentrationMeasurement:
              Feature:
                  - NumericMeasurement
                  - LevelIndication
                  - MediumLevel
                  - CriticalLevel
                  - PeakMeasurement
                  - AverageMeasurement
          TotalVolatileOrganicCompoundsConcentrationMeasurement:
              Feature:
                  - NumericMeasurement
                  - LevelIndication
                  - MediumLevel
                  - CriticalLevel
                  - PeakMeasurement
                  - AverageMeasurement
          ValveConfigurationAndControl:
              Feature:
                  - TimeSync
                  - Level
              ValveFaultBitmap:
                  - GeneralFault
                  - Blocked
                  - Leaking
                  - NotConnected
                  - ShortCircuit
                  - CurrentExceeded
  provisional:
      clusters:
          # Targeting Spring 2024 Matter release
          - EnergyEVSEMode
          - DeviceEnergyManagementMode
          - Messages
          - PowerTopology
      attributes:
          DoorLock:
              # Aliro is not ready yet.
              - AliroReaderVerificationKey
              - AliroReaderGroupIdentifier
              - AliroReaderGroupSubIdentifier
              - AliroExpeditedTransactionSupportedProtocolVersions
              - AliroGroupResolvingKey
              - AliroSupportedBLEUWBProtocolVersions
              - AliroBLEAdvertisingVersion
              - NumberOfAliroCredentialIssuerKeysSupported
              - NumberOfAliroEndpointKeysSupported
          ICDManagement:
              # Targeting Spring 2024 Matter release
              - OperatingMode
          Thermostat:
              # Targeting Spring 2024 Matter release
              - PresetTypes
              - ScheduleTypes
              - NumberOfPresets
              - NumberOfSchedules
              - NumberOfScheduleTransitions
              - NumberOfScheduleTransitionPerDay
              - ActivePresetHandle
              - Presets
              - Schedules
              - PresetsSchedulesEditable
              - TemperatureSetpointHoldPolicy
              - SetpointHoldExpiryTimestamp
              - QueuedPreset
              - ActiveScheduleHandle
          UnitTesting:
              # Ideally none of UnitTesting would be exposed as public API, but
              # for now just start doing that for new additions to it.
              - MeiInt8u
      commands:
          DoorLock:
              # Aliro is not ready yet.
              - SetAliroReaderConfig
              - ClearAliroReaderConfig
          Thermostat:
              # Targeting Spring 2024 Matter release
              - SetActiveScheduleRequest
              - SetActivePresetRequest
              - StartPresetsSchedulesEditRequest
              - CancelPresetsSchedulesEditRequest
              - CommitPresetsSchedulesRequest
              - CancelSetActivePresetRequest
              - SetTemperatureSetpointHoldPolicy
          RVCOperationalState:
              # Targeting Spring 2024 Matter release
              - GoHome
          UnitTesting:
              # Ideally none of UnitTesting would be exposed as public API, but
              # for now just start doing that for new additions to it.
              - TestDifferentVendorMeiRequest
              - TestDifferentVendorMeiResponse
          GeneralDiagnostics:
              # Targeting Spring 2024 Matter release
              - PayloadTestRequest
              - PayloadTestResponse
      structs:
          Thermostat:
              # Targeting Spring 2024 Matter release
              - ScheduleTransitionStruct
              - ScheduleStruct
              - PresetStruct
              - PresetTypeStruct
              - ScheduleTypeStruct
              - QueuedPresetStruct
      events:
          UnitTesting:
              # Ideally none of UnitTesting would be exposed as public API, but
              # for now just start doing that for new additions to it.
              - TestDifferentVendorMeiEvent
      enums:
          Thermostat:
              # Targeting Spring 2024 Matter release
              - PresetScenarioEnum
      enum values:
          DoorLock:
              CredentialTypeEnum:
                  # Aliro is not ready yet.
                  - AliroCredentialIssuerKey
                  - AliroEvictableEndpointKey
                  - AliroNonEvictableEndpointKey
              LockDataTypeEnum:
                  # Aliro is not ready yet.
                  - AliroCredentialIssuerKey
                  - AliroEvictableEndpointKey
                  - AliroNonEvictableEndpointKey
              OperationSourceEnum:
                  # Aliro is not ready yet.
                  - Aliro
          RVCRunMode:
              ModeTag:
                  # Targeting Spring 2024 Matter release
                  - Mapping
      bitmaps:
          Thermostat:
              # Targeting Spring 2024 Matter release
              - PresetTypeFeaturesBitmap
              - ScheduleTypeFeaturesBitmap
              - TemperatureSetpointHoldPolicyBitmap
          GeneralDiagnostics:
              # Targeting Spring 2024 Matter release
              - Feature
      bitmap values:
          DoorLock:
              Feature:
                  # Aliro is not ready yet.
                  - AliroProvisioning
                  - AliroBLEUWB
          Thermostat:
              Feature:
                  # Targeting Spring 2024 Matter release
                  - QueuedPresetsSupported
                  - Setpoints
                  - Presets
                  - MatterScheduleConfiguration
          RVCRunMode:
              Feature:
                  # Not really part of the spec, need to think about whether to
                  # expose this.
                  - NoFeatures
          RVCCleanMode:
              Feature:
                  # Not really part of the spec, need to think about whether to
                  # expose this.
                  - NoFeatures

- release: "Future"
  versions: "future"
