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