diff --git a/en/release-notes/changelogs/v4.0-beta2/Readme-EN.md b/en/release-notes/changelogs/v4.0-beta2/Readme-EN.md index 0a7f3f1f2184f7d696f8254cdc1eea8b05c997f5..0cb47825d0267f144b0615c0b9e09bdf0fab2def 100644 --- a/en/release-notes/changelogs/v4.0-beta2/Readme-EN.md +++ b/en/release-notes/changelogs/v4.0-beta2/Readme-EN.md @@ -1,2 +1,52 @@ -# Readme +# Summary + +| Subsystem | Change Type | Description | +| -------- | -------- | -------- | +| ArkUI | | | +| ArkUI | | | +| ArkUI | | | +| ArkUI | | | +| ArkUI | | | +| ArkUI | | | +| ArkUI | | | +| ArkUI | | | +| ArkUI | | | +| ArkUI | | | +| ArkUI | | | +| ArkUI | | | +| Bundle management | | | +| Bundle management | | | +| Bundle management | | | +| Bundle management | | | +| Bundle management | | | +| OS media | | | +| OS media | | | +| OS media | | | +| Application access control | Permission changed | [Change of the Permission Requesting Modes of the Phone, Messaging, and Call Logs Permission Groups](changelogs-accessToken.md#claccesstoken2-change-of-the-permission-requesting-modes-of-the-phone-messaging-and-call-logs-permission-groups) | +| Application access control | Permission group changed | [Change of the Media and Files Permission Group:
Moved ohos.permission.MEDIA_LOCATION to the Images and Videos permission group.
Moved ohos.permission.READ_MEDIA and ohos.permission.WRITE_MEDIA to the Documents permission group.](changelogs-accessToken.md#claccesstoken1-change-of-the-media-and-files-permission-group) | +| Input method framework | | | +| Theme framework | | | +| Distributed data management | API/Component changed | [Change of ValuesBucket to a Public Interface](changelogs-distributeddatamgr.md#cldistributeddatamgr1-change-of-valuesbucket-to-a-public-interface) | +| Distributed data management | API/Component changed | [Change of Some Predicate Interfaces in dataSharePredicates to Public Interfaces](changelogs-distributeddatamgr.md#cldistributeddatamgr2-change-of-some-predicate-interfaces-in-datasharepredicates-to-public-interfaces) | +| Distributed data management | API/Component changed | [Change of the DataShareExtensionAbility Context](cldistributeddatamgr3-change-of-the-datashareextensionability-context) | +| Distributed data management | API/Component changed | [Change of the Return Value Type of Function Pointer Variables in the OH_Predicates Struct from OH_Predicates to OH_Predicates *](cldistributeddatamgr4-change-of-the-return-value-type-of-function-pointer-variables-in-the-oh_predicates-struct-from-oh_predicates-to-oh_predicates-) | +| Distributed data management | API/Component changed | [Change of the Error Codes of the OH_Rdb_ErrCode Struct](cldistributeddatamgr5-change-of-the-error-codes-of-the-oh_rdb_errcode-struct) | +| Distributed data management | Variable changed (Native) | [1. Change of int (*close)(OH_Cursor *cursor) in OH_Cursor Struct to int (*destroy)(OH_Cursor *cursor)](cldistributeddatamgr6-change-of-int-closeoh_cursor-cursor-in-oh_cursor-struct-to-int-destroyoh_cursor-cursor)
[2. Change of int (*destroyPredicates)(OH_Predicates *predicates) in OH_Predicates Struct to int (*destroy) (OH_Predicates *predicates)](cldistributeddatamgr7-change-of-int-destroypredicatesoh_predicates-predicates-in-oh_predicates-struct-to-int-destroy-oh_predicates-predicates)
[3. Change of int (*destroyValueObject)(OH_VObject *valueObject) in OH_VObject Struct to int (*destroy) (OH_VObject *valueObject)](cldistributeddatamgr8-change-of-int-destroyvalueobjectoh_vobject-valueobject-in-oh_vobject-struct-to-int-destroy-oh_vobject-valueobject)
[4. Change of int (*destroyValuesBucket)(OH_VBucket *bucket) in OH_VBucket Struct to int (*destroy) (OH_VBucket *bucket)](cldistributeddatamgr9-change-of-int-destroyvaluesbucketoh_vbucket-bucket-in-oh_vbucket-struct-to-int-destroy-oh_vbucket-bucket) | +| Distributed data management | Variable changed (Native) | [Change of OH_Rdb_Config Struct Member Variables:
1. Changed the type of **securityLevel** from **enum OH_Rdb_SecurityLevel** to **in**.
2. Deleted the member variable **path**.
3. Added the member variables **selfSize**, **dataBaseDir**, **storeName**, **bundleName**, and **moduleName**.](cldistributeddatamgr10-change-of-oh_rdb_config-struct-member-variables) | +| Distributed data management | API input parameter changed (Native) | [Change of const char *path in OH_Rdb_DeleteStore() to const OH_Rdb_Config *config](changelogs-distributeddatamgr.md#cldistributeddatamgr11-change-of-const-char-path-in-oh_rdb_deletestore-to-const-oh_rdb_config-config) | +| Distributed hardware | | | +| Media | | | +| Media | | | +| Ability - widget framework | | | +| Ability - widget framework | | | +| Pan-Sensor | | | +| File management (media library) | API/Component changed | [Change of the mediaLibrary Interface Compatibility](changelogs-medialibrary.md#clfile1-change-of-the-mediabibrary-interface-compatibility) | +| Communication | API/Component changed | [Change of the API Name](changelogs-wifiManager.md#clwifi1-change-of-the-name-of-the-api-for-obtaining-wi-fi-scan-result) | + + +> **NOTE** +> +> Unless otherwise specified, the changes described in this topic are ArkTS API changes. + + \ No newline at end of file diff --git a/en/release-notes/changelogs/v4.0-beta2/changelogs-accessToken.md b/en/release-notes/changelogs/v4.0-beta2/changelogs-accessToken.md new file mode 100644 index 0000000000000000000000000000000000000000..be745211296b7b1558d6c05bbcf7d2d160ce16c8 --- /dev/null +++ b/en/release-notes/changelogs/v4.0-beta2/changelogs-accessToken.md @@ -0,0 +1,89 @@ +# Application Access Control Changelog + + +## cl.accessToken.1 Change of the Media and Files Permission Group + +The original **Media and File** permission group contains the following permissions: + +- ohos.permission.MEDIA_LOCATION + +- ohos.permission.READ_MEDIA + +- ohos.permission.WRITE_MEDIA + +Changed the permission group as follows: + +- Moved **ohos.permission.MEDIA_LOCATION** to the **Images and Videos** permission group. + +- Moved **ohos.permission.READ_MEDIA** and **ohos.permission.WRITE_MEDIA** to the **Documents** permission group. + +**Change Impact** + +The permission group rather than the permission is presented in the dialog box for requesting permissions. + +- Before the change, if the three permissions are applied for an application, a dialog box for requesting the media and file permissions will be displayed only once. + +- After the change, if the three permissions are applied for an application, a dialog box for requesting the **Images and Videos** permissions and a dialog box for requesting the **Documents** permission will be displayed. + +**Key API/Component Changes** + +Permission groups before the change: + +| Permission | Permission Group | +| -------- | -------- | +| ohos.permission.MEDIA_LOCATION | Media and files| +| ohos.permission.READ_MEDIA | Media and files| +| ohos.permission.WRITE_MEDIA | Media and files| + +Permission groups after the change: + +| Permission | Permission Group | +| -------- | -------- | +| ohos.permission.MEDIA_LOCATION | Images and videos| +| ohos.permission.READ_MEDIA | Documents| +| ohos.permission.WRITE_MEDIA | Documents| + +**Adaptation Guide** + +N/A + + +## cl.accessToken.2 Change of the Permission Requesting Modes of the Phone, Messaging, and Call Logs Permission Groups + +The **Phone**, **Messaging**, and **Call logs** permission groups contain the following permissions: + +- ohos.permission.ANSWER_CALL + +- ohos.permission.MANAGE_VOICEMAIL + +- ohos.permission.READ_CELL_MESSAGES + +- ohos.permission.READ_MESSAGES + +- ohos.permission.RECEIVE_MMS + +- ohos.permission.RECEIVE_SMS + +- ohos.permission.RECEIVE_WAP_MESSAGES + +- ohos.permission.SEND_MESSAGES + +- ohos.permission.READ_CALL_LOG + +- ohos.permission.WRITE_CALL_LOG + +- ohos.permission.MEDIA_LOCATION + +These permissions can be pre-authorized only. + +**Change Impact** + +Instead of requesting these permissions through a pop-up window, the system applications can obtain the permissions only in pre-authorization mode. + +**Key API/Component Changes** + +N/A. + +**Adaptation Guide** + +These permissions can be pre-authorized only. diff --git a/en/release-notes/changelogs/v4.0-beta2/changelogs-bluetooth.md b/en/release-notes/changelogs/v4.0-beta2/changelogs-bluetooth.md new file mode 100644 index 0000000000000000000000000000000000000000..28b8027cee35fbe3a119e70c82d50db373ac42f3 --- /dev/null +++ b/en/release-notes/changelogs/v4.0-beta2/changelogs-bluetooth.md @@ -0,0 +1,36 @@ +# Bluetooth Subsystem Changelog + +## cl.bluetooth.1 New APIs, Attributes, and Enums + +**Change Impact** + +Added APIs to provide capabilities of obtaining the peripheral device address in non-Bluetooth scan mode (for example NFC), initiating pairing, and setting profile connection management. + +**Key API/Component Changes** + +| Module |API | +| ------------- |-------------------------------------------------------- | +|@ohos.bluetoothManager| [pairCredibleDevice(deviceId: string, transport: BluetoothTransport, callback: AsyncCallback<void>): void](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagerpaircredibledevice10) | +|@ohos.bluetoothManager| [pairCredibleDevice(deviceId: string, transport: BluetoothTransport): Promise<void>](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagerpaircredibledevice10-1) | +|@ohos.bluetoothManager| [getRemoteProfileUuids(device: string, callback: AsyncCallback<Array<ProfileUuids>>): void](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagergetremoteprofileuuids10) | +|@ohos.bluetoothManager| [getRemoteProfileUuids(device: string): Promise<Array<ProfileUuids>>](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagergetremoteprofileuuids10-1) | +|@ohos.bluetoothManager| [getLocalProfileUuids(callback: AsyncCallback<Array<ProfileUuids>>): void](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagergetlocalprofileuuids10) | +|@ohos.bluetoothManager| [getLocalProfileUuids(): Promise<Array<ProfileUuids>>](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagergetlocalprofileuuids10-1) | +|@ohos.bluetoothManager| [setDevicePinCode(device: string, code: string, callback: AsyncCallback<void>): void](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagersetdevicepincode10) | +|@ohos.bluetoothManager| [setDevicePinCode(device: string, code: string): Promise<void>](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagersetdevicepincode10-1) | +|@ohos.bluetoothManager| [setConnectionStrategy(device: string, strategy: ConnectionStrategy, callback: AsyncCallback<void>): void](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagersetconnectionstrategy10)| +|@ohos.bluetoothManager| [setConnectionStrategy(device: string, strategy: ConnectionStrategy): Promise<void>](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagersetconnectionstrategy10-1) | +|@ohos.bluetoothManager| [getConnectionStrategy(device: string, callback: AsyncCallback<ConnectionStrategy>): void](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagergetconnectionstrategy10)| +|@ohos.bluetoothManager| [getConnectionStrategy(device: string): Promise<ConnectionStrategy>](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothmanagergetconnectionstrategy10-1) | +|@ohos.bluetoothManager|[ConnectionStrategy](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#connectionstrategy10)| +|@ohos.bluetoothManager|[properties](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#blecharacteristic)| +|@ohos.bluetoothManager|[deviceName](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#scanresult)| +|@ohos.bluetoothManager|[includeDeviceName](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#advertisedata)| +|@ohos.bluetoothManager|[GattProperties](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#gattproperties10)| +|@ohos.bluetoothManager|[pinType](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#pintype10)| +|@ohos.bluetoothManager|[BluetoothTransport](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#bluetoothtransport10)| +|@ohos.bluetoothManager|[ProfileUuids](../../../application-dev/reference/apis/js-apis-bluetoothManager.md#profileuuids10)| + +**Adaptation Guide** + +For details, see examples in the related API references. diff --git a/en/release-notes/changelogs/v4.0-beta2/changelogs-distributeddatamgr.md b/en/release-notes/changelogs/v4.0-beta2/changelogs-distributeddatamgr.md new file mode 100644 index 0000000000000000000000000000000000000000..7d5985e212da1afd6ffff8f64737e90fb3efee63 --- /dev/null +++ b/en/release-notes/changelogs/v4.0-beta2/changelogs-distributeddatamgr.md @@ -0,0 +1,478 @@ +# Distributed Data Management Changelog + +## cl.distributeddatamgr.1 Change of ValuesBucket to a Public Interface + +**Change Impact** + +For applications developed based on earlier versions, only system applications can use **ValuesBucket**. From this version, **ValuesBucket** can be called by third-party applications. + +**Key API/Component Changes** + +Before change: + +```ts + /** + * Indicates possible value types + * + * @syscap SystemCapability.DistributedDataManager.DataShare.Core + * @systemapi + * @StageModelOnly + * @since 9 + */ + export type ValueType = number | string | boolean; +``` + +After change: + +```ts + /** + * Indicates possible value types + * + * @syscap SystemCapability.DistributedDataManager.DataShare.Core + * @StageModelOnly + * @since 10 + */ + export type ValueType = number | string | boolean; +``` + + +## cl.distributeddatamgr.2 Change of Some Predicate Interfaces in dataSharePredicates to Public Interfaces + +**Change Impact** + +For applications developed based on earlier versions, only system applications can use **dataSharePredicates**. From this version, the namespace **dataSharePredicates**, **dataSharePredicates** class, and some predicate interfaces can be called by third-party applications. + +**Key API/Component Changes** + +The involved interfaces are as follows: + +- equalTo(field: string, value: ValueType): DataSharePredicates + +- and(): DataSharePredicates + +- orderByAsc(field: string): DataSharePredicates + +- orderByDesc(field: string): DataSharePredicates + +- limit(total: number, offset: number): DataSharePredicates + +- in(field: string, value: Array[/topic/body/section/ul/li/p/valuetype {""}) ): DataSharePredicates (valuetype] + + +## cl.distributeddatamgr.3 Change of the DataShareExtensionAbility Context + +Removed the optional flag from the context attribute of @ohos.application.DataShareExtensionAbility, and changed the start version from API version 9 to API version 10. + +**Change Impact** + +For applications developed based on earlier versions, use SDK API version 10 for the context. + +**Key API/Component Changes** + +Before change: + +```ts + /** + * Indicates datashare extension ability context. + * + * @type ?{ ExtensionContext } + * @syscap SystemCapability.DistributedDataManager.DataShare.Provider + * @systemapi + * @StageModelOnly + * @since 9 + */ + context?: ExtensionContext; +``` + +After change: + +```ts + /** + * Indicates datashare extension ability context. + * + * @type { ExtensionContext } + * @syscap SystemCapability.DistributedDataManager.DataShare.Provider + * @systemapi + * @StageModelOnly + * @since 10 + */ + context: ExtensionContext; +``` + + +## cl.distributeddatamgr.4 Change of the Return Value Type of Function Pointer Variables in the OH_Predicates Struct from OH_Predicates to OH_Predicates \* + +**Change Impact** + +This change is incompatible with earlier versions. You need to use the new function pointer variables in the **OH_Predicates** struct. + +**Key API/Component Changes** + +Before change: + +```ts + OH_Predicates (*equalTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*notEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*beginWrap)(OH_Predicates *predicates); + OH_Predicates (*endWrap)(OH_Predicates *predicates); + OH_Predicates (*orOperate)(OH_Predicates *predicates); + OH_Predicates (*andOperate)(OH_Predicates *predicates); + OH_Predicates (*isNull)(OH_Predicates *predicates, const char *field); + OH_Predicates (*isNotNull)(OH_Predicates *predicates, const char *field); + OH_Predicates (*like)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*between)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*notBetween)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*greaterThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*lessThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*greaterThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*lessThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*orderBy)(OH_Predicates *predicates, const char *field, OH_OrderType type); + OH_Predicates (*distinct)(OH_Predicates *predicates); + OH_Predicates (*limit)(OH_Predicates *predicates, unsigned int value); + OH_Predicates (*offset)(OH_Predicates *predicates, unsigned int rowOffset); + OH_Predicates (*groupBy)(OH_Predicates *predicates, char const *const *fields, int length); + OH_Predicates (*in)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*notIn)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates (*clear)(OH_Predicates *predicates); +``` + +After change: + +```ts + OH_Predicates *(*equalTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*notEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*beginWrap)(OH_Predicates *predicates); + OH_Predicates *(*endWrap)(OH_Predicates *predicates); + OH_Predicates *(*orOperate)(OH_Predicates *predicates); + OH_Predicates *(*andOperate)(OH_Predicates *predicates); + OH_Predicates *(*isNull)(OH_Predicates *predicates, const char *field); + OH_Predicates *(*isNotNull)(OH_Predicates *predicates, const char *field); + OH_Predicates *(*like)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*between)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*notBetween)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*greaterThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*lessThan)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*greaterThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*lessThanOrEqualTo)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*orderBy)(OH_Predicates *predicates, const char *field, OH_OrderType type); + OH_Predicates *(*distinct)(OH_Predicates *predicates); + OH_Predicates *(*limit)(OH_Predicates *predicates, unsigned int value); + OH_Predicates *(*offset)(OH_Predicates *predicates, unsigned int rowOffset); + OH_Predicates *(*groupBy)(OH_Predicates *predicates, char const *const *fields, int length); + OH_Predicates *(*in)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*notIn)(OH_Predicates *predicates, const char *field, OH_VObject *valueObject); + OH_Predicates *(*clear)(OH_Predicates *predicates); +``` + +**Adaptation Guide** + +Example: + +Code before change: + +``` +predicates->beginWrap(predicates).equalTo(predicates, "data1", valueObject).orOperate(predicates); +``` + +Code after change: + +``` +predicates->beginWrap(predicates)->equalTo(predicates, "data1", valueObject)->orOperate(predicates); +``` + + +## cl.distributeddatamgr.5 Change of the Error Codes of the OH_Rdb_ErrCode Struct + +**Change Impact** + +Changed **RDB_ERR_INVALID_ARGS** to **RDB_E_INVALID_ARGS**, and **RDB_ERR_OK** to **RDB_OK**, and added error codes. + +**Key API/Component Changes** + +Before change: + +```ts + RDB_ERR_INVALID_ARGS = -2, + RDB_ERR = -1, + RDB_ERR_OK = 0 +``` + +After change: + +```ts + RDB_ERR = -1, + RDB_OK = 0, + E_BASE = 14800000, + RDB_E_NOT_SUPPORTED = 801, + RDB_E_ERROR = E_BASE, + RDB_E_INVALID_ARGS = (E_BASE + 1), + RDB_E_CANNOT_UPDATE_READONLY = (E_BASE + 2), + RDB_E_REMOVE_FILE = (E_BASE + 3), + RDB_E_EMPTY_TABLE_NAME = (E_BASE + 5), + RDB_E_EMPTY_VALUES_BUCKET = (E_BASE + 6), + RDB_E_EXECUTE_IN_STEP_QUERY = (E_BASE + 7), + RDB_E_INVALID_COLUMN_INDEX = (E_BASE + 8), + RDB_E_INVALID_COLUMN_TYPE = (E_BASE + 9), + RDB_E_EMPTY_FILE_NAME = (E_BASE + 10), + RDB_E_INVALID_FILE_PATH = (E_BASE + 11), + RDB_E_TRANSACTION_IN_EXECUTE = (E_BASE + 12), + RDB_E_INVALID_STATEMENT = (E_BASE + 13), + RDB_E_EXECUTE_WRITE_IN_READ_CONNECTION = (E_BASE + 14), + RDB_E_BEGIN_TRANSACTION_IN_READ_CONNECTION = (E_BASE + 15), + RDB_E_NO_TRANSACTION_IN_SESSION = (E_BASE + 16), + RDB_E_MORE_STEP_QUERY_IN_ONE_SESSION = (E_BASE + 17), + RDB_E_NO_ROW_IN_QUERY = (E_BASE + 18), + RDB_E_INVALID_BIND_ARGS_COUNT = (E_BASE + 19), + RDB_E_INVALID_OBJECT_TYPE = (E_BASE + 20), + RDB_E_INVALID_CONFLICT_FLAG = (E_BASE + 21), + RDB_E_HAVING_CLAUSE_NOT_IN_GROUP_BY = (E_BASE + 22), + RDB_E_NOT_SUPPORTED_BY_STEP_RESULT_SET = (E_BASE + 23), + RDB_E_STEP_RESULT_SET_CROSS_THREADS = (E_BASE + 24), + RDB_E_STEP_RESULT_QUERY_NOT_EXECUTED = (E_BASE + 25), + RDB_E_STEP_RESULT_IS_AFTER_LAST = (E_BASE + 26), + RDB_E_STEP_RESULT_QUERY_EXCEEDED = (E_BASE + 27), + RDB_E_STATEMENT_NOT_PREPARED = (E_BASE + 28), + RDB_E_EXECUTE_RESULT_INCORRECT = (E_BASE + 29), + RDB_E_STEP_RESULT_CLOSED = (E_BASE + 30), + RDB_E_RELATIVE_PATH = (E_BASE + 31), + RDB_E_EMPTY_NEW_ENCRYPT_KEY = (E_BASE + 32), + RDB_E_CHANGE_UNENCRYPTED_TO_ENCRYPTED = (E_BASE + 33), + RDB_E_CHANGE_ENCRYPT_KEY_IN_BUSY = (E_BASE + 34), + RDB_E_STEP_STATEMENT_NOT_INIT = (E_BASE + 35), + RDB_E_NOT_SUPPORTED_ATTACH_IN_WAL_MODE = (E_BASE + 36), + RDB_E_CREATE_FOLDER_FAIL = (E_BASE + 37), + RDB_E_SQLITE_SQL_BUILDER_NORMALIZE_FAIL = (E_BASE + 38), + RDB_E_STORE_SESSION_NOT_GIVE_CONNECTION_TEMPORARILY = (E_BASE + 39), + RDB_E_STORE_SESSION_NO_CURRENT_TRANSACTION = (E_BASE + 40), + RDB_E_NOT_SUPPORT = (E_BASE + 41), + RDB_E_INVALID_PARCEL = (E_BASE + 42), + RDB_E_QUERY_IN_EXECUTE = (E_BASE + 43), + RDB_E_SET_PERSIST_WAL = (E_BASE + 44), + RDB_E_DB_NOT_EXIST = (E_BASE + 45), + RDB_E_ARGS_READ_CON_OVERLOAD = (E_BASE + 46), + RDB_E_WAL_SIZE_OVER_LIMIT = (E_BASE + 47), + RDB_E_CON_OVER_LIMIT = (E_BASE + 48) +``` + + + +## cl.distributeddatamgr.6 Change of int (*close)(OH_Cursor *cursor) in OH_Cursor Struct to int (\*destroy)(OH_Cursor \*cursor) + +**Change Impact** + +This change is incompatible with earlier versions. The function pointer name is changed from **close** to **destroy**. The input parameters and return values remain unchanged. + +**Key API/Component Changes** + +Before change: + +```ts +int (*close)(OH_Cursor *cursor); +``` + +After change: + +```ts +int (*destroy)(OH_Cursor *cursor); +``` + +**Adaptation Guide** + +Example: + +Code before change: + +``` +cursor->close(cursor); +``` + +Code after change: + +``` +cursor->destroy(cursor); +``` + + +## cl.distributeddatamgr.7 Change of int (\*destroyPredicates)(OH_Predicates \*predicates) in OH_Predicates Struct to int (\*destroy) (OH_Predicates \*predicates) + +**Change Impact** + +This change is incompatible with earlier versions. The function pointer name is changed from **destroyPredicates** to **destroy**. The input parameters and return values remain unchanged. + +**Key API/Component Changes** + +Before change: + +```ts +int (*destroyPredicates)(OH_Predicates *predicates); +``` + +After change: + +```ts +int (*destroy)(OH_Predicates *predicates); +``` + +**Adaptation Guide** + +Example: + +Code before change: + +``` +predicates->destroyPredicates(predicates); +``` + +Code after change: + +``` +predicates->destroy(predicates); +``` + + +## cl.distributeddatamgr.8 Change of int (\*destroyValueObject)(OH_VObject \*valueObject) in OH_VObject Struct to int (\*destroy) (OH_VObject \*valueObject) + +**Change Impact** + +This change is incompatible with earlier versions. The function pointer name is changed from **destroyValueObject** to **destroy**. The input parameters and return values remain unchanged. + +**Key API/Component Changes** + +Before change: + +```ts +int (*destroyValueObject)(OH_VObject *valueObject); +``` + +After change: + +```ts +int (*destroy)(OH_VObject *valueObject); +``` + +**Adaptation Guide** + +Example: + +Code before change: + +``` +valueObject->destroyValueObject(valueObject); +``` + +Code after change: + +``` +valueObject->destroy(valueObject); +``` + + +## cl.distributeddatamgr.9 Change of int (\*destroyValuesBucket)(OH_VBucket \*bucket) in OH_VBucket Struct to int (\*destroy) (OH_VBucket \*bucket) + +**Change Impact** + +This change is incompatible with earlier versions. The function pointer name is changed from **destroyValuesBucket** to **destroy**. The input parameters and return values remain unchanged. + +**Key API/Component Changes** + +Before change: + +```ts +int (*destroyValuesBucket)(OH_VBucket *bucket); +``` + +After change: + +```ts +int (*destroy)(OH_VBucket *bucket); +``` + +**Adaptation Guide** + +Example: + +Code before change: + +``` +valueBucket->destroyValuesBucket(valueBucket); +``` + +Code after change: + +``` + valueBucket->destroy(valueBucket); +``` + + +## cl.distributeddatamgr.10 Change of OH_Rdb_Config Struct Member Variables + +**Change Impact** + +The changes are incompatible with earlier versions.
The type of **securityLevel** is changed from **enum OH_Rdb_SecurityLevel** to **in**.
The member variable **path** is deleted.
The member variables **selfSize**, **dataBaseDir**, **storeName**, **bundleName**, and **moduleName** are added. + +**Key API/Component Changes** + +OH_Rdb_Config before change: + +```ts +typedef struct { + const char *path; + bool isEncrypt; + enum OH_Rdb_SecurityLevel securityLevel; +} OH_Rdb_Config; +``` + +OH_Rdb_Config after change: + +```ts +typedef struct { + int selfSize; + const char *dataBaseDir; + const char *storeName; + const char *bundleName; + const char *moduleName; + bool isEncrypt; + int securityLevel; +} OH_Rdb_Config; +``` + +**Adaptation Guide** + +When creating an RDB store with **OH_Rdb_Config**, you need to pass in the bundle name and module name. + + +## cl.distributeddatamgr.11 Change of const char *path in OH_Rdb_DeleteStore() to const OH_Rdb_Config \*config + +**Change Impact** + +This change is incompatible with earlier versions. The input parameter is changed from **const char \*path** to **const OH_Rdb_Config \*config**. + +**Key API/Component Changes** + +OH_Rdb_DeleteStore before change: + +```ts +int OH_Rdb_DeleteStore(const char *path); +``` + +OH_Rdb_DeleteStore after change: + +```ts +int OH_Rdb_DeleteStore(const OH_Rdb_Config *config); +``` + +**Adaptation Guide** + +Example: + +Code before change: + +``` +OH_Rdb_DeleteStore("") +``` + +Code after change: + +``` +OH_Rdb_DeleteStore(config) +``` diff --git a/en/release-notes/changelogs/v4.0-beta2/changelogs-wifiManager.md b/en/release-notes/changelogs/v4.0-beta2/changelogs-wifiManager.md new file mode 100644 index 0000000000000000000000000000000000000000..59f2abf1eaadcf49d644a52b117c02b83a039084 --- /dev/null +++ b/en/release-notes/changelogs/v4.0-beta2/changelogs-wifiManager.md @@ -0,0 +1,100 @@ +# Wi-Fi Subsystem Changelog + +# cl.wifi.1 Change of the Name of the API for Obtaining Wi-Fi Scan Result +The name of the API for obtaining Wi-Fi scan result is changed in API version 10 Beta1 and then changed to the names used in API version 9 release. + +**Change Impact** + +The JS API name needs to be adapted for applications developed based on earlier versions. Otherwise, relevant functions will be affected. + +**Key API/Component Changes** + +- Involved API: + + getScanInfoList(): Array; + +- Before change: + +```js +getScanInfoList(): Array; +``` + +- After change: + +```js +getScanResults(): Array; +getScanResultsSync(): Array; +``` + +**Adaptation Guide** + +Example: +- Call **getScanResults**. +```js +function getScanResultsPromise() { + let methodName = `${tag} getScanResultsPromise` + wifiManager.getScanResults((err, data) => { + if (err) { + showToastE(`${methodName} failed ${JSON.stringify(err)}`) + return + } + if (data == null || data.length == 0) { + showToast(`${methodName} end data is null`) + return; + } + }) +} +``` +- Call **getScanResultsSync**. +```js +function getScanResultsSync(): Array { + let methodName = `${tag} getScanResultsSync` + try { + return wifiManager.getScanResultsSync(); + } catch (error) { + showToastE(`${methodName} failed ${JSON.stringify(error)}`) + } + return Array(); +} +``` + +# cl.wifi.2 Change of Wi-Fi P2P APIs +The names of P2P APIs are changed in API version 10 Beta1 and then changed to the names used in API version 9 release. + +**Change Impact** + +The JS API name needs to be adapted for applications developed based on earlier versions. Otherwise, relevant functions will be affected. + +**Key API/Component Changes** + +- Added APIs + +| API| Description| +|------|---------| +| **function** updateNetwork(config: WifiDeviceConfig): number; | Updates the added hotspot configuration information. | +| **function** disableNetwork(netId: number): **void**; | Disables the added hotspot configuration. | +| **function** removeAllNetwork(): **void**; | Deletes all hotspot configurations. | +| **function** removeDevice(id: number): **void**; | Deletes configuration of a single hotspot. | +| **function** getStations(): Array; | Obtains information about devices connected to this hotspot. | +| **function** createGroup(config: WifiP2PConfig): **void**; | Creates a P2P group. | +| **function** removeGroup(): **void**; | Removes a P2P group. | +| **function** startDiscoverDevices(): **void**; | Starts P2P scan. | +| **function** stopDiscoverDevices(): **void**; | Stops P2P scan. | +| **function** deletePersistentGroup(netId: number): **void**; | Deletes the persistent P2P group with a specified network ID. | +| **function** setDeviceName(devName: string): **void**; | Sets the P2P device name. | + +- Deprecated APIs + +| API |Description | +| ------------- |-------------------------------------------------------- | +| **function** updateDeviceConfig(config: WifiDeviceConfig): number; | Updates the added hotspot configuration information. | +| **function** disableDeviceConfig(networkId: number): **void**; | Disables the added hotspot configuration. | +| **function** removeAllDeviceConfigs(): **void**; | Deletes all hotspot configurations. | +| **function** removeDeviceConfig(networkId: number): **void**; | Deletes configuration of a single hotspot. | +| **function** getHotspotStations(): Array; | Obtains information about devices connected to this hotspot. | +| **function** createP2pGroup(config: WifiP2PConfig): **void**; | Creates a P2P group. | +| **function** removeP2pGroup(): **void**; | Removes a P2P group. | +| **function** startDiscoverP2pDevices(): **void**; | Starts P2P scan. | +| **function** stopDiscoverP2pDevices(): **void**; | Stops P2P scan. | +| **function** deletePersistentP2pGroup(netId: number): **void**; | Deletes the persistent P2P group with a specified network ID. | +| **function** setP2pDeviceName(devName: string): **void**; | Sets the P2P device name. |