1# Ability Subsystem ChangeLog
2
3## cl.ability.1 System API Usage Rule Change
4
5System application verification is not performed for system APIs provided by the ability when they are called. The APIs can be used by a third-party application using the full SDK, which brings security risks. Therefore, application identity verification is added to OpenHarmony 4.0.2.1 and later versions.
6
7**Change Impacts**
8
9System APIs are available to only system applications. When a third-party application tries to use a system API, the **202** error will be returned via either an exception or asynchronous callback.
10
11**Key API/Component Changes**
12
13Below are the system APIs.
14
15| Module                                | API                                                        | Error Code Return Mode|
16| -------------------------------------- | ------------------------------------------------------------ | -------------- |
17| @ohos.app.ability.abilityManager.d.ts  | updateConfiguration(config: Configuration, callback: AsyncCallback<void>): void | Asynchronous callback      |
18| @ohos.app.ability.abilityManager.d.ts  | updateConfiguration(config: Configuration): Promise<void>    | Asynchronous callback      |
19| @ohos.app.ability.abilityManager.d.ts  | getAbilityRunningInfos(): Promise<Array<AbilityRunningInfo>> | Asynchronous callback      |
20| @ohos.app.ability.abilityManager.d.ts  | getAbilityRunningInfos(callback: AsyncCallback<Array<AbilityRunningInfo>>): void | Asynchronous callback      |
21| @ohos.app.ability.abilityManager.d.ts  | getExtensionRunningInfos(upperLimit: number): Promise<Array<ExtensionRunningInfo>> | Asynchronous callback      |
22| @ohos.app.ability.abilityManager.d.ts  | getExtensionRunningInfos(upperLimit: number, callback: AsyncCallback<Array<ExtensionRunningInfo>>): void | Asynchronous callback      |
23| @ohos.app.ability.abilityManager.d.ts  | getTopAbility(): Promise<ElementName>                        | Exception        |
24| @ohos.app.ability.abilityManager.d.ts  | getTopAbility(callback: AsyncCallback<ElementName>): void    | Exception        |
25| @ohos.app.ability.appManager.d.ts      | on(type: "applicationState", observer: ApplicationStateObserver): number | Asynchronous callback      |
26| @ohos.app.ability.appManager.d.ts      | on(type: "applicationState", observer: ApplicationStateObserver, bundleNameList: Array<string>): number | Asynchronous callback      |
27| @ohos.app.ability.appManager.d.ts      | off(type: "applicationState", observerId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
28| @ohos.app.ability.appManager.d.ts      | off(type: "applicationState", observerId: number): Promise<void> | Asynchronous callback      |
29| @ohos.app.ability.appManager.d.ts      | getForegroundApplications(callback: AsyncCallback<Array<AppStateData>>): void | Asynchronous callback      |
30| @ohos.app.ability.appManager.d.ts      | getForegroundApplications(): Promise<Array<AppStateData>>    | Asynchronous callback      |
31| @ohos.app.ability.appManager.d.ts      | killProcessWithAccount(bundleName: string, accountId: number): Promise<void> | Asynchronous callback      |
32| @ohos.app.ability.appManager.d.ts      | killProcessWithAccount(bundleName: string, accountId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
33| @ohos.app.ability.appManager.d.ts      | killProcessesByBundleName(bundleName: string): Promise<void> | Asynchronous callback      |
34| @ohos.app.ability.appManager.d.ts      | killProcessesByBundleName(bundleName: string, callback: AsyncCallback<void>) | Asynchronous callback      |
35| @ohos.app.ability.appManager.d.ts      | clearUpApplicationData(bundleName: string): Promise<void>    | Asynchronous callback      |
36| @ohos.app.ability.appManager.d.ts      | clearUpApplicationData(bundleName: string, callback: AsyncCallback<void>) | Asynchronous callback      |
37| @ohos.app.ability.missionManager.d.ts  | on(type: "mission", listener: MissionListener): number       | Asynchronous callback      |
38| @ohos.app.ability.missionManager.d.ts  | off(type: "mission", listenerId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
39| @ohos.app.ability.missionManager.d.ts  | off(type: "mission", listenerId: number): Promise<void>      | Asynchronous callback      |
40| @ohos.app.ability.missionManager.d.ts  | getMissionInfo(deviceId: string, missionId: number, callback: AsyncCallback<MissionInfo>): void | Asynchronous callback      |
41| @ohos.app.ability.missionManager.d.ts  | getMissionInfo(deviceId: string, missionId: number): Promise<MissionInfo> | Asynchronous callback      |
42| @ohos.app.ability.missionManager.d.ts  | getMissionInfos(deviceId: string, numMax: number, callback: AsyncCallback<Array<MissionInfo>>): void | Asynchronous callback      |
43| @ohos.app.ability.missionManager.d.ts  | getMissionInfos(deviceId: string, numMax: number): Promise<Array<MissionInfo>> | Asynchronous callback      |
44| @ohos.app.ability.missionManager.d.ts  | getMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback<MissionSnapshot>): void | Asynchronous callback      |
45| @ohos.app.ability.missionManager.d.ts  | getMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnapshot> | Asynchronous callback      |
46| @ohos.app.ability.missionManager.d.ts  | getLowResolutionMissionSnapShot(deviceId: string, missionId: number, callback: AsyncCallback<MissionSnapshot>): void | Asynchronous callback      |
47| @ohos.app.ability.missionManager.d.ts  | getLowResolutionMissionSnapShot(deviceId: string, missionId: number): Promise<MissionSnapshot> | Asynchronous callback      |
48| @ohos.app.ability.missionManager.d.ts  | lockMission(missionId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
49| @ohos.app.ability.missionManager.d.ts  | lockMission(missionId: number): Promise<void>                | Asynchronous callback      |
50| @ohos.app.ability.missionManager.d.ts  | unlockMission(missionId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
51| @ohos.app.ability.missionManager.d.ts  | unlockMission(missionId: number): Promise<void>              | Asynchronous callback      |
52| @ohos.app.ability.missionManager.d.ts  | clearMission(missionId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
53| @ohos.app.ability.missionManager.d.ts  | clearMission(missionId: number): Promise<void>               | Asynchronous callback      |
54| @ohos.app.ability.missionManager.d.ts  | clearAllMissions(callback: AsyncCallback<void>): void        | Asynchronous callback      |
55| @ohos.app.ability.missionManager.d.ts  | clearAllMissions(): Promise<void>                            | Asynchronous callback      |
56| @ohos.app.ability.missionManager.d.ts  | moveMissionToFront(missionId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
57| @ohos.app.ability.missionManager.d.ts  | moveMissionToFront(missionId: number, options: StartOptions, callback: AsyncCallback<void>): void | Asynchronous callback      |
58| @ohos.app.ability.missionManager.d.ts  | moveMissionToFront(missionId: number, options?: StartOptions): Promise<void> | Asynchronous callback      |
59| @ohos.app.ability.quickFixManager.d.ts | applyQuickFix(hapModuleQuickFixFiles: Array<string>, callback: AsyncCallback<void>): void | Asynchronous callback      |
60| @ohos.app.ability.quickFixManager.d.ts | applyQuickFix(hapModuleQuickFixFiles: Array<string>): Promise<void> | Asynchronous callback      |
61| @ohos.app.ability.quickFixManager.d.ts | getApplicationQuickFixInfo(bundleName: string, callback: AsyncCallback<ApplicationQuickFixInfo>): void | Asynchronous callback      |
62| @ohos.app.ability.quickFixManager.d.ts | getApplicationQuickFixInfo(bundleName: string): Promise<ApplicationQuickFixInfo> | Asynchronous callback      |
63| @ohos.app.ability.wantAgent.d.ts       | getWant(agent: WantAgent, callback: AsyncCallback<Want>): void | Asynchronous callback      |
64| @ohos.app.ability.wantAgent.d.ts       | getWant(agent: WantAgent): Promise<Want>                     | Asynchronous callback      |
65| @ohos.app.form.formHost.d.ts           | deleteForm(formId: string, callback: AsyncCallback<void>): void | Asynchronous callback      |
66| @ohos.app.form.formHost.d.ts           | deleteForm(formId: string): Promise<void>                    | Asynchronous callback      |
67| @ohos.app.form.formHost.d.ts           | releaseForm(formId: string, callback: AsyncCallback<void>): void | Asynchronous callback      |
68| @ohos.app.form.formHost.d.ts           | releaseForm(formId: string, isReleaseCache: boolean, callback: AsyncCallback<void>): void | Asynchronous callback      |
69| @ohos.app.form.formHost.d.ts           | releaseForm(formId: string, isReleaseCache?: boolean): Promise<void> | Asynchronous callback      |
70| @ohos.app.form.formHost.d.ts           | requestForm(formId: string, callback: AsyncCallback<void>): void | Asynchronous callback      |
71| @ohos.app.form.formHost.d.ts           | requestForm(formId: string): Promise<void>                   | Asynchronous callback      |
72| @ohos.app.form.formHost.d.ts           | castToNormalForm(formId: string, callback: AsyncCallback<void>): void | Asynchronous callback      |
73| @ohos.app.form.formHost.d.ts           | castToNormalForm(formId: string): Promise<void>              | Asynchronous callback      |
74| @ohos.app.form.formHost.d.ts           | notifyVisibleForms(formIds: Array<string>, callback: AsyncCallback<void>): void | Asynchronous callback      |
75| @ohos.app.form.formHost.d.ts           | notifyVisibleForms(formIds: Array<string>): Promise<void>    | Asynchronous callback      |
76| @ohos.app.form.formHost.d.ts           | notifyInvisibleForms(formIds: Array<string>, callback: AsyncCallback<void>): void | Asynchronous callback      |
77| @ohos.app.form.formHost.d.ts           | notifyInvisibleForms(formIds: Array<string>): Promise<void>  | Asynchronous callback      |
78| @ohos.app.form.formHost.d.ts           | enableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void>): void | Asynchronous callback      |
79| @ohos.app.form.formHost.d.ts           | enableFormsUpdate(formIds: Array<string>): Promise<void>     | Asynchronous callback      |
80| @ohos.app.form.formHost.d.ts           | disableFormsUpdate(formIds: Array<string>, callback: AsyncCallback<void>): void | Asynchronous callback      |
81| @ohos.app.form.formHost.d.ts           | disableFormsUpdate(formIds: Array<string>): Promise<void>    | Asynchronous callback      |
82| @ohos.app.form.formHost.d.ts           | isSystemReady(callback: AsyncCallback<void>): void           | Exception        |
83| @ohos.app.form.formHost.d.ts           | isSystemReady(): Promise<void>                               | Exception        |
84| @ohos.app.form.formHost.d.ts           | getAllFormsInfo(callback: AsyncCallback<Array<formInfo.FormInfo>>): void | Asynchronous callback      |
85| @ohos.app.form.formHost.d.ts           | getAllFormsInfo(): Promise<Array<formInfo.FormInfo>>         | Asynchronous callback      |
86| @ohos.app.form.formHost.d.ts           | getFormsInfo(bundleName: string, callback: AsyncCallback<Array<formInfo.FormInfo>>): void | Asynchronous callback      |
87| @ohos.app.form.formHost.d.ts           | getFormsInfo(bundleName: string, moduleName: string, callback: AsyncCallback<Array<formInfo.FormInfo>>): void | Asynchronous callback      |
88| @ohos.app.form.formHost.d.ts           | getFormsInfo(bundleName: string, moduleName?: string): Promise<Array<formInfo.FormInfo>> | Asynchronous callback      |
89| @ohos.app.form.formHost.d.ts           | deleteInvalidForms(formIds: Array<string>, callback: AsyncCallback<number>): void | Asynchronous callback      |
90| @ohos.app.form.formHost.d.ts           | deleteInvalidForms(formIds: Array<string>): Promise<number>  | Asynchronous callback      |
91| @ohos.app.form.formHost.d.ts           | acquireFormState(want: Want, callback: AsyncCallback<formInfo.FormStateInfo>): void | Asynchronous callback      |
92| @ohos.app.form.formHost.d.ts           | acquireFormState(want: Want): Promise<formInfo.FormStateInfo> | Asynchronous callback      |
93| @ohos.app.form.formHost.d.ts           | on(type: "formUninstall", callback: Callback<string>): void  | Exception        |
94| @ohos.app.form.formHost.d.ts           | off(type: "formUninstall", callback?: Callback<string>): void | Exception        |
95| @ohos.app.form.formHost.d.ts           | notifyFormsVisible(formIds: Array<string>, isVisible: boolean, callback: AsyncCallback<void>): void | Asynchronous callback      |
96| @ohos.app.form.formHost.d.ts           | notifyFormsVisible(formIds: Array<string>, isVisible: boolean): Promise<void> | Asynchronous callback      |
97| @ohos.app.form.formHost.d.ts           | notifyFormsEnableUpdate(formIds: Array<string>, isEnableUpdate: boolean, callback: AsyncCallback<void>): void | Asynchronous callback      |
98| @ohos.app.form.formHost.d.ts           | notifyFormsEnableUpdate(formIds: Array<string>, isEnableUpdate: boolean): Promise<void> | Asynchronous callback      |
99| @ohos.app.form.formHost.d.ts           | shareForm(formId: string, deviceId: string, callback: AsyncCallback<void>): void | Asynchronous callback      |
100| @ohos.app.form.formHost.d.ts           | shareForm(formId: string, deviceId: string): Promise<void>   | Asynchronous callback      |
101| @ohos.app.form.formHost.d.ts           | notifyFormsPrivacyProtected(formIds: Array<string>, isProtected: boolean, callback: AsyncCallback<void>): void | Asynchronous callback      |
102| @ohos.app.form.formHost.d.ts           | notifyFormsPrivacyProtected(formIds: Array<string>, isProtected: boolean): Promise<void> | Asynchronous callback      |
103| @ohos.app.form.formProvider.d.ts       | requestPublishForm(want: Want, formBindingData: formBindingData.FormBindingData, callback: AsyncCallback<string>): void | Asynchronous callback      |
104| @ohos.app.form.formProvider.d.ts       | requestPublishForm(want: Want, callback: AsyncCallback<string>): void | Asynchronous callback      |
105| @ohos.app.form.formProvider.d.ts       | requestPublishForm(want: Want, formBindingData?: formBindingData.FormBindingData): Promise<string> | Asynchronous callback      |
106| @ohos.app.form.formProvider.d.ts       | isRequestPublishFormSupported(callback: AsyncCallback<boolean>): void | Exception        |
107| @ohos.app.form.formProvider.d.ts       | isRequestPublishFormSupported(): Promise<boolean>            | Exception        |
108| UIAbilityContext.d.ts                  | startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
109| UIAbilityContext.d.ts                  | startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>): void | Asynchronous callback      |
110| UIAbilityContext.d.ts                  | startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): Promise<void> | Asynchronous callback      |
111| UIAbilityContext.d.ts                  | startAbilityForResultWithAccount(want: Want, accountId: number, callback: AsyncCallback<AbilityResult>): void | Exception        |
112| UIAbilityContext.d.ts                  | startAbilityForResultWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<AbilityResult>): void | Exception        |
113| UIAbilityContext.d.ts                  | startAbilityForResultWithAccount(want: Want, accountId: number, options?: StartOptions): Promise<AbilityResult> | Exception        |
114| UIAbilityContext.d.ts                  | startServiceExtensionAbility(want: Want, callback: AsyncCallback<void>): void | Asynchronous callback      |
115| UIAbilityContext.d.ts                  | startServiceExtensionAbility(want: Want): Promise<void>      | Asynchronous callback      |
116| UIAbilityContext.d.ts                  | startServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
117| UIAbilityContext.d.ts                  | startServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise<void> | Asynchronous callback      |
118| UIAbilityContext.d.ts                  | stopServiceExtensionAbility(want: Want, callback: AsyncCallback<void>): void | Asynchronous callback      |
119| UIAbilityContext.d.ts                  | stopServiceExtensionAbility(want: Want): Promise<void>       | Asynchronous callback      |
120| UIAbilityContext.d.ts                  | stopServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
121| UIAbilityContext.d.ts                  | stopServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise<void> | Asynchronous callback      |
122| UIAbilityContext.d.ts                  | connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options: ConnectOptions): number | Asynchronous callback      |
123| UIAbilityContext.d.ts                  | setMissionIcon(icon: image.PixelMap, callback: AsyncCallback<void>): void | Asynchronous callback      |
124| UIAbilityContext.d.ts                  | setMissionIcon(icon: image.PixelMap): Promise<void>          | Asynchronous callback      |
125| ServiceExtensionContext.d.ts           | startAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
126| ServiceExtensionContext.d.ts           | startAbilityWithAccount(want: Want, accountId: number, options: StartOptions, callback: AsyncCallback<void>): void | Asynchronous callback      |
127| ServiceExtensionContext.d.ts           | startAbilityWithAccount(want: Want, accountId: number, options?: StartOptions): Promise<void> | Asynchronous callback      |
128| ServiceExtensionContext.d.ts           | startServiceExtensionAbility(want: Want, callback: AsyncCallback<void>): void | Asynchronous callback      |
129| ServiceExtensionContext.d.ts           | startServiceExtensionAbility(want: Want): Promise<void>      | Asynchronous callback      |
130| ServiceExtensionContext.d.ts           | startServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
131| ServiceExtensionContext.d.ts           | startServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise<void> | Asynchronous callback      |
132| ServiceExtensionContext.d.ts           | stopServiceExtensionAbility(want: Want, callback: AsyncCallback<void>): void | Asynchronous callback      |
133| ServiceExtensionContext.d.ts           | stopServiceExtensionAbility(want: Want): Promise<void>       | Asynchronous callback      |
134| ServiceExtensionContext.d.ts           | stopServiceExtensionAbilityWithAccount(want: Want, accountId: number, callback: AsyncCallback<void>): void | Asynchronous callback      |
135| ServiceExtensionContext.d.ts           | stopServiceExtensionAbilityWithAccount(want: Want, accountId: number): Promise<void> | Asynchronous callback      |
136| ServiceExtensionContext.d.ts           | connectServiceExtensionAbilityWithAccount(want: Want, accountId: number, options: ConnectOptions): number | Asynchronous callback      |
137| Context.d.ts                           | createBundleContext(bundleName: string): Context             | Exception        |
138| Context.d.ts                           | createModuleContext(bundleName: string, moduleName: string): Context | Exception        |
139| FormExtensionContext.d.ts              | startAbility(want: Want, callback: AsyncCallback<void>): void | Asynchronous callback      |
140| FormExtensionContext.d.ts              | startAbility(want: Want): Promise<void>                      | Asynchronous callback      |
141