diff --git a/zh-cn/application-dev/reference/apis/js-apis-distributedMissionManager.md b/zh-cn/application-dev/reference/apis/js-apis-distributedMissionManager.md
index c5f817c83f7f8940ceca599bffde8e812c356d3c..51000aff51856c265eff8d7c1c3d1e99d3a8b873 100755
--- a/zh-cn/application-dev/reference/apis/js-apis-distributedMissionManager.md
+++ b/zh-cn/application-dev/reference/apis/js-apis-distributedMissionManager.md
@@ -368,8 +368,8 @@ continueMission(parameter: ContinueDeviceInfo, options: ContinueCallback, callba
| 参数名 | 类型 | 必填 | 说明 |
| --------- | --------------------------------------- | ---- | ----- |
-| parameter | [ContinueDeviceInfo](#js-apis-inner-application-continueDeviceInfo.md) | 是 | 迁移信息。 |
-| options | [ContinueCallback](#js-apis-inner-application-continueCallback.md) | 是 | 迁移任务完成回调函数。 |
+| parameter | [ContinueDeviceInfo](js-apis-inner-application-continueDeviceInfo.md) | 是 | 迁移信息。 |
+| options | [ContinueCallback](js-apis-inner-application-continueCallback.md) | 是 | 迁移任务完成回调函数。 |
| callback | AsyncCallback<void> | 是 | 执行结果回调函数。 |
**错误码:**
@@ -426,8 +426,8 @@ continueMission(parameter: ContinueDeviceInfo, options: ContinueCallback): Promi
| 参数名 | 类型 | 必填 | 说明 |
| --------- | --------------------------------------- | ---- | ----- |
-| parameter | [ContinueDeviceInfo](#js-apis-inner-application-continueDeviceInfo.md) | 是 | 迁移信息。 |
-| options | [ContinueCallback](#js-apis-inner-application-continueCallback.md) | 是 | 迁移任务完成回调函数。 |
+| parameter | [ContinueDeviceInfo](js-apis-inner-application-continueDeviceInfo.md) | 是 | 迁移信息。 |
+| options | [ContinueCallback](js-apis-inner-application-continueCallback.md) | 是 | 迁移任务完成回调函数。 |
**返回值:**
diff --git a/zh-cn/release-notes/OpenHarmony-v3.2-beta5.md b/zh-cn/release-notes/OpenHarmony-v3.2-beta5.md
index e156dad5e3cdca1dd967da9fbed7127f27d05e71..0c4832685fe31658f93280f73729b2ea59bcbca1 100644
--- a/zh-cn/release-notes/OpenHarmony-v3.2-beta5.md
+++ b/zh-cn/release-notes/OpenHarmony-v3.2-beta5.md
@@ -139,7 +139,7 @@ ArkUI适配了根据资源名称获取资源的能力。
从本版本起,仅发布Public SDK,开发者可从镜像站点获取或通过DevEco Studio下载Public SDK用于应用开发。
-包含系统接口的全量SDK(Full SDK)需下载全量代码后编译构建出SDK文件,并在DevEco Studio中替换。通过源码编译Full SDK的指导请参见[Full-SDK编译指南](../application-dev/quick-start/full-sdk-compile-guide.md)。
+包含系统接口的全量SDK(Full SDK)需下载全量代码后编译构建出SDK文件,并在DevEco Studio中替换。通过源码编译Full SDK的指导请参见[Full-SDK编译指南](../application-dev/faqs/full-sdk-compile-guide.md)。
### 特性变更
@@ -162,7 +162,7 @@ ArkUI适配了根据资源名称获取资源的能力。
| 文件存储 | - 新增应用文件统一URI处理能力。
- 新增支持公共数据的临时授权和统一的打开入口。
主要涉及以下需求:
I687C8【新增能力】支持应用文件统一URI处理能力
I64U8W【基础能力】支持公共数据的临时授权和统一open入口 | NA |
| 元能力 | - 新增常驻进程重启优化。
- 支持卡片数据库切换。
- 支持异步onConnected等能力。
主要涉及以下需求:
I65M3F 【基础能力】执行ShellCommand命令管控
I65V83 【基础能力】ServiceExtensionAbility支持异步onConnected生命周期
I61H21 【基础能力】卡片本地数据库切换
I63UJ5 【元能力】【ability_runtime】API8及以前API 支持异常处理
I6BDCW 【基础能力】应用加载禁止加载data目录下的代码
I6BDDU 【基础能力】FA模型默认启动方式为Standard
I6BDE2 【基础能力】常驻应用异常频繁重启保护 | NA |
-API变更清单请参考:[API差异报告](api-change/v3.2-beta5/Readme.md)
+API变更清单请参考:[API差异报告](api-diff/v3.2-beta5/Readme-CN.md)
各子系统API详细变更说明请参考:[变更说明](changelogs/v3.2-beta5/Readme.md)
@@ -212,5 +212,3 @@ API变更清单请参考:[API差异报告](api-change/v3.2-beta5/Readme.md)
| I641A2
I64726 | 蓝牙模块存在静默配对问题,其他设备可以静默配对后通过蓝牙键盘、鼠标完全控制设备 | 蓝牙模块存在静默配对问题。在后续版本以需求跟踪解决。 | 2023年3月30日 |
| I6BRTS | 调用rdb::executeSql接口会引起内存泄漏风险 | 反复初始化调用rdb::executeSql接口出现少量内存泄露,此接口为应用初始化时调用,但不会多次调用,内存泄露影响可控。 | 2023年2月10日 |
| I6AZ4T | 带textinput输入框组件的应用存在内存泄漏风险 | 高频反复调用textinput框出现少量内存泄露,根因为调用三方库flutter库,内存未回收。需排查是否为开源flutter组件问题。 | 2023年2月10日 |
-
-
\ No newline at end of file
diff --git a/zh-cn/release-notes/Readme.md b/zh-cn/release-notes/Readme.md
index 2f06c2b0a9db5d2816df9bc6340aa0ce9219a363..66be6c562d6b8ce7d5ff7e1efc9dfc6f95845d39 100644
--- a/zh-cn/release-notes/Readme.md
+++ b/zh-cn/release-notes/Readme.md
@@ -2,7 +2,7 @@
## OpenHarmony 4.x Releases
-- [OpenHarmony v4.0 Release (2023-06-03)](OpenHarmony-v4.0-beta1.md)
+- [OpenHarmony v4.0 Beta1 (2023-06-03)](OpenHarmony-v4.0-beta1.md)
## OpenHarmony 3.x Releases
diff --git a/zh-cn/release-notes/api-diff/v3.2-beta5/Readme-CN.md b/zh-cn/release-notes/api-diff/v3.2-beta5/Readme-CN.md
new file mode 100644
index 0000000000000000000000000000000000000000..4a68dabd551299179fe0de8aebf5bdb7f02233f2
--- /dev/null
+++ b/zh-cn/release-notes/api-diff/v3.2-beta5/Readme-CN.md
@@ -0,0 +1,25 @@
+# JS API差异报告
+
+- [元能力](js-apidiff-ability.md)
+- [帐号](js-apidiff-account.md)
+- [应用](js-apidiff-application.md)
+- [ArkUI](js-apidiff-arkui.md)
+- [电源管理](js-apidiff-battery.md)
+- [包管理](js-apidiff-bundle.md)
+- [基础通信](js-apidiff-communication.md)
+- [语言编译与运行时](js-apidiff-compiler-and-runtime.md)
+- [分布式数据管理](js-apidiff-distributed-data.md)
+- [文件管理](js-apidiff-file-management.md)
+- [位置服务](js-apidiff-geolocation.md)
+- [全球化](js-apidiff-global.md)
+- [Misc软件](js-apidiff-misc.md)
+- [多媒体](js-apidiff-multimedia.md)
+- [事件通知](js-apidiff-notification.md)
+- [资源调度](js-apidiff-resource-scheduler.md)
+- [安全](js-apidiff-security.md)
+- [启动](js-apidiff-start-up.md)
+- [电话服务](js-apidiff-telephony.md)
+- [测试](js-apidiff-unitest.md)
+- [用户IAM](js-apidiff-user-iam.md)
+- [Web](js-apidiff-web.md)
+- [窗口](js-apidiff-window.md)
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/Readme.md b/zh-cn/release-notes/changelogs/v3.2-Release/Readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..90bbd7a5fbf68123d02056315d5de25b313202e7
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/Readme.md
@@ -0,0 +1,12 @@
+# Readme
+
+- [元能力](changelogs-ability.md)
+- [ArkUI](changelogs-arkui.md)
+- [包管理](changelogs-bundlemanager.md)
+- [输入法框架](changelogs-imf.md)
+- [全局资源调度](changelogs-resourceschedule.md)
+- [主题框架-锁屏](changelogs-screenlock.md)
+- [电话服务](changelogs-telephony.md)
+- [util](changelogs-util.md)
+- [主题框架-壁纸](changelogs-wallpaper.md)
+- [web组件](changelogs-web.md)
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-ability.md b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-ability.md
new file mode 100644
index 0000000000000000000000000000000000000000..b5289610acebcfd24695f527efc2ae51f2198da1
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-ability.md
@@ -0,0 +1,291 @@
+# 元能力子系统JS API变更Changelog
+
+## cl.ability.1 AreaMode接口变更
+AreaMode接口有多个重复,删除掉重复的AreaMode。
+
+**变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| @ohos.app.ability.common.d.ts | common.AreaMode | | 删除 |
+| application/Context.d.ts | AreaMode | | 删除 |
+
+
+**适配指导**
+
+使用@ohos.app.ability.contextConstant.d.ts中的AreaMode
+
+```ts
+import contextConstant from '@ohos.app.ability.contextConstant';
+let area: contextConstant.AreaMode = contextConstant.AreaMode.EL1;
+```
+
+
+
+## cl.ability.2 killProcessesBySelf接口变更
+
+killProcessesBySelf接口命名不合理,修改为killAllProcesses。
+
+**变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| ------------------------------ | ------------------ | ----------------------------------------------------- | -------- |
+| application/ApplicationContext | ApplicationContext | killProcessesBySelf(): Promise\; | 删除 |
+| application/ApplicationContext | ApplicationContext | killProcessesBySelf(callback: AsyncCallback\); | 删除 |
+| application/ApplicationContext | ApplicationContext | killAllProcesses(): Promise\; | 新增 |
+| application/ApplicationContext | ApplicationContext | killAllProcesses(callback: AsyncCallback\); | 新增 |
+
+
+**适配指导**
+
+应用中调用killProcessesBySelf可参考下列代码
+
+变更前代码:
+
+```ts
+let context: common.UIAbilityContext = globalThis.abilityContext;
+let appContext = context.getApplicationContext();
+appContext.killProcessesBySelf()
+```
+
+变更后代码:
+
+```ts
+let context: common.UIAbilityContext = globalThis.abilityContext;
+let appContext = context.getApplicationContext();
+appContext.killAllProcesses()
+```
+
+
+
+## cl.ability.3 getProcessRunningInformation接口变更
+
+getProcessRunningInformation接口命名不合理,修改为getRunningProcessInformation。
+
+**变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| ----------------------------------- | ------------------ | ------------------------------------------------------------ | -------- |
+| @ohos.app.ability.appManager.d.ts | appManager | function getProcessRunningInformation(): Promise\\>; | 删除 |
+| @ohos.app.ability.appManager.d.ts | appManager | function getProcessRunningInformation(callback: AsyncCallback\\>): void; | 删除 |
+| @ohos.app.ability.appManager.d.ts | appManager | function getRunningProcessInformation(): Promise\\>; | 新增 |
+| @ohos.app.ability.appManager.d.ts | appManager | function getRunningProcessInformation(callback: AsyncCallback\\>): void; | 新增 |
+| application/ApplicationContext.d.ts | ApplicationContext | getProcessRunningInformation(): Promise\\>; | 删除 |
+| application/ApplicationContext.d.ts | ApplicationContext | getProcessRunningInformation(callback: AsyncCallback\\>): void; | 删除 |
+| application/ApplicationContext.d.ts | ApplicationContext | getRunningProcessInformation(): Promise\\>; | 新增 |
+| application/ApplicationContext.d.ts | ApplicationContext | getRunningProcessInformation(callback: AsyncCallback\\>): void; | 新增 |
+
+**适配指导**
+
+应用中调用getProcessRunningInformation可参考下列代码
+
+变更前代码:
+
+```ts
+let context: common.UIAbilityContext = globalThis.abilityContext;
+let appContext = context.getApplicationContext();
+appContext.getProcessRunningInformation()
+```
+
+变更后代码:
+
+```ts
+let context: common.UIAbilityContext = globalThis.abilityContext;
+let appContext = context.getApplicationContext();
+appContext.getRunningProcessInformation()
+```
+
+
+
+## cl.ability.4 WantConstant.Flags接口变更
+WantConstant.Flags接口有多个无效Flag定义,删除掉无效的Flag。
+
+**变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_FORWARD_RESULT | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_CONTINUATION | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_NOT_OHOS_COMPONENT | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_FORM_ENABLED | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_AUTH_PERSISTABLE_URI_PERMISSION | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_AUTH_PREFIX_URI_PERMISSION | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITYSLICE_MULTI_DEVICE | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_START_FOREGROUND_ABILITY | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_CONTINUATION_REVERSIBLE | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_INSTALL_WITH_BACKGROUND_MODE | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_CLEAR_MISSION | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_NEW_MISSION | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Flags | FLAG_ABILITY_MISSION_TOP | 删除 |
+
+
+
+## cl.ability.5 WantConstant.Action接口变更
+WantConstant.Action接口有多个无效Action定义,删除掉无效的Action。
+
+**变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | ACTION_APP_ACCOUNT_AUTH | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | ACTION_MARKET_DOWNLOAD | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | ACTION_MARKET_CROWDTEST | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | DLP_PARAMS_SANDBOX | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | DLP_PARAMS_BUNDLE_NAME | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | DLP_PARAMS_MODULE_NAME | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Action | DLP_PARAMS_ABILITY_NAME | 删除 |
+
+
+
+## cl.ability.6 Caller相关接口变更
+Caller相关接口使用RPC废弃的Sequenceable和MessageParcel对象,使用RPC在API9提供的Parcelable和MessageSequence对象替代。
+
+**变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| api/@ohos.app.ability.UIAbility.d.ts | CalleeCallback | (indata: rpc.MessageParcel): rpc.Sequenceable; | 变更,修改为 (indata: rpc.MessageSequence): rpc.Parcelable; |
+| api/@ohos.app.ability.UIAbility.d.ts | Caller | call(method: string, data: rpc.Sequenceable): Promise; | 变更,修改为 call(method: string, data: rpc.Parcelable): Promise; |
+| api/@ohos.app.ability.UIAbility.d.ts | Caller | callWithResult(method: string, data: rpc.Sequenceable): Promise; | 变更,修改为 callWithResult(method: string, data: rpc.Parcelable): Promise; |
+
+**适配指导**
+
+应用中调用Caller相关接口可参考下列代码
+
+变更前代码:
+
+```ts
+ class MyMessageAble{
+ name:""
+ str:""
+ num: 1
+ constructor(name, str) {
+ this.name = name;
+ this.str = str;
+ }
+ marshalling(messageParcel) {
+ messageParcel.writeInt(this.num);
+ messageParcel.writeString(this.str);
+ console.log('MyMessageAble marshalling num[' + this.num + '] str[' + this.str + ']');
+ return true;
+ }
+ unmarshalling(messageParcel) {
+ this.num = messageParcel.readInt();
+ this.str = messageParcel.readString();
+ console.log('MyMessageAble unmarshalling num[' + this.num + '] str[' + this.str + ']');
+ return true;
+ }
+ };
+ let method = 'call_Function';
+ function funcCallBack(pdata) {
+ console.log('Callee funcCallBack is called ' + pdata);
+ let msg = new MyMessageAble("test", "");
+ pdata.readSequenceable(msg);
+ return new MyMessageAble("test1", "Callee test");
+ }
+ export default class MainUIAbility extends UIAbility {
+ onCreate(want, launchParam) {
+ console.log('Callee onCreate is called');
+ try {
+ this.callee.on(method, funcCallBack);
+ } catch (error) {
+ console.log('Callee.on catch error, error.code: ' + error.code +
+ ' error.message: ' + error.message);
+ }
+ }
+ }
+```
+
+变更后代码:
+
+```ts
+ class MyMessageAble{
+ name:""
+ str:""
+ num: 1
+ constructor(name, str) {
+ this.name = name;
+ this.str = str;
+ }
+ marshalling(messageSequence) {
+ messageSequence.writeInt(this.num);
+ messageSequence.writeString(this.str);
+ console.log('MyMessageAble marshalling num[' + this.num + '] str[' + this.str + ']');
+ return true;
+ }
+ unmarshalling(messageSequence) {
+ this.num = messageSequence.readInt();
+ this.str = messageSequence.readString();
+ console.log('MyMessageAble unmarshalling num[' + this.num + '] str[' + this.str + ']');
+ return true;
+ }
+ };
+ let method = 'call_Function';
+ function funcCallBack(pdata) {
+ console.log('Callee funcCallBack is called ' + pdata);
+ let msg = new MyMessageAble("test", "");
+ pdata.readParcelable(msg);
+ return new MyMessageAble("test1", "Callee test");
+ }
+ export default class MainUIAbility extends UIAbility {
+ onCreate(want, launchParam) {
+ console.log('Callee onCreate is called');
+ try {
+ this.callee.on(method, funcCallBack);
+ } catch (error) {
+ console.log('Callee.on catch error, error.code: ' + error.code +
+ ' error.message: ' + error.message);
+ }
+ }
+ }
+```
+
+
+
+## cl.ability.7 WantConstant.Flags接口变更
+
+wantConstant接口有两个类似的枚举,合并成一个。
+
+**变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| ----------------------------------- | ---------------------- | ----------------------------------- | -------- |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Parameter | ABILITY_BACK_TO_OTHER_MISSION_STACK | 删除 |
+| @ohos.app.ability.wantConstant.d.ts | wantConstant.Params | ABILITY_BACK_TO_OTHER_MISSION_STACK | 新增 |
+
+**适配指导**
+
+使用@ohos.app.ability.wantConstant.d.ts中的ABILITY_BACK_TO_OTHER_MISSION_STACK
+
+```ts
+import wantConstant from '@ohos.app.ability.wantConstant';
+let backToOtherMissionStack: wantConstant.Params = wantParam.Params.ABILITY_BACK_TO_OTHER_MISSION_STACK;
+```
\ No newline at end of file
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-arkui.md b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-arkui.md
new file mode 100644
index 0000000000000000000000000000000000000000..23d453b41ef6811d484f1c62796676f6a2f1013b
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-arkui.md
@@ -0,0 +1,306 @@
+# arkui子系统ChangeLog
+
+## cl.arkui.1 getInspectorTree接口返回值从string修改为Object。
+
+**变更影响**
+
+3.2.10.7之前使用getInspectorTree接口的代码需要适配
+
+**关键的接口/组件变更**
+
+getInspectorTree接口返回值从string修改为Object
+
+**适配指导**
+
+将getInspectorTree返回值作为string使用的代码需要修改,比如以下示例代码:
+
+```typescript
+console.info(getInspectorTree())
+```
+
+需要修改成
+
+```typescript
+console.info(JSON.stringify(getInspectorTree()))
+```
+
+## cl.arkui.2 废弃GridItem的forceRebuild属性
+
+**变更影响**
+
+无,该属性无作用
+
+**关键的接口/组件变更**
+
+GridItem的forceRebuild属性废弃
+
+**适配指导**
+
+如有使用可以直接删除,不影响GridItem功能
+
+## cl.arkui.3 Plugin模块接口变更
+
+
+### 1. arkui子系统Plugin模块 `PluginComponentTemplate` 接口存在变更:
+
+ability命名无法准确表达对应参数的语义,修改为bundleName。
+
+开发者需要根据以下说明对应用进行适配。
+
+
+
+**变更影响**
+
+基于此前版本开发的应用,需适配变更接口,变更前的接口已经不能正常使用,会在编译过程中报错。
+
+
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ interface PluginComponentTemplate {
+ source: string;
+ bundleName: string;
+ }
+
+ interface PluginComponentInterface {
+ (value: { template: PluginComponentTemplate; data: any }): PluginComponentAttribute;
+}
+
+- 变更前:
+
+```js
+ interface PluginComponentTemplate { source: string; ability: string; }
+ interface PluginComponentInterface {
+ (value: { template: PluginComponentTemplate; data: any }): PluginComponentAttribute;
+ }
+```
+
+- 变更后:
+
+```js
+ interface PluginComponentTemplate { source: string; bundleName: string; }
+ interface PluginComponentInterface {
+ (value: { template: PluginComponentTemplate; data: any }): PluginComponentAttribute;
+ }
+```
+
+**适配指导**
+
+使用变更后的接口,示例代码如下:
+
+- 变更前:
+```js
+PluginComponent({
+ template: { source: 'plugincomponent1', ability: 'com.example.plugin' },
+ data: { 'countDownStartValue': 'new countDownStartValue' }
+}).size({ width: 500, height: 100 })
+```
+
+- 变更后:
+```js
+PluginComponent({
+ template: { source: 'plugincomponent1', bundleName: 'com.example.plugin' },
+ data: { 'countDownStartValue': 'new countDownStartValue' }
+}).size({ width: 500, height: 100 })
+```
+
+### 2. arkui子系统Plugin模块 `pluginComponentManager` 接口存在变更:
+
+want命名无法准确表达对应参数的语义,修改为target。
+
+开发者需要根据以下说明对应用进行适配。
+
+
+
+**变更影响**
+
+基于此前版本开发的应用,需适配变更接口。变更前的接口会出现告警,虽然可以通过编译,但是已经不能正常使用其功能。
+
+
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ interface PushParameterForStage {
+ owner: Want;
+ target: Want;
+ name: string;
+ data: KVObject;
+ extraData: KVObject;
+ jsonPath?: string;
+ }
+
+ function push(param: PushParameterForStage, callback: AsyncCallback): void;
+
+ interface RequestParameterForStage {
+ owner: Want;
+ target: Want;
+ name: string;
+ data: KVObject;
+ jsonPath?: string;
+ }
+
+ function request(param: RequestParameterForStage, callback: AsyncCallback): void;
+
+- 变更前:
+
+```js
+ interface PushParameterForStage {
+ owner: Want;
+ want: Want;
+ name: string;
+ data: KVObject;
+ extraData: KVObject;
+ jsonPath?: string;
+ }
+
+ function push(param: PushParameterForStage, callback: AsyncCallback): void;
+
+ interface RequestParameterForStage {
+ owner: Want;
+ want: Want;
+ name: string;
+ data: KVObject;
+ jsonPath?: string;
+ }
+
+ function request(param: RequestParameterForStage, callback: AsyncCallback): void;
+```
+
+- 变更后:
+
+```js
+ interface PushParameterForStage {
+ owner: Want;
+ target: Want;
+ name: string;
+ data: KVObject;
+ extraData: KVObject;
+ jsonPath?: string;
+ }
+
+ function push(param: PushParameterForStage, callback: AsyncCallback): void;
+
+ interface RequestParameterForStage {
+ owner: Want;
+ target: Want;
+ name: string;
+ data: KVObject;
+ jsonPath?: string;
+ }
+
+ function request(param: RequestParameterForStage, callback: AsyncCallback): void;
+```
+
+**适配指导**
+
+使用变更后的接口,示例代码如下:
+
+- 变更前:
+```js
+import pluginComponentManager from '@ohos.pluginComponent'
+
+pluginComponentManager.push({
+ owner:{
+ bundleName:"com.example.provider",
+ abilityName:"com.example.provider.MainAbility"
+ },
+ want: {
+ bundleName: "com.example.provider",
+ abilityName: "com.example.provider.MainAbility",
+ },
+ name: "ets/pages/plugin2.js",
+ data: {
+ "js": "ets/pages/plugin.js",
+ "key_1": 1111,
+ },
+ extraData: {
+ "extra_str": "this is push event"
+ },
+ jsonPath: "",
+ },
+ (err, data) => {
+ console.log("push_callback:err: " ,JSON.stringify(err));
+ console.log("push_callback:data: " , JSON.stringify(data));
+ console.log("push_callback: push ok!");
+ }
+)
+
+pluginComponentManager.request({
+ owner:{
+ bundleName:"com.example.provider",
+ abilityName:"com.example.provider.MainAbility"
+ },
+ want: {
+ bundleName: "com.example.provider",
+ abilityName: "ets/pages/plugin2.js",
+ },
+ name: "plugintemplate",
+ data: {
+ "key_1": " myapplication plugin component test",
+ "key_2": 123456
+ },
+ jsonPath: "",
+},
+ (err, data) => {
+ console.log("request_callback: componentTemplate.ability=" + data.componentTemplate.ability)
+ console.log("request_callback: componentTemplate.source=" + data.componentTemplate.source)
+ }
+)
+```
+
+- 变更后:
+```js
+import pluginComponentManager from '@ohos.pluginComponent'
+
+pluginComponentManager.push({
+ owner:{
+ bundleName:"com.example.provider",
+ abilityName:"com.example.provider.MainAbility"
+ },
+ target: {
+ bundleName: "com.example.provider",
+ abilityName: "com.example.provider.MainAbility",
+ },
+ name: "ets/pages/plugin2.js",
+ data: {
+ "js": "ets/pages/plugin.js",
+ "key_1": 1111,
+ },
+ extraData: {
+ "extra_str": "this is push event"
+ },
+ jsonPath: "",
+ },
+ (err, data) => {
+ console.log("push_callback:err: " ,JSON.stringify(err));
+ console.log("push_callback:data: " , JSON.stringify(data));
+ console.log("push_callback: push ok!");
+ }
+)
+
+pluginComponentManager.request({
+ owner:{
+ bundleName:"com.example.provider",
+ abilityName:"com.example.provider.MainAbility"
+ },
+ target: {
+ bundleName: "com.example.provider",
+ abilityName: "ets/pages/plugin2.js",
+ },
+ name: "plugintemplate",
+ data: {
+ "key_1": " myapplication plugin component test",
+ "key_2": 123456
+ },
+ jsonPath: "",
+},
+ (err, data) => {
+ console.log("request_callback: componentTemplate.ability=" + data.componentTemplate.ability)
+ console.log("request_callback: componentTemplate.source=" + data.componentTemplate.source)
+ }
+)
+```
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-bundlemanager.md b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-bundlemanager.md
new file mode 100644
index 0000000000000000000000000000000000000000..f175165703f3b7929833790238251b5d0b6fa901
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-bundlemanager.md
@@ -0,0 +1,298 @@
+# 包管理子系统ChangeLog
+
+## cl.bundlemanager.1 包管理删除@ohos.bundle.bundleManager.d.ts中的getAbilityIcon接口,可以使用@ohos.resourceManager.d.ts中的getMediaContent替换。
+
+包管理删除[@ohos.bundle.bundleManager.d.ts](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.bundle.bundleManager.d.ts)中的getAbilityIcon接口,可以使用[@ohos.resourceManager.d.ts](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.resourceManager.d.ts)中的getMediaContent替换。
+
+**变更影响**
+使用之前已发布的API 9各beta版本且使用到了getAbilityIcon接口的,需要改为使用getMediaContent接口。
+
+**关键的接口/组件变更**
+删除@ohos.bundle.bundleManager.d.ts中的getAbilityIcon接口。
+
+**适配指导**
+使用@ohos.bundle.bundleManager.d.ts下面的getAbilityIcon,需要修改为@ohos.resourceManager.d.ts中的getMediaContent。需要提前获取到图标的资源ID值,可参考该接口的[使用指导](../../../application-dev/reference/apis/js-apis-resource-manager.md#getmediacontent9)。
+
+## cl.bundlemanager.2 包管理底层能力变更,仅支持系统资源HAP自定义权限,其它HAP均不支持自定义权限。
+
+仅支持系统资源HAP自定义权限,其它HAP均不支持自定义权限。包管理在解析HAP时,仅支持解析资源HAP(包名为:ohos.global.systemres)的配置文件中的definePermissions字段,该字段用来定义权限。其它HAP中配置的definePermissions字段将不会解析。
+如果有应用需要自定义权限,可以在资源HAP的[配置文件](https://gitee.com/openharmony/utils_system_resources/blob/master/systemres/main/config.json)中definePermissions字段下面新增定义权限。格式可参考[定义权限](../../../application-dev/quick-start/module-structure.md#definepermissions对象内部结构)。
+
+
+**变更影响**
+升级新版本镜像后,应用自定义的权限将不会生效,使用方在申请该权限时,会授权失败。
+
+**关键的接口/组件变更**
+包管理底层能力变更,仅支持系统资源HAP自定义权限,其它HAP均不支持自定义权限。
+
+**适配指导**
+如果有应用需要自定义权限,可以在资源HAP的[配置文件](https://gitee.com/openharmony/utils_system_resources/blob/master/systemres/main/config.json)中definePermissions字段下面新增定义权限。格式可参考[定义权限](../../../application-dev/quick-start/module-structure.md#definepermissions对象内部结构)。
+
+## cl.bundlemanager.3 包管理二级模块文件名称变更,修改为文件内对应的接口名称
+
+包管理二级模块文件名称变更,修改为文件内对应的接口名称,变更文件如下:
+
+| 原文件名称 |变更后文件名称 |
+|----|----|
+| bundleManager/abilityInfo.d.ts | bundleManager/AbilityInfo.d.ts |
+| bundleManager/applicationInfo.d.ts | bundleManager/ApplicationInfo.d.ts |
+| bundleManager/bundleInfo.d.ts | bundleManager/BundleInfo.d.ts |
+| bundleManager/dispatchInfo.d.ts | bundleManager/DispatchInfo.d.ts |
+| bundleManager/elementName.d.ts | bundleManager/ElementName.d.ts |
+| bundleManager/extensionAbilityInfo.d.ts | bundleManager/ExtensionAbilityInfo.d.ts |
+| bundleManager/hapModuleInfo.d.ts | bundleManager/HapModuleInfo.d.ts |
+| bundleManager/launcherAbilityInfo.d.ts | bundleManager/LauncherAbilityInfo.d.ts |
+| bundleManager/metadata.d.ts | bundleManager/Metadata.d.ts |
+| bundleManager/packInfo.d.ts | bundleManager/BundlePackInfo.d.ts |
+| bundleManager/permissionDef.d.ts | bundleManager/PermissionDef.d.ts |
+| bundleManager/remoteAbilityInfo.d.ts | bundleManager/RemoteAbilityInfo.d.ts |
+| bundleManager/shortcutInfo.d.ts | bundleManager/ShortcutInfo.d.ts |
+
+除了免安装相关的BundlePackInfo文件名称增加了Bundle,其余文件名称均是修改为大写开头。
+
+**变更影响**
+仅修改二级模块文件名称,不会影响一级模块的使用。在使用之前已发布的API 9各beta版本时,如果在ts文件中直接导入了bundleManager下面二级模块接口的,IDE中编译报错的话,需要修改导入的文件名称。
+
+**关键的接口/组件变更**
+变更bundleManager文件夹下面的d.ts名称,修改为文件中的接口名称。
+
+**适配指导**
+使用新的sdk后,正常情况下应用无需适配该变更。如果在应用中直接导入了bundleManager文件夹下面的文件,则需要修改导入的文件名称。可以按照如下的修改方式:
+
+**修改前:**
+```ts
+import {AbilityInfo} from 'bundleManger/abilityInfo';
+import {ExtensionAbilityInfo} from 'bundleManger/extensionAbilityInfo';
+import {BundlePackInfo} from 'bundleManger/packInfo';
+```
+**修改后:**
+```ts
+import {AbilityInfo} from 'bundleManger/AbilityInfo';
+import {ExtensionAbilityInfo} from 'bundleManger/ExtensionAbilityInfo';
+import {BundlePackInfo} from 'bundleManger/BundlePackInfo';
+```
+
+## cl.bundlemanager.4 包管理LaunchType枚举类型名称变更,由STANDARD修改为MULTITON,枚举值不变。
+
+包管理[LaunchType](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.bundle.bundleManager.d.ts)枚举类型变更,由STANDARD修改为MULTITON,枚举值不变,表示多实例类型。
+
+**变更影响**
+使用之前已发布的API 9各beta版本且使用到了LaunchType.STANDARD的,需要改为使用LaunchType.MULTITON接口。
+
+**关键的接口/组件变更**
+LaunchType枚举类型名称变更,由LaunchType.STANDARD修改为LaunchType.MULTITON。
+
+**适配指导**
+由LaunchType.STANDARD修改为LaunchType.MULTITON。
+
+## cl.bundlemanager.5 包管理AbilityInfo结构体中isVisible字段修改为exported,类型不变。
+
+包管理[AbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/AbilityInfo.d.ts)结构体中isVisible字段修改为exported,类型不变,表示当前ability是否支持导出,被其他的ability使用。
+
+**变更影响**
+使用之前已发布的API 9各beta版本且使用到了isVisible的,需要改为使用exported。
+
+**关键的接口/组件变更**
+包管理[AbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/AbilityInfo.d.ts)结构体中isVisible字段修改为exported,类型不变。
+
+**适配指导**
+由isVisible修改为exported。
+
+## cl.bundlemanager.6 包管理ExtensionAbilityInfo结构体中isVisible字段修改为exported,类型不变。
+
+包管理[ExtensionAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/ExtensionAbilityInfo.d.ts)结构体中isVisible字段修改为exported,类型不变,表示当前ability是否支持导出,被其他的ability使用。
+
+**变更影响**
+使用之前已发布的API 9各beta版本且使用到了isVisible的,需要改为使用exported。
+
+**关键的接口/组件变更**
+包管理[ExtensionAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/ExtensionAbilityInfo.d.ts)结构体中isVisible字段修改为exported,类型不变。
+
+**适配指导**
+由isVisible修改为exported。
+
+## cl.bundlemanager.7 包管理ModuleAbilityInfo结构体中visible字段修改为exported,类型不变。
+
+包管理[ModuleAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/BundlePackInfo.d.ts)结构体中visible字段修改为exported,类型不变,表示当前ability是否支持导出,被其他的ability使用。
+
+**变更影响**
+使用之前已发布的API 9各beta版本且使用到了visible的,需要改为使用exported。
+
+**关键的接口/组件变更**
+包管理[ModuleAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/BundlePackInfo.d.ts)结构体中visible字段修改为exported,类型不变。
+
+**适配指导**
+由visible修改为exported。
+
+## cl.bundlemanager.8 app.json配置文件删除distributedNotificationEnabled标签
+删除配置文件app.json中[distributedNotificationEnabled](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+**变更影响**
+删除配置文件app.json中[distributedNotificationEnabled](../../../application-dev/quick-start/app-configuration-file.md)标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除[distributedNotificationEnabled](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+## cl.bundlemanager.9 app.json配置文件删除entityType标签
+删除配置文件app.json中[entityType](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+**变更影响**
+删除配置文件app.json中[entityType](../../../application-dev/quick-start/app-configuration-file.md)标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除[entityType](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+## cl.bundlemanager.10 app.json配置文件删除keepAlive标签
+删除配置文件app.json中[keepAlive](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+**变更影响**
+删除配置文件app.json中[keepAlive](../../../application-dev/quick-start/app-configuration-file.md)标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除[keepAlive](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+## cl.bundlemanager.11 app.json配置文件删除removable标签
+删除配置文件app.json中[removable](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+**变更影响**
+删除配置文件app.json中[removable](../../../application-dev/quick-start/app-configuration-file.md)标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除[removable](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+## cl.bundlemanager.12 app.json配置文件删除singleton标签
+删除配置文件app.json中[singleton](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+**变更影响**
+删除配置文件app.json中[singleton](../../../application-dev/quick-start/app-configuration-file.md)标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除[singleton](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+## cl.bundlemanager.13 app.json配置文件删除userDataClearable标签
+删除配置文件app.json中[userDataClearable](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+**变更影响**
+删除配置文件app.json中[userDataClearable](../../../application-dev/quick-start/app-configuration-file.md)标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除[userDataClearable](../../../application-dev/quick-start/app-configuration-file.md)标签
+
+## cl.bundlemanager.14 module.json配置文件中module的name标签不再支持配置中文
+module.json配置文件中的module的[name](../../../application-dev/quick-start/module-configuration-file.md)不再支持配置中文
+
+**变更影响**
+删除配置文件module.json中module的[name](../../../application-dev/quick-start/module-configuration-file.md)标签不再支持配置中文,IDE中配置该标签为中文,会导致IDE编译报错
+
+**适配指导**
+使用英文语言配置module.json中module的[name](../../../application-dev/quick-start/module-configuration-file.md)标签
+
+## cl.bundlemanager.15 module.json配置文件中ability的name标签不再支持配置中文
+module.json配置文件中的ability的[name](../../../application-dev/quick-start/module-configuration-file.md)不再支持配置中文
+
+**变更影响**
+删除配置文件module.json中ability的[name](../../../application-dev/quick-start/module-configuration-file.md)标签不再支持配置中文,IDE中配置该标签为中文,会导致IDE编译报错
+
+**适配指导**
+使用英文语言配置module.json中ability的[name](../../../application-dev/quick-start/module-configuration-file.md)标签
+
+## cl.bundlemanager.16 module.json配置文件删除uiSyntax标签
+删除配置文件module.json中[uiSyntax](../../../application-dev/quick-start/module-configuration-file.md)标签
+
+**变更影响**
+删除配置文件module.json中[uiSyntax](../../../application-dev/quick-start/module-configuration-file.md)标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除module.json中[uiSyntax](../../../application-dev/quick-start/module-configuration-file.md)标签
+
+## cl.bundlemanager.17 module.json配置文件中module及ability中的srcEntrance标签修改为srcEntry
+配置文件module.json中[srcEntrance](../../../application-dev/quick-start/module-configuration-file.md)标签修改为srcEntry
+
+**变更影响**
+删除配置文件module.json中[srcEntrance](../../../application-dev/quick-start/module-configuration-file.md)标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除module.json中[srcEntrance](../../../application-dev/quick-start/module-configuration-file.md)标签,使用srcEntry替代
+
+## cl.bundlemanager.18 删除module.json配置文件中distroFilter的apiVersion标签
+删除配置文件module.json中[distroFilter](../../../application-dev/quick-start/module-configuration-file.md)的apiVersion标签
+
+**变更影响**
+删除配置文件module.json[distroFilter](../../../application-dev/quick-start/module-configuration-file.md)的apiVersion标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除module.json中[distroFilter](../../../application-dev/quick-start/module-configuration-file.md)的apiVersion标签
+
+## cl.bundlemanager.19 module.json配置文件中distroFilter修改为distributionFilter
+配置文件module.json中[distroFilter](../../../application-dev/quick-start/module-configuration-file.md)标签修改为distributionFilter
+
+**变更影响**
+删除配置文件module.json[distroFilter](../../../application-dev/quick-start/module-configuration-file.md)标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除module.json中[distroFilter](../../../application-dev/quick-start/module-configuration-file.md)标签,使用distributionFilter替代
+
+## cl.bundlemanager.20 module.json配置文件中launchTypede标签standard模式修改为multiton
+删除module.json中[launchType](../../../application-dev/quick-start/module-configuration-file.md)标签的standard模式修改为multiton
+
+**适配指导**
+删除module.json中[launchType](../../../application-dev/quick-start/module-configuration-file.md)标签的standard模式,使用multiton替代
+
+## cl.bundlemanager.21 app.json配置文件删除atomicService标签
+删除配置文件app.json中atomicService标签
+
+**变更影响**
+删除配置文件app.json中atomicService标签,IDE中不再支持配置该标签,使用该标签会导致IDE编译报错
+
+**适配指导**
+删除atomicService标签
+
+## cl.bundlemanager.22 app.json配置文件新增bundleType标签
+配置文件app.json中新增bundleType标签
+
+**变更影响**
+现存的元服务([installationFree](../../../application-dev/quick-start/module-configuration-file.md)为true),必须在app.json中指定bundleType为atomicService,否则打包失败。
+
+**适配指导**
+新增[bundleType](../../../application-dev/quick-start/app-configuration-file.md)标签。该标签为可缺省(缺省值为app)。该标签需要和module.json中[installationFree](../../../application-dev/quick-start/module-configuration-file.md)字段保持一一对应,其相应规则为:
+- 当bundleType为app时,installationFree必须为false。
+- 当bundleType为atomicService时,installationFree必须为true。
+
+## cl.bundlemanager.23 包管理ApplicationInfo结构体中删除split字段。
+
+包管理[ApplicationInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/ApplicationInfo.d.ts)结构体中删除split字段。
+
+**变更影响**
+使用之前已发布的API 9各beta版本且使用到了split的,会编译失败。
+
+**关键的接口/组件变更**
+包管理[ApplicationInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/ApplicationInfo.d.ts)结构体中删除split字段。
+
+**适配指导**
+删除ApplicationInfo结构体中的split字段。目前元服务中stage模型强制分包,不支持不分包。
+
+## cl.bundlemanager.24 包管理HapModuleInfo结构体中删除atomicServiceModuleType字段。
+
+包管理[HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts)结构体中删除atomicServiceModuleType字段。
+
+**变更影响**
+使用之前已发布的API 9各beta版本且使用到了atomicServiceModuleType的,会编译失败。
+
+**关键的接口/组件变更**
+包管理[HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts)结构体中删除atomicServiceModuleType字段。
+
+**适配指导**
+删除[HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts)结构体中的atomicServiceModuleType字段。判断atomicServiceModuleType字段的部分,用[HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts)结构体中的moduleType代替。
+
+## cl.bundlemanager.25 包管理删除AtomicServiceModuleType枚举值。
+
+包管理[HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts)结构体中删除atomicServiceModuleType字段。
+
+**变更影响**
+使用之前已发布的API 9各beta版本且使用到了atomicServiceModuleType的,会编译失败。
+
+**关键的接口/组件变更**
+包管理[HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts)结构体中删除atomicServiceModuleType字段。
+
+**适配指导**
+删除[HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts)结构体中的atomicServiceModuleType字段。判断atomicServiceModuleType字段的部分,用[HapModuleInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/HapModuleInfo.d.ts)结构体中的moduleType代替。
\ No newline at end of file
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-imf.md b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-imf.md
new file mode 100644
index 0000000000000000000000000000000000000000..a6cdab6b8d7e7fc6a97698ce9b2e2a84ba32076a
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-imf.md
@@ -0,0 +1,21 @@
+# 输入法框架子系统-输入法框架服务ChangeLog
+
+
+## @ohos.InputMethodSubtype 中输入法子类型中name、label、id属性值变更
+从API9开始,变更如上三个属性值
+
+开发者需要根据以下说明对应用进行适配。
+
+**变更影响**
+
+此三个属性的取值发生变化,需要开发者进行适配更新
+
+| 名称 | 变更前 | 变更后 |
+| -------- | -------- | -------- |
+| label | (1)取值:输入法子类型的id。| (1)取值:输入法子类型的标签。|
+| name | (1)说明:输入法子类型的名字;(2)取值:输入法子类型的标签。| (1)说明:输入法应用的包名;(2)取值:输入法应用的包名。|
+| id | (1)取值:输入法应用的包名。| (1)取值:输入法子类型的id。|
+
+**适配指导**
+
+请按上述取值变更结果适配更新。
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-resourceschedule.md b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-resourceschedule.md
new file mode 100644
index 0000000000000000000000000000000000000000..8042bb2241aa42c2c43aedc691c8b1113e93bf8a
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-resourceschedule.md
@@ -0,0 +1,21 @@
+# 资源调度子系统ChangeLog
+
+## cl.resourceschedule.workScheduler
+修改parameters属性值的数据类型,不允许使用any类型,支持number、string、boolean三种类型。
+
+**变更影响**
+
+基于OpenHarmony3.2.10.7及之后的SDK版本开发的应用,parameters属性值的数据类型不允许使用any类型,仅支持number、string、boolean三种类型,否则将编译报错。
+
+**关键接口/组件变更**
+
+@ohos.resourceschedule.workScheduler.d.ts中的parameters属性变更。
+
+| 类名 | 接口类型 | 变更前声明 | 变更后声明 |
+| -- | -- | -- | -- |
+| workScheduler.WorkInfo | field | parameters?: {[key: string]: any} | parameters?: {[key: string]: number | string | boolean} |
+
+
+**适配指导**
+
+parameters属性使用{[key: string]: number | string | boolean}数据类型。
\ No newline at end of file
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-screenlock.md b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-screenlock.md
new file mode 100644
index 0000000000000000000000000000000000000000..8e5a2fab3671eb32db8accb72d764a1194f26ff1
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-screenlock.md
@@ -0,0 +1,155 @@
+# 主题框架子系统-锁屏管理服务ChangeLog
+
+
+## cl.screenlock.1 isLocked、unlock接口使用权限变更
+从API9开始,变更为systemapi,停止对三方应用开放。
+
+开发者需要根据以下说明对应用进行适配。
+
+**变更影响**
+
+基于此前版本开发的应用,需适配变更的js接口,变更前的接口已经不能正常使用了,否则会影响原有功能。
+
+- 涉及接口
+
+```js
+ function isLocked(): boolean;
+ function unlock(callback: AsyncCallback): void;
+ function unlock():Promise;
+```
+
+- 变更前:
+
+```js
+ * Checks whether the screen is currently locked.
+ *
+ * @returns Returns {@code true} if the screen is currently locked; returns {@code false} otherwise.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @since 9
+ */
+ function isLocked(): boolean;
+
+ /**
+ * Unlock the screen.
+ *
+ * @returns Returns {@code true} if the screen is unlocked successfully; returns {@code false} otherwise.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @throws {BusinessError} 13200002 - the screenlock management service is abnormal.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function unlock(callback: AsyncCallback): void;
+
+ /**
+ * Unlock the screen.
+ *
+ * @returns Returns {@code true} if the screen is unlocked successfully; returns {@code false} otherwise.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @throws {BusinessError} 13200002 - the screenlock management service is abnormal.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function unlock():Promise;
+```
+
+- 变更后:
+
+```js
+ * Checks whether the screen is currently locked.
+ *
+ * @returns Returns {@code true} if the screen is currently locked; returns {@code false} otherwise.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function isLocked(): boolean;
+
+ /**
+ * Unlock the screen.
+ *
+ * @returns Returns {@code true} if the screen is unlocked successfully; returns {@code false} otherwise.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 13200002 - the screenlock management service is abnormal.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @since 9
+ */
+ function unlock(callback: AsyncCallback): void;
+
+ /**
+ * Unlock the screen.
+ *
+ * @returns Returns {@code true} if the screen is unlocked successfully; returns {@code false} otherwise.
+ * @throws {BusinessError} 13200002 - the screenlock management service is abnormal.
+ * @syscap SystemCapability.MiscServices.ScreenLock
+ * @since 9
+ */
+ function unlock():Promise;
+```
+
+
+**适配指导**
+
+该接口变更为系统应用后,三方应用已无法使用。
+系统应用可正常使用。
+示例代码如下:
+
+```js
+ try {
+ let ret = screenLock.isLocked();
+ console.error(`Obtain whether the screen is locked successfully , ret is: ${ret}`);
+ } catch (error) {
+ console.error(`Failed to obtain whether the screen is locked, error is : ${error.code}, ${error.message}`);
+ }
+```
+
+```js
+ screenlock.unlock((err, data) => {
+ if (err) {
+ console.error(`Failed to unlock the screen, because: ${err.message}`);
+ return;
+ }
+ console.info(`unlock the screen successfully. result: ${data}`);
+ });
+```
+
+```js
+ screenlock.unlock().then((data) => {
+ console.info(`unlock the screen successfully. result: ${data}`);
+ }).catch((err) => {
+ console.error(`Failed to unlock the screen, because: ${err.message}`);
+ });
+```
+
+
+## cl.screenlock.2 isSecure接口废弃变更
+从API9开始,废弃此接口。
+
+开发者需要根据以下说明对应用进行适配。
+
+**变更影响**
+
+该接口删除无法再使用,请使用进行更新使用,否则会影响原有功能。
+
+- 涉及接口
+
+```js
+ function isSecure(): boolean;
+```
+
+- 变更前:
+
+```js
+ function isSecure(): boolean;
+```
+
+- 变更后:删除接口,停止对外开放。
+
+
+**适配指导**
+
+该接口删除后无法再使用,请适配更新。
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-telephony.md b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-telephony.md
new file mode 100644
index 0000000000000000000000000000000000000000..cd74291d37afa9e4aee941a0e813824ede5af546
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-telephony.md
@@ -0,0 +1,223 @@
+# 电话子系统ChangeLog
+
+
+
+## cl.telephony.1 call模块reject接口变更
+从API9开始,废弃此接口,改为使用rejectCall接口。
+
+开发者需要根据以下说明对应用进行适配。
+
+**变更影响**
+
+该接口删除无法再使用,请使用新增的接口rejectCall替换,否则会影响原有功能。
+
+- 涉及接口
+
+```js
+ function reject(callId: number, callback: AsyncCallback): void;
+ function reject(callId: number, options: RejectMessageOptions, callback: AsyncCallback): void;
+ function reject(callId?: number, options?: RejectMessageOptions): Promise;
+ function reject(callback: AsyncCallback): void;
+ function reject(options: RejectMessageOptions, callback: AsyncCallback): void;
+```
+
+- 变更前:
+
+```js
+ function reject(callId: number, callback: AsyncCallback): void;
+ function reject(callId: number, options: RejectMessageOptions, callback: AsyncCallback): void;
+ function reject(callId?: number, options?: RejectMessageOptions): Promise;
+ function reject(callback: AsyncCallback): void;
+ function reject(options: RejectMessageOptions, callback: AsyncCallback): void;
+```
+
+- 变更后:
+
+```js
+ function rejectCall(callId: number, callback: AsyncCallback): void;
+ function rejectCall(callId: number, options: RejectMessageOptions, callback: AsyncCallback): void;
+ function rejectCall(callId?: number, options?: RejectMessageOptions): Promise;
+ function rejectCall(callback: AsyncCallback): void;
+ function rejectCall(options: RejectMessageOptions, callback: AsyncCallback): void;
+```
+
+
+**适配指导**
+
+该接口删除无法再使用,请使用新增的接口rejectCall替换。
+使用变更后的接口,示例代码如下:
+
+```js
+call.rejectCall("138xxxxxxxx", (err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+```js
+let rejectMessageOptions={
+ messageContent: "拦截陌生号码"
+}
+let promise = call.rejectCall(1, rejectMessageOptions);
+promise.then(data => {
+ console.log(`rejectCall success, promise: data->${JSON.stringify(data)}`);
+}).catch(err => {
+ console.error(`rejectCall fail, promise: err->${JSON.stringify(err)}`);
+});
+```
+
+
+```js
+let rejectMessageOptions={
+ messageContent: "拦截陌生号码"
+}
+let promise = call.rejectCall(1, rejectMessageOptions);
+promise.then(data => {
+ console.log(`rejectCall success, promise: data->${JSON.stringify(data)}`);
+}).catch(err => {
+ console.error(`rejectCall fail, promise: err->${JSON.stringify(err)}`);
+});
+```
+
+
+```js
+call.rejectCall((err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+```js
+let rejectMessageOptions={
+ messageContent: "拦截陌生号码"
+}
+call.rejectCall(rejectMessageOptions, (err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+## cl.telephony.2 call模块answer接口变更
+从API9开始,废弃此接口,改为使answerCall接口。
+
+开发者需要根据以下说明对应用进行适配。
+
+**变更影响**
+
+该接口删除无法再使用,请使用新增的接口answerCall替换,否则会影响原有功能。
+
+- 涉及接口
+
+```js
+ function answer(callId: number, callback: AsyncCallback): void;
+ function answer(callId?: number): Promise;
+ function answer(callback: AsyncCallback): void;
+```
+
+- 变更前:
+
+```js
+ function answer(callId: number, callback: AsyncCallback): void;
+ function answer(callId?: number): Promise;
+ function answer(callback: AsyncCallback): void;
+```
+
+- 变更后:
+
+```js
+ function answerCall(callId: number, callback: AsyncCallback): void;
+ function answerCall(callId?: number): Promise;
+ function answerCall(callback: AsyncCallback): void;
+```
+
+
+**适配指导**
+
+该接口删除无法再使用,请使用新增的接口answerCall替换。
+使用变更后的接口,示例代码如下:
+
+```js
+call.answerCall(1, (err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+```js
+let promise = call.answerCall(1);
+promise.then(data => {
+ console.log(`answerCall success, promise: data->${JSON.stringify(data)}`);
+}).catch(err => {
+ console.error(`answerCall fail, promise: err->${JSON.stringify(err)}`);
+});
+```
+
+
+```js
+call.answerCall((err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+## cl.telephony.1 call模块hangup接口变更
+从API9开始,废弃此接口,改为使用hangUpCall接口。
+
+开发者需要根据以下说明对应用进行适配。
+
+**变更影响**
+
+该接口删除无法再使用,请使用新增的接口hangUpCall替换,否则会影响原有功能。
+
+- 涉及接口
+
+```js
+ function hangup(callId: number, callback: AsyncCallback): void;
+ function hangup(callId?: number): Promise;
+ function hangup(callback: AsyncCallback): void;
+```
+
+- 变更前:
+
+```js
+ function hangup(callId: number, callback: AsyncCallback): void;
+ function hangup(callId?: number): Promise;
+ function hangup(callback: AsyncCallback): void;
+```
+
+- 变更后:
+
+```js
+ function hangUpCall(callId: number, callback: AsyncCallback): void;
+ function hangUpCall(callId?: number): Promise;
+ function hangUpCall(callback: AsyncCallback): void;
+```
+
+
+**适配指导**
+
+该接口删除无法再使用,请使用新增的接口hangUpCall替换。
+使用变更后的接口,示例代码如下:
+
+```js
+call.hangUpCall(1, (err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
+
+
+```js
+let promise = call.hangUpCall(1);
+promise.then(data => {
+ console.log(`hangUpCall success, promise: data->${JSON.stringify(data)}`);
+}).catch(err => {
+ console.error(`hangUpCall fail, promise: err->${JSON.stringify(err)}`);
+});
+```
+
+
+```js
+call.hangUpCall((err, data) => {
+ console.log(`callback: err->${JSON.stringify(err)}, data->${JSON.stringify(data)}`);
+});
+```
\ No newline at end of file
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-util.md b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-util.md
new file mode 100644
index 0000000000000000000000000000000000000000..3455ff99e6f1a2e885acd1865b59f166d99a8c3e
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-util.md
@@ -0,0 +1,99 @@
+# util系统JS API变更Changelog
+
+OpenHarmony 3.2.10.7(Mr)版本相较于OpenHarmony 3.2.beta4版本,util子系统的API变更如下
+
+## cl.util.1.randomUUID接口名变更
+util子系统randomUUID函数名存在变更:
+
+function randomUUID(entropyCache?: boolean): string 改为 function generateRandomUUID(entropyCache?: boolean): string 函数名由原来的randomUUID改为generateRandomUUID。
+
+开发者需要根据以下说明对应用进行适配。
+
+ **变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 方法/属性/枚举/常量 | 变更类型 |
+| :---------- | ------------------- | ------- |
+| @ohos.util | function randomUUID(entropyCache?: boolean): string | 删除 |
+| @ohos.util | function generateRandomUUID(entropyCache?: boolean): string| 变更 |
+
+**适配指导**
+
+应用中使用generateRandomUUID可参考下列代码
+
+示例:
+
+```ts
+import util from '@ohos.util'
+let uuid = util.generateRandomUUID(true);
+console.log("RFC 4122 Version 4 UUID:" + uuid);
+// 输出:
+// RFC 4122 Version 4 UUID:88368f2a-d5db-47d8-a05f-534fab0a0045
+```
+
+## cl.util.2.randomBinaryUUID接口名变更
+util子系统randomBinaryUUID函数名存在变更:
+
+function randomBinaryUUID(entropyCache?: boolean): Uint8Array 改为 function generateRandomBinaryUUID(entropyCache?: boolean): Uint8Array 函数名由原来的randomBinaryUUID改为generateRandomBinaryUUID。
+
+开发者需要根据以下说明对应用进行适配。
+
+ **变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 方法/属性/枚举/常量 | 变更类型 |
+| :---------- | ------------------- | ------- |
+| @ohos.util | function randomBinaryUUID(entropyCache?: boolean): Uint8Array; | 删除 |
+| @ohos.util | function generateRandomBinaryUUID(entropyCache?: boolean): Uint8Array| 变更 |
+
+**适配指导**
+
+应用中使用generateRandomBinaryUUID可参考下列代码
+
+示例:
+
+```ts
+import util from '@ohos.util'
+let uuid = util.generateRandomBinaryUUID(true);
+console.log(JSON.stringify(uuid));
+// 输出:
+// 138,188,43,243,62,254,70,119,130,20,235,222,199,164,140,150
+```
+
+## cl.util.3.LRUCache类contains接口参数类型变更
+util子系统LRUCache类contains接口参数类型变更:
+
+contains(key: object): boolean 改为 contains(key: K): boolean 参数类型由原来的object改为K。
+
+开发者需要根据以下说明对应用进行适配。
+
+ **变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| :-------- | ---------| -------------------------------- | -------- |
+| @ohos.util | LRUCache | contains(key: object): boolean | 删除 |
+| @ohos.util | LRUCache | contains(key: K): boolean | 变更 |
+
+**适配指导**
+
+应用中使用contains函数可参考下列代码
+
+示例:
+
+```ts
+import util from '@ohos.util'
+let pro = new util.LRUCache();
+pro.put(2,10);
+let obj = {1:"key"};
+let result = pro.contains(obj);
+```
\ No newline at end of file
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-wallpaper.md b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-wallpaper.md
new file mode 100644
index 0000000000000000000000000000000000000000..13baab45851959398ccf4689543f91c5e1aa1d68
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-wallpaper.md
@@ -0,0 +1,304 @@
+# 主题框架子系统-壁纸管理服务ChangeLog
+
+
+## cl.wallpaper.1 getColorsSync、getMinHeightSync、getMinWidthSync、restore、setImage接口使用权限变更
+从API9开始,变更为systemapi,停止对三方应用开放。
+
+开发者需要根据以下说明对应用进行适配。
+
+**变更影响**
+
+基于此前版本开发的应用,需适配变更的js接口,变更前的接口已经不能正常使用了,否则会影响原有功能。
+
+- 涉及接口
+
+```js
+ function getColorsSync(wallpaperType: WallpaperType): Array;
+ function getMinHeightSync(): number;
+ function getMinWidthSync(): number;
+ function restore(wallpaperType: WallpaperType, callback: AsyncCallback): void;
+ function restore(wallpaperType: WallpaperType): Promise;
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType, callback: AsyncCallback): void;
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType): Promise;
+```
+
+- 变更前:
+
+```js
+ /**
+ * Obtains the wallpaper colors for the wallpaper of the specified type. Returns rgbaColor type of array callback function.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @returns { Array } the Array returned by the function.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function getColorsSync(wallpaperType: WallpaperType): Array;
+
+ /**
+ * Obtains the minimum height of the wallpaper. in pixels. returns 0 if no wallpaper has been set.
+ * @returns { number } the number returned by the function.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function getMinHeightSync(): number;
+
+ /**
+ * Obtains the minimum width of the wallpaper. in pixels. returns 0 if no wallpaper has been set.
+ * @returns { number } the number returned by the function.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function getMinWidthSync(): number;
+
+ /**
+ * Removes a wallpaper of the specified type and restores the default one.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function restore(wallpaperType: WallpaperType, callback: AsyncCallback): void;
+
+ /**
+ * Removes a wallpaper of the specified type and restores the default one.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function restore(wallpaperType: WallpaperType): Promise;
+
+ /**
+ * Sets a wallpaper of the specified type based on the uri path from a JPEG or PNG file or the pixel map of a PNG file.
+ * @param source Indicates the uri path from a JPEG or PNG file or the pixel map of the PNG file.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType, callback: AsyncCallback): void;
+
+ /**
+ * Sets a wallpaper of the specified type based on the uri path from a JPEG or PNG file or the pixel map of a PNG file.
+ * @param source Indicates the uri path from a JPEG or PNG file or the pixel map of the PNG file.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @throws {BusinessError} 202 - permission verification failed, application which is not a system application uses system API.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @systemapi Hide this for inner system use.
+ * @since 9
+ */
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType): Promise;
+```
+
+- 变更后:
+
+```js
+ /**
+ * Obtains the wallpaper colors for the wallpaper of the specified type. Returns rgbaColor type of array callback function.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @returns { Array } the Array returned by the function.
+ * @throws {BusinessError} 401 - parameter error.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function getColorsSync(wallpaperType: WallpaperType): Array;
+
+ /**
+ * Obtains the minimum height of the wallpaper. in pixels. returns 0 if no wallpaper has been set.
+ * @returns { number } the number returned by the function.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function getMinHeightSync(): number;
+
+ /**
+ * Obtains the minimum width of the wallpaper. in pixels. returns 0 if no wallpaper has been set.
+ * @returns { number } the number returned by the function.
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function getMinWidthSync(): number;
+
+ /**
+ * Removes a wallpaper of the specified type and restores the default one.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function restore(wallpaperType: WallpaperType, callback: AsyncCallback): void;
+
+ /**
+ * Removes a wallpaper of the specified type and restores the default one.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function restore(wallpaperType: WallpaperType): Promise;
+
+ /**
+ * Sets a wallpaper of the specified type based on the uri path from a JPEG or PNG file or the pixel map of a PNG file.
+ * @param source Indicates the uri path from a JPEG or PNG file or the pixel map of the PNG file.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType, callback: AsyncCallback): void;
+
+ /**
+ * Sets a wallpaper of the specified type based on the uri path from a JPEG or PNG file or the pixel map of a PNG file.
+ * @param source Indicates the uri path from a JPEG or PNG file or the pixel map of the PNG file.
+ * @param wallpaperType Indicates the wallpaper type.
+ * @throws {BusinessError} 401 - parameter error.
+ * @throws {BusinessError} 201 - permission denied.
+ * @permission ohos.permission.SET_WALLPAPER
+ * @syscap SystemCapability.MiscServices.Wallpaper
+ * @since 9
+ */
+ function setImage(source: string | image.PixelMap, wallpaperType: WallpaperType): Promise;
+```
+
+
+**适配指导**
+
+该接口变更为系统应用后,三方应用已无法使用。
+系统应用可正常使用。
+示例代码如下:
+
+```js
+ try {
+ let colors = wallpaper.getColorsSync(wallpaper.WallpaperType.WALLPAPER_SYSTEM);
+ console.log(`success to getColorsSync: ${JSON.stringify(colors)}`);
+ } catch (error) {
+ console.error(`failed to getColorsSync because: ${JSON.stringify(error)}`);
+ }
+```
+
+```js
+ let minHeight = wallpaper.getMinHeightSync();
+```
+
+```js
+ let minWidth = wallpaper.getMinWidthSync();
+```
+
+```js
+ wallpaper.restore(wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error) => {
+ if (error) {
+ console.error(`failed to restore because: ${JSON.stringify(error)}`);
+ return;
+ }
+ console.log(`success to restore.`);
+ });
+```
+
+```js
+ wallpaper.restore(wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => {
+ console.log(`success to restore.`);
+ }).catch((error) => {
+ console.error(`failed to restore because: ${JSON.stringify(error)}`);
+ });
+```
+
+```js
+ // source类型为string
+ let wallpaperPath = "/data/data/ohos.acts.aafwk.plrdtest.form/files/Cup_ic.jpg";
+ wallpaper.setImage(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM, (error) => {
+ if (error) {
+ console.error(`failed to setImage because: ${JSON.stringify(error)}`);
+ return;
+ }
+ console.log(`success to setImage.`);
+ });
+```
+
+```js
+ // source类型为string
+ let wallpaperPath = "/data/data/ohos.acts.aafwk.plrdtest.form/files/Cup_ic.jpg";
+ wallpaper.setImage(wallpaperPath, wallpaper.WallpaperType.WALLPAPER_SYSTEM).then(() => {
+ console.log(`success to setImage.`);
+ }).catch((error) => {
+ console.error(`failed to setImage because: ${JSON.stringify(error)}`);
+ });
+```
+
+
+## cl.wallpaper.2 getIdSync、getFileSync、isChangeAllowed、isUserChangeAllowed、on、off、RgbaColor接口废弃变更
+从API9开始,废弃此接口。
+
+开发者需要根据以下说明对应用进行适配。
+
+**变更影响**
+
+该接口删除无法再使用,请使用进行更新使用,否则会影响原有功能。
+
+- 涉及接口
+
+```js
+ function getIdSync(wallpaperType: WallpaperType): number;
+ function getFileSync(wallpaperType: WallpaperType): number;
+ function isChangeAllowed(): boolean;
+ function isUserChangeAllowed(): boolean;
+ function on(type: 'colorChange', callback: (colors: Array, wallpaperType: WallpaperType) => void): void;
+ function off(type: 'colorChange', callback?: (colors: Array, wallpaperType: WallpaperType) => void): void;
+ interface RgbaColor {
+ red: number;
+ green: number;
+ blue: number;
+ alpha: number;
+ }
+```
+
+- 变更前:
+
+```js
+ function getIdSync(wallpaperType: WallpaperType): number;
+ function getFileSync(wallpaperType: WallpaperType): number;
+ function isChangeAllowed(): boolean;
+ function isUserChangeAllowed(): boolean;
+ function on(type: 'colorChange', callback: (colors: Array, wallpaperType: WallpaperType) => void): void;
+ function off(type: 'colorChange', callback?: (colors: Array, wallpaperType: WallpaperType) => void): void;
+ interface RgbaColor {
+ red: number;
+ green: number;
+ blue: number;
+ alpha: number;
+ }
+```
+
+- 变更后:删除接口,停止对外开放。
+
+
+**适配指导**
+
+该接口删除后无法再使用,请适配更新。
diff --git a/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-web.md b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-web.md
new file mode 100644
index 0000000000000000000000000000000000000000..1fd92a86421021c0ac26639f04c56c4e5c0f01f6
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-Release/changelogs-web.md
@@ -0,0 +1,467 @@
+# web子系统ChangeLog
+
+OpenHarmony 3.2.10.7 版本相较于OpenHarmony 之前的版本,web的API变更如下。
+
+## cl.web.1 HitTestTypeV9命名变更
+
+枚举类HitTestTypeV9由于命名规范问题,名称变更为WebHitTestType。
+
+**变更影响**
+
+枚举类HitTestTypeV9,以及使用HitTestTypeV9作为参数或返回值的接口,在3.2.10.7版本及后续版本中无法继续正常使用。
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ enum HitTestTypeV9
+
+- 变更前:
+
+ ```ts
+ enum HitTestTypeV9
+ ```
+
+- 变更后:
+
+ ```ts
+ enum WebHitTestType
+ ```
+
+**适配指导**
+
+请使用WebHitTestType替换HitTestTypeV9。
+
+## cl.web.2 HeaderV9命名变更
+
+结构体HeaderV9由于命名规范问题,名称变更为WebHeader。
+
+**变更影响**
+
+结构体HeaderV9,以及使用HeaderV9作为参数或返回值的接口,在3.2.10.7版本及后续版本中无法继续正常使用。
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ interface HeaderV9
+
+- 变更前:
+
+ ```ts
+ interface HeaderV9
+ ```
+
+- 变更后:
+
+ ```ts
+ interface WebHeader
+ ```
+
+**适配指导**
+
+请使用WebHeader替换HeaderV9。
+
+## cl.web.3 HitTestValue结构体成员类型变更
+
+结构体HitTestValue中的成员变量HitTestTypeV9由于命名规范问题,名称变更为WebHitTestType。
+
+**变更影响**
+
+结构体HitTestValue,以及使用HitTestValue作为参数或返回值的接口,在3.2.10.7版本及后续版本中无法继续正常使用。
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ interface HitTestValue
+
+- 变更前:
+
+ ```ts
+ interface HitTestValue {
+
+ /**
+ * Get the hit test type.
+ *
+ * @since 9
+ */
+ type: HitTestTypeV9;
+
+ /**
+ * Get the hit test extra data.
+ *
+ * @since 9
+ */
+ extra: string;
+ }
+ ```
+
+- 变更后:
+
+ ```ts
+ interface HitTestValue {
+
+ /**
+ * Get the hit test type.
+ *
+ * @since 9
+ */
+ type: WebHitTestType;
+
+ /**
+ * Get the hit test extra data.
+ *
+ * @since 9
+ */
+ extra: string;
+ }
+ ```
+
+**适配指导**
+
+请使用WebHitTestType替换HitTestTypeV9。
+
+## cl.web.4 loadUrl参数类型变更
+
+loadUrl接口中的参数headers,由于其类型的命名规范问题,类型变更为WebHeader。
+
+**变更影响**
+
+loadUrl接口若使用了headers参数,则在3.2.10.7版本及后续版本中无法继续正常使用。
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ loadUrl(url: string | Resource, headers?: Array): void
+
+- 变更前:
+
+ ```ts
+ loadUrl(url: string | Resource, headers?: Array): void
+ ```
+
+- 变更后:
+
+ ```ts
+ loadUrl(url: string | Resource, headers?: Array): void
+ ```
+
+**适配指导**
+
+在loadUrl中设置headers参数时,请使用WebHeader类型替换HeaderV9类型。
+
+## cl.web.5 getHitTest返回值类型变更
+
+getHitTest接口中的返回值,由于其类型的命名规范问题,变更为WebHitTest。
+
+**变更影响**
+
+getHitTest接口,在3.2.10.7版本及后续版本中无法继续正常使用。
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ getHitTest(): HitTestTypeV9
+
+- 变更前:
+
+ ```ts
+ getHitTest(): HitTestTypeV9
+ ```
+
+- 变更后:
+
+ ```ts
+ getHitTest(): WebHitTestType
+ ```
+
+**适配指导**
+
+在使用getHitTest接口的返回值时,请使用WebHitTestType类型替换HitTestTypeV9类型。
+
+## cl.web.6 WebMessagePort类迁移
+
+WebMessagePort类迁移至@ohos.web.webview.d.ts,并新增错误码抛出。
+
+**变更影响**
+
+基于此前版本开发的应用,需注意d.ts位置的变更及import模块名的变更。现该类下接口支持错误码处理,需注意错误码处理的使用。
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ postMessageEvent(message: WebMessageEvent): void;
+ onMessageEvent(callback: (result: string) => void): void;
+
+- 变更前:
+
+ ```ts
+ postMessageEvent(message: WebMessageEvent): void;
+ onMessageEvent(callback: (result: string) => void): void;
+ ```
+
+- 变更后:
+
+ ```ts
+ postMessageEvent(message: WebMessage): void;
+ onMessageEvent(callback: (result: WebMessage) => void): void;
+ ```
+
+**适配指导**
+
+原WebMessagePort类不需要import,现WebMessagePort类使用的是@ohos.web.webview,以下方式import:
+
+ ```ts
+ import web_webview from '@ohos.web.webview';
+ ```
+
+## cl.web.7 HitTestValue类迁移
+
+HitTestValue类迁移至@ohos.web.webview.d.ts,HitTestValue类变更为接口,getType,getExtra变更为属性。
+
+**变更影响**
+
+基于此前版本开发的应用,需注意d.ts位置的变更及import模块名的变更。
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ getType(): HitTestType;
+ getExtra(): string;
+
+- 变更前:
+
+ ```ts
+ getType(): HitTestType;
+ getExtra(): string;
+ ```
+
+- 变更后:
+
+ ```ts
+ type: WebHitTestType;
+ extra: string;
+ ```
+
+**适配指导**
+
+原HitTestValue类不需要import,现HitTestValue类使用的是@ohos.web.webview,以下方式import:
+
+ ```ts
+ import web_webview from '@ohos.web.webview';
+ ```
+
+## cl.web.8 WebCookie类下api9接口迁移
+
+WebCookie类下api9接口迁移,WebCookie类下api9接口迁移到web.webview.webview.WebCookieManager。
+并新增接口错误码抛出。
+
+**变更影响**
+
+基于此前版本开发的应用,需注意d.ts位置的变更及import模块名的变更。现该类下接口支持错误码处理,需注意错误码处理的使用。
+该类方法变为静态方法。
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ isCookieAllowed(): boolean;
+ isThirdPartyCookieAllowed(): boolean;
+ putAcceptCookieEnabled(accept: boolean): void;
+ putAcceptThirdPartyCookieEnabled(accept: boolean): void;
+ setCookie(url: string, value: string): boolean;
+ saveCookieSync(): boolean;
+ getCookie(url: string): string;
+ existCookie(): boolean;
+ deleteEntireCookie(): void;
+ deleteSessionCookie(): void;
+
+- 变更前:
+
+ ```ts
+ isCookieAllowed(): boolean;
+ isThirdPartyCookieAllowed(): boolean;
+ putAcceptCookieEnabled(accept: boolean): void;
+ putAcceptThirdPartyCookieEnabled(accept: boolean): void;
+ setCookie(url: string, value: string): boolean;
+ saveCookieSync(): boolean;
+ getCookie(url: string): string;
+ existCookie(): boolean;
+ deleteEntireCookie(): void;
+ deleteSessionCookie(): void;
+ ```
+
+- 变更后:
+
+ ```ts
+ static isCookieAllowed(): boolean;
+ static isThirdPartyCookieAllowed(): boolean;
+ static putAcceptCookieEnabled(accept: boolean): void;
+ static putAcceptThirdPartyCookieEnabled(accept: boolean): void;
+ static setCookie(url: string, value: string): void;
+ static saveCookieAsync(): Promise;
+ static saveCookieAsync(callback: AsyncCallback): void;
+ static getCookie(url: string): string;
+ static existCookie(): boolean;
+ static deleteEntireCookie(): void;
+ static deleteSessionCookie(): void;
+ ```
+
+**适配指导**
+
+原WebCookie类不需要import,现WebCookieManager使用的是@ohos.web.webview,以下方式import:
+
+ ```ts
+ import web_webview from '@ohos.web.webview';
+ ```
+
+## cl.web.9 WebController类下api9接口迁移
+
+WebController类下api9接口迁移至web.webview.webview.WebviewController,并新增接口错误码抛出。
+
+**变更影响**
+
+基于此前版本开发的应用,需注意d.ts位置的变更及import模块名的变更。现该类下接口支持错误码处理,需注意错误码处理的使用。
+getDefaultUserAgent接口更名为getUserAgent。
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ zoomIn(): boolean;
+ zoomOut(): boolean;
+ createWebMessagePorts(): Array;
+ postMessage(options: { message: WebMessageEvent, uri: string}): void;
+ getHitTestValue(): HitTestValue;
+ getWebId(): number;
+ getDefaultUserAgent(): string;
+ getTitle(): string;
+ getPageHeight(): number;
+ backOrForward(step: number): void;
+ searchAllAsync(searchString: string): void;
+ clearMatches(): void;
+ searchNext(forward: boolean): void;
+ clearSslCache(): void;
+ clearClientAuthenticationCache(): void;
+ getUrl(): string;
+
+- 变更前:
+
+ ```ts
+ zoomIn(): boolean;
+ zoomOut(): boolean;
+ createWebMessagePorts(): Array;
+ postMessage(options: { message: WebMessageEvent, uri: string}): void;
+ getHitTestValue(): HitTestValue;
+ getWebId(): number;
+ getDefaultUserAgent(): string;
+ getTitle(): string;
+ getPageHeight(): number;
+ backOrForward(step: number): void;
+ searchAllAsync(searchString: string): void;
+ clearMatches(): void;
+ searchNext(forward: boolean): void;
+ clearSslCache(): void;
+ clearClientAuthenticationCache(): void;
+ getUrl(): string;
+ ```
+
+- 变更后:
+
+ ```ts
+ zoomIn(): void;
+ zoomOut(): void;
+ createWebMessagePorts(): Array;
+ postMessage(name: string, ports: Array, uri: string): void;
+ getHitTestValue(): HitTestValue;
+ getWebId(): number;
+ getUserAgent(): string;
+ getTitle(): string;
+ getPageHeight(): number;
+ backOrForward(step: number): void;
+ searchAllAsync(searchString: string): void;
+ clearMatches(): void;
+ searchNext(forward: boolean): void;
+ clearSslCache(): void;
+ clearClientAuthenticationCache(): void;
+ getUrl(): string;
+ ```
+
+**适配指导**
+
+原WebController类不需要import,现WebviewController类使用的是@ohos.web.webview,以下方式import:
+
+ ```ts
+ import web_webview from '@ohos.web.webview';
+ ```
+
+## cl.web.10 WebAsyncController类迁移
+
+WebAsyncController类下接口迁移至web.webview.webview.WebviewController,并新增接口错误码抛出。
+
+**变更影响**
+
+基于此前版本开发的应用,需注意错误码处理的使用。
+
+**关键的接口/组件变更**
+
+- 涉及接口
+
+ storeWebArchive(baseName: string, autoName: boolean): Promise;
+ storeWebArchive(baseName: string, autoName: boolean, callback : AsyncCallback): void;
+
+- 变更前:
+
+ ```ts
+ storeWebArchive(baseName: string, autoName: boolean): Promise;
+ storeWebArchive(baseName: string, autoName: boolean, callback : AsyncCallback): void;
+ ```
+
+- 变更后:
+
+ ```ts
+ storeWebArchive(baseName: string, autoName: boolean): Promise;
+ storeWebArchive(baseName: string, autoName: boolean, callback : AsyncCallback): void;
+ ```
+
+**适配指导**
+
+使用示例:
+
+ ```ts
+ // xxx.ets
+ import web_webview from '@ohos.web.webview'
+
+ @Entry
+ @Component
+ struct WebComponent {
+ controller: web_webview.WebviewController = new web_webview.WebviewController();
+
+ build() {
+ Column() {
+ Button('saveWebArchive')
+ .onClick(() => {
+ try {
+ this.controller.storeWebArchive("/data/storage/el2/base/", true, (error, filename) => {
+ if (error) {
+ console.info(`save web archive error: ` + JSON.stringify(error))
+ return;
+ }
+ if (filename != null) {
+ console.info(`save web archive success: ${filename}`)
+ }
+ });
+ } catch (error) {
+ console.error(`ErrorCode: ${error.code}, Message: ${error.message}`);
+ }
+ })
+ Web({ src: 'www.example.com', controller: this.controller })
+ }
+ }
+ }
+ ```
\ No newline at end of file
diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/Readme.md b/zh-cn/release-notes/changelogs/v3.2-beta5/Readme.md
new file mode 100644
index 0000000000000000000000000000000000000000..d8a99235b333491bbc60f91c31083b23e7a084ec
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-beta5/Readme.md
@@ -0,0 +1,26 @@
+# Readme
+
+- [元能力](changelogs-ability.md)
+- [帐号](changelogs-account_os_account.md)
+- [ArkUI](changelogs-arkui.md)
+- [多媒体-相机](changelogs-camera-sync.md)
+- [公共基础类库-容器](changelogs-container.md)
+- [分布式数据管理](changelogs-distributeddatamgr.md)
+- [文件管理](changelogs-filemanagement.md)
+- [输入法框架](changelogs-inputmethod-framworks.md)
+- [文件管理-媒体库](changelogs-mediaLibrary.md)
+- [多媒体](changelogs-multimedia.md)
+- [基础通信-NFC](changelogs-nfc.md)
+- [事件通知](changelogs-notification.md)
+- 位置服务
+ - [ohos.geoLocationManager](changelogs-ohos-geoLocationManager.md)
+ - [ohos.geoLocation](changelogs-ohos-geolocation.md)
+ - [system.geolocation](changelogs-system-geolocation.md)
+- [上传下载](changelogs-request.md)
+- [资源调度](changelogs-resourceschedule.md)
+- [安全](changelogs-security.md)
+- [电话服务](changelogs-telephony.md)
+- [时间服务](changelogs-time.md)
+- [公共基础类库-URL](changelogs-url.md)
+- [用户IAM](changelogs-useriam.md)
+- [窗口](changelogs-window.md)
diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelog-x-x.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelog-x-x.md
new file mode 100644
index 0000000000000000000000000000000000000000..b20dbfc1fc13ba0dc94a8044119ac0ae2473cfb7
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelog-x-x.md
@@ -0,0 +1,31 @@
+# xxx子系统ChangeLog
+
+相比最近一个发布版本(包括不限于LTS、Release、Beta、monthly版本)发生了影响契约兼容性(契约兼容:也称语义兼容,指版本演进后,开发者原有程序行为不发生变化)的变更(包括不限于接口名、参数、返回值、所需要的权限、调用顺序、枚举值、配置参数、路径等),则需要在ChangeLog中对变更进行阐述。
+
+## cl.subsystemname.x xxx功能变更, 例:DeviceType属性变更、相机权限变更(尽量概括,不要超过15个字)
+
+每个变更标题前需要附加编号:cl.subsystemname.x。cl为ChangeLog首字母缩写,subsystemname请填写子系统英文标准名称,x表示变更序号(从低到高逐位增加,起始为1)。
+以功能维度对变更点进行概括描述。例如:xxx功能的xxx、xxx等发生了xxx变化,开发者需要根据以下说明对应用进行适配。
+如果有此变更有对应的需求或设计文档,可以在描述中附上对应的设计文档编号。
+
+**变更影响**
+
+是否影响已发布的接口或者接口行为发生变更,影响的是JS接口还是Native接口。
+是否影响在此前版本已开发的应用,即应用是否需要进行适配动才可以在新版本SDK环境正常编译通过。
+
+**关键的接口/组件变更**
+
+列举此功能变更涉及的接口/组件变更。
+
+**适配指导(可选,不涉及则可以删除)**
+
+提供指导,帮助开发者针对相关变更进行适配,使应用可以与新版本兼容。
+例:
+在xxx文件中将xxx参数修改为xxx。
+
+```
+sample code
+```
+
+
+
diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-ability.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-ability.md
new file mode 100644
index 0000000000000000000000000000000000000000..27f0f6ead460e4c49ab60f1c4af64f84a2727cb9
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-ability.md
@@ -0,0 +1,175 @@
+# 元能力子系统JS API变更Changelog
+
+## cl.ability.1 接口迁移
+ability子系统UIAbilityContext的接口requestPermissionsFromUser迁移到security子系统:
+
+之前权限弹窗应用是基于UIAbility实现的,需要借助于UIAbilityContext的startAbilityForResult接口把授权结果带回给调用方,故把requestPermissionsFromUser接口暂时放在UIAbilityContext中。现在权限弹窗应用切换为基于ServiceExtensionAbility实现,不再需要借助UIAbilityContext的startAbilityForResult接口,因此把requestPermissionsFromUser接口迁移到security子系统。
+
+开发者需要根据以下说明对应用进行适配。
+
+ **变更影响**
+
+影响API9版本的JS接口,应用需要进行适配才可以在新版本SDK环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 变更类型 |
+| ------------------------- | ------------------- | ------------------------------------------------------------ | -------- |
+| application/UIAbilityContext | UIAbilityContext | requestPermissionsFromUser(permissions: Array, requestCallback: AsyncCallback): void; | 删除 |
+| application/UIAbilityContext | UIAbilityContext | requestPermissionsFromUser(permissions: Array): Promise; | 删除 |
+| @ohos.abilityAccessCtrl | AtManager | requestPermissionsFromUser(context: Context, permissions: Array, requestCallback: AsyncCallback) : void; | 新增 |
+| @ohos.abilityAccessCtrl | AtManager | requestPermissionsFromUser(context: Context, permissions: Array) : Promise; | 新增 |
+
+
+**适配指导**
+
+应用中调用requestPermissionsFromUser拉起权限弹窗应用可参考下列代码
+
+Stage模型下的示例:
+
+```ts
+import abilityAccessCtrl from '@ohos.abilityAccessCtrl.d.ts';
+//UIAbility的onWindowStageCreate生命周期
+onWindowStageCreate() {
+ let AtManager = abilityAccessCtrl.createAtManager();
+ //requestPermissionsFromUser会判断权限的授权状态来决定是否唤起弹窗
+ AtManager.requestPermissionsFromUser(this.context, ["ohos.permission.MANAGE_DISPOSED_APP_STATUS"]).then((data) => {
+ console.log("data type:" + typeof(data));
+ console.log("data:" + data);
+ console.log("data permissions:" + data.permissions);
+ console.log("data result:" + data.authResults);
+ }).catch((err) => {
+ console.error('Failed to start ability', err.code);
+ })
+}
+```
+
+
+
+## cl.ability.2 删除标记为废弃的API9接口
+
+元能力异常处理整改将部分API9接口标记为了废弃,根据OpenHarmony接口规范,需要删除标记为废弃的API9接口。
+
+**变更影响**
+
+基于此前版本开发的应用,需要将被删除的接口替换为新接口,否则会影响应用编译。
+
+**关键接口/组件变更**
+
+接口文件被删除:
+
+| 被删除接口 | 新接口 |
+| ----------------------------------------------- | ----------------------------------------------- |
+| @ohos.application.Ability.d.ts | @ohos.app.ability.UIAbility.d.ts |
+| @ohos.application.AbilityConstant.d.ts | @ohos.app.ability.AbilityConstant.d.ts |
+| @ohos.application.AbilityLifecycleCallback.d.ts | @ohos.app.ability.AbilityLifecycleCallback.d.ts |
+| @ohos.application.AbilityStage.d.ts | @ohos.app.ability.AbilityStage.d.ts |
+| @ohos.application.EnvironmentCallback.d.ts | @ohos.app.ability.EnvironmentCallback.d.ts |
+| @ohos.application.ExtensionAbility.d.ts | @ohos.app.ability.ExtensionAbility.d.ts |
+| @ohos.application.FormExtension.d.ts | @ohos.app.form.FormExtensionAbility.d.ts |
+| @ohos.application.ServiceExtensionAbility.d.ts | @ohos.app.ability.ServiceExtensionAbility.d.ts |
+| @ohos.application.StartOptions.d.ts | @ohos.app.ability.StartOptions.d.ts |
+| @ohos.application.context.d.ts | @ohos.app.ability.common.d.ts |
+| @ohos.application.errorManager.d.ts | @ohos.app.ability.errorManager.d.ts |
+
+接口、属性被删除:
+
+- @ohos.application.Configuration.d.ts
+ - Configuration 的 direction、screenDensity、displayId、hasPointerDevice 被删除。可以使用 @ohos.app.ability.Configuration.d.ts 的 Configuration替换。
+- @ohos.application.ConfigurationConstant.d.ts
+ - 枚举 Direction 和 ScreenDensity 被删除。可以使用 @ohos.app.ability.ConfigurationConstant.d.ts 的枚举 Direction 和 ScreenDensity 替换。
+- @ohos.application.abilityManager.d.ts
+ - 方法 getExtensionRunningInfos 和 getTopAbility 被删除。可以使用 @ohos.app.ability.abilityManager.d.ts 的同名方法替换。
+- @ohos.application.appManager.d.ts
+ - 枚举 ApplicationState 和 ProcessState 被删除。可以使用 @ohos.app.ability.appManager.d.ts 的枚举 ApplicationState 和 ProcessState 替换。
+ - 方法 registerApplicationStateObserver 和 getProcessRunningInformation被删除。可以使用 @ohos.app.ability.appManager.d.ts 的同名方法替换。
+- @ohos.application.formHost.d.ts
+ - 方法 shareForm 和 notifyFormsPrivacyProtected 被删除。可以使用 @ohos.app.form.formHost.d.ts 的同名方法替换。
+- @ohos.application.formInfo.d.ts
+ - 枚举 FormType 的 eTS 被删除,可以使用 @ohos.app.form.formInfo.d.ts 的 FormType 中的 eTS 替换。
+ - 枚举 FormParam 的 IDENTITY_KEY、BUNDLE_NAME_KEY、ABILITY_NAME_KEY、DEVICE_ID_KEY 被删除,可以使用 @ohos.app.form.formInfo.d.ts 的 FormParam 中的同名枚举替换。
+ - 接口 FormInfoFilter 被删除。可以使用 @ohos.app.form.formInfo.d.ts 的 FormInfoFilter 替换。
+ - 枚举 FormDimension 被删除。可以使用 @ohos.app.form.formInfo.d.ts 的 FormDimension 替换。
+ - 枚举 VisibilityType 被删除。可以使用 @ohos.app.form.formInfo.d.ts 的 VisibilityType 替换。
+- @ohos.wantAgent.d.ts
+ - 方法 trigger 和 getOperationType 被删除。可以使用 @ohos.app.ability.wantAgent.d.ts 的同名方法替换。
+- application/ApplicationContext.d.ts
+ - 方法 registerAbilityLifecycleCallback、unregisterAbilityLifecycleCallback、registerEnvironmentCallback、unregisterEnvironmentCallback 被删除。可以使用 on、off 替换。
+- application/ServiceExtensionContext.d.ts
+ - 方法 connectAbility、connectAbilityWithAccount、disconnectAbility 被删除。可以使用 connectServiceExtensionAbility、connectServiceExtensionAbilityWithAccount、disconnectServiceExtensionAbility 替换。
+- @ohos.application.FormExtension.d.ts
+ - 生命周期onCreate、onCastToNormal、onUpdate、onVisibilityChange、onEvent、onDestroy、onAcquireFormState、onShare 被删除。可以使用@ohos.app.form.FormExtensionAbility.d.ts的onAddForm、onCastToNormalForm、onUpdateForm、onChangeFormVisibility、onFormEvent、onRemoveForm、onAcquireFormState、onShareForm
+- @ohos.application.abilityDelegatorRegistry.d.ts
+ - 导出类 AbilityDelegator、AbilityDelegatorArgs、AbilityMonitor、ShellCmdResult 被删除。可以使用@ohos.app.ability.abilityDelegatorRegistry.d.ts中的同名导出类替换。
+- @ohos.application.abilityManager.d.ts
+ - 导出类 AbilityRunningInfo、ExtensionRunningInfo 被删除。可以使用@ohos.app.ability.abilityManager.d.ts中的同名导出类替换。
+- @ohos.application.appManager.d.ts
+ - 导出类 AbilityStateData、AppStateData、ApplicationStateObserver、ProcessRunningInfo、ProcessRunningInformation 被删除。可以使用@ohos.app.ability.appManager.d.ts中的同名导出类替换。
+- @ohos.application.missionManager.d.ts
+ - 导出类 MissionInfo、MissionListener、MissionSnapshot 被删除。可以使用@ohos.app.ability.missionManager.d.ts中的同名导出类替换。
+- @ohos.wantAgent.d.ts
+ - 导出类 TriggerInfo、WantAgentInfo 被删除。可以使用@ohos.app.ability.wantAgent.d.ts中的同名导出类替换。
+
+
+
+
+
+**适配指导**
+
+如上所述,仅少数接口修改了接口名的如注册回调函数(registerAbilityLifecycleCallback、unregisterAbilityLifecycleCallback、registerEnvironmentCallback、unregisterEnvironmentCallback)和连接断开 ServiceExtensionAbility(connectAbility、connectAbilityWithAccount、disconnectAbility),卡片生命周期等需要替换成新的接口名。
+
+绝大多数接口平移到了新的namespace中,所以可以通过修改import来解决适配问题:
+
+如原先接口使用了@ohos.application.Ability
+
+```js
+import Ability from '@ohos.application.Ability';
+```
+
+可以通过直接修改import,来切换到新的namespace上:
+
+```js
+import Ability from '@ohos.app.ability.UIAbility';
+```
+
+此外还需要适配异常处理,具体参考新接口的接口文档。
+
+## cl.ability.3 appRecovery接口中RestartFlag属性名称变更,删除了未支持的属性
+
+appRecovery接口中RestartFlag枚举命名从特定故障发生后**不重启**改成了特定故障发生后**重启**。
+删除了CPP_CRASH_NO_RESTART。
+
+**变更影响**
+
+3.2.10.6版本之前使用CPP_CRASH_NO_RESTART/JS_CRASH_NO_RESTART/APP_FREEZE_NO_RESTART类型开发的应用,在3.2.10.6版本之后行为会发生变化。
+
+**关键接口/组件变更**
+
+**RestartFlag** 9+
+
+变更前:
+
+| 名称 | 值 | 说明 |
+| --------------------- | ------ | -------------------------------- |
+| ALWAYS_RESTART | 0 | 总是重启应用。 |
+| CPP_CRASH_NO_RESTART | 0x0001 | 发生CPP_CRASH时**不重启**应用。 |
+| JS_CRASH_NO_RESTART | 0x0002 | 发生JS_CRASH时**不重启**应用。 |
+| APP_FREEZE_NO_RESTART | 0x0004 | 发生APP_FREEZE时**不重启**应用。 |
+| NO_RESTART | 0xFFFF | 总是不重启应用。 |
+
+变更后:
+
+| 名称 | 值 | 说明 |
+| ----------------------- | ------ | ------------------------------ |
+| ALWAYS_RESTART | 0 | 总是重启应用。 |
+| CPP_CRASH_NO_RESTART | NA | **删除**,不支持该场景的重启。 |
+| RESTART_WHEN_JS_CRASH | 0x0001 | 发生JS_CRASH时**重启**应用。 |
+| RESTART_WHEN_APP_FREEZE | 0x0002 | 发生APP_FREEZE时**重启**应用。 |
+| NO_RESTART | 0xFFFF | 总是不重启应用。 |
+
+**适配指导**
+
+按新的语义进行适配。
+
+
+
diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-account_os_account.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-account_os_account.md
new file mode 100644
index 0000000000000000000000000000000000000000..8b8cad7dbf026cb17c1599e61ebdbae510073a30
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-account_os_account.md
@@ -0,0 +1,96 @@
+# 帐号子系统changeLog
+
+## cl.account_os_account.1 createOsAccountForDomain错误码变更
+
+使用createOsAccountForDomain重复创建域帐号时,变更前返回的错误码为12300001,变更后返回的错误码为12300004。
+错误信息由通用系统报错细化为帐号已存在报错。
+
+**变更影响**
+
+基于此前版本开发的应用,需适配变更后的错误码,否则会影响原有业务逻辑。
+
+**关键接口/组件变更**
+- AccountManager
+ - createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo, callback: AsyncCallback<OsAccountInfo>);
+ - createOsAccountForDomain(type: OsAccountType, domainInfo: DomainAccountInfo): Promise<OsAccountInfo>;
+
+**适配指导**
+
+重复创建域帐号的示例代码如下:
+
+```ts
+import account_osAccount from "@ohos.account.osAccount"
+
+let accountMgr = account_osAccount.getAccountManager();
+let domainInfo = {
+ accountName: "zhangsan",
+ domain: "china.example.com"
+};
+try {
+ await accountMgr.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo);
+ await accountMgr.createOsAccountForDomain(account_osAccount.OsAccountType.NORMAL, domainInfo);
+} catch (err) {
+ console.log("activateOsAccount err: " + JSON.stringify(err)); // error.code = 12300004;
+}
+```
+
+## cl.account_os_account.2 应用帐号getAllAccounts接口权限场景变更
+
+应用使用getAllAccounts接口查询自己可访问的帐号列表时,不需要申请权限ohos.permission.GET_ALL_APP_ACCOUNTS。
+
+**变更影响**
+
+基于此后版本开发的应用,查询自己可访问的帐号列表时,无需申请权限。
+
+**关键接口/组件变更**
+- AccountManager
+ - getAllAccounts(callback: AsyncCallback<Array<AppAccountInfo>>): void;
+ - getAllAccounts(): Promise<Array<AppAccountInfo>>;
+
+**适配指导**
+
+应用未申请ohos.permission.GET_ALL_APP_ACCOUNTS,查询自己可访问的帐号列表示例代码如下:
+
+```ts
+import account_appAccount from "@ohos.account.appAccount"
+
+let accountMgr = account_appAccount.createAppAccountManager();
+try {
+ await accountMgr.addAccount("accessibleAccount_promise_nopermission");
+ var data = await accountMgr.getAllAccounts();
+ if (data[0].name == "accessibleAccount_promise_nopermission") {
+ console.log("getAllAccounts successfully");
+ }
+} catch (err) {
+ console.log("getAllAccounts err: " + JSON.stringify(err));
+}
+```
+
+## cl.account_os_account.3 应用帐号getAccountsByOwner接口权限场景变更
+
+应用使用getAccountsByOwner接口查询可访问的指定应用的帐号列表时,不需要申请权限ohos.permission.GET_ALL_APP_ACCOUNTS。
+
+**变更影响**
+
+基于此后版本开发的应用,查询指定应用可访问的帐号列表时,无需申请权限。
+
+**关键接口/组件变更**
+- AccountManager
+ - getAccountsByOwner(owner: string, callback: AsyncCallback<Array<AppAccountInfo>>): void;
+ - getAccountsByOwner(owner: string): Promise<Array<AppAccountInfo>>;
+
+**适配指导**
+
+应用未申请ohos.permission.GET_ALL_APP_ACCOUNTS,查询指定应用可访问的帐号列表示例代码如下:
+
+```ts
+import account_appAccount from "@ohos.account.appAccount"
+
+let accountMgr = account_appAccount.createAppAccountManager();
+try {
+ var ownerName = "com.example.owner";
+ var data = await accountMgr.getAllAccounts(ownerName);
+} catch (err) {
+ console.log("getAllAccounts err: " + JSON.stringify(err));
+}
+```
\ No newline at end of file
diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-arkui.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-arkui.md
new file mode 100644
index 0000000000000000000000000000000000000000..d661cf1d84f2b2c6b06bb8102d30455fb07a7e43
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-arkui.md
@@ -0,0 +1,332 @@
+# arkui子系统ChangeLog
+
+## cl.arkui.1 状态变量数据类型声明使用限制
+
+1. 所有的状态装饰器变量需要显式声明变量类型,不允许声明any,不支持Date数据类型。
+
+ 示例:
+
+ ```ts
+ // xxx.ets
+ @Entry
+ @Component
+ struct DatePickerExample {
+ // 错误写法: @State isLunar: any = false
+ @State isLunar: boolean = false
+ // 错误写法: @State selectedDate: Date = new Date('2021-08-08')
+ private selectedDate: Date = new Date('2021-08-08')
+
+ build() {
+ Column() {
+ Button('切换公历农历')
+ .margin({ top: 30 })
+ .onClick(() => {
+ this.isLunar = !this.isLunar
+ })
+ DatePicker({
+ start: new Date('1970-1-1'),
+ end: new Date('2100-1-1'),
+ selected: this.selectedDate
+ })
+ .lunar(this.isLunar)
+ .onChange((value: DatePickerResult) => {
+ this.selectedDate.setFullYear(value.year, value.month, value.day)
+ console.info('select current date is: ' + JSON.stringify(value))
+ })
+
+ }.width('100%')
+ }
+ }
+ ```
+
+ 
+
+2. @State、@Provide、 @Link和@Consume四种状态变量的数据类型声明只能由简单数据类型或引用数据类型的其中一种构成。
+
+ 类型定义中的Length、ResourceStr、ResourceColor三个类型是简单数据类型或引用数据类型的组合,所以不能被以上四种状态装饰器变量使用。
+ Length、ResourceStr、ResourceColor的定义请看文档[arkui-ts类型定义](../../../application-dev/reference/arkui-ts/ts-types.md)。
+
+ 示例:
+
+ ```ts
+ // xxx.ets
+ @Entry
+ @Component
+ struct IndexPage {
+ // 错误写法: @State message: string | Resource = 'Hello World'
+ @State message: string = 'Hello World'
+ // 错误写法: @State message: ResourceStr = $r('app.string.hello')
+ @State resourceStr: Resource = $r('app.string.hello')
+
+ build() {
+ Row() {
+ Column() {
+ Text(`${this.message}`)
+ .fontSize(50)
+ .fontWeight(FontWeight.Bold)
+ }
+ .width('100%')
+ }
+ .height('100%')
+ }
+ }
+ ```
+
+ 
+
+**变更影响**
+
+1. 如果状态装饰器变量没有显式声明变量类型,声明any,编译拦截报错;
+ ```ts
+ // ArkTS:ERROR Please define an explicit type, not any.
+ @State isLunar: any = false
+ ```
+2. 状态装饰器变量声明变量类型为Date,编译拦截报错;
+ ```ts
+ // ArkTS:ERROR The @State property 'selectedDate' cannot be a 'Date' object.
+ @State selectedDate: Date = new Date('2021-08-08')
+ ```
+3. @State、@Provide、 @Link和@Consume四种状态变量使用框架提供的Length、ResourceStr、ResourceColor,
+ 编译拦截报错。
+ ```ts
+ /* ArkTS:ERROR The state variable type here is 'ResourceStr', it contains both a simple type and an object type,
+ which are not allowed to be defined for state variable of a struct.*/
+ @State message: ResourceStr = $r('app.string.hello')
+ ```
+
+**关键的接口/组件变更**
+
+不涉及。
+
+**适配指导**
+
+1. 状态装饰器变量声明具体的变量类型替代any;
+2. 使用Date对象的状态装饰器变量,修改为不加状态装饰器修饰的常规变量;
+3. 因为Length(string|number|Resource), ResourceStr(string|Resource), ResourceColor(string|number|Color|Resource)
+ 的三个类型是简单数据类型或引用数据类型的组合,使用@State、@Provide、 @Link和@Consume四种状态变量场景参考以下修改:
+ ```ts
+ // 错误写法:
+ @State message: ResourceStr = $r('app.string.hello')
+ // 修正后的写法:
+ @State resourceStr: Resource = $r('app.string.hello')
+ ```
+
+
+## cl.arkui.2 自定义组件成员变量初始化的规则与约束
+
+通过构造函数方法初始化成员变量,需要遵循如下规则:
+
+| **从父组件中的变量(右)到子组件中的变量(下)** | **regular** | **@State** | **@Link** | **@Prop** | **@Provide** | **@Consume** | **@ObjectLink** |
+|---------------------------------|----------------------------|------------|-----------|-----------|--------------|--------------|------------------|
+| **regular** | 支持 | 支持 | 支持 | 支持 | 不支持 | 不支持 | 支持 |
+| **@State** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
+| **@Link** | 不支持 | 支持(1) | 支持(1) | 支持(1) | 支持(1) | 支持(1) | 支持(1) |
+| **@Prop** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
+| **@Provide** | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 | 支持 |
+| **@Consume** | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
+| **@ObjectLink** | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 | 不支持 |
+
+| **从父组件中的变量(右)到子组件中的变量(下)** | **@StorageLink** | **@StorageProp** | **@LocalStorageLink** | **@LocalStorageProp** |
+|------------------|------------------|------------------|-----------------------|------------------------|
+| **regular** | 支持 | 不支持 | 不支持 | 不支持 |
+| **@State** | 支持 | 支持 | 支持 | 支持 |
+| **@Link** | 支持(1) | 支持(1) | 支持(1) | 支持(1) |
+| **@Prop** | 支持 | 支持 | 支持 | 支持 |
+| **@Provide** | 支持 | 支持 | 支持 | 支持 |
+| **@Consume** | 不支持 | 不支持 | 不支持 | 不支持 |
+| **@ObjectLink** | 不支持 | 不支持 | 不支持 | 不支持 |
+
+> **说明**
+>
+> **支持(1)**:必须使用`$`, 例如 `this.$varA`。
+> **regular**:未加修饰的常规变量。
+
+不允许从父组件初始化`@StorageLink`, `@StorageProp`, `@LocalStorageLink`, `@LocalStorageProp`修饰的变量。
+
+**变更影响**
+
+1. 不允许从父组件初始化`@LocalStorageLink`, `@LocalStorageProp`修饰的变量。
+ ```ts
+ @Entry
+ @Component
+ struct LocalStorageComponent {
+ build() {
+ Column() {
+ Child({
+ /* ArkTS:ERROR Property 'simpleVarName' in the custom component 'Child' cannot
+ initialize here (forbidden to specify). */
+ simpleVarName: 1,
+ /* ArkTS:ERROR Property 'objectName' in the custom component 'Child' cannot
+ initialize here (forbidden to specify). */
+ objectName: new ClassA("x")
+ })
+ }
+ }
+ }
+ @Component
+ struct Child {
+ @LocalStorageLink("storageSimpleProp") simpleVarName: number = 0;
+ @LocalStorageProp("storageObjectProp") objectName: ClassA = new ClassA("x");
+ build() {}
+ }
+ ```
+2. 子组件的@ObjectLink变量不支持父组件装饰器变量的直接赋值,其父组件的源必须是数组的项或对象的属性,该数组或对象必现用`@State`、`@Link`、`@Provide`、`@Consume`或`@ObjectLink`装饰器修饰。
+ ```ts
+ let NextID : number = 0;
+
+ @Observed class ClassA {
+ public id : number;
+ public c: number;
+ constructor(c: number) {
+ this.id = NextID++;
+ this.c = c;
+ }
+ }
+
+ @Component
+ struct Child {
+ @ObjectLink varA : ClassA;
+ build() {
+ Row() {
+ Text('ViewA-' + this.varA.id)
+ }
+ }
+ }
+
+ @Component
+ struct Parent {
+ @Link linkValue: ClassA
+ build() {
+ Column() {
+ /* ArkTS:ERROR The @Link property 'linkValue' cannot be assigned to
+ the @ObjectLink property 'varA'.*/
+ Child({ varA: this.linkValue })
+ }
+ }
+ }
+ ```
+
+**关键的接口/组件变更**
+
+不涉及。
+
+**适配指导**
+1. 构造子组件时,不对子组件的`@LocalStorageLink`, `@LocalStorageProp`修饰的变量进行。
+如果需要在父组件中修改子组件的`@LocalStorageLink`, `@LocalStorageProp`修饰的变量,则使用LocalStorage提供的API接口方法(比如set方法)赋值。
+2. @ObjectLink的使用指导请参考文档@ObjectLink使用指导。
+
+
+## cl.arkui.LocalStorage.1 get接口返回类型变更
+
+**变更影响**
+
+返回类型从get(propName: string): T变更为get(propName: string): T | undefined
+应用不需要进行适配。
+
+## cl.arkui.LocalStorage.2 setOrCreate参数newValue变成必选
+**变更影响**
+
+原接口声明:
+```js
+setOrCreate(propName: string, newValue?: T): boolean
+```
+现接口声明:
+```js
+setOrCreate(propName: string, newValue: T): boolean
+```
+第二个参数newValue变为必选。
+如果应用调用这个接口没有指定newValue参数,在替换新的sdk后会编译不过,需要手动指定newValue。
+
+**适配指导**
+
+```js
+let storage = new LocalStorage();
+storage.setOrCreate('propA', 'hello');
+```
+## cl.arkui.LocalStorage.3 link参数和返回类型变更
+**变更影响**
+
+原接口声明:
+```js
+link(propName: string, linkUser?: T, subscribersName?: string): T
+```
+现接口声明:
+```js
+link(propName: string): SubscribedAbstractProperty
+```
+1. link第二三个参数为框架内部调用,不应对外开发,所以将接口变更为一个参数;
+2. 返回类型T变更为SubscribedAbstractProperty;
+
+**适配指导**
+
+```js
+let storage = new LocalStorage({"PropA": "47"});
+let linA = storage.link("PropA");
+linA.set(50);
+```
+
+## cl.arkui.LocalStorage.4 setAndLink参数和返回类型变更
+**变更影响**
+
+原接口声明:
+```js
+setAndLink(propName: string, defaultValue: T, linkUser?: T, subscribersName?: string): T
+```
+现接口声明:
+```js
+setAndLink(propName: string, defaultValue: T): SubscribedAbstractProperty
+```
+1. setAndLink第三四个参数为框架内部调用,不应对外开发,所以将接口变更为2个参数;
+2. 返回类型T变更为SubscribedAbstractProperty;
+
+**适配指导**
+
+```js
+let storage = new LocalStorage({"PropA": "47"});
+let linA = storage.setAndLink("PropA", "48")
+linA.set(50);
+```
+
+## cl.arkui.LocalStorage.5 prop参数和返回类型变更
+**变更影响**
+
+原接口声明:
+```js
+prop(propName: string, propUser?: T, subscribersName?: string): T
+```
+现接口声明:
+```js
+prop(propName: string): SubscribedAbstractProperty
+```
+1. prop第二三个参数为框架内部调用,不应对外开发,所以将接口变更为1个参数;
+2. 返回类型T变更为SubscribedAbstractProperty;
+
+**适配指导**
+
+```js
+let storage = new LocalStorage({"PropA": "47"});
+let propA = storage.prop("PropA");
+propA.set(51); // one-way sync
+```
+
+## cl.arkui.LocalStorage.6 setAndProp参数和返回类型变更
+**变更影响**
+
+原接口声明:
+```js
+setAndProp(propName: string, defaultValue: T, propUser?: T, subscribersName?: string): T
+```
+现接口声明:
+```js
+setAndProp(propName: string, defaultValue: S): SubscribedAbstractProperty
+```
+1. setAndProp第三四个参数为框架内部调用,不应对外开发,所以将接口变更为2个参数;
+2. 返回类型T变更为SubscribedAbstractProperty;
+
+**适配指导**
+
+```js
+let storage = new LocalStorage({"PropA": "47"});
+let propA = storage.setAndProp("PropA", "48");
+propA.set(51); // one-way sync
+```
diff --git a/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-camera-sync.md b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-camera-sync.md
new file mode 100644
index 0000000000000000000000000000000000000000..3f5cd56d576151dc37ab56f50301a4d4443a271a
--- /dev/null
+++ b/zh-cn/release-notes/changelogs/v3.2-beta5/changelogs-camera-sync.md
@@ -0,0 +1,520 @@
+# 媒体子系统 JS API 变更 Changelog
+
+## cl.subsystemname.1 camera 接口变更
+1. camera 部件在 API9 版本全量改为 SystemAPI
+2. 基于以下原因新增部分功能接口以及废弃部分接口:
+
+提升开发者使用相机接口的便利。
+帮助开发者快速掌握相机开发接口,快速投入到开发当中。
+易于后续版本中框架功能的扩展,降低框架模块之间的耦合度。
+
+具体参考下方变更内容,开发者需要根据以下说明对应用进行适配。
+
+**变更影响**
+
+影响 API9 版本的 JS 接口,应用需要进行适配才可以在新版本 SDK 环境正常实现功能。
+
+**关键的接口/组件变更**
+
+| 模块名 | 类名 | 方法/属性/枚举/常量 | 是否为 SystemApi | 变更类型 |
+| ---------------------- | ----------------------- | ------------------------------------------------------------ | --------------- | -------- |
+| ohos.multimedia.camera | camera | function getCameraManager(context: Context): CameraManager; | 是 | 新增 |
+| ohos.multimedia.camera | camera | function getCameraManager(context: Context, callback: AsyncCallback): void;
function getCameraManager(context: Context): Promise; | 是 | 废弃 |
+| ohos.multimedia.camera | CameraErrorCode | INVALID_ARGUMENT = 7400101,
OPERATION_NOT_ALLOWED = 7400102,
SESSION_NOT_CONFIG = 7400103,
SESSION_NOT_RUNNING = 7400104,
SESSION_CONFIG_LOCKED = 7400105,
DEVICE_SETTING_LOCKED = 7400106,
CONFILICT_CAMERA = 7400107,
DEVICE_DISABLED = 7400108,
SERVICE_FATAL_ERROR = 7400201 | 是 | 新增 |
+| ohos.multimedia.camera | CameraManager | getSupportedCameras(): Array;
getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability;
createCameraInput(camera: CameraDevice): CameraInput;
createCameraInput(position: CameraPosition, type: CameraType): CameraInput;
createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput;
createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput;
createVideoOutput(profile: VideoProfile, surfaceId: string): VideoOutput;
createMetadataOutput(metadataObjectTypes: Array): MetadataOutput;
createCaptureSession(): CaptureSession; | 是 | 新增 |
+| ohos.multimedia.camera | CameraManager | getSupportedCameras(callback: AsyncCallback>): void;
getSupportedCameras(): Promise>;
getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback): void;
getSupportedOutputCapability(camera: CameraDevice): Promise;
createCameraInput(camera: CameraDevice, callback: AsyncCallback): void;
createCameraInput(camera: CameraDevice): Promise;
createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback): void;
createCameraInput(position: CameraPosition, type: CameraType): Promise;
createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void;
createPreviewOutput(profile: Profile, surfaceId: string): Promise;
createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void;
createPhotoOutput(profile: Profile, surfaceId: string): Promise;
createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback): void;
createVideoOutput(profile: VideoProfile, surfaceId: string): Promise;
createMetadataOutput(metadataObjectTypes: Array, callback: AsyncCallback): void;
createMetadataOutput(metadataObjectTypes: Array): Promise;
createCaptureSession(callback: AsyncCallback): void;
createCaptureSession(): Promise; | 是 | 废弃 |
+| ohos.multimedia.camera | CameraType | CAMERA_TYPE_DEFAULT = 0 | 是 | 新增 |
+| ohos.multimedia.camera | CameraType | CAMERA_TYPE_UNSPECIFIED = 0 | 是 | 废弃 |
+| ohos.multimedia.camera | CameraInput | on(type: 'error', camera: CameraDevice, callback: ErrorCallback): void; | 是 | 新增 |
+| ohos.multimedia.camera | CameraInput | release(callback: AsyncCallback): void;
release(): Promise;
on(type: 'error', camera: CameraDevice, callback: ErrorCallback): void; | 是 | 废弃 |
+| ohos.multimedia.camera | CameraInputErrorCode | ERROR_UNKNOWN = -1
ERROR_NO_PERMISSION = 0
ERROR_DEVICE_PREEMPTED = 1
ERROR_DEVICE_DISCONNECTED = 2
ERROR_DEVICE_IN_USE = 3
ERROR_DRIVER_ERROR = 4 | 是 | 废弃 |
+| ohos.multimedia.camera | CameraInputError | code: CameraInputErrorCode | 是 | 废弃 |
+| ohos.multimedia.camera | CaptureSession | beginConfig(): void;
addInput(cameraInput: CameraInput): void;
removeInput(cameraInput: CameraInput): void;
addOutput(cameraOutput: CameraOutput): void;
removeOutput(cameraOutput: CameraOutput): void;
hasFlash(): boolean;
isFlashModeSupported(flashMode: FlashMode): boolean;
getFlashMode(): FlashMode;
setFlashMode(flashMode: FlashMode): void;
isExposureModeSupported(aeMode: ExposureMode): boolean;
getExposureMode(): ExposureMode;
setExposureMode(aeMode: ExposureMode): void;
getMeteringPoint(): Point;
setMeteringPoint(point: Point): void;
getExposureBiasRange(): Array;
setExposureBias(exposureBias: number): void;
getExposureValue(): number;
isFocusModeSupported(afMode: FocusMode): boolean;
getFocusMode(): FocusMode;
setFocusMode(afMode: FocusMode): void;
setFocusPoint(point: Point): void;
getFocusPoint(): Point;
getFocalLength(): number;
getZoomRatioRange(): Array;
getZoomRatio(): number;
setZoomRatio(zoomRatio: number): void;
isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): boolean;
getActiveVideoStabilizationMode(): VideoStabilizationMode;
setVideoStabilizationMode(mode: VideoStabilizationMode): void;
on(type: 'error', callback: ErrorCallback): void; | 是 | 新增 |
+| ohos.multimedia.camera | CaptureSession | beginConfig(callback: AsyncCallback): void;
beginConfig(): Promise;
addInput(cameraInput: CameraInput, callback: AsyncCallback): void;
addInput(cameraInput: CameraInput): Promise;
removeInput(cameraInput: CameraInput, callback: AsyncCallback): void;
removeInput(cameraInput: CameraInput): Promise;
addOutput(cameraOutput: CameraOutput, callback: AsyncCallback): void;
addOutput(cameraOutput: CameraOutput): Promise;
removeOutput(cameraOutput: CameraOutput, callback: AsyncCallback): void;
removeOutput(cameraOutput: CameraOutput): Promise;
hasFlash(callback: AsyncCallback): void;
hasFlash(): Promise;
isFlashModeSupported(flashMode: FlashMode, callback: AsyncCallback): void;
isFlashModeSupported(flashMode: FlashMode): Promise;
getFlashMode(callback: AsyncCallback): void;
getFlashMode(): Promise;
setFlashMode(flashMode: FlashMode, callback: AsyncCallback): void;
setFlashMode(flashMode: FlashMode): Promise;
isExposureModeSupported(aeMode: ExposureMode, callback: AsyncCallback): void;
isExposureModeSupported(aeMode: ExposureMode): Promise;
getExposureMode(callback: AsyncCallback): void;
getExposureMode(): Promise;
setExposureMode(aeMode: ExposureMode, callback: AsyncCallback): void;
setExposureMode(aeMode: ExposureMode): Promise;
getMeteringPoint(callback: AsyncCallback): void;
getMeteringPoint(): Promise;
setMeteringPoint(point: Point, callback: AsyncCallback): void;
setMeteringPoint(point: Point): Promise;
getExposureBiasRange(callback: AsyncCallback>): void;
getExposureBiasRange(): Promise>;
setExposureBias(exposureBias: number, callback: AsyncCallback): void;
setExposureBias(exposureBias: number): Promise;
getExposureValue(callback: AsyncCallback): void;
getExposureValue(): Promise;
isFocusModeSupported(afMode: FocusMode, callback: AsyncCallback): void;
isFocusModeSupported(afMode: FocusMode): Promise;
getFocusMode(callback: AsyncCallback): void;
getFocusMode(): Promise;
setFocusMode(afMode: FocusMode, callback: AsyncCallback): void;
setFocusMode(afMode: FocusMode): Promise;
setFocusPoint(point: Point, callback: AsyncCallback): void;
setFocusPoint(point: Point): Promise;
getFocusPoint(callback: AsyncCallback): void;
getFocusPoint(): Promise;
getFocalLength(callback: AsyncCallback): void;
getFocalLength(): Promise;
getZoomRatioRange(callback: AsyncCallback>): void;
getZoomRatioRange(): Promise>;
getZoomRatio(callback: AsyncCallback): void;
getZoomRatio(): Promise;
setZoomRatio(zoomRatio: number, callback: AsyncCallback): void;
setZoomRatio(zoomRatio: number): Promise;
isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode, callback: AsyncCallback): void;
isVideoStabilizationModeSupported(vsMode: VideoStabilizationMode): Promise;
getActiveVideoStabilizationMode(callback: AsyncCallback): void;
getActiveVideoStabilizationMode(): Promise;
setVideoStabilizationMode(mode: VideoStabilizationMode, callback: AsyncCallback): void;
setVideoStabilizationMode(mode: VideoStabilizationMode): Promise;
on(type: 'error', callback: ErrorCallback): void; | 是 | 废弃 |
+| ohos.multimedia.camera | CaptureSessionErrorCode | ERROR_UNKNOWN = -1
ERROR_INSUFFICIENT_RESOURCES = 0
ERROR_TIMEOUT = 1 | 是 | 废弃 |
+| ohos.multimedia.camera | CaptureSessionError | code: CaptureSessionErrorCode | 是 | 废弃 |
+| ohos.multimedia.camera | PreviewOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 新增 |
+| ohos.multimedia.camera | PreviewOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 废弃 |
+| ohos.multimedia.camera | PreviewOutputErrorCode | ERROR_UNKNOWN = -1 | 是 | 废弃 |
+| ohos.multimedia.camera | PreviewOutputError | code: PreviewOutputErrorCode | 是 | 废弃 |
+| ohos.multimedia.camera | PhotoOutput | capture(): Promise;
isMirrorSupported(): boolean;
on(type: 'error', callback: ErrorCallback): void; | 是 | 新增 |
+| ohos.multimedia.camera | PhotoOutput | isMirrorSupported(callback: AsyncCallback): void;
isMirrorSupported(): Promise;
on(type: 'error', callback: ErrorCallback): void; | 是 | 废弃 |
+| ohos.multimedia.camera | PhotoOutputErrorCode | ERROR_UNKNOWN = -1
ERROR_DRIVER_ERROR = 0
ERROR_INSUFFICIENT_RESOURCES = 1
ERROR_TIMEOUT = 2 | 是 | 废弃 |
+| ohos.multimedia.camera | PhotoOutputError | code: PhotoOutputErrorCode | 是 | 废弃 |
+| ohos.multimedia.camera | VideoOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 新增 |
+| ohos.multimedia.camera | VideoOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 废弃 |
+| ohos.multimedia.camera | VideoOutputErrorCode | ERROR_UNKNOWN = -1
ERROR_DRIVER_ERROR = 0 | 是 | 废弃 |
+| ohos.multimedia.camera | VideoOutputError | code: VideoOutputErrorCode | 是 | 废弃 |
+| ohos.multimedia.camera | MetadataObject | readonly type: MetadataObjectType;
readonly timestamp: number; | 是 | 新增 |
+| ohos.multimedia.camera | MetadataObject | getType(callback: AsyncCallback): void;
getType(): Promise;
getTimestamp(callback: AsyncCallback): void;
getTimestamp(): Promise;
getBoundingBox(callback: AsyncCallback): void;
getBoundingBox(): Promise; | 是 | 废弃 |
+| ohos.multimedia.camera | MetadataFaceObject | readonly boundingBox: Rect | 是 | 新增 |
+| ohos.multimedia.camera | MetadataOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 新增 |
+| ohos.multimedia.camera | MetadataOutput | on(type: 'error', callback: ErrorCallback): void; | 是 | 废弃 |
+| ohos.multimedia.camera | MetadataOutputErrorCode | ERROR_UNKNOWN = -1
ERROR_INSUFFICIENT_RESOURCES = 0 | 是 | 废弃 |
+| ohos.multimedia.camera | MetadataOutputError | code: MetadataOutputErrorCode | 是 | 废弃 |
+
+**适配指导**
+
+除新增接口,和废弃接口之外,开发者需要关注变更的接口的适配:
+
+从 Beta4 版本开始,对以下接口进行调整:
+
+**新增接口**
+
+1. CameraErrorCode 枚举
+
+ 枚举值名称:INVALID_ARGUMENT, 值:7400101;
+
+ 枚举值名称:OPERATION_NOT_ALLOWED, 值:7400102;
+
+ 枚举值名称:SESSION_NOT_CONFIG, 值:7400103;
+
+ 枚举值名称:SESSION_NOT_RUNNING, 值:7400104;
+
+ 枚举值名称:SESSION_CONFIG_LOCKED, 值:7400105;
+
+ 枚举值名称:DEVICE_SETTING_LOCKED, 值:7400106;
+
+ 枚举值名称:CONFILICT_CAMERA, 值:7400107;
+
+ 枚举值名称:DEVICE_DISABLED, 值:7400108;
+
+ 枚举值名称:SERVICE_FATAL_ERROR, 值:7400201;
+
+2. PhotoOutput 接口新增 capture(): Promise;
+
+3. MetadataObject 接口中新增 readonly type: MetadataObjectType;
+
+4. MetadataObject 接口中新增 readonly timestamp: number;
+
+5. MetadataObject 接口中新增 readonly boundingBox: Rect;
+
+**废弃接口**
+
+1. CameraInput 中废弃接口 release(callback: AsyncCallback): void; 以及 release(): Promise;
+
+2. 废弃枚举 CameraInputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_NO_PERMISSION = 0,ERROR_DEVICE_PREEMPTED = 1,ERROR_DEVICE_DISCONNECTED = 2,ERROR_DEVICE_IN_USE = 3,ERROR_DRIVER_ERROR = 4);
+
+3. 废弃接口 CameraInputError 以及接口属性 code:CameraInputErrorCode;
+
+4. 废弃枚举 CaptureSessionErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_INSUFFICIENT_RESOURCES = 0,ERROR_TIMEOUT = 1);
+
+5. 废弃接口 CaptureSessionError 以及接口属性 code: CaptureSessionErrorCode;
+
+6. 废弃枚举 PreviewOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1);
+
+7. 废弃接口 PreviewOutputError 以及接口属性 code: PreviewOutputErrorCode;
+
+8. 废弃枚举 PhotoOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_DRIVER_ERROR = 0,ERROR_INSUFFICIENT_RESOURCES = 1,ERROR_TIMEOUT = 2);
+
+9. 废弃接口 PhotoOutputError 以及接口属性 code:PhotoOutputErrorCode;
+
+10. 废弃枚举 VideoOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_DRIVER_ERROR = 0);
+
+11. 废弃接口 VideoOutputError 以及接口属性 code:VideoOutputErrorCode;
+
+12. 废弃接口 MetadataObject 中 getType(callback: AsyncCallback): void;
+
+13. 废弃接口 MetadataObject 中 getType(): Promise;
+
+14. 废弃接口 MetadataObject 中 getTimestamp(callback: AsyncCallback): void;
+
+15. 废弃接口 MetadataObject 中 getTimestamp(): Promise;
+
+16. 废弃接口 MetadataObject 中 getBoundingBox(callback: AsyncCallback): void;
+
+17. 废弃接口 MetadataObject 中 getBoundingBox(): Promise;
+
+18. 废弃枚举 MetadataOutputErrorCode 以及所有它里边的枚举值(ERROR_UNKNOWN = -1,ERROR_INSUFFICIENT_RESOURCES = 0);
+
+19. 废弃接口 MetadataOutputError 以及接口属性 code:MetadataOutputErrorCode;
+
+**接口变更**
+
+1. camera 模块中接口 getCameraManager 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getCameraManager(context: Context, callback: AsyncCallback): void; 以及 getCameraManager(context: Context): Promise; 变更为 getCameraManager(context: Context): CameraManager;
+
+ 参考代码如下:
+
+ ```
+ let cameraManager = camera.getCameraManager(context);
+ ```
+
+2. CameraManager 中接口 getSupportedCameras 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getSupportedCameras(callback: AsyncCallback>): void; 以及 getSupportedCameras(): Promise>; 变更为 getSupportedCameras(): Array;
+
+ 参考代码如下:
+
+ ```
+ let cameras = cameraManager.getSupportedCameras();
+ ```
+
+3. CameraManager 中接口 getSupportedOutputCapability 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 getSupportedOutputCapability(camera: CameraDevice, callback: AsyncCallback): void; 以及 getSupportedOutputCapability(camera: CameraDevice): Promise; 变更为 getSupportedOutputCapability(camera: CameraDevice): CameraOutputCapability;
+
+ 参考代码如下:
+
+ ```
+ let cameraDevice = cameras[0];
+ let CameraOutputCapability = cameraManager.getSupportedOutputCapability(cameraDevice);
+ ```
+
+4. CameraManager 中接口 createCameraInput(camera: CameraDevice) 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createCameraInput(camera: CameraDevice, callback: AsyncCallback): void; 以及 createCameraInput(camera: CameraDevice): Promise; 变更为 createCameraInput(camera: CameraDevice): CameraInput;
+
+ 参考代码如下:
+
+ ```
+ let cameraDevice = cameras[0];
+ let cameraInput = cameraManager.createCameraInput(cameraDevice);
+ ```
+
+5. CameraManager 中接口 createCameraInput(position: CameraPosition, type: CameraType) 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createCameraInput(position: CameraPosition, type: CameraType, callback: AsyncCallback): void; 以及 createCameraInput(position: CameraPosition, type: CameraType): Promise; 变更为 createCameraInput(position: CameraPosition, type: CameraType): CameraInput;
+
+ 参考代码如下:
+
+ ```
+ let cameraDevice = cameras[0];
+ let position = cameraDevice.cameraPosition;
+ let type = cameraDevice.cameraType;
+ let cameraInput = cameraManager.createCameraInput(position, type);
+ ```
+
+6. CameraManager 中接口 createPreviewOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createPreviewOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void; 以及 createPreviewOutput(profile: Profile, surfaceId: string): Promise; 变更为 createPreviewOutput(profile: Profile, surfaceId: string): PreviewOutput;
+
+ 参考代码如下:
+
+ ```
+ let profile = cameraoutputcapability.previewProfiles[0];
+ let previewOutput = cameraManager.createPreviewOutput(profile, surfaceId);
+ ```
+
+7. CameraManager 中接口 createPhotoOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createPhotoOutput(profile: Profile, surfaceId: string, callback: AsyncCallback): void; 以及 createPhotoOutput(profile: Profile, surfaceId: string): Promise; 变更为 createPhotoOutput(profile: Profile, surfaceId: string): PhotoOutput;
+
+ 参考代码如下:
+
+ ```
+ let profile = cameraoutputcapability.photoProfiles[0];
+ let photoOutput = cameraManager.createPhotoOutput(profile, surfaceId);
+ ```
+
+8. CameraManager 中接口 createVideoOutput 返回方式由异步 callback 跟异步 promise 变更为同步返回,因此旧接口 createVideoOutput(profile: VideoProfile, surfaceId: string, callback: AsyncCallback