Changed the following APIs of the **xcomponent** component of the ArkUI subsystem:
-**getXComponentSurfaceId** and **setXComponentSurfaceSize**: Removed the **@systemapi** tag.
-**getXComponentSurfaceId**, **getXComponentContext**, and **setXComponentSurfaceSize**: Specified the return value type.
You need to adapt your application based on the following information.
**Change Impact**
Released JS APIs are affected. The application needs to adapt these APIs so that it can be properly compiled in the SDK environment of the new version.
**Key API/Component Changes**
-**getXComponentSurfaceId**: is changed to a public API, with its return value type specified as string.
-**setXComponentSurfaceSize**: is changed to a public API, with its return value type specified as void.
-**getXComponentContext**: has its return value type specified as object.
**Adaptation Guide**
Startup rules for different scenarios are as follows:
Adaptions to be made:
-**getXComponentSurfaceId**
- Rule in OpenHarmony 3.2 Beta3:
- System API
- No specified return value
- OpenHarmony 3.2 Beta4 rules:
- Public API
- Return value type specified as string
- You need to process the return value as a string.
-**setXComponentSurfaceSize**
- Rule in OpenHarmony 3.2 Beta3:
- System API
- No specified return value
- OpenHarmony 3.2 Beta4 rules:
- Public API
- Return value type specified as void
- You need to process the return value as a void.
-**getXComponentContext**
- Rule in OpenHarmony 3.2 Beta3:
- No specified return value
- OpenHarmony 3.2 Beta4 rules:
- Return value type specified as object
- You need to process the return value as an object.
## cl.arkui.2 Change of Styles of Popup Component and APIs
Changed the styles of the **alertDialog**, **actionSheet**, and **customDialog** components, as well as the **prompt** and **promptAction** APIs. Specifically speaking:
- Added the popup background blur effect to **promptAction.showDialog**, **promptAction.showActionMenu**, **alertDialog**, **actionSheet**, and **customDialog**.
**Change Impact**
The popup background blur effect is set by default.
**Key API/Component Changes**
APIs: **promptAction.showDialog** and **promptAction.showActionMenu;**
Components: **alertDialog**, **actionSheet**, and **customDialog**
**Adaptation Guide**
No adaptation is required.
## cl.arkui.3 Supplementation of the Initialization Mode and Restriction Verification Scenarios of Custom Components' Member Variables
For details, see [Restrictions and Extensions](https://gitee.com/openharmony/docs/blob/master/en/application-dev/quick-start/arkts-restrictions-and-extensions.md).
**Change Impact**
If custom components' member variables are initialized or assigned with values not according to the document specifications, an error will be reported during compilation.
**Key API/Component Changes**
N/A.
**Adaptation Guide**
Make modification according to specifications in the above document.
## cl.arkui.4 Supplementation of Verification Scenarios of Value Assignment Restrictions on Member Variables of Custom Parent Components and Child Components
For details, see [Restrictions and Extensions](../../../application-dev/quick-start/arkts-restrictions-and-extensions.md).
**Change Impact**
If member variables of the parent component or child component are initialized not according to the document specifications, an error will be reported during compilation.
**Key API/Component Changes**
N/A.
**Adaptation Guide**
Make modification according to specifications in the above document, using other decorators or normal member variables for value assignment.
## cl.arkui.5 Supplementation of Verification for a Single Subcomponent
Added the check rule that allows only one child component to be enabled for the following components: **Button**, **FlowItem**, **GridItem**, **GridCol**, **ListItem**, **Navigator**, **Refresh**, **RichText**, **ScrollBar**, **StepperItem**, and **TabContent**.
**Change Impact**
If one of the preceding components contains more than one child component, an error will be reported during compilation.
## cl.Customization.1 Change of the Enterprise Device Management Module Name
Changed **@ohos.enterpriseDeviceManager.d.ts** to **@ohos.enterprise.adminManager.d.ts**.
**Change Impact**
The application developed based on OpenHarmony earlier than 3.2.8.3 must be adapted so that it can be properly compiled in the SDK environment of the new version.
Changed **enterpriseDeviceManager/DeviceSettingsManager.d.ts** to **ohos.enterprise.dateTimeManager.d.ts**.
**Change Impact**
The application developed based on OpenHarmony earlier than 3.2.8.3 must be adapted so that it can be properly compiled in the SDK environment of the new version.
**Key API/Component Changes**
| Original API | Original API Type | New API | New API Type |
## cl.inputmethod_frameworks.1 API Error Information Return Method Change
The internal APIs of the following modules used service logic return values to indicate error information, which did not comply with the error code specifications of OpenHarmony. Therefore, they are modified in API version 9 and later.
- Input method framework module: system API, @ohos.inputmethod.d.ts
- Input method service module: system API, @ohos.inputmethodengine.d.ts
- Input method ExtentionAbility module: system API, @ohos.inputmethodextensionability.d.ts
- Input method ExtentionContext module: system API, @ohos.inputmethodextensioncontext.d.ts
- Input method subtype module: system API, @ohos.inputMethodSubtype.d.ts
Asynchronous API: An error message is returned via **AsyncCallback** or the **error** object of **Promise**.
Synchronous API: An error message is returned via an exception.
**Change Impact**
The application developed based on earlier versions needs to adapt the method for returning API error information. Otherwise, the original service logic will be affected.
**Key API/Component Changes**
Error code processing is added for the following APIs:
Use the **getInputMethodAbility()** API to obtain an **InputMethodAbility** object, and do not use **getInputMethodEngine()** to obtain an **InputMethodEngine** object.
Use methods in **InputMethodAbility**, and do not use methods in **InputMethodEngine**.
Use the **on('inputStart')** method in **InputMethodAbility** to obtain a **KeyboardController** instance and an **InputClient** instance, and do not use the **on('inputStart')** method in **InputMethodEngine** to obtain a **TextInputClient** instance.
# Common Event and Notification Subsystem ChangeLog
## cl.notification.1 API Exception Handling Method Changes
Certain event notification APIs use service logic return values to indicate error information, which does not comply with the API error code specifications of OpenHarmony.
**Change Impacts**
The application developed based on earlier versions needs to adapt the new APIs and their method for returning API error information. Otherwise, the original service logic will be affected.
**Key API/Component Changes**
For adaptation to the unified API exception handling mode, certain event notification APIs are deprecated (original APIs in the following table) and corresponding new APIs in the following table are added. The newly added APIs support unified error code handling specifications and function the same as the original APIs.
## cl.theme.1 Support of Exception Handling for APIs in API Version 9
The internal APIs of the following modules used service logic return values to indicate error information, which did not comply with the error code specifications of OpenHarmony. Therefore, they are modified in API version 9 and later.
APIs in the preceding modules are changed as follows:
Synchronous API: An error message is returned via an exception.
Asynchronous API: A parameter check error is returned synchronously. A service logic error is returned via **AsyncCallback** or the **error** object of **Promise**.
**Change Impacts**
The application developed based on earlier versions needs to adapt the method for returning API error information. Otherwise, the original service logic will be affected.
**Key API/Component Changes**
Deprecated APIs of the wallpaper management service:
Some released web controllers are migrated to the webviewController, and the original webController is deprecated. The following changes are made in API version 9 and later:
The input parameter of **setWebController** is replaced by the new **webviewController**.
**Change Impacts**
Input parameters of JS APIs need to be adapted for applications developed based on earlier versions. Otherwise, relevant functions will be affected.
The **getUnfilterendLinkUrl** API is misspelled and should be changed to **getUnfilteredLinkUrl**.
**Change Impacts**
The JS API name needs to be adapted for applications developed based on earlier versions. Otherwise, relevant functions will be affected.
**Key API/Component Changes**
- Involved API:
getUnfilteredLinkUrl(): string;
- Before change:
```js
getUnfilterendLinkUrl():string;
```
- After change:
```js
getUnfilteredLinkUrl():string;
```
**Adaptation Guide**
The JS API name needs to be adapted for applications developed based on earlier versions. The new API name is used to replace the original one. Otherwise, relevant functions will be affected.