Panel SDK

1.16.x

1.16.1 (2026-04-28)

Features

  • SmartDevicesManager: Added multi-device management, supporting access to multiple independent devices in the same MiniApp through SdmProvider.deviceManager, with device management APIs such as add, batchAdd, delete, and batchDelete
  • Multi-device Hooks: Added useDevices, useDevicesProps, useDevicesActions, useStructuredDevicesProps, useStructuredDevicesActions, and more, supporting per-device DP status reading and command sending. You can also override types in typings/sdm.d.ts to bind Schemas precisely by device key for TypeScript type inference. See Multi-Device Management

1.15.x

1.15.0 (2026-02-26)

Features

  • matter-kit: Added Matter lamp device panel DP datapoint processing interceptor with built-in bidirectional conversion between Matter protocol and standard DP protocol. Automatically handles device info, DP status reporting, and command conversion. Provides utility functions such as checkIsMatterDevice, getMatterRoad, checkIsMatterHasWhite, and hooks like useOriginMatterTemp, useColourData. See matter-kit
  • SmartLampAdvancedAbility: Added lamp advanced capability supporting advanced color temperature and thousandth brightness detection, color temperature/brightness value conversion, and VAS keypoint information retrieval. See SmartLampAdvancedAbility
  • SmartSupportAbility: Added 9 new device type detection APIs: isGprsDevice, isBluetoothDevice, isBleMeshDevice, isCat1Device, isBeaconDevice, isLteCat4Device, isLteCat10Device, isLteCatMDevice, isThreadDevice

1.14.x

1.14.0 (2025-11-06)

Features

  • I18N: Added getFaultLang API for getting multilingual strings of fault-type datapoints (Bitmap type), supporting bit-wise parsing of fault codes and returning corresponding multilingual descriptions
  • SmartDeviceModel & SmartGroupModel: Added queryDps API that adapts to different App versions and device protocols for actively querying DP datapoint status
  • dp-kit: Added ignoreDpDataResponse.timeout / customRule support for custom debouncing of DP reporting events and custom filtering rules
  • onMusic2RgbChange: Added throttle parameter support for custom throttling time

1.13.x

1.13.9 (2025-09-04)

Bug Fixes

  • SmartSupportAbility: Fixed an issue where device type judgment was inaccurate in group environments

1.13.8 (2025-08-19)

Bug Fixes

  • useStructuredProps: Fixed a bug where structured data could not be updated in some device group environments

1.13.7 (2025-06-12)

Features

  • usePanelConfig: Added subUiid field in the iot field
  • SmartGroupModel: getDevInfo API now supports returning the first device information Bug Fixes
  • I18N: Fixed duplicate key value retrieval exception when inheriting and overriding formatValue and getLang Performance
  • Use lodash-es on-demand import to avoid full lodash package import
  • usePanelConfig: Optimized setState logic to reduce unnecessary updates Types
  • useStructuredActions: Type extraction changed to extract delivery structure from formatter parameters to ensure accurate type hints

1.13.6 (2025-05-27)

Bug Fixes

  • offMusic2RgbChange: Fixed the issue where unsubscribing could not resolve Types
  • initPanelEnvironment: Added type hint declarations for shouldConnectBleAuto, autoCheckActivation, and disableOtaDialog. Note that these three features require base library >= 2.27.0. Panel SDK 1.13.6 only adds type hint declarations

1.13.5 (2025-04-22)

Features

  • Added DreamlightSceneModeTransformer protocol parsing tool.

1.13.3 (2025-03-18)

Features

  • Fixed SmartStorageAbility to address storage exceptions caused by getLaunchOptionsSync().query returning a numeric groupId in group environments on Android.

1.13.2 (2025-02-13)

Features

  • Fixed SmartStorageAbility functionality, adjusted the upper limit of business data that can be saved to 900, to avoid errors when the internal metadata exceeds the limit, causing business data length to not exceed 1024.
  • Added faultDpCode attribute in initPanelEnvironment, supporting custom default alarm prompt box fault function points.
  • Added musicOption and callback return customProps in onMusic2RgbChange to support business pass-through using custom properties.
  • Added db decibel value and index sensitivity in callback return of onMusic2RgbChange.

1.13.1 (2024-11-01)

Features

  • Fixed usePanelConfig to address the issue where no forced type conversion was performed for numeric or boolean values when configuration retrieval was supported in the App, and to handle exceptional data scenarios.
  • Added default support for retrieving the main pid's cloud capability configuration in group environments for usePanelConfig.
  • Added default value support for asynchronous initialization in DpKit Beacon-related Interceptors.
  • Added SmartStorageAbility with getAll / setAll capabilities.

1.12.x

1.12.1 (2024-10-15)

Features

  • Fixed the issue of missing gid pass-through in the internal interface of the SmartAlarmAbility capability.
  • Optimized the value type adaptation of SdmProvider for the SmartGroupModel group model.
  • Optimized createDpKit support export from the panel-sdk entry.
-import { createDpKit } from '@ray-js/panel-sdk/lib/sdm/interceptors/dp-kit';
+import { createDpKit } from '@ray-js/panel-sdk';

1.12.0 (2024-06-27)

Features

1.11.x

1.11.0 (2024-06-25)

Features

  • Added SmartTapToRunAbility for tap-to-run standard ability (requires dependency on @ray-js/ray@1.5.15 or later versions)
  • Added support for the following configuration options in dp-kit sendOptions:
  • ignoreDpDataResponse: Ignore DP reporting configuration, disabled by default.
  • synchronizeDevProperty: Synchronize with cloud device properties, disabled by default.

1.10.x

1.10.5 (2024-05-10)

Features

  • Fixed inconsistent field names in the decibel data returned from onMusic2RgbChange callback for compatibility

1.10.4 (2024-04-18)

Features

  • Optimized publishDps. When the dps parameter is an empty object, the issuing interface is not called to avoid abnormal warnings

1.10.3 (2024-04-15)

Features

  • Fixed potential issues with Storage that could prevent it from returning cloud data

1.10.2 (2024-04-07)

Features

  • Optimized the dependency on @ray-js/ray to * (asterisk), now compatible with all versions by default

1.10.1 (2024-03-20)

Features

  • Optimized Storage to prompt when new field exceeds limits

1.10.0 (2024-02-28)

Features

  • Added useSupport Hooks,more info see useSupport
  • Enhanced I18N multilingual support with enhanced TS auto-suggestion for multi-language value types
  • Enhanced SmartGroupModel as it now supports some generic capabilities like SmartStorageAbility and SmartSupportAbility
  • Fix useStructuredProps issue where default empty strings were lost during the serialization of raw feature points during device initialization in useStructuredProps, which led to inability to obtain structured data
  • Fix SmartStorageAbility and onMusic2RgbChange resolved some compatibility issues. An upgrade is recommended for those using these capabilities

1.9.x

1.9.0(2023-11.08)

Features

  • Added onMusic2RgbChange API for listening to music rhythm conversion to RGB, more info see onMusic2RgbChange
  • Added offMusic2RgbChange API for unsubscribing from music rhythm conversion to RGB, more info see offMusic2RgbChange
  • Added SmartSupportAbility for device support status capability, more info see SmartSupportAbility
  • Added SmartStorageAbility for device storage capability, more info see SmartStorageAbility

1.8.x

1.8.0 (2023-10-24)

Features

  • Added protocol parsing tools ColourTransformer, MusicTransformer, MicMusicTransformer, SmearTransformer, more info see Protocol Utils.
  • Added color conversion tools kelvin2rgb, rgb2kelvin, brightKelvin2rgb, rgb2RgbString, rgb2hsb, more info see Color Utils.
  • Added JSON conversion tool stringifyJSON, more info see JSON Utils.
  • Added DP Conversion Utils, more info see DP Conversion

1.7.x

1.7.1 (2023-10-24)

Features

  • Fix the issue of I18N.formatValue not able to fetch online multilingual data.

1.7.0 (2023-09-07)

Features

  • Added dp-kit interceptor, more info see dp-kit

1.6.x

1.6.1 (2023-08-17)

Features

  • Fixed the issue where InitPanelEnvironment might not be triggered in App.onReady.

1.6.0 (2023-08-14)

Features

  • Added the publishDps method to the smart device model and smart group model, allowing batch control of device feature points.
  • Added support for configuring WeChat cloud capabilities on the client side.

1.5.x

1.5.0 (2023-06-13)

Features

  • Added support for SmartGroupModel for intelligent group model
- import { SmartDeviceModel } from '@ray-js/panel-sdk';
+ import { SmartDeviceModel, SmartGroupModel } from '@ray-js/panel-sdk';
+ import { getLaunchOptionsSync } from '@ray-js/ray';

+ const isGroupDevice = !!getLaunchOptionsSync()?.query?.groupId;

type SocketSchema = typeof import('./schema').defaultSchema;

const devices = {
-   socket: new SmartDeviceModel<typeof import('./schema').defaultSchema>(),
+   socket: isGroupDevice
+     ? new SmartGroupModel<SocketSchema>()
+     : new SmartDeviceModel<SocketSchema>(),
};

1.4.x

1.4.1 (2023-04-27)

Features

  • Compatible with TuyaLink protocol devices that do not have schema, which may cause crashes

1.4.0 (2023-04-13)

Features

  • Added more support for WeChat MiniApps

1.3.x

1.3.3 (2023-04-03)

Features

  • Compatible with quickjs

1.3.2 (2023-03-08)

Features

  • Fixed getWeathers API

1.3.0 (2023-02-07)

Features

  • Started supporting WeChat MiniApps

1.2.x

1.2.1 (2022-11-16)

Features

  • Fixed useDevice to get the latest value
  • Fixed useDevInfo unregisterDeviceListListener causing failure to listen to reports

1.2.0 (2022-11-16)

Features

  • useSdmProps -> useProps
  • useSdmDevice -> useDevice
  • Added useActions hooks
  • Merged sdm into panel-sdk package
- import { SmartDeviceModel } from '@tuya-miniapp/sdm';
- import { SdmProvider, useSdmProps } from '@ray-js/sdm-react';
+ import { SmartDeviceModel, SdmProvider, useProps } from '@ray-js/panel-sdk';

1.0.x

1.0.4 (2022-10-21)

Features

  • Fixed the crash when useSdmProps is used in the absence of a DP code.

    useSdmProps((props) => props.switch_not_exist); // crash before 1.0.4
    
    useSdmProps((props) => props.switch_not_exist); // return null now