1# Wi-Fi Subsystem Changelog
2
3## cl.wifiManager.1 Change of the API Permissions
4
5Involved APIs
6
7| API|Permission Before Change|Permission After Change|
8|----|--------|--------|
9|**function** getCandidateConfigs(): Array<WifiDeviceConfig>; | The location permission is required.|The location permission is not required.|
10|**function** getDeviceConfigs(): Array<WifiDeviceConfig>;| The location permission is required.| The location permission is not required.|
11|**function** getStations(): Array<StationInfo>;| 1. The location permission is required. <br>2. The physical MAC address is returned.| 1. The location permission is not required. <br>2. A random MAC address is returned (the GET_PEER_MAC permission is required if a real MAC address is returned).|
12| **function** getCurrentP2pGroup(): Promise<WifiP2pGroupInfo>;| The location permission is required.| The location permission is not required.|
13| **function** getCurrentP2pGroup(callback: AsyncCallback<WifiP2pGroupInfo>): **void**; | The location permission is required.| The location permission is not required.|
14| **function** getP2pPeerDevices(): Promise<WifiP2pDevice[]>;| 1. The location permission is required. <br>2. The physical MAC address is returned.| 1. The location permission is not required. <br>2. A random MAC address is returned (the GET_PEER_MAC permission is required if a real MAC address is returned).|
15| **function** getP2pPeerDevices(callback: AsyncCallback<WifiP2pDevice[]>): **void**;| The location permission is required.| 1. The location permission is not required. <br>2. A random MAC address is returned (the GET_PEER_MAC permission is required if a real MAC address is returned).|
16| **function** p2pConnect(config: WifiP2PConfig): **void**; | The location permission is required.| The location permission is not required.|
17| **function** startDiscoverDevices(): **void**; | The location permission is required.| The location permission is not required.|
18| **function** getP2pGroups(): Promise<Array<WifiP2pGroupInfo>>;| The location permission is required.| The location permission is not required.|
19| **function** getP2pGroups(callback: AsyncCallback<Array<WifiP2pGroupInfo>>): **void**; | The location permission is required.| The location permission is not required.|
20| **function** on(**type**: "p2pDeviceChange", callback: Callback<WifiP2pDevice>): **void**;| 1. The location permission is required. <br>2. The physical MAC address is returned.| 1. The location permission is not required. <br>2. A random MAC address is returned (the GET_PEER_MAC permission is required if a real MAC address is returned).|
21| **function** off(**type**: "p2pDeviceChange", callback?: Callback<WifiP2pDevice>): **void**; | 1. The location permission is required. <br>2. The physical MAC address is returned.| 1. The location permission is not required. <br>2. A random MAC address is returned (the GET_PEER_MAC permission is required if a real MAC address is returned).|
22| **function** on(**type**: "p2pPeerDeviceChange", callback: Callback<WifiP2pDevice[]>): **void**; | 1. The location permission is required. <br>2. The physical MAC address is returned.| 1. The location permission is not required. <br>2. A random MAC address is returned (the GET_PEER_MAC permission is required if a real MAC address is returned).|
23| **function** off(**type**: "p2pPeerDeviceChange", callback?: Callback<WifiP2pDevice[]>): **void**;| 1. The location permission is required. <br>2. The physical MAC address is returned.| 1. The location permission is not required. <br>2. A random MAC address is returned (the GET_PEER_MAC permission is required if a real MAC address is returned).|
24
25**Change Impact**
26If your application is developed using the involved APIs of earlier versions, apply for the required permissions for the new APIs.
27
28**Key API/Component Changes**
29NA
30
31**Adaptation Guide**
32Apply for the required permissions for the involved APIs.
33
34
35## cl.wifiManager.2 Change of the APIs Related to Wi-Fi Scan Capabilities
36
37Deprecated **scan()**, **getScanResults()**, and **getScanResultsSync()**, and added new APIs to provide the related capabilities.
38
39**Change Impact**
40The following APIs are deprecated since API 10, without affecting the compatibility of developed applications. However, you are advised to use new APIs.
41
42**Key API/Component Changes**
43|Deprecated API|New API|Description|
44| ------------- |-------------------------------------------------------- |-----------------------|
45| **function** scan(): **void**; |**function** startScan(): **void**;| Use **startScan** to start Wi-Fi scan.|
46| **function** getScanResults(): Promise<Array<WifiScanInfo>>;|**function** getScanInfoList(): Array<WifiScanInfo>;| Use **getScanInfoList** to obtain the scan result.|
47| **function** getScanResults(callback: AsyncCallback<Array<WifiScanInfo>>): **void**;|**function** getScanInfoList(): Array<WifiScanInfo>; | Use **getScanInfoList** to obtain the scan result.|
48| **function** getScanResultsSync(): Array<WifiScanInfo>; |**function** getScanInfoList(): Array<WifiScanInfo>; | Use **getScanInfoList** to obtain the scan result.|
49
50
51**Adaptation Guide**
52Use the new APIs.
53