1e41f4b71Sopenharmony_ci# OpenHarmony 4.0 Beta2 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ci## Version Description 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ciThe standard system capabilities of OpenHarmony 4.0 are continuously improved. ArkUI further enhances the capabilities of basic components. The application framework supports ArkTS widget updates triggered by agents. The bundle manager subsystem supports data sharing across atomic services, as well as enterprise application installation. The DSoftBus subsystem supports session-level transmission capability negotiation. The Unified Data Management Framework (UDMF) supports temporary authorization for files in distributed directories in cross-device dragging scenarios. The file management subsystem supports device-cloud synchronization of public image files. The multimedia subsystem further enhances the audio, media playback, and audio/video codec capabilities. The graphics rendering library is upgraded to Skia 0310. The window component capability is enhanced. The common event and notification subsystem supports batch notification deletion. The security subsystem supports Digital Signature Algorithm (DSA). ArkCompiler Runtime supports JSContext and dynamic profile guided optimization (PGO). DFX provides a unified collection framework for easier application debugging. 6e41f4b71Sopenharmony_ci 7e41f4b71Sopenharmony_ci## Feature Description 8e41f4b71Sopenharmony_ci 9e41f4b71Sopenharmony_ci 10e41f4b71Sopenharmony_ci### Application Framework 11e41f4b71Sopenharmony_ci 12e41f4b71Sopenharmony_ci- The content of an ArkTS widget can be updated through a data agent. 13e41f4b71Sopenharmony_ci 14e41f4b71Sopenharmony_ci- Static configuration and static graph display are provided for ArkTS widgets. 15e41f4b71Sopenharmony_ci 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci### ArkUI 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ci- **\<XComponent>** supports texture rendering. Popup positions can be customized, and popups can be closed layer by layer by pressing the **Esc** key. The **\<ListItem>** component supports the swipe-to-delete gesture, which means that users can long swipe left to delete an element. ArkTS/JS widgets support callbacks triggered upon the completion of rendering. The **\<Image>** and **\<Text>** components support obscuring. The **\<ContextMenu>** component supports segment-based display. 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci- The animation effect is enhanced, including the layout attribute, background image size and position, and show/hide attribute (implicit animation). **scrollToIndex** can be used to set animation effects for lists. Fuzzy animations are provided for tabs, and display/disappearance animations are provided for popups. Custom animations are also supported. 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ci- Named routes are supported so that page-specific switching animations can be set. The lite ArkUI framework supports global data objects and data sharing between pages within an application. 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ci- Global APIs support the stage model multiton scenario. 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci 28e41f4b71Sopenharmony_ci### Bundle Management 29e41f4b71Sopenharmony_ci 30e41f4b71Sopenharmony_ci- APIs are provided to set and query the application distribution type and attachment information. 31e41f4b71Sopenharmony_ci 32e41f4b71Sopenharmony_ci- Applications that can open a file are identified through the file name extension, implementing the mapping between a file name extension and an application. 33e41f4b71Sopenharmony_ci 34e41f4b71Sopenharmony_ci- Enterprise applications can be installed. To install an application whose certificate type is **enterprise**, you must request the **ohos.permission.INSTALL_ENTERPRISE_BUNDLE** permission. 35e41f4b71Sopenharmony_ci 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci### Distributed Data Management 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci- The UDMF supports temporary authorization for files in distributed directories in cross-device dragging scenarios. 40e41f4b71Sopenharmony_ci 41e41f4b71Sopenharmony_ci- RDB store NDK interfaces are provided. These interfaces are used for transaction addition, deletion, modification, and query, data encryption, hierarchical data protection, and backup and restore. 42e41f4b71Sopenharmony_ci 43e41f4b71Sopenharmony_ci- The system can automatically select a Bluetooth or Wi-Fi P2P channel for synchronization of key-value and distributed data objects based on the data volume. 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci 46e41f4b71Sopenharmony_ci### DSoftBus 47e41f4b71Sopenharmony_ci 48e41f4b71Sopenharmony_ci- Management of soft bus link information is supported. 49e41f4b71Sopenharmony_ci 50e41f4b71Sopenharmony_ci- Cross-device transmission capability negotiation is provided at the session level. 51e41f4b71Sopenharmony_ci 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci### Distributed Hardware 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci- The audio recording latency in distributed scenarios is optimized. 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci- The distributed file system supports mutual file access over Bluetooth P2P connections. 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci- A listener can be provided to listen for device name changes. 60e41f4b71Sopenharmony_ci 61e41f4b71Sopenharmony_ci 62e41f4b71Sopenharmony_ci### File Management 63e41f4b71Sopenharmony_ci 64e41f4b71Sopenharmony_ci- Public image files can be synchronized between the device and cloud (on the prerequisite that the cloud service is enabled for the login account of the device). Images on the cloud can be selected through the picker. 65e41f4b71Sopenharmony_ci 66e41f4b71Sopenharmony_ci- Applications can customize the directories to be backed up. 67e41f4b71Sopenharmony_ci 68e41f4b71Sopenharmony_ci- Public images can be managed by category. Users can classify user images through albums in Gallery. 69e41f4b71Sopenharmony_ci 70e41f4b71Sopenharmony_ci- Applications can listen for the addition, modification, and deletion of files in the sandbox. 71e41f4b71Sopenharmony_ci 72e41f4b71Sopenharmony_ci- Applications can share files in the sandbox across devices. 73e41f4b71Sopenharmony_ci 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci### Graphics & Window 76e41f4b71Sopenharmony_ci 77e41f4b71Sopenharmony_ci**Graphics** 78e41f4b71Sopenharmony_ci 79e41f4b71Sopenharmony_ci- APIs are provided to pick the color of a selected region in an image. Applications can use the APIs to select a region in an image and obtain its dominant color and average color value. 80e41f4b71Sopenharmony_ci 81e41f4b71Sopenharmony_ci- APIs are provided to set the offset of the rotation center on the z-axis anchor point so that the rendered anchor point can be modified during rotation. 82e41f4b71Sopenharmony_ci 83e41f4b71Sopenharmony_ci- The rendering library on which the graphics subsystem depends is upgraded to Skia 0310. 84e41f4b71Sopenharmony_ci 85e41f4b71Sopenharmony_ci**Window** 86e41f4b71Sopenharmony_ci 87e41f4b71Sopenharmony_ci- The way for obtaining the parameter values of the display module is optimized. Now actual parameter values are directly obtained from the hardware instead of the software. 88e41f4b71Sopenharmony_ci 89e41f4b71Sopenharmony_ci- The window component capability is enhanced. The window supports window attributes, child windows, modal windows, window effects, window decoration, screen-on/screen-off, screenshot, and screen recording in component mode. 90e41f4b71Sopenharmony_ci 91e41f4b71Sopenharmony_ci 92e41f4b71Sopenharmony_ci### Multimedia 93e41f4b71Sopenharmony_ci 94e41f4b71Sopenharmony_ci**Audio** 95e41f4b71Sopenharmony_ci 96e41f4b71Sopenharmony_ci- The sound effect framework is supported. Device vendors can configure sound effect policies and load custom sound effects. Applications can query, switch, or disable the sound effect mode. 97e41f4b71Sopenharmony_ci 98e41f4b71Sopenharmony_ci- Intra-system recording is supported. Audio data played in the system can be filtered and recorded based on the audio scene attribute. 99e41f4b71Sopenharmony_ci 100e41f4b71Sopenharmony_ci- The display name of the audio output device can be obtained from the playback object information. 101e41f4b71Sopenharmony_ci 102e41f4b71Sopenharmony_ci**Media Playback** 103e41f4b71Sopenharmony_ci 104e41f4b71Sopenharmony_ciAudio effect parameters can be configured. 105e41f4b71Sopenharmony_ci 106e41f4b71Sopenharmony_ci**Audio/Video Codecs** 107e41f4b71Sopenharmony_ci 108e41f4b71Sopenharmony_ci- Native APIs can be used to query the audio and video codecs of the system. 109e41f4b71Sopenharmony_ci 110e41f4b71Sopenharmony_ci- Native APIs can be used to encapsulate audio and video data, that is, to store encoded media data in files in a certain format. 111e41f4b71Sopenharmony_ci 112e41f4b71Sopenharmony_ci- Native APIs can be used to decapsulate audio and video data, that is, to extract media frame data from bit stream data. 113e41f4b71Sopenharmony_ci 114e41f4b71Sopenharmony_ci 115e41f4b71Sopenharmony_ci### Common Event and Notification 116e41f4b71Sopenharmony_ci 117e41f4b71Sopenharmony_ci- Notifications can be deleted in batches. 118e41f4b71Sopenharmony_ci 119e41f4b71Sopenharmony_ci- The emitter supports unsubscription of condition-specific callbacks. 120e41f4b71Sopenharmony_ci 121e41f4b71Sopenharmony_ci 122e41f4b71Sopenharmony_ci### Basic Communications 123e41f4b71Sopenharmony_ci 124e41f4b71Sopenharmony_ci- The Wi-Fi module supports background scanning. 125e41f4b71Sopenharmony_ci 126e41f4b71Sopenharmony_ci- The Wi-Fi module supports random MAC addresses in STA mode. 127e41f4b71Sopenharmony_ci 128e41f4b71Sopenharmony_ci 129e41f4b71Sopenharmony_ci### Network and Communication 130e41f4b71Sopenharmony_ci 131e41f4b71Sopenharmony_ci- A TCP socket can be used for communication with the server. 132e41f4b71Sopenharmony_ci 133e41f4b71Sopenharmony_ci- Data transfer to a remote server is supported. 134e41f4b71Sopenharmony_ci 135e41f4b71Sopenharmony_ci- HTTPS certificate management adaptation is supported. 136e41f4b71Sopenharmony_ci 137e41f4b71Sopenharmony_ci- The NIC proxy is supported. 138e41f4b71Sopenharmony_ci 139e41f4b71Sopenharmony_ci 140e41f4b71Sopenharmony_ci### System Service Management 141e41f4b71Sopenharmony_ci 142e41f4b71Sopenharmony_ci- System services can be started as required, for example, called by external systems or triggered by events. System services can be automatically stopped when the device is idle. 143e41f4b71Sopenharmony_ci 144e41f4b71Sopenharmony_ci- The system service configuration format is optimized by using the JSON format instead of the XML format. 145e41f4b71Sopenharmony_ci 146e41f4b71Sopenharmony_ci 147e41f4b71Sopenharmony_ci### Power Supply 148e41f4b71Sopenharmony_ci 149e41f4b71Sopenharmony_ci- New APIs are provided to enable the system to enter the sleep state immediately. 150e41f4b71Sopenharmony_ci 151e41f4b71Sopenharmony_ci- Events and behavior can be customized based on the hibernation source. 152e41f4b71Sopenharmony_ci 153e41f4b71Sopenharmony_ci- Wakeup events can be customized based on the wakeup source. 154e41f4b71Sopenharmony_ci 155e41f4b71Sopenharmony_ci 156e41f4b71Sopenharmony_ci### Multimodal Input 157e41f4b71Sopenharmony_ci 158e41f4b71Sopenharmony_ci- Original events of keyboard input devices are mapped to the intent event of normalized interaction, so that you do not need to pay attention to whether the input behavior comes from the touch or keyboard during application development. 159e41f4b71Sopenharmony_ci 160e41f4b71Sopenharmony_ci- Users can customize the touchpad based on their use habits. 161e41f4b71Sopenharmony_ci - Both the press and touch actions can be used to map a click on the left mouse button. 162e41f4b71Sopenharmony_ci - Both of the following actions can be used to map a right-click on the mouse: touching the left or lower right corner, and pressing or touching the left or lower right corner with two fingers. 163e41f4b71Sopenharmony_ci - 10 speed levels are supported. 164e41f4b71Sopenharmony_ci - Both of the following actions can be used to map a scroll with mouse: content moving in the same direction as your finger moves, and content moving in the reverse direction as your finger moves. 165e41f4b71Sopenharmony_ci 166e41f4b71Sopenharmony_ci 167e41f4b71Sopenharmony_ci### Theme Framework 168e41f4b71Sopenharmony_ci 169e41f4b71Sopenharmony_ci- The lock screen management service supports lock screen event callbacks, static/dynamic wallpaper, and service status query when the screen is locked. 170e41f4b71Sopenharmony_ci 171e41f4b71Sopenharmony_ci- The wallpaper management service allows users to customize and reset wallpapers, and lock/unlock the screen. 172e41f4b71Sopenharmony_ci 173e41f4b71Sopenharmony_ci 174e41f4b71Sopenharmony_ci### Upload and Download 175e41f4b71Sopenharmony_ci 176e41f4b71Sopenharmony_ciUsers can query upload and download tasks, synchronize and query task status, persistently store task records, and rectify exceptions. 177e41f4b71Sopenharmony_ci 178e41f4b71Sopenharmony_ci 179e41f4b71Sopenharmony_ci### Security 180e41f4b71Sopenharmony_ci 181e41f4b71Sopenharmony_ci**Crypto Framework** 182e41f4b71Sopenharmony_ci 183e41f4b71Sopenharmony_ci- DSA is supported. 184e41f4b71Sopenharmony_ci 185e41f4b71Sopenharmony_ci- APIs are provided to parse DSA, Elliptic Curve Cryptography (ECC), and Rivest Shamir Adleman (RSA) keys and obtain key parameters. 186e41f4b71Sopenharmony_ci 187e41f4b71Sopenharmony_ci- APIs are provided to obtain the algorithm type used to generate random numbers. 188e41f4b71Sopenharmony_ci 189e41f4b71Sopenharmony_ci- APIs are provided to randomly generate, convert, encrypt, and decrypt SM4 keys. 190e41f4b71Sopenharmony_ci 191e41f4b71Sopenharmony_ci- The Hash-based Message Authentication Code (HMAC) and hash capabilities are provided for SM3 keys. 192e41f4b71Sopenharmony_ci 193e41f4b71Sopenharmony_ci- APIs are provided to randomly generate, convert, sign, verify, encrypt, and decrypt SM2 keys. 194e41f4b71Sopenharmony_ci 195e41f4b71Sopenharmony_ci**Key Management** 196e41f4b71Sopenharmony_ci 197e41f4b71Sopenharmony_ci- HUKS key encryption is supported. 198e41f4b71Sopenharmony_ci 199e41f4b71Sopenharmony_ci- The service identity field of the key can be added to the Key Attestation public key certificate. 200e41f4b71Sopenharmony_ci 201e41f4b71Sopenharmony_ci- Standard HDIs are provided. 202e41f4b71Sopenharmony_ci 203e41f4b71Sopenharmony_ci**Mutual Authentication Between Devices** 204e41f4b71Sopenharmony_ci 205e41f4b71Sopenharmony_ciPseudonyms can be generated and identified in the following scenarios: 206e41f4b71Sopenharmony_ci 207e41f4b71Sopenharmony_ci- Mutual authentication on multiple devices that use the same account to log in 208e41f4b71Sopenharmony_ci 209e41f4b71Sopenharmony_ci- Mutual authentication on two devices that are connected in P2P mode using different accounts 210e41f4b71Sopenharmony_ci 211e41f4b71Sopenharmony_ci 212e41f4b71Sopenharmony_ci### Ability Access Control 213e41f4b71Sopenharmony_ci 214e41f4b71Sopenharmony_ci- The display of the permission management menu is optimized. The permission groups of media assets and files are split, and the authorization granularity of corresponding permissions is more refined. 215e41f4b71Sopenharmony_ci 216e41f4b71Sopenharmony_ci- Compatibility with SELinux in the Treble architecture is supported. 217e41f4b71Sopenharmony_ci 218e41f4b71Sopenharmony_ci 219e41f4b71Sopenharmony_ci### Account 220e41f4b71Sopenharmony_ci 221e41f4b71Sopenharmony_ci- Third-party applications can use the account authorization capability. 222e41f4b71Sopenharmony_ci 223e41f4b71Sopenharmony_ci- Management on domain account plugins is provided to support domain account management and authentication. 224e41f4b71Sopenharmony_ci 225e41f4b71Sopenharmony_ci 226e41f4b71Sopenharmony_ci### WebView 227e41f4b71Sopenharmony_ci 228e41f4b71Sopenharmony_ci- The web camera capability and HTML5 tag capabilities such as bindContextMenu, Select, and date input are supplemented. 229e41f4b71Sopenharmony_ci 230e41f4b71Sopenharmony_ci- Multiple rendering processes can be split. 231e41f4b71Sopenharmony_ci 232e41f4b71Sopenharmony_ci- Basic text and image dragging capabilities are provided. 233e41f4b71Sopenharmony_ci 234e41f4b71Sopenharmony_ci- WebRTC video conferencing (excluding camera sharing) is supported. 235e41f4b71Sopenharmony_ci 236e41f4b71Sopenharmony_ci- Independent SELinux labels are provided for rendering processes to enhance basic security. 237e41f4b71Sopenharmony_ci 238e41f4b71Sopenharmony_ci 239e41f4b71Sopenharmony_ci### ArkCompiler 240e41f4b71Sopenharmony_ci 241e41f4b71Sopenharmony_ci- ArkCompiler Runtime supports JSContext and dynamic PGO, which collects type and function hotspot information at runtime and generates AP files. The NAPI library can be dynamically imported and loaded. 242e41f4b71Sopenharmony_ci 243e41f4b71Sopenharmony_ci- In type compilation mode of ArkCompiler, the front-end compilation toolchain is switched to es2abc. 244e41f4b71Sopenharmony_ci 245e41f4b71Sopenharmony_ci- New APIs are provided for the NAPI buffer, object, arraybuffer, and object types. 246e41f4b71Sopenharmony_ci 247e41f4b71Sopenharmony_ci- The task pool supports task interruption and cancellation, task group definition, task status and scheduling information dotting, and identification and recovery of tasks that wait for a long time. 248e41f4b71Sopenharmony_ci 249e41f4b71Sopenharmony_ci- Different versions can be built for system users and user **root**. The user version supports Wukong and XTS. 250e41f4b71Sopenharmony_ci 251e41f4b71Sopenharmony_ci- The compiler toolchain supports debugging of the previewer. 252e41f4b71Sopenharmony_ci 253e41f4b71Sopenharmony_ci 254e41f4b71Sopenharmony_ci### DFX 255e41f4b71Sopenharmony_ci 256e41f4b71Sopenharmony_ci- A unified collection framework is provided for application debugging. 257e41f4b71Sopenharmony_ci 258e41f4b71Sopenharmony_ci- Unified trace collection is provided. 259e41f4b71Sopenharmony_ci 260e41f4b71Sopenharmony_ci- Native HiTraceMeter APIs are provided. 261e41f4b71Sopenharmony_ci 262e41f4b71Sopenharmony_ci- The performance radar provides tool classes for service modules (subsystems) to transfer performance tracing point records and settlement performance data in service processes. 263e41f4b71Sopenharmony_ci 264e41f4b71Sopenharmony_ci 265e41f4b71Sopenharmony_ci### Kernel 266e41f4b71Sopenharmony_ci 267e41f4b71Sopenharmony_ciCode execution permission control is enhanced as follows: 268e41f4b71Sopenharmony_ci 269e41f4b71Sopenharmony_ci- Secure memory is supported. 270e41f4b71Sopenharmony_ci 271e41f4b71Sopenharmony_ci- Scenario-specific code execution permission control policies are provided. 272e41f4b71Sopenharmony_ci 273e41f4b71Sopenharmony_ci- Full lifecycle management is provided for code execution permission control. 274e41f4b71Sopenharmony_ci 275e41f4b71Sopenharmony_ci- Executable files can be parsed to obtain code segment information. 276e41f4b71Sopenharmony_ci 277e41f4b71Sopenharmony_ci- Integrity protection is provided for code pages. 278e41f4b71Sopenharmony_ci 279e41f4b71Sopenharmony_ci 280e41f4b71Sopenharmony_ci### Driver 281e41f4b71Sopenharmony_ci 282e41f4b71Sopenharmony_ci- The extended device driver framework provides the following capabilities: 283e41f4b71Sopenharmony_ci - Based on the DriverExtensionAbility, the extended device driver framework builds lifecycle management capabilities, including developing, deploying, installing, updating, uninstalling, and running extended driver packages in the application state. 284e41f4b71Sopenharmony_ci - USB device extension driver packages that are developed by third-party device vendors and do not comply with standard protocols can be installed on OpenHarmony devices. After such a USB device is inserted, the system can identify it and matches an extension driver package. 285e41f4b71Sopenharmony_ci - Third-party applications can query and bind to a USB device extension driver package through the extended device management framework. 286e41f4b71Sopenharmony_ci 287e41f4b71Sopenharmony_ci- The camera driver provides the following capabilities: 288e41f4b71Sopenharmony_ci - Identifying USB camera hot swap events during startup check and after startup. 289e41f4b71Sopenharmony_ci - Preview, photographing, and video recording of USB cameras, and query and configuration of the camera format and resolution. 290e41f4b71Sopenharmony_ci 291e41f4b71Sopenharmony_ci- The codec driver provides hardware decoding acceleration for JPEG images, including obtaining hardware decoding information, initializing and deinitializing instances, decoding JPEG images, and applying for and releasing a buffer. 292e41f4b71Sopenharmony_ci 293e41f4b71Sopenharmony_ci- The sensor driver provides driving for temperature and humidity sensors. It supports the query of temperature and humidity components of small-system devices, component enabling/disabling, and data query. 294e41f4b71Sopenharmony_ci 295e41f4b71Sopenharmony_ci 296e41f4b71Sopenharmony_ci## Version Mapping 297e41f4b71Sopenharmony_ci 298e41f4b71Sopenharmony_ci**Table 1** Version mapping of software and tools 299e41f4b71Sopenharmony_ci 300e41f4b71Sopenharmony_ci| Software/Tool| Version| Remarks| 301e41f4b71Sopenharmony_ci| -------- | -------- | -------- | 302e41f4b71Sopenharmony_ci| OpenHarmony | 4.0 Beta2 | NA | 303e41f4b71Sopenharmony_ci| Public SDK | Ohos_sdk_public 4.0.9.6 (API Version 10 Beta2) | This toolkit is intended for application developers and does not contain system APIs that require system permissions. It is provided as standard in DevEco Studio.| 304e41f4b71Sopenharmony_ci| (Optional) HUAWEI DevEco Studio| 4.0 Beta2 | Recommended for developing OpenHarmony applications How to obtain:<br><br>SHA-256 checksum: ae9b228fb1f79e99441e10bdcf347ebfc42266be8b170bbce3c9764ba32d82a4<br><br>SHA-256 checksum: 5c9afc5b1262868b58376155f1e8576d33c1ade8b01091edc4d7d397cd34026c<br><br>SHA-256 checksum: ea6c98cafd5036e4a6fd46b0b1cde3a306953b1eef423d5940f1af7c632205d6 | 305e41f4b71Sopenharmony_ci| (Optional) HUAWEI DevEco Device Tool| 4.0 Beta1 | Recommended for developing OpenHarmony smart devices How to obtain:<br>[Click here to go to the download page](https://device.harmonyos.com/cn/develop/ide#download).| 306e41f4b71Sopenharmony_ci 307e41f4b71Sopenharmony_ci 308e41f4b71Sopenharmony_ci## Source Code Acquisition 309e41f4b71Sopenharmony_ci 310e41f4b71Sopenharmony_ci 311e41f4b71Sopenharmony_ci### **Prerequisites** 312e41f4b71Sopenharmony_ci 313e41f4b71Sopenharmony_ci1. Register your account with Gitee. 314e41f4b71Sopenharmony_ci 315e41f4b71Sopenharmony_ci2. Register an SSH public key for access to Gitee. 316e41f4b71Sopenharmony_ci 317e41f4b71Sopenharmony_ci3. Install the [git client](https://git-scm.com/book/en/v2/Getting-Started-Installing-Git) and [git-lfs](https://gitee.com/vcs-all-in-one/git-lfs?_from=gitee_search#downloading), and configure user information. 318e41f4b71Sopenharmony_ci 319e41f4b71Sopenharmony_ci ``` 320e41f4b71Sopenharmony_ci git config --global user.name "yourname" 321e41f4b71Sopenharmony_ci git config --global user.email "your-email-address" 322e41f4b71Sopenharmony_ci git config --global credential.helper store 323e41f4b71Sopenharmony_ci ``` 324e41f4b71Sopenharmony_ci 325e41f4b71Sopenharmony_ci4. Run the following commands to install the **repo** tool: 326e41f4b71Sopenharmony_ci 327e41f4b71Sopenharmony_ci ``` 328e41f4b71Sopenharmony_ci curl -s https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo # If you do not have the permission, download the tool to another directory and configure it as an environment variable by running the chmod a+x /usr/local/bin/repo command. 329e41f4b71Sopenharmony_ci pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests 330e41f4b71Sopenharmony_ci ``` 331e41f4b71Sopenharmony_ci 332e41f4b71Sopenharmony_ci 333e41f4b71Sopenharmony_ci### Acquiring Source Code Using the repo Tool 334e41f4b71Sopenharmony_ci 335e41f4b71Sopenharmony_ci**Method 1 (recommended)** 336e41f4b71Sopenharmony_ci 337e41f4b71Sopenharmony_ciUse the **repo** tool to download the source code over SSH. (You must have an SSH public key for access to Gitee.) 338e41f4b71Sopenharmony_ci 339e41f4b71Sopenharmony_ci- Obtain the source code from the version branch. You can obtain the latest source code of the version branch, which includes the code that has been incorporated into the branch up until the time you run the following commands: 340e41f4b71Sopenharmony_ci ``` 341e41f4b71Sopenharmony_ci repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.0-Beta2 --no-repo-verify 342e41f4b71Sopenharmony_ci repo sync -c 343e41f4b71Sopenharmony_ci repo forall -c 'git lfs pull' 344e41f4b71Sopenharmony_ci ``` 345e41f4b71Sopenharmony_ci 346e41f4b71Sopenharmony_ci- Obtain the source code from the version tag, which is the same as that released with the version. 347e41f4b71Sopenharmony_ci ``` 348e41f4b71Sopenharmony_ci repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v4.0-Beta2 --no-repo-verify 349e41f4b71Sopenharmony_ci repo sync -c 350e41f4b71Sopenharmony_ci repo forall -c 'git lfs pull' 351e41f4b71Sopenharmony_ci ``` 352e41f4b71Sopenharmony_ci 353e41f4b71Sopenharmony_ci**Method 2** 354e41f4b71Sopenharmony_ci 355e41f4b71Sopenharmony_ciUse the **repo** tool to download the source code over HTTPS. 356e41f4b71Sopenharmony_ci 357e41f4b71Sopenharmony_ci- Obtain the source code from the version branch. You can obtain the latest source code of the version branch, which includes the code that has been incorporated into the branch up until the time you run the following commands: 358e41f4b71Sopenharmony_ci ``` 359e41f4b71Sopenharmony_ci repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.0-Beta2 --no-repo-verify 360e41f4b71Sopenharmony_ci repo sync -c 361e41f4b71Sopenharmony_ci repo forall -c 'git lfs pull' 362e41f4b71Sopenharmony_ci ``` 363e41f4b71Sopenharmony_ci 364e41f4b71Sopenharmony_ci- Obtain the source code from the version tag, which is the same as that released with the version. 365e41f4b71Sopenharmony_ci ``` 366e41f4b71Sopenharmony_ci repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.0-Beta2 --no-repo-verify 367e41f4b71Sopenharmony_ci repo sync -c 368e41f4b71Sopenharmony_ci repo forall -c 'git lfs pull' 369e41f4b71Sopenharmony_ci ``` 370e41f4b71Sopenharmony_ci 371e41f4b71Sopenharmony_ci 372e41f4b71Sopenharmony_ci### Acquiring Source Code from Mirrors 373e41f4b71Sopenharmony_ci 374e41f4b71Sopenharmony_ci**Table 2** Mirrors for acquiring source code 375e41f4b71Sopenharmony_ci 376e41f4b71Sopenharmony_ci| Source Code | Version| **Site** | **SHA-256 Checksum** | Software Package Size| 377e41f4b71Sopenharmony_ci| --------------------------------------- | ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | 378e41f4b71Sopenharmony_ci| Full code base (for mini, small, and standard systems) | 4.0 Beta2 | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/code-v4.0-Beta2.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/code-v4.0-Beta2.tar.gz.sha256)| 27.7 GB | 379e41f4b71Sopenharmony_ci| Hi3861 solution (binary) | 4.0 Beta2 | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/hispark_pegasus.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/hispark_pegasus.tar.gz.sha256)| 27.5 MB | 380e41f4b71Sopenharmony_ci| Hi3516 solution-LiteOS (binary)| 4.0 Beta2 | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/hispark_taurus_LiteOS.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/hispark_taurus_LiteOS.tar.gz.sha256)| 300.9 MB | 381e41f4b71Sopenharmony_ci| Hi3516 solution-Linux (binary) | 4.0 Beta2 | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/hispark_taurus_Linux.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/hispark_taurus_Linux.tar.gz.sha256)| 192.4 MB | 382e41f4b71Sopenharmony_ci| RK3568 standard system solution (binary) | 4.0 Beta2 | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/dayu200_standard_arm32.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/dayu200_standard_arm32.tar.gz.sha256)| 5.2 GB | 383e41f4b71Sopenharmony_ci| Public SDK package for the standard system (macOS) | 4.0.9.6 | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/ohos-sdk-mac-public.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/ohos-sdk-mac-public.tar.gz.sha256)| 832.3 MB | 384e41f4b71Sopenharmony_ci| Public SDK package for the standard system (macOS-M1) | 4.0.9.6 | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/L2-SDK-MAC-M1-PUBLIC.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/L2-SDK-MAC-M1-PUBLIC.tar.gz.sha256)| 788.4 MB | 385e41f4b71Sopenharmony_ci| Public SDK package for the standard system (Windows\Linux) | 4.0.9.6 | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/ohos-sdk-windows_linux-public.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta2/ohos-sdk-windows_linux-public.tar.gz.sha256)| 2.0 GB | 386e41f4b71Sopenharmony_ci 387e41f4b71Sopenharmony_ci 388e41f4b71Sopenharmony_ci## What's New 389e41f4b71Sopenharmony_ci 390e41f4b71Sopenharmony_ciThis version has the following updates to OpenHarmony 4.0 Beta1. 391e41f4b71Sopenharmony_ci 392e41f4b71Sopenharmony_ci### API 393e41f4b71Sopenharmony_ci 394e41f4b71Sopenharmony_ciFor details about the API changes over OpenHarmony 4.0 Beta1, see [API Differences](https://gitee.com/openharmony/docs/blob/OpenHarmony-4.0-Beta2/en/release-notes/api-diff/v4.0-beta2/Readme-EN.md). A few API changes may affect applications developed using API version 9 or earlier. For details about the change impact and adaptation guide, see [Changelogs](https://gitee.com/openharmony/docs/blob/OpenHarmony-4.0-Beta2/en/release-notes/changelogs/v4.0-beta2/Readme-EN.md). 395e41f4b71Sopenharmony_ci 396e41f4b71Sopenharmony_ci 397e41f4b71Sopenharmony_ci### Feature Updates 398e41f4b71Sopenharmony_ci 399e41f4b71Sopenharmony_ci[Version Description](#version-description) 400e41f4b71Sopenharmony_ci 401e41f4b71Sopenharmony_ci### Chip and Development Board Adaptation 402e41f4b71Sopenharmony_ci 403e41f4b71Sopenharmony_ciFor details about the adaptation status, see [SIG_DevBoard](https://gitee.com/openharmony/community/blob/master/sig/sig_devboard/sig_devboard.md). 404e41f4b71Sopenharmony_ci 405e41f4b71Sopenharmony_ci 406e41f4b71Sopenharmony_ci### Samples 407e41f4b71Sopenharmony_ci 408e41f4b71Sopenharmony_ci**Table 3** New samples 409e41f4b71Sopenharmony_ci 410e41f4b71Sopenharmony_ci| Subsystem| Name| Introduction| Programming Language| 411e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 412e41f4b71Sopenharmony_ci| Connectivity| [Upload and Download](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/BasicFeature/Connectivity/UploadAndDownLoad)| This sample uses the **\@ohos.request** APIs to create and query upload and download tasks. In this sample, an HTTP File Server (HFS) functions as the server.| ArkTS | 413e41f4b71Sopenharmony_ci| File management| [Application Access Data Backup and Restore](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/BasicFeature/FileManagement/FileBackupExtension)<br>(Full SDK)| The BackupExtensionAbility enables an application to access the backup and restore framework.<br>**BackupExtensionAbility** is a derived class of **ExtensionAbility** in the stage model. You can modify the configuration file to customize the backup and restore framework behavior, including whether to allow backup and restore and specifying the files to be backed up.<br>This sample provides an application for the backup process to generate and display data.| ArkTS | 414e41f4b71Sopenharmony_ci| Common event and notification| [Custom Badge](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/BasicFeature/Notification/CustomNotificationBadge)| This sample shows how to use the **\@ohos.notificationManager** APIs to set a badge on the home screen and send and obtain notifications.| ArkTS | 415e41f4b71Sopenharmony_ci| Common event and notification| [Custom Notification Push](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/BasicFeature/Notification/CustomNotificationPush)<br>(Full SDK)| This sample shows how to use the **\@ohos.notificationManager** APIs to listen for callbacks to determine whether to send notifications. It implements notification filtering callback management.| ArkTS | 416e41f4b71Sopenharmony_ci| NDK | [Native Xcomponent](https://gitee.com/openharmony/applications_app_samples/tree/master/code/BasicFeature/Native/NdkXComponent)<br>(Native SDK)| This sample shows how to use the native XComponent interface to obtain a **NativeWindow** instance, obtain the layout/event information, register an event callback, and draw shapes on the page through OpenGL/EGL. In this sample application, you can click the button to draw a pentagon and click the XComponent area to change the pentagon color.| Native C++ | 417e41f4b71Sopenharmony_ci| Application Model| [Data Agent Widget - Database Update](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/ApplicationModels/PersistentProxyForm)<br>(Full SDK)| This sample shows a data agent widget. It uses the **\@ohos.application.DataShareExtensionAbility**, **\@ohos.data.dataShare**, and **\@ohos.data.dataSharePredicates** APIs to implement widget content updates along with RDB changes after widget subscription information is modified.| ArkTS | 418e41f4b71Sopenharmony_ci| Application Model| [Data Agent Widget - Push Application Update](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/ApplicationModels/ProcessProxyForm)<br>(Full SDK)| This sample shows how to use the data agent widget in the push application form. It uses the **\@ohos.data.dataShare** APIs to modify subscription conditions of the data agent widget and publish the widget data.| ArkTS | 419e41f4b71Sopenharmony_ci| Application Model| [Edit Application](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/ApplicationModels/Receiver)| This sample implements simple sharing, including sharing cancellation and completion, based on the UIExtension. In the sample application, you can touch **Return Share** to return to the calling application; you can also touch **Stay Edit App** to stay in the current application.| ArkTS | 420e41f4b71Sopenharmony_ci| Application Model| [Initiating Application Sharing](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/ApplicationModels/Share)<br>(Full SDK)| This sample implements the initiation of sharing through the **Share** button. It provides two application icons: share demo and share edit. You can touch one of them to initiate sharing and redirect to the corresponding application.| ArkTS | 421e41f4b71Sopenharmony_ci| Application Model| [Text Application](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta2/code/SystemFeature/ApplicationModels/Template)<br>(Full SDK)| This sample implements simple sharing, including sharing cancellation and completion, based on the UIExtension. In the sample application, you can touch **Return Share** to return to the calling application; you can also touch **Stay Share Text** to stay in the current application.| ArkTS | 422e41f4b71Sopenharmony_ci 423e41f4b71Sopenharmony_ciFor more information, visit [Samples](https://gitee.com/openharmony/applications_app_samples). 424e41f4b71Sopenharmony_ci 425e41f4b71Sopenharmony_ci 426e41f4b71Sopenharmony_ci## Resolved Issues 427e41f4b71Sopenharmony_ci 428e41f4b71Sopenharmony_ci**Table 4** Resolved issues 429e41f4b71Sopenharmony_ci 430e41f4b71Sopenharmony_ci| Issue No.| Description| 431e41f4b71Sopenharmony_ci| -------- | -------- | 432e41f4b71Sopenharmony_ci| I6U4ZT | The first photo in Gallery cannot be opened when the power supply is disconnected immediately after the photo is taken.| 433e41f4b71Sopenharmony_ci| I79752 | There is a medium probability that the .ohos.smartperf thread of the com.ohos.smartperf process causes a C++ crash in libark_jsruntime.so.| 434e41f4b71Sopenharmony_ci| I79P3K | There is a low probability that the onDestroy stack encounters a JS crash in the com.ohos.callui process.| 435e41f4b71Sopenharmony_ci| I79TCB | There is a low probability that the VizCompositorTh thread of the com.ohos.note process causes a C++ crash in libweb_engine.soTh.| 436e41f4b71Sopenharmony_ci| I78CBC | Memory leakage occurs in libace.z.so when a user touches an image folder in Gallery to browse images in grid form and then exits repeatedly.| 437e41f4b71Sopenharmony_ci| I78CH7 | Memory leakage occurs in libace.z.so when applications are repeatedly added to or removed from the dock bar.| 438e41f4b71Sopenharmony_ci 439e41f4b71Sopenharmony_ci 440e41f4b71Sopenharmony_ci## Known Issues 441e41f4b71Sopenharmony_ci 442e41f4b71Sopenharmony_ci**Table 5** Known issues 443e41f4b71Sopenharmony_ci 444e41f4b71Sopenharmony_ci| Issue No.| Description| Impact| To Be Resolved By| 445e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- | 446e41f4b71Sopenharmony_ci| I78C9W | Memory leakage occurs in libace.z.so when a user touches an image in Gallery to maximize it and then exits repeatedly.| This operation scenario is uncommon, and the leak issue disappears after the application is restarted. The impact is controllable.| 2023-08-30| 447e41f4b71Sopenharmony_ci| I7BF3M | During the long-term running test, the launcher process occasionally encounters app freezing because STRINGID:APPLICATION_BLOCK_INPUT is stuck in libeventhandler.z.so.| This issue does not cause the system to restart. The impact is controllable.| 2023-08-30| 448e41f4b71Sopenharmony_ci| I7M51R | There is a low probability that a C++ crash occurs in the render_service thread of the com.ohos.systemui process.| The render_service thread will restart automatically. The impact is controllable.| 2023-08-30| 449e41f4b71Sopenharmony_ci| I7NWF3 | Due to compatibility issues, the session fails to be enabled for a Wi-Fi P2P connection between a device running 3.2.x and a device running 4.0.x. | This issue does not occur when both devices run 4.0.x. The impact is controllable. | 2023-08-30 | 450e41f4b71Sopenharmony_ci| I7BOAO | Multiple GLES3 test cases of the third-party repository fail to be executed. | The third-party vendor is carrying out adaptation. | 2023-08-30 | 451