1# Bundle Manager Subsystem Changelog
2## cl.bundlemanager.1 Bottom-Layer Capability Changed So That Only the System Resource HAP Supports Custom Permissions
3
4Only the system resource HAP supports custom permissions. During HAP parsing, the bundle manager module parses the **definePermissions** field only in the configuration file of the resource HAP (bundle name: **ohos.global.systemres**), but not this field in other HAPs. This field is used to define permissions.
5If an application requires custom permissions, add the permissions under the **definePermissions** field in the [configuration file](https://gitee.com/openharmony/utils_system_resources/blob/master/systemres/main/config.json) of the system resource HAP. For details about the permission format, see [Defining Permissions](../../../application-dev/quick-start/module-structure.md#internal-structure-of-the-definepermissions-attribute).
6
7
8**Change Impact**<br>
9After an upgrade to the new version image, the custom permission of the application does not take effect, and the authorization fails.
10
11**Key API/Component Changes**<br>
12The bottom-layer capability of the bundle manager module is changed. Only the system resource HAP supports custom permissions.
13
14**Adaptation Guide**<br>
15If an application requires custom permissions, add the permissions under the **definePermissions** field in the [configuration file](https://gitee.com/openharmony/utils_system_resources/blob/master/systemres/main/config.json) of the system resource HAP. For details about the permission format, see [Defining Permissions](../../../application-dev/quick-start/module-structure.md#internal-structure-of-the-definepermissions-attribute).
16
17## cl.bundlemanager.2 Level-2 Module File Names Changed
18
19The level-2 module file names of the bundle manager module are changed to their respective API names in the file, as listed below.
20
21| Original File Name|New File Name|
22|----|----|
23| bundleManager/abilityInfo.d.ts |  bundleManager/AbilityInfo.d.ts |
24| bundleManager/applicationInfo.d.ts |  bundleManager/ApplicationInfo.d.ts |
25| bundleManager/bundleInfo.d.ts |  bundleManager/BundleInfo.d.ts |
26| bundleManager/dispatchInfo.d.ts |  bundleManager/DispatchInfo.d.ts |
27| bundleManager/elementName.d.ts |  bundleManager/ElementName.d.ts |
28| bundleManager/extensionAbilityInfo.d.ts |  bundleManager/ExtensionAbilityInfo.d.ts |
29| bundleManager/hapModuleInfo.d.ts |  bundleManager/HapModuleInfo.d.ts |
30| bundleManager/launcherAbilityInfo.d.ts |  bundleManager/LauncherAbilityInfo.d.ts |
31| bundleManager/metadata.d.ts |  bundleManager/Metadata.d.ts |
32| bundleManager/packInfo.d.ts |  bundleManager/BundlePackInfo.d.ts |
33| bundleManager/permissionDef.d.ts |  bundleManager/PermissionDef.d.ts |
34| bundleManager/remoteAbilityInfo.d.ts |  bundleManager/RemoteAbilityInfo.d.ts |
35| bundleManager/shortcutInfo.d.ts |  bundleManager/ShortcutInfo.d.ts |
36
37To sum up, except **packInfo**, which is changed to **BundlePackInfo**, the other file names are changed to start with uppercase letters.
38
39**Change Impact**<br>
40The change of the level-2 module file names does not affect the use of the level-1 module. If a level-2 module interface under **bundleManager** is directly imported to the .ts file and an error is reported during compilation on DevEco Studio, you must change the name of the imported file.
41
42**Key API/Component Changes**<br>
43The .d.ts file names in the **bundleManager** folder are changed to their respective API names in the file.
44
45**Adaptation Guide**<br>
46Generally, no adaptation is required. If a file in the **bundleManager** folder is directly imported to the application, you must change the imported file name as follows:
47
48**Before change:**
49```ts
50import {AbilityInfo} from 'bundleManger/abilityInfo';
51import {ExtensionAbilityInfo} from 'bundleManger/extensionAbilityInfo';
52import {BundlePackInfo} from 'bundleManger/packInfo';
53```
54**After change:**
55```ts
56import {AbilityInfo} from 'bundleManger/AbilityInfo';
57import {ExtensionAbilityInfo} from 'bundleManger/ExtensionAbilityInfo';
58import {BundlePackInfo} from 'bundleManger/BundlePackInfo';
59```
60
61## cl.bundlemanager.3 LaunchType Enum Type Name Changed from STANDARD to MULTITON
62
63The enum type name of [LaunchType](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.bundle.bundleManager.d.ts) is changed from **STANDARD** to **MULTITON**. The enum value remains unchanged, indicating the multi-instance type.
64
65**Change Impact**<br>
66The **LaunchType.STANDARD** type does not take effect.
67
68**Key API/Component Changes**<br>
69The enum type name of **LaunchType** is changed from **STANDARD** to **MULTITON**.
70
71**Adaptation Guide**<br>
72Change **LaunchType.STANDARD** to **LaunchType.MULTITON** for your application.
73
74## cl.bundlemanager.4 Changed the isVisible Field in the AbilityInfo Struct to exported
75
76The **isVisible** field in the [AbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/AbilityInfo.d.ts) struct is changed to **exported**. The type remains unchanged, indicating whether the ability can be exported and used by other abilities.
77
78**Change Impact**<br>
79The **isVisible** field does not take effect.
80
81**Key API/Component Changes**<br>
82The **isVisible** field in the [AbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/AbilityInfo.d.ts) struct is changed to **exported**, and the type remains unchanged.
83
84**Adaptation Guide**<br>
85Change **isVisible** to **exported** for your application.
86
87## cl.bundlemanager.5 Changed the isVisible Field in the ExtensionAbilityInfo Struct to exported
88
89The **isVisible** field in the [ExtensionAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/ExtensionAbilityInfo.d.ts) struct is changed to **exported**. The type remains unchanged, indicating whether the ability can be exported and used by other abilities.
90
91**Change Impact**<br>
92The **isVisible** field does not take effect.
93
94**Key API/Component Changes**<br>
95The **isVisible** field in the [ExtensionAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/ExtensionAbilityInfo.d.ts) struct is changed to **exported**, and the type remains unchanged.
96
97**Adaptation Guide**<br>
98Change **isVisible** to **exported** for your application.
99
100## cl.bundlemanager.6 Changed the visible Field in the ModuleAbilityInfo Struct to exported
101
102The **visible** field in the [ModuleAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/BundlePackInfo.d.ts) struct is changed to **exported**. The type remains unchanged, indicating whether the ability can be exported and used by other abilities.
103
104**Change Impact**<br>
105The **visible** field does not take effect.
106
107**Key API/Component Changes**<br>
108The **visible** field in the [ModuleAbilityInfo](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/bundleManager/BundlePackInfo.d.ts) struct is changed to **exported**, and the type remains unchanged.
109
110**Adaptation Guide**<br>
111Change **visible** to **exported** for your application.
112