1e41f4b71Sopenharmony_ci# OpenHarmony 4.0 Beta1
2e41f4b71Sopenharmony_ci
3e41f4b71Sopenharmony_ci
4e41f4b71Sopenharmony_ci## Version Description
5e41f4b71Sopenharmony_ci
6e41f4b71Sopenharmony_ciThe standard system capabilities of OpenHarmony 4.0 are continuously improved. ArkUI further improves component capabilities and effects. The application framework optimizes ExtensionAbilities. Application packages can be installed without decompression and shared across applications. The unified data management framework (UDMF) is provided for distributed data management. The audio, media playback, media control, and camera capabilities of the multimedia subsystem are further enhanced. Badge management is added to the common event and notification subsystem. More key management capabilities are provided for the security subsystem. ArkCompiler updates the tool versions related to the C++ toolchain. The capabilities of multiple tools in the test framework are enhanced.
7e41f4b71Sopenharmony_ci
8e41f4b71Sopenharmony_ciOpenHarmony 4.0 Beta1 provides the first batch of API version 10 interfaces.
9e41f4b71Sopenharmony_ci
10e41f4b71Sopenharmony_ci
11e41f4b71Sopenharmony_ci### Application Framework
12e41f4b71Sopenharmony_ci
13e41f4b71Sopenharmony_ci- ExtensionAbilities adopt minimal management. APIs of the ExtensionAbilities are provided based on service scenarios to prevent calling of sensitive APIs.
14e41f4b71Sopenharmony_ci
15e41f4b71Sopenharmony_ci- Temporary, URI-based authorization is provided for data or files. An application can grant the read and write permissions of its own files to other applications.
16e41f4b71Sopenharmony_ci
17e41f4b71Sopenharmony_ci- UIExtensionAbilities are provided. The UI provided by a UIExtensionAbility can be embedded in the window of the invoker application for display. Currently, the following basic UIExtensionAbility capabilities have been built:
18e41f4b71Sopenharmony_ci  - Unified UIExtensionAbility template, with clear API definitions
19e41f4b71Sopenharmony_ci  - Display of the native default ExtensionAbility page, as well as UI customization
20e41f4b71Sopenharmony_ci
21e41f4b71Sopenharmony_ci  Templates such as Share and Picker will be gradually provided in later versions.
22e41f4b71Sopenharmony_ci
23e41f4b71Sopenharmony_ci- Atomic services can be shared. You can use the **UIAbility.onShare()** lifecycle provided by the UIAbility component to set the data to share. Users can share atomic services and widgets to another device through the sharing box.
24e41f4b71Sopenharmony_ci
25e41f4b71Sopenharmony_ci
26e41f4b71Sopenharmony_ci### ArkUI
27e41f4b71Sopenharmony_ci
28e41f4b71Sopenharmony_ciAddition or enhancement of basic components:
29e41f4b71Sopenharmony_ci
30e41f4b71Sopenharmony_ci- The ExtensionAbility component is provided so that you can embed the extended feature of an application into another application.
31e41f4b71Sopenharmony_ci
32e41f4b71Sopenharmony_ci- The drawing components **\<Rect>**, **\<Circle>**, **\<Ellipse>**, **\<Line>**, **\<Polyline>**, **\<Polygon>**, **\<Path>**, **\<Rect>**, and **\<Shape>** support universal attributes such as translating, cropping, and masking.
33e41f4b71Sopenharmony_ci
34e41f4b71Sopenharmony_ci- The mask color and animation can be customized for custom dialog boxes. For example, you can set parameters related to the animation effect.
35e41f4b71Sopenharmony_ci
36e41f4b71Sopenharmony_ci- The **bindContextMenu** and **bindMenu** methods allow you to set menu positions.
37e41f4b71Sopenharmony_ci
38e41f4b71Sopenharmony_ci- The divider set by the **\<ColumnSplit>** component can be dragged.
39e41f4b71Sopenharmony_ci
40e41f4b71Sopenharmony_ci- The **\<Refresh>** component allows you to set the content to be displayed during pulling down to refresh.
41e41f4b71Sopenharmony_ci
42e41f4b71Sopenharmony_ci- The width and height of the input string in the **\<Text>** component can be returned. If the string is not fully displayed, a dialog box showing the complete string is displayed when the mouse pointer is hovered over.
43e41f4b71Sopenharmony_ci
44e41f4b71Sopenharmony_ciAddition or enhancement of the animation effect:
45e41f4b71Sopenharmony_ci
46e41f4b71Sopenharmony_ci- Transition animation can be used for component attribute changes, for example, when the **\<Divider>** component is used to set the divider color and color attributes.
47e41f4b71Sopenharmony_ci
48e41f4b71Sopenharmony_ci- You can set the spherical attributes, lower edge pixel stretching, adaptive color, G2 rounded corners, shadows, and gradient attributes for components to implement advanced animation effect.
49e41f4b71Sopenharmony_ci
50e41f4b71Sopenharmony_ciDevelopment efficiency improvement:
51e41f4b71Sopenharmony_ci
52e41f4b71Sopenharmony_ci- You can hold the **\<Text>**, **\<Image>**, **\<Video>**, **\<ListItem>**, and **\<GridItem>** components and drag them to the desired position. You can also disable this feature so that no dragging will be triggered upon holding.
53e41f4b71Sopenharmony_ci
54e41f4b71Sopenharmony_ci
55e41f4b71Sopenharmony_ci### Application Package Management
56e41f4b71Sopenharmony_ci
57e41f4b71Sopenharmony_ci- Application packages can be installed without being decompressed, optimizing the system startup performance and application installation performance.
58e41f4b71Sopenharmony_ci
59e41f4b71Sopenharmony_ci- Application packages can be shared across applications. System applications can provide their own capabilities to third-party applications. In addition, third-party applications do not need to integrate related content (including code, resources, and .so files) into their installation packages, reducing the integration and update costs.
60e41f4b71Sopenharmony_ci
61e41f4b71Sopenharmony_ci- Enterprise applications can be installed. The installation permission of enterprise applications is verified to prevent unauthorized distribution and installation of enterprise applications. In addition, the enterprise application certificate information can be queried, facilitating the management and revocation of enterprise applications in the application market.
62e41f4b71Sopenharmony_ci
63e41f4b71Sopenharmony_ci
64e41f4b71Sopenharmony_ci### Distributed Data Management
65e41f4b71Sopenharmony_ci
66e41f4b71Sopenharmony_ci- System applications can silently access DataShareExtension data of other system applications through the data management service agent. That is, system applications can access DataShareExtension data of another system application without starting that application.
67e41f4b71Sopenharmony_ci
68e41f4b71Sopenharmony_ci- System applications can access DataShareExtension data in single mode through the data management service agent.
69e41f4b71Sopenharmony_ci
70e41f4b71Sopenharmony_ci- The DataShare client provides the capability of subscribing to DataShareExtension data changes by URI prefix. The DataShare client will be notified of any DataShareExtension data change under the subscribed URI prefix.
71e41f4b71Sopenharmony_ci
72e41f4b71Sopenharmony_ci- The UDMF is added to support data standardization models, intra-device data dragging, UDMF data storage adaptation, permission management, and lifecycle management.
73e41f4b71Sopenharmony_ci
74e41f4b71Sopenharmony_ci
75e41f4b71Sopenharmony_ci### File Management
76e41f4b71Sopenharmony_ci
77e41f4b71Sopenharmony_ci- File category view management is supported. Gallery and other related applications manage media files in albums, indicating that images and videos do not need to pay attention to their storage locations. Functions such as adding and removing files in albums do not involve file I/O operations. Related APIs will be available in later versions.
78e41f4b71Sopenharmony_ci
79e41f4b71Sopenharmony_ci- Enhanced file I/O access capabilities are provided, including **randomAccessFile**, **moveDir**, **copyDir**, and **watcher**.
80e41f4b71Sopenharmony_ci
81e41f4b71Sopenharmony_ci- URI-based temporarily authorized file access and authorization revocation capabilities are supported, and cross-application local authorization or cross-device authorization are provided for files.
82e41f4b71Sopenharmony_ci
83e41f4b71Sopenharmony_ci
84e41f4b71Sopenharmony_ci### Graphics & Window
85e41f4b71Sopenharmony_ci
86e41f4b71Sopenharmony_ci**Graphics**
87e41f4b71Sopenharmony_ci
88e41f4b71Sopenharmony_ci- Property animations with custom content are supported.
89e41f4b71Sopenharmony_ci
90e41f4b71Sopenharmony_ci- Transition animation is provided when a component appears or disappears.
91e41f4b71Sopenharmony_ci
92e41f4b71Sopenharmony_ci- The performance of the unified rendering mode is optimized, including IPC performance optimization (for example, transferring rendering resources in shared memory mode to reduce IPC traffic), component-level rendering optimization (only upper-layer components are rendered to reduce GPU rendering workload), and the use of hardware synthesizer.
93e41f4b71Sopenharmony_ci
94e41f4b71Sopenharmony_ci- SVG decoding is supported for image encoding and decoding. Parameters, such as the total number of frames and time interval, are parsed for .gif files.
95e41f4b71Sopenharmony_ci
96e41f4b71Sopenharmony_ci**Window**
97e41f4b71Sopenharmony_ci
98e41f4b71Sopenharmony_ci- Listening for the focus status of a window is supported. In earlier versions, you can listen for the focus status of the window stage, but not that of system windows and application child windows. Now, you can register **'windowEvent'** to listen for the focused, out-of-focus, and hidden states of a window.
99e41f4b71Sopenharmony_ci
100e41f4b71Sopenharmony_ci- The z-order of child windows can be adjusted to the top layer. In earlier versions, for multiple sub-windows created in an application, the system always displays the last window displayed at the top of all the other windows. In addition, a window that is last touched or clicked is displayed at the top by default. Now, by using the **aiseToAppTop** method of the window object, you can adjust any child window to the top of the child windows of the window stage.
101e41f4b71Sopenharmony_ci
102e41f4b71Sopenharmony_ci- The immersive implementation mode is reconstructed to optimize the animation effect when an application is opened, exited, or redirected. In earlier versions, when an application is opened, the size of the full-screen application window does not contain the area of the status bar and navigation bar by default, unless the application calls **setWindowLayoutFullScreen** or **setSystemBarEnable** to enable immersive display. If an immersive application calls either APIs when it is being opened, the opening animation is displayed abnormally. In the new version, regardless of whether immersive display is enabled, the full-screen application window includes the status bar and navigation bar. The status bar and navigation bar of non-immersive applications are avoided by restricting the application display area through ArkUI.
103e41f4b71Sopenharmony_ci
104e41f4b71Sopenharmony_ci- The **sourceMode** field is added to the **Screen** attribute so that the system application can determine whether the screen is used as the primary screen, mirror of the primary screen, or extended screen.
105e41f4b71Sopenharmony_ci
106e41f4b71Sopenharmony_ci- The **stopMirror** and **stopExpand** APIs are added to the **Screen** module for you to stop screen mirroring or the extended mode.
107e41f4b71Sopenharmony_ci
108e41f4b71Sopenharmony_ci
109e41f4b71Sopenharmony_ci### Multimedia 
110e41f4b71Sopenharmony_ci
111e41f4b71Sopenharmony_ci**Audio Capability**
112e41f4b71Sopenharmony_ci
113e41f4b71Sopenharmony_ci- You can use native APIs to implement audio playback and recording.
114e41f4b71Sopenharmony_ci
115e41f4b71Sopenharmony_ci- You can query and listen for the playback device with the highest priority.
116e41f4b71Sopenharmony_ci
117e41f4b71Sopenharmony_ci- You can adjust the alarm volume independently.
118e41f4b71Sopenharmony_ci
119e41f4b71Sopenharmony_ci- Audio focus is supported. When playing an audio, an application does not need to apply for the focus. Instead, the system automatically applies for the focus in the background and executes the focus policy (such as pause, fade-out, and fade-out recovery). The application only needs to register a listener to receive focus interruption events and update the status, for example, stopping the progress bar when the program is paused.
120e41f4b71Sopenharmony_ci
121e41f4b71Sopenharmony_ci**Playback Control Framework**
122e41f4b71Sopenharmony_ci
123e41f4b71Sopenharmony_ci- Custom media information can be transmitted between the media provider and controller. The application can extend the media content display mode. For example, the controller can require the provider to display songs and lyrics in a special form.
124e41f4b71Sopenharmony_ci
125e41f4b71Sopenharmony_ci- The framework capability of the media playlist is supported. The provider provides the playlist content, and the controller obtains the playlist content and selects any media content to play.
126e41f4b71Sopenharmony_ci
127e41f4b71Sopenharmony_ci- The framework capability of historical playback records is supported. The AVSession framework provides the list of historical playback applications, sorted by playback sequence (including the applications that are being played and the applications that have exited).
128e41f4b71Sopenharmony_ci
129e41f4b71Sopenharmony_ci- A transmission channel is provided for custom media events, for example, a transmission channel for lyric content. Through this channel, the provider provides the lyric content, and the controller obtains the lyric content.
130e41f4b71Sopenharmony_ci
131e41f4b71Sopenharmony_ci- A transmission channel is provided for custom control commands. Through this channel, the controller sends custom control commands to the provider, for example, to require the provider to display bullet comments.
132e41f4b71Sopenharmony_ci
133e41f4b71Sopenharmony_ci**Media Playback**
134e41f4b71Sopenharmony_ci
135e41f4b71Sopenharmony_ci- HLS-based live streaming and data source-based streaming playback are supported.
136e41f4b71Sopenharmony_ci
137e41f4b71Sopenharmony_ci- HDI-based H.265 video hardware decoding and playback are supported.
138e41f4b71Sopenharmony_ci
139e41f4b71Sopenharmony_ci- Audio playback attributes can be set. Users can select the output audio type when using the player.
140e41f4b71Sopenharmony_ci
141e41f4b71Sopenharmony_ci- Automatic rotation is supported for videos with rotation angles.
142e41f4b71Sopenharmony_ci
143e41f4b71Sopenharmony_ci**Camera**
144e41f4b71Sopenharmony_ci
145e41f4b71Sopenharmony_ci- The error codes and exception handling mechanism of ArkTS APIs are optimized so that you can use error codes to locate error information.
146e41f4b71Sopenharmony_ci
147e41f4b71Sopenharmony_ci- The front camera provides preview mirroring. By default, the preview image on the front camera is mirrored.
148e41f4b71Sopenharmony_ci
149e41f4b71Sopenharmony_ci- You can query the main device attributes of a distributed camera, including the device name and type.
150e41f4b71Sopenharmony_ci
151e41f4b71Sopenharmony_ci- More refined resolution query is supported. You can query the supported size, format, and frame rate by preview, photographing, and recording usage.
152e41f4b71Sopenharmony_ci
153e41f4b71Sopenharmony_ci- The camera framework provides a horizontal coordinate system [0, 0, 1, 1]. All coordinate-related operations are performed based on this coordinate system.
154e41f4b71Sopenharmony_ci
155e41f4b71Sopenharmony_ci- When different camera applications use the same physical camera, the camera framework use priority control and mutual exclusion policies.
156e41f4b71Sopenharmony_ci
157e41f4b71Sopenharmony_ci
158e41f4b71Sopenharmony_ci### Common Event and Notification
159e41f4b71Sopenharmony_ci
160e41f4b71Sopenharmony_ci- Applications can enable or disable static event subscription.
161e41f4b71Sopenharmony_ci
162e41f4b71Sopenharmony_ci- System applications can remove sticky events that have been published.
163e41f4b71Sopenharmony_ci
164e41f4b71Sopenharmony_ci- Applications can set badges that represent the number of notifications.
165e41f4b71Sopenharmony_ci
166e41f4b71Sopenharmony_ci
167e41f4b71Sopenharmony_ci### Communication & Connectivity
168e41f4b71Sopenharmony_ci
169e41f4b71Sopenharmony_ci- NFC eSE card emulation is supported.
170e41f4b71Sopenharmony_ci
171e41f4b71Sopenharmony_ci- A random MAC address can be used for connection to an AP through Wi-Fi.
172e41f4b71Sopenharmony_ci
173e41f4b71Sopenharmony_ci- A static IP address can be used for connection to an API through Wi-Fi.
174e41f4b71Sopenharmony_ci
175e41f4b71Sopenharmony_ci
176e41f4b71Sopenharmony_ci### Security
177e41f4b71Sopenharmony_ci
178e41f4b71Sopenharmony_ci- The following key management capabilities are provided:
179e41f4b71Sopenharmony_ci  - Deriving chip-level keys based on the GID
180e41f4b71Sopenharmony_ci  - Import of the Chinese cryptography key
181e41f4b71Sopenharmony_ci  - Fine-grained access control for secondary identity authentication
182e41f4b71Sopenharmony_ci  - NO HASH mode for key management signature
183e41f4b71Sopenharmony_ci  - Specifying key parameters during calculation
184e41f4b71Sopenharmony_ci
185e41f4b71Sopenharmony_ci- The security levels of other devices can be queried on a small-system device.
186e41f4b71Sopenharmony_ci
187e41f4b71Sopenharmony_ci- The RSA key signature digest and padding can be specified for signature and signature verification.
188e41f4b71Sopenharmony_ci
189e41f4b71Sopenharmony_ci
190e41f4b71Sopenharmony_ci### Ability Access Control
191e41f4b71Sopenharmony_ci
192e41f4b71Sopenharmony_ci- An application-specific permission management page can be opened.
193e41f4b71Sopenharmony_ci
194e41f4b71Sopenharmony_ci- Identity verification is provided for system applications.
195e41f4b71Sopenharmony_ci
196e41f4b71Sopenharmony_ci
197e41f4b71Sopenharmony_ci### ArkCompiler
198e41f4b71Sopenharmony_ci
199e41f4b71Sopenharmony_ci- The task pool supports priority setting and automatic scaling algorithms.
200e41f4b71Sopenharmony_ci
201e41f4b71Sopenharmony_ci- Hot reloading performance is optimized, and the multi-HAP scenario is supported.
202e41f4b71Sopenharmony_ci
203e41f4b71Sopenharmony_ci- Multi-instance debugging is supported.
204e41f4b71Sopenharmony_ci
205e41f4b71Sopenharmony_ci- CFG construction of abnormal functions is supported.
206e41f4b71Sopenharmony_ci
207e41f4b71Sopenharmony_ci- The C++ compilation toolchain is updated as follows:
208e41f4b71Sopenharmony_ci  - The Clang/LLVM toolchain is upgraded to 15.0.4.
209e41f4b71Sopenharmony_ci  - The libc version is upgraded to 1.2.3. The interface performance of the libc library is optimized.
210e41f4b71Sopenharmony_ci  - The sigaction function provides the sigchain function.
211e41f4b71Sopenharmony_ci
212e41f4b71Sopenharmony_ci
213e41f4b71Sopenharmony_ci### Kernel
214e41f4b71Sopenharmony_ci
215e41f4b71Sopenharmony_ci- The HCK framework is supported.
216e41f4b71Sopenharmony_ci
217e41f4b71Sopenharmony_ci- Hierarchical configuration is provided for the Linux kernel.
218e41f4b71Sopenharmony_ci
219e41f4b71Sopenharmony_ci
220e41f4b71Sopenharmony_ci### Driver
221e41f4b71Sopenharmony_ci
222e41f4b71Sopenharmony_ci- The display hardware synthesis driver is decoupled from the chip platform, VDIs are provided, and an independent hardware synthesis process is used.
223e41f4b71Sopenharmony_ci
224e41f4b71Sopenharmony_ci- The display driver process provides the dead event listener to improve system fault recovery.
225e41f4b71Sopenharmony_ci
226e41f4b71Sopenharmony_ci- Detection of hot swap events and obtaining of camera modules are provided for USB cameras.
227e41f4b71Sopenharmony_ci
228e41f4b71Sopenharmony_ci- The preview drive capability is provided for USB cameras.
229e41f4b71Sopenharmony_ci
230e41f4b71Sopenharmony_ci- APIs are provided for querying audio effect capabilities, obtaining audio effect descriptors, and creating and destroying audio effect instances.
231e41f4b71Sopenharmony_ci
232e41f4b71Sopenharmony_ci- The capabilities of control flows and data flows are enhanced for sensors and motions.
233e41f4b71Sopenharmony_ci
234e41f4b71Sopenharmony_ci
235e41f4b71Sopenharmony_ci### Power Supply
236e41f4b71Sopenharmony_ci
237e41f4b71Sopenharmony_ci- The capability of querying and reporting the system power level is enhanced. The power level can be customized.
238e41f4b71Sopenharmony_ci
239e41f4b71Sopenharmony_ci- Wired and wireless charging types, including standard charging, fast charging, and super fast charging, can be reported.
240e41f4b71Sopenharmony_ci
241e41f4b71Sopenharmony_ci- The management mechanism of the running lock is enhanced, and the system power status and level are specified.
242e41f4b71Sopenharmony_ci
243e41f4b71Sopenharmony_ci- You can set the wakeup source, which can be the power button, mouse, keyboard, touchpad, screen, stylus, or leather case.
244e41f4b71Sopenharmony_ci
245e41f4b71Sopenharmony_ci- You can set the sleep source, which can be the power button, leather case, or auto-sleep upon timeout.
246e41f4b71Sopenharmony_ci
247e41f4b71Sopenharmony_ci- Development guides are provided for the management of power, battery, display brightness, power consumption statistics, and thermal.
248e41f4b71Sopenharmony_ci
249e41f4b71Sopenharmony_ci
250e41f4b71Sopenharmony_ci### Pan-Sensor
251e41f4b71Sopenharmony_ci
252e41f4b71Sopenharmony_ci- You can query the preset vibration effects supported by a device and check whether a vibration effect (specified by **EffectID**) is supported by the device.
253e41f4b71Sopenharmony_ci
254e41f4b71Sopenharmony_ci- An API is provided for stopping the vibrator in any mode, so that you do not need to find the vibration mode in use in order to stop the vibrator.
255e41f4b71Sopenharmony_ci
256e41f4b71Sopenharmony_ci
257e41f4b71Sopenharmony_ci### Test Framework
258e41f4b71Sopenharmony_ci
259e41f4b71Sopenharmony_ci**Test Framework arkXtest**
260e41f4b71Sopenharmony_ci
261e41f4b71Sopenharmony_ci- The definition capability is provided in the automatic script test suite for more flexible script design.
262e41f4b71Sopenharmony_ci
263e41f4b71Sopenharmony_ci- The object-level assertion capability is provided for test scripts.
264e41f4b71Sopenharmony_ci
265e41f4b71Sopenharmony_ci- The simulation of Chinese input, mouse operations, and area screenshots is provided.
266e41f4b71Sopenharmony_ci
267e41f4b71Sopenharmony_ci**Self-Test Execution Framework developer_test**
268e41f4b71Sopenharmony_ci
269e41f4b71Sopenharmony_ci- Test task management is improved. Now you can execute historical tasks by task ID.
270e41f4b71Sopenharmony_ci
271e41f4b71Sopenharmony_ci- The precise test capability is provided. Now you can filter and execute test cases at the subsystem, component, test suite, and test case levels.
272e41f4b71Sopenharmony_ci
273e41f4b71Sopenharmony_ci- You can execute HATS test cases.
274e41f4b71Sopenharmony_ci
275e41f4b71Sopenharmony_ci**Stability Test Tool wukong**
276e41f4b71Sopenharmony_ci
277e41f4b71Sopenharmony_ciRotation event injection is supported.
278e41f4b71Sopenharmony_ci
279e41f4b71Sopenharmony_ci**Performance Development Tool smartperf_host**
280e41f4b71Sopenharmony_ci
281e41f4b71Sopenharmony_ci- Frame timeline capture and display capabilities are provided for you to capture and display frame freezing and frame loss data.
282e41f4b71Sopenharmony_ci
283e41f4b71Sopenharmony_ci- Scheduling analysis capture and display capabilities are provided for you to capture and display data related to CPU scheduling analysis and thread scheduling analysis.
284e41f4b71Sopenharmony_ci
285e41f4b71Sopenharmony_ci- Call stack visualization is used to display the symbolic results of .so files compiled. The proportions of functions in different libraries are displayed in pie charts.
286e41f4b71Sopenharmony_ci
287e41f4b71Sopenharmony_ci
288e41f4b71Sopenharmony_ci## Version Mapping
289e41f4b71Sopenharmony_ci
290e41f4b71Sopenharmony_ci**Table 1** Version mapping of software and tools
291e41f4b71Sopenharmony_ci
292e41f4b71Sopenharmony_ci| Software/Tool| Version| Remarks|
293e41f4b71Sopenharmony_ci| -------- | -------- | -------- |
294e41f4b71Sopenharmony_ci| OpenHarmony | 4.0 Beta1| NA |
295e41f4b71Sopenharmony_ci| Public SDK | Ohos_sdk_public 4.0.7.5 (API Version 10 Beta1)| 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.|
296e41f4b71Sopenharmony_ci| (Optional) HUAWEI DevEco Studio| 4.0 Beta1| Recommended for developing OpenHarmony applications<br/>How to Obtain<br><br>SHA-256 checksum: 7d2885b052afb92af8eb2d28ce2704515cd5fdbe7dd01f874bcdd876e11b890a<br><br>SHA-256 checksum: ce2582eac70e8e15abcded00065ae0047f3815fe2b0c90d56c0bdbc5561a51c3<br><br>SHA-256 checksum: 5da2baad7475857a1c59315663b7dcdf85219ffd652d5a7be160c8d2225358a7 |
297e41f4b71Sopenharmony_ci| (Optional) HUAWEI DevEco Device Tool| 3.1 Release| Recommended for developing OpenHarmony smart devices<br/>How to Obtain<br>[Click here to go to the download page](https://device.harmonyos.com/cn/develop/ide#download). |
298e41f4b71Sopenharmony_ci
299e41f4b71Sopenharmony_ci
300e41f4b71Sopenharmony_ci## Source Code Acquisition
301e41f4b71Sopenharmony_ci
302e41f4b71Sopenharmony_ci
303e41f4b71Sopenharmony_ci### Prerequisites
304e41f4b71Sopenharmony_ci
305e41f4b71Sopenharmony_ci1. Register your account with Gitee.
306e41f4b71Sopenharmony_ci
307e41f4b71Sopenharmony_ci2. Register an SSH public key for access to Gitee.
308e41f4b71Sopenharmony_ci
309e41f4b71Sopenharmony_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.
310e41f4b71Sopenharmony_ci  
311e41f4b71Sopenharmony_ci   ```
312e41f4b71Sopenharmony_ci   git config --global user.name "yourname"
313e41f4b71Sopenharmony_ci   git config --global user.email "your-email-address"
314e41f4b71Sopenharmony_ci   git config --global credential.helper store
315e41f4b71Sopenharmony_ci   ```
316e41f4b71Sopenharmony_ci
317e41f4b71Sopenharmony_ci4. Run the following commands to install the **repo** tool:
318e41f4b71Sopenharmony_ci  
319e41f4b71Sopenharmony_ci   ```
320e41f4b71Sopenharmony_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.
321e41f4b71Sopenharmony_ci   pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
322e41f4b71Sopenharmony_ci   ```
323e41f4b71Sopenharmony_ci
324e41f4b71Sopenharmony_ci
325e41f4b71Sopenharmony_ci### Acquiring Source Code Using the repo Tool
326e41f4b71Sopenharmony_ci
327e41f4b71Sopenharmony_ci**Method 1 (recommended)**
328e41f4b71Sopenharmony_ci
329e41f4b71Sopenharmony_ciUse the **repo** tool to download the source code over SSH. (You must have an SSH public key for access to Gitee.)
330e41f4b71Sopenharmony_ci
331e41f4b71Sopenharmony_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:
332e41f4b71Sopenharmony_ci   ```
333e41f4b71Sopenharmony_ci   repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.0-Beta1 --no-repo-verify
334e41f4b71Sopenharmony_ci   repo sync -c
335e41f4b71Sopenharmony_ci   repo forall -c 'git lfs pull'
336e41f4b71Sopenharmony_ci   ```
337e41f4b71Sopenharmony_ci   
338e41f4b71Sopenharmony_ci- Obtain the source code from the version tag, which is the same as that released with the version.
339e41f4b71Sopenharmony_ci   ```
340e41f4b71Sopenharmony_ci   repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v4.0-Beta1 --no-repo-verify
341e41f4b71Sopenharmony_ci   repo sync -c
342e41f4b71Sopenharmony_ci   repo forall -c 'git lfs pull'
343e41f4b71Sopenharmony_ci   ```
344e41f4b71Sopenharmony_ci
345e41f4b71Sopenharmony_ci**Method 2**
346e41f4b71Sopenharmony_ci
347e41f4b71Sopenharmony_ciUse the **repo** tool to download the source code over HTTPS.
348e41f4b71Sopenharmony_ci
349e41f4b71Sopenharmony_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:
350e41f4b71Sopenharmony_ci   ```
351e41f4b71Sopenharmony_ci   repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.0-Beta1 --no-repo-verify
352e41f4b71Sopenharmony_ci   repo sync -c
353e41f4b71Sopenharmony_ci   repo forall -c 'git lfs pull'
354e41f4b71Sopenharmony_ci   ```
355e41f4b71Sopenharmony_ci   
356e41f4b71Sopenharmony_ci- Obtain the source code from the version tag, which is the same as that released with the version.
357e41f4b71Sopenharmony_ci   ```
358e41f4b71Sopenharmony_ci   repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.0-Beta1 --no-repo-verify
359e41f4b71Sopenharmony_ci   repo sync -c
360e41f4b71Sopenharmony_ci   repo forall -c 'git lfs pull'
361e41f4b71Sopenharmony_ci   ```
362e41f4b71Sopenharmony_ci
363e41f4b71Sopenharmony_ci
364e41f4b71Sopenharmony_ci### Acquiring Source Code from Mirrors
365e41f4b71Sopenharmony_ci
366e41f4b71Sopenharmony_ci**Table 2** Mirrors for acquiring source code
367e41f4b71Sopenharmony_ci
368e41f4b71Sopenharmony_ci| Source Code                               | Version| Mirror                                                | SHA-256 Checksum                                            | Software Package Size|
369e41f4b71Sopenharmony_ci| --------------------------------------- | ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- |
370e41f4b71Sopenharmony_ci| Full code base (for mini, small, and standard systems)       | 4.0 Beta1    | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/code-v4.0-Beta1.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/code-v4.0-Beta1.tar.gz.sha256) | 26.2 GB |
371e41f4b71Sopenharmony_ci| Hi3861 solution (binary)       | 4.0 Beta1    | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/hispark_pegasus.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/hispark_pegasus.tar.gz.sha256) | 25.1 MB |
372e41f4b71Sopenharmony_ci| Hi3516 solution-LiteOS (binary)| 4.0 Beta1    | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/hispark_taurus_LiteOS.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/hispark_taurus_LiteOS.tar.gz.sha256) | 287.6 MB |
373e41f4b71Sopenharmony_ci| Hi3516 solution-Linux (binary) | 4.0 Beta1    | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/hispark_taurus_Linux.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/hispark_taurus_Linux.tar.gz.sha256) | 186.4 MB |
374e41f4b71Sopenharmony_ci| RK3568 standard system solution (binary)       | 4.0 Beta1    | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/dayu200_standard_arm32.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/dayu200_standard_arm32.tar.gz.sha256) | 4.5 GB |
375e41f4b71Sopenharmony_ci| Public SDK package for the standard system (macOS)            | 4.0.7.5      | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/ohos-sdk-mac-public-20230605.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/ohos-sdk-mac-public-20230605.tar.gz.sha256) | 718.2 MB |
376e41f4b71Sopenharmony_ci| Public SDK package for the standard system (macOS-M1)            | 4.0.7.5      | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/L2-SDK-MAC-M1-PUBLIC-20230605.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/L2-SDK-MAC-M1-PUBLIC-20230605.tar.gz.sha256) | 673.2 MB |
377e41f4b71Sopenharmony_ci| Public SDK package for the standard system (Windows\Linux)  | 4.0.7.5      | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/ohos-sdk-windows_linux-public-20230605.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Beta1/ohos-sdk-windows_linux-public-20230605.tar.gz.sha256) | 1.8 GB |
378e41f4b71Sopenharmony_ci
379e41f4b71Sopenharmony_ci## What's New
380e41f4b71Sopenharmony_ci
381e41f4b71Sopenharmony_ciThis version has the following updates to OpenHarmony 3.2 Release.
382e41f4b71Sopenharmony_ci
383e41f4b71Sopenharmony_ci### APIs
384e41f4b71Sopenharmony_ci
385e41f4b71Sopenharmony_ciFor details about the API changes over OpenHarmony 3.2 Release, see [API Differences](api-diff/v4.0-beta1/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](changelogs/v4.0-beta1/Readme-EN.md).
386e41f4b71Sopenharmony_ci
387e41f4b71Sopenharmony_ci
388e41f4b71Sopenharmony_ci### Feature Updates
389e41f4b71Sopenharmony_ci
390e41f4b71Sopenharmony_ci[Version Description](#version-description)
391e41f4b71Sopenharmony_ci
392e41f4b71Sopenharmony_ci### Chip and Development Board Adaptation
393e41f4b71Sopenharmony_ci
394e41f4b71Sopenharmony_ciFor details about the adaptation status, see [SIG-Devboard](https://gitee.com/openharmony/community/blob/master/sig/sig_devboard/sig_devboard.md).
395e41f4b71Sopenharmony_ci
396e41f4b71Sopenharmony_ci
397e41f4b71Sopenharmony_ci### Samples
398e41f4b71Sopenharmony_ci
399e41f4b71Sopenharmony_ci**Table 3** New samples
400e41f4b71Sopenharmony_ci
401e41f4b71Sopenharmony_ci| Subsystem| Name| Introduction| Programming Language|
402e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- |
403e41f4b71Sopenharmony_ci| Multimedia | [AVSession - Controller](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta1/code/BasicFeature/Media/AVSession/MediaController) (for system applications only)| This sample shows the features of MediaController. It uses \@ohos.multimedia.avsession to implement custom information exchange between the provider and controller.| ArkTS |
404e41f4b71Sopenharmony_ci| Multimedia | [AVSession - Provider](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta1/code/BasicFeature/Media/AVSession/MediaProvider)| This sample shows the features of MediaProvider. It uses \@ohos.multimedia.avsession to implement custom information exchange between the provider and controller.| ArkTS |
405e41f4b71Sopenharmony_ci| Multimedia | [Audio Management](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.0-Beta1/code/BasicFeature/Media/Audio)| This sample demonstrates audio-related features. It uses \@ohos.multimedia.audio to switch and query the audio device and implement audio interruption.| ArkTS |
406e41f4b71Sopenharmony_ci
407e41f4b71Sopenharmony_ciFor more information, visit [Samples](https://gitee.com/openharmony/applications_app_samples).
408e41f4b71Sopenharmony_ci
409e41f4b71Sopenharmony_ci
410e41f4b71Sopenharmony_ci## Resolved Issues
411e41f4b71Sopenharmony_ci
412e41f4b71Sopenharmony_ci**Table 4** Resolved issues
413e41f4b71Sopenharmony_ci
414e41f4b71Sopenharmony_ci| Issue No.| Description|
415e41f4b71Sopenharmony_ci| -------- | -------- |
416e41f4b71Sopenharmony_ci| I70PRZ | The avoid area for non-immersive UI is invalid.|
417e41f4b71Sopenharmony_ci| I72F9P | There is a high probability that the IPC_2_29472 thread in the ohos.samples.distributedcalc process causes a C++ crash in libwindow_native_kit.z.so.|
418e41f4b71Sopenharmony_ci| I6W7ZX | Non-immersive windows penetrate the home screen.|
419e41f4b71Sopenharmony_ci| I76QTN | There is a high probability that the IPC_0_18272 thread in the ohos.samples.distributedmusicplayer process causes a C++ crash in libruntime.z.so.|
420e41f4b71Sopenharmony_ci| I71TCX | When a call is made without a SIM card, the call is not automatically disconnected after the CallUI is started.|
421e41f4b71Sopenharmony_ci| I77PZK | There is a high probability that the RSRenderThread thread in the com.ohos.systemui process causes a C++ crash in libmali-bifrost-g52-g2p0-ohos.so.|
422e41f4b71Sopenharmony_ci| I73CUZ | Competition exists in prepare_to_wait_event, leading to UAF.|
423e41f4b71Sopenharmony_ci| I770WV | Preview images cannot be backed up.|
424e41f4b71Sopenharmony_ci| I6ZDHJ | If **undefined** is passed in for an optional parameter of a globalization API, the default value is not used.|
425e41f4b71Sopenharmony_ci| I71KZA | If **null** is passed in for an optional parameter of a globalization API, the default value is not used.|
426e41f4b71Sopenharmony_ci| I6YT0U | There is a high probability that the libeventhandler.z.so stack encounters app freezing in the com.ohos.launcher process.|
427e41f4b71Sopenharmony_ci| I6YSE5 | There is a high probability that the com.ohos.photos thread in the com.ohos.photos process causes a C++ crash in librender_service_base.z.so.|
428e41f4b71Sopenharmony_ci| I77AUK | Calling **connectAbility** fails in distributed scheduling scenarios.|
429e41f4b71Sopenharmony_ci| I78J10 | The home screen does not respond when a large folder is dragged repeatedly.|
430e41f4b71Sopenharmony_ci| I7975U | When a user opens an image in a gallery application and returns to the previous page, a blank page is displayed.|
431e41f4b71Sopenharmony_ci
432e41f4b71Sopenharmony_ci
433e41f4b71Sopenharmony_ci## Known Issues
434e41f4b71Sopenharmony_ci
435e41f4b71Sopenharmony_ci**Table 5** Known issues
436e41f4b71Sopenharmony_ci
437e41f4b71Sopenharmony_ci| Issue No.| Description| Impact| To Be Resolved By|
438e41f4b71Sopenharmony_ci| -------- | -------- | -------- | -------- |
439e41f4b71Sopenharmony_ci| I78CH7 | Memory leakage occurs in libace.z.so when applications are repeatedly added to or removed from the dock bar.| Each time a widget is moved to a valid area, 99 KB memory of the ArkUI module leaks. This operation scenario is uncommon, and the leak issue disappears after the application is restarted. The impact is controllable.| 2023-07-15|
440e41f4b71Sopenharmony_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.| Each time the user touches an image folder in Gallery to browse images in grid form and then exits, 19 KB memory of the ArkUI module leaks. When the user touches Back on the application, the leak issue disappears. The impact is controllable.| 2023-07-15|
441e41f4b71Sopenharmony_ci| I78C9W | Memory leakage occurs in libace.z.so when a user touches an image in Gallery to maximize it and then exits repeatedly.| Each time the user touches an image in Gallery to maximize it and then exits, 10 KB memory of the ArkUI module leaks. When the user touches Back on the application, the leak issue disappears. The impact is controllable.| 2023-07-15|
442e41f4b71Sopenharmony_ci| I6U4ZT | The first photo in Gallery cannot be opened when the power supply is disconnected immediately after the photo is taken.| This problem occurs only in the immediate power-off scenario. A new set of mediaLibrary APIs needs to be adapted. The impact is controllable.| 2023-06-30|
443e41f4b71Sopenharmony_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.| This issue neither occurs in core applications nor affects ARP indicators. The impact is controllable.| 2023-06-30|
444e41f4b71Sopenharmony_ci| I79P3K | There is a low probability that the onDestroy stack encounters a JS crash in the com.ohos.callui process.| The application will be reinstalled after the JS crash. This issue does not affect the use of the Call application.| 2023-06-30|
445e41f4b71Sopenharmony_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.| The application will be reinstalled after the JS crash. This issue does not affect the use of the Note application.| 2023-06-30|
446