1# OpenHarmony 4.1 Beta1
2
3
4## Version Description
5
6OpenHarmony 4.1 Beta1 further enhances the standard system capabilities. ArkUI improves component capabilities and effects. The graphics subsystem and window manager subsystem enhance animation and window adaptation. The application framework provides enhanced ExtensionAbilities. DSoftBus enhances its connection capability and specifications. The multimedia subsystem improves audio and camera framework capabilities. The test framework enhances the capabilities of multiple tools.
7
8OpenHarmony 4.1 Beta1 provides the first batch of API version 11 interfaces.
9
10
11### Application Framework
12
13- The AutoFill framework is provided, which enables system applications to implement the password safe feature and provide password-free login for users.
14
15- The **resFile** directory can be obtained through context.
16
17- The UIExtensionAbility capability is enhanced. The **SetReceiveDataForResultCallback** API and its synchronous callback are provided. The **StartAsCaller** API is provided. Multi-instances are supported.
18
19- Batch URI authorization is supported during the launch of the UIAbility and UIExtensionAbility.
20
21- Applications can customize system environment parameters and choose whether to update the display effect according to the system configuration.
22
23- The InsightIntent framework capability is supported. The UIAbility, UIExtensionAbility, and ServiceExtensionAbility can bind with an InsightIntent.
24
25- Import of .abc files is supported.
26
27- The widget capability is enhanced. The on-click callback, redirection to deep-link upon click, query of unused widgets, single-color mode for lock-screen widgets, and status saving and restoration are supported, and new lock-screen widget specifications are provided.
28
29
30### ArkUI
31
32NodeContainer is added to enhance custom drawing.
33
34The text and container components are enhanced as follows:
35
36- The **\<TextInput>** and **\<Text>** components support character-based truncation.
37
38- The **\<TextArea>** component supports custom behavior of the **Enter** key.
39
40- The **\<TextInput>** and **\<TextArea>** components support obtaining of the caret position.
41
42- Intelligent word segmentation is supported. The logic for inserting the caret based on the word segmentation result is added, and the word segmentation algorithm is replaced.
43
44- The **\<ImageSpan>** component supports custom long-press menu events as well as component indentation and alignment.
45
46- The **\<Swiper>** component supports nested scrolling.
47
48- Through **ScrollToIndex**, the **\<List>** component can specify the target list item to scroll to in the list item group.
49
50- The **\<Grid>** and **\<WaterFlow>** components support scrolling to the target list item, with a transition animation displayed during the scrolling.
51
52- A bounce effect can be enabled for scrollable components when there is less than one screen of content.
53
54The AI capabilities of the components are enhanced as follows:
55
56- The **\<TextInput>** component and its related components support visual input.
57
58- The **\<Text>**, **\<RichEditor>**, and related components support text entity recognition.
59
60Status management is enhanced as follows:
61
62- The undefined, null, and union types are supported.
63
64- The **\<ListItem>** component can update methods in the **ForEach** and **LazyForEach** attributes.
65
66- The **\@LocalStorageLink** and **\@LocalStorageProp** decorators are not updated when they are not activated.
67
68
69### Bundle Management
70
71- Unified access to basic resources is supported. You can query application icons and names.
72
73- The quick fix capability can be used during application debugging.
74
75- Driver applications can be installed, updated, and uninstalled.
76
77- Menus can be configured and queried.
78
79- Signature transfer is supported. The app-identifier in the signing certificate is used as the unique identifier of an application.
80
81- The validity of .abc files can be verified. Only .abc files that pass the verification can run on a restricted VM.
82
83- Connection to the unified file preview framework is provided. Files can be opened using this framework.
84
85- A package scanning tool is provided to scan for large files and duplicate files, and collect statistics on the size and proportion by file type.
86
87- The packing tool can pack files with the specified version number.
88
89
90### DSoftBus
91
92- The connection capability and specifications are further enhanced. For example, P2Pv2 is supported; passive release based on service policies is supported; connection reliability confirmation is added for link selection; resource awareness and dynamic connection parameter setting are supported.
93
94- The IPC reference technology query interface and timestamp query interface are supported to enhance maintenance and debugging.
95
96
97### Distributed Data Management
98
99- An RDB can be created in the subdirectory of the specified application sandbox path, which further improves the flexibility of data usage while securing application data.
100
101- Standard data definitions and descriptors of the Unified Data Management Framework (UDMF), query of standard data types, data access authorization and management, and application-defined data types are supported.
102
103- Cross-device synchronization is not allowed for data without security levels.
104
105- The preferences data supports modification, query, and persistence of data streams in Uint8Array format.
106
107
108### Distributed Hardware
109
110- Key status management in special distributed input scenarios is optimized.
111
112- Service reliability is enhanced for distributed camera, audio, display, and input scenarios.
113
114
115### File Management
116
117- System applications, such as Gallery, support group query by year, month, and day.
118
119- System applications, such as Gallery, support reversion of file edits, file hiding, and private albums.
120
121- The thumbnail access performance of Gallery in sliding scenarios is improved by more than 20%.
122
123- The application access framework is enhanced, and APIs such as readline() and lseek() are supported.
124
125
126### Graphics and Window Manager
127
128**Graphics**
129
130- HDR Vivid videos can be rendered and displayed.
131
132- The graphics NDK capability is enhanced. The **OnFrameAvailableListener** callback is provided for native Image APIs. Primary colors can be set for the native window. The OpenGL extension APIs are supported.
133
134- You can specify a window not to be recorded during screen recording. A privacy window can be recorded as a pure black image.
135
136- The system resolution can be adjusted.
137
138- APIs are provided to adjust the system frame rate based on the animation and adjust the application frame rate.
139
140- The animation capability is enhanced. The cut-out and rounded screen are supported, and navigation transition animation supports element sharing.
141
142- The graphics rendering pipeline supports the Vulkan backend.
143
144- The native buffer APIs support the metadata setting to adapt to the transmission of dynamic metadata with frames in HDR video scenarios.
145
146**Window Manager**
147
148- The global window resolution can be adjusted. Notifications about the window blocking status and window interactive/non-interactive status can be sent. The window mode change can be listened for. The watermark capability is supported.
149
150- APIs are provided to set the initial size and position of a window, zoom in, zoom out, stretch, and drag a subwindow, minimize or hide a window, query the minimum and maximum sizes supported by a window, drag a window to the top, set a window not be blocked by a floating window, and query the size of the rectangle that can be drawn in the window.
151
152- The window focus can be shifted to a target window in the same application.
153
154- Window events can be distributed on multiple screens, multi-modal pop-up windows are supported, click events outside the window can be listened for, and the input method area can be excluded from the listening.
155
156- The animation of switching the window form, multi-task linkage animation of the soft keyboard, and animations of entering and exiting the input method soft keyboard are supported.
157
158- The multi-window feature supports PiP and allows users to exchange the positions of split-screen windows.
159
160- Basic screen management APIs are provided to power on or off a screen and query available areas on the screen.
161
162- APIs are provided for setting the color space, HDR, format, and window filters of the virtual screen, updating the virtual screen size, and disabling screen capture and mirroring of the virtual screen.
163
164- The multi-screen management framework provides APIs for setting the window display, migrating windows between screens, and displaying windows from different sources.
165
166
167### Multimedia
168
169A batch of device-oriented HDI interfaces is provided, including interfaces for the camera framework and audio.
170
171The camera framework and applications can smoothly transition from the current zoom value to the target zoom value.
172
173APIs are provided to turn on or off the flashlight, query the flashlight status, and obtain flashlight status changes.
174
175The video stabilization mode is supported to ensure image stability during video recording.
176
177The camera supports the QR code scan mode.
178
179The bottom layer can identify the system status (such as the falling status) so that the relatively fragile components (such as the aperture) of the camera can be turned off when the device is falling down.
180
181Audio calls on cellular networks can be recorded.
182
183The audio-haptic feature is supported. Vibrator HDI interfaces are provided to query vibration information, set the vibration type and delay, and deliver HD vibration data.
184
185
186### Common Event and Notification
187
188- Emitter supports subscription by string type. The number of subscribers can be obtained. The serializable data type is supported. The maximum data size is increased to 16 MB.
189
190- An application can subscribe to custom events sent by itself.
191
192- System applications can create system live view notifications.
193
194- A reminder can be set to repeat every week.
195
196- Reminders of the same group in the same schedule can be canceled by group ID.
197
198- The notification button supports automatic language switching. When a button resource ID is set, the button title in the notification can be automatically switched to the system language.
199
200
201### Connectivity
202
203- NFC supports HCE card emulation and allows users to set the default payment application.
204
205- BLE broadcast can be dynamically enabled or disabled. MDM applications can call Bluetooth APIs to forcibly disable Bluetooth and restrict Bluetooth enabling. APIs are also provided to check whether a device is discoverable and obtain the Bluetooth pairing status based on the device address.
206
207- Wi-Fi APIs are provided to check whether the currently connected hotspot is a phone hotspot, set a device as a hotspot, and add a STA device to the blocklist.
208
209
210### Location Service
211
212- The **sendCommand** API can be used to delete auxiliary data, thereby providing support for cold and warm start tests.
213
214- APIs are provided for geocoding, reverse geocoding, and geocoding service status query.
215
216- MDM applications can call the location service APIs to forcibly enable or disable the location service.
217
218
219### Telephony Service
220
221- SMS messages can be added, deleted, modified, and queried by SIM card.
222
223- Roaming admission requirements are supported. The names of the visited network and home network can be displayed. Special processing of emergency calls in roaming scenarios is supported.
224
225- APIs are provided to receive cell broadcast messages reported by operators.
226
227- Call interception is supported. The call interception framework is provided to support three-party access. A number blocklist is used.
228
229- Management of multiple time zone sources is supported. For a country with multiple time zones, the time zone can be updated based on the NITZ, geographical location, and priority. For a country with a single time zone, the time zone can be updated based on the NITZ, country code, geographical location, and priority.
230
231- Other mobile communication-related capabilities and specifications are improved as follows:
232  - SIM cards of China Broadnet (a carrier in China) are supported.
233  - TDM/Dual SIM Dual Active (DSDA) is supported. In dual-SIM scenarios, when there is a new call to one SIM card while the other SIM card is engaged in a call, the ongoing call is automatically placed on hold and the phone rings. When one SIM card is engaged in a call, you can make a new call from the other SIM card.
234  - Dual SIM Dual Standby (DSDS) is supported. In dual-SIM scenarios, when there is a new call to one SIM card while the other SIM card is engaged in a call, the ongoing call automatically ends and the phone rings.
235  - APN matching based on SPNs, IMSI prefixes, GIDs, or ICCIDs is provided for virtual cards.
236  - The network search performance is improved when the phone is powered on and the airplane mode is disabled.
237
238
239### Network Management
240
241- LAN route management is supported, and you can configure attributes such as the IP address of the network adapter, route, and static ARP table.
242
243- In addition to the complete UDP socket capabilities, the following capabilities are supported: joining or leaving a group, setting and obtaining the TTL, and sending data.
244
245- Applications can obtain socket-based traffic statistics through the network management APIs.
246
247- APIs are provided to read the configuration file of an application-level network proxy.
248
249- The network connectivity detection mechanism is optimized, including the detection period and detection protocol. The detection state machine is reconstructed.
250
251
252### Power Supply
253
254**Power Management**
255
256- You can set the operation of pressing the power button or closing the cover to make your device sleep or turn off the screen.
257
258- When a device is woken up, the wakeup reason can be obtained by reading a specific system node, and the corresponding action, such as power-off, can be performed based on the wakeup reason.
259
260- The processing of screen on/off behavior such as pressing the power button in multi-device collaboration mode is supported. Hardware input and software injection can be distinguished and processed differently.
261
262- APIs are provided to control the power status and process related states when multi-device collaboration is successful or disconnected.
263
264- APIs are provided to support the display status and related state processing when the screen is turned off but the image output is not stopped.
265
266- The LCD is not powered off when the AOD is configured and the device screen is locked.
267
268- Normal shutdown can be triggered in low-voltage scenarios.
269
270- You can press and hold the power button to trigger vibration of the power-off dialog box. You can also disable vibration on specific devices.
271
272- The device vibrates when it starts charging. You can disable vibration on specific devices.
273
274**Thermal Management**
275
276- New scenarios and status can be customized for temperature control decision-making.
277
278- The thermal escape level is added. A notification is sent when the escape temperature is reached.
279
280- Custom temperature control actions can be configured for drive nodes. When temperature control is triggered, the action value is written to the corresponding node.
281
282**Other**
283
284- Drivers can report events and trigger actions.
285
286- An application can query and report information about the CPU lock it holds. The CPU lock status can be reported through the callback of the power service APIs or HiSysEvent, and can be queried through the APIs. The NAP service can subscribe to the preceding information.
287
288
289### Security
290
291- KMS supports the access control mode of **valid when a password is set**.
292
293- The crypto framework supports the PBKDF2 algorithm, optional AAD parameters for symmetric keys, variable-length key HMAC, DH/25519 algorithm, Brainpool curve, SM2 key parsing and parameter processing, and curve name-based key generation.
294
295- Private certificate credential management APIs are provided to specify the signature padding mode and hash algorithm.
296
297
298### User IAM
299
300- Redundant user identity credentials can be deleted.
301
302- Haptic feedbacks are provided upon authentication failure.
303
304- The fingerprint feature can be disabled.
305
306
307### ArkCompiler
308
309- SmartGC supports 90-frame scenarios and GC control in performance-sensitive scenarios.
310
311- TaskPool supports thread interruption and exit, precise import, and default transfer mechanism.
312
313- C++ exception capture is supported.
314
315
316### Kernel
317
318The ko module can be independently built outside the kernel tree, and an independent ko partition chip_ckm is provided.
319
320
321### Multimodal Input
322
323- APIs are provided to customize the pointer interaction coordinates and update the pointer position.
324
325- APIs are provided for processing key press events by priority.
326
327- Touch target detection is supported for the mouse pointer.
328
329- Recognition of the two-finger pinch gesture and rotation gesture is supported.
330
331- Recognition of the three-finger tap gesture is supported.
332
333- APIs are provided for management and listening of global combination keys.
334
335- Users can double-tap the power button to start a specified ability.
336
337- The UX attributes (size and color, currently) of the mouse pointer can be set.
338
339- The animation style of the mouse pointer can be set.
340
341
342### Pan-Sensor
343
344- The sensor precision can be reported.
345
346- Native APIs are provided for sensor and haptic control.
347
348- The device folding status and spatial audio status can be reported.
349
350- Dynamic and static adjustment of vibration is supported.
351
352- A haptic control switch is provided.
353
354
355### Test Framework
356
357**Automated Test Framework arkXtest**
358
359- Simulation of UI operations, such as scrolling the mouse wheel and double-clicking the left or right mouse button, is supported.
360
361- Using shell commands to simulate UI operations, such as click, scroll, double-click, and text input, is supported.
362
363- The efficiency of searching for component information in the UI test framework is improved.
364
365**Test Scheduling Framework xDevice**
366
367- The capability of automatically retesting failed items during a single test is provided. The number of retest times can be configured, and only one test report is generated.
368
369- The test report is optimized by unifying the test report header information for mini-system, small-system, and standard-system devices.
370
371- A remote download address can be configured when the test resources are unavailable on the local host.
372
373**Stability Test Tool WuKong**
374
375- The capability of configuring pages and ability pages is added. Page shielding can be configured during the test to speed up test.
376
377- The single-scenario pressure test capability is provided. Operation events can be cyclically injected to a component, and the number of cycles can be configured.
378
379**Performance Development Tool SmartPerf Host**
380
381- Collection, analysis, and display of HiLog and HiSysEvent are supported.
382
383- The hiperf event count can be analyzed and displayed.
384
385- Trace capture can be dynamically paused and debugged.
386
387- The thread wakeup relationship tree can be quickly traced.
388
389**Performance Test Tool SmartPerf Device**
390
391- The capability of capturing memory and CPU data is optimized.
392
393- Commands are provided for starting or stopping collection.
394
395- The capability of periodically obtaining screenshots, resolutions, and refresh rates is provided.
396
397
398### DFX
399
400- The speed and accuracy of identifying power consumption exceptions are improved. Richer power consumption information is provided for main components to facilitate fault locating. In-depth analysis is supported for component-specific power consumption exceptions caused by applications.
401
402- The system memory details collection plug-in is supported to collect ION, GPU/Skia, and purgeable memory information (hidumper hiprofiler).
403
404- Time consumption analysis in animation scenarios is supported. You can collect information about animation settings (start, exit, screen switch, transition, and sliding), animation start and end dotting, and associated graphics frames.
405
406
407### Upload/Download
408
409- The response body that exceeds the IPC limit can be returned in upload scenarios.
410
411- File segments can be uploaded.
412
413- The background task progress can be updated, and a callback is provided for status changes.
414
415- The status change event of an upload or download task can be reported.
416
417- An upload or download task can be continued after an application or a background Service ability is restarted.
418
419- Priority is supported. High-priority tasks of the high-priority application (application that has focus) are executed first and occupy more network bandwidth.
420
421
422### Input Method Framework
423
424- The **inputMethodList** module is provided.
425
426- The input method application proxy is supported.
427
428- Visual input is supported for the input method framework.
429
430- APIs are provided for querying the display status of the input method keyboard window.
431
432- The system security keyboard is supported.
433
434- The security mode is supported.
435
436
437### Time and Time Zone
438
439- User awareness configuration is provided.
440
441- The NTP server can be customized.
442
443
444### AI
445
446- Native AI training interfaces on the device side are provided.
447
448- ArkTS APIs are provided for configuring the NNRt backend.
449
450
451### Web
452
453- WebRTC capabilities are optimized to support meeting participation, sharing, speaking, and camera capabilities.
454
455- APIs are provided for obtaining W3C time zone and sensing the virtual keyboard.
456
457- The CSS cursor style is optimized.
458
459- The over-scrolling effect is provided for web pages.
460
461- Injection scripts can be executed when a document is started.
462
463- PostURL is supported.
464
465- Nested scrolling is supported.
466
467- AVCodec hardware decoding can be used for videos played on web pages.
468
469- WebCookieManager can be used independently from the **\<Web>** component.
470
471- The **\<Web>** component supports interconnection with the accessibility feature.
472
473- The **\<Web>** component kernel is upgraded from Chromium 99 to Chromium 114.
474
475
476## Version Mapping
477
478**Table 1** Version mapping of software and tools
479
480| Software/Tool| Version| Remarks|
481| -------- | -------- | -------- |
482| OpenHarmony | 4.1 Beta1 | NA |
483| Public SDK | Ohos_sdk_public 4.1.5.3 (API Version 11 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.|
484| (Optional) HUAWEI DevEco Studio| 4.1 Beta1 | Recommended for developing OpenHarmony applications<br>*To be provided*|
485| (Optional) HUAWEI DevEco Device Tool| 4.0 Release | Recommended for developing OpenHarmony smart devices<br>[Click here](https://device.harmonyos.com/cn/develop/ide#download).|
486
487
488## Source Code Acquisition
489
490
491### **Prerequisites**
492
4931. Register your account with Gitee.
494
4952. Register an SSH public key for access to Gitee.
496
4973. 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.
498   ```
499   git config --global user.name "yourname"
500   git config --global user.email "your-email-address"
501   git config --global credential.helper store
502   ```
503
5044. Run the following commands to install the **repo** tool:
505   ```
506   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.
507   pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
508   ```
509
510
511### Acquiring Source Code Using the repo Tool
512
513**Method 1 (recommended)**
514
515Use the **repo** tool to download the source code over SSH. (You must have an SSH public key for access to Gitee.)
516
517- 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:
518   ```
519   repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.1-Beta1 --no-repo-verify
520   repo sync -c
521   repo forall -c 'git lfs pull'
522   ```
523
524- Obtain the source code from the version tag, which is the same as that released with the version.
525   ```
526   repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v4.1-Beta1 --no-repo-verify
527   repo sync -c
528   repo forall -c 'git lfs pull'
529   ```
530
531**Method 2**
532
533Use the **repo** tool to download the source code over HTTPS.
534
535- 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:
536   ```
537   repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.1-Beta1 --no-repo-verify
538   repo sync -c
539   repo forall -c 'git lfs pull'
540   ```
541
542- Obtain the source code from the version tag, which is the same as that released with the version.
543   ```
544   repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.1-Beta1 --no-repo-verify
545   repo sync -c
546   repo forall -c 'git lfs pull'
547   ```
548
549
550### Acquiring Source Code from Mirrors
551
552
553**Table 2** Mirrors for acquiring source code
554
555| Source Code                               | Version| Mirror                                                | SHA-256 Checksum                                            | Software Package Size|
556| --------------------------------------- | ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- |
557| Full code base (for mini, small, and standard systems)       | 4.1 Beta1    | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/code-v4.1-Beta1.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/code-v4.1-Beta1.tar.gz.sha256)| 31.0 GB |
558| Hi3861 solution (binary)       | 4.1 Beta1    | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/hispark_pegasus.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/hispark_pegasus.tar.gz.sha256)| 28.7 MB |
559| Hi3516 solution-LiteOS (binary)| 4.1 Beta1    | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/hispark_taurus_LiteOS.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/hispark_taurus_LiteOS.tar.gz.sha256)| 316 MB |
560| Hi3516 solution-Linux (binary) | 4.1 Beta1    | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/hispark_taurus_Linux.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/hispark_taurus_Linux.tar.gz.sha256)| 213 MB |
561| RK3568 standard system solution (binary)       | 4.1 Beta1    | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/dayu200_standard_arm32.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/dayu200_standard_arm32.tar.gz.sha256)| 	7.9 GB |
562| Public SDK package for the standard system (macOS)            | 4.1.5.3      | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/ohos-sdk-mac-public.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/ohos-sdk-mac-public.tar.gz.sha256)| 926 MB |
563| Public SDK package for the standard system (macOS-M1)            | 4.1.5.3     | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/L2-SDK-MAC-M1-PUBLIC.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.0-Release/L2-SDK-MAC-M1-PUBLIC.tar.gz.sha256) | 883 MB |
564| Public SDK package for the standard system (Windows\Linux)  | 4.1.5.3      | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/ohos-sdk-windows_linux-public.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Beta1/ohos-sdk-windows_linux-public.tar.gz.sha256) | 2.2 GB |
565
566## What's New
567
568This version has the following updates to OpenHarmony 4.0 Release.
569
570### API Updates
571
572For details about the API changes over OpenHarmony 4.0 Release, see [API Differences](https://gitee.com/openharmony/docs/blob/OpenHarmony-4.1-Beta1/en/release-notes/api-diff/v4.1-beta1/Readme-EN.md).
573
574A few API changes over OpenHarmony 4.0 Release may cause your application projects to be incompatible. For details about these changes, see [Changelogs](https://gitee.com/openharmony/docs/blob/OpenHarmony-4.1-Beta1/en/release-notes/changelogs/v4.1-beta1/Readme-EN.md).
575
576
577### Chip and Development Board Adaptation
578
579For details about the adaptation status, see [SIG_DevBoard](https://gitee.com/openharmony/community/blob/master/sig/sig_devboard/sig_devboard.md).
580
581
582### Samples
583
584**Table 3** New samples
585
586| Feature| Name| Introduction| Programming Language|
587| -------- | -------- | -------- | -------- |
588| Basic capabilities| [Basic Capability Enhancement](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.1-Beta1/code/SystemFeature/Ability/AbilityFeatureSystem) (Full SDK; API level: system_basic)| This sample uses APIs such as [ohos.app.ability.appManager](../application-dev/reference/apis/js-apis-app-ability-appManager.md), [UIAbilityContext](../application-dev/reference/apis/js-apis-inner-application-uiAbilityContext.md), and [UIExtensionContentSession](../application-dev/reference/apis/js-apis-app-ability-uiExtensionContentSession.md) to implement the following features: querying whether an application is running; creating a UIExtensionAbility for a model system or model application; synchronously returning data; implicitly starting the UIExtensionAbility; providing StartAsCaller.| ArkTS |
589| System functions| [AutoFill](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.1-Beta1/code/SystemFeature/AutoFill/AutoFill) (Full SDK; API level: system_basic)| This sample uses APIs such as [application/AutoFillRequest](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/application/AutoFillRequest.d.ts), [@ohos.app.ability.AutoFillExtensionAbility](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.app.ability.AutoFillExtensionAbility.d.ts), [application/ViewData](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/application/ViewData.d.ts), and [@ohos.app.ability.autoFillManager](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.app.ability.autoFillManager.d.ts) to show how to use the AutoFill framework.| ArkTS |
590| Widget| [ArkTS Widget Capability Enhancement](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.1-Beta1/code/SystemFeature/ArkTSCard/ArkTSCard) (Full SDK; API level: system_basic)| This sample demonstrates dynamic and static lock-screen widgets/deep-link widgets. (In the **form_config.json** file, if **isDynamic** is set to **false**, the widget is static; if **isDynamic** is set to **true**, the widget is dynamic.)| ArkTS |
591| System functions| [InsightIntent Execution](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.1-Beta1/code/SystemFeature/InsightIntent/IntentExecute)<br>(Full SDK; API level: system_basic)| This sample uses APIs such as [@ohos.app.ability.InsightIntentExecutor](../application-dev/reference/apis/js-apis-app-ability-insightIntentExecutor.md), [@ohos.app.ability.insightIntent](../application-dev/reference/apis/js-apis-app-ability-insightIntent.md), and [@ohos.app.ability.insightIntentDriver](../application-dev/reference/apis/js-apis-app-ability-insightIntentDriver.md) to demonstrate two InsightIntent execution methods: binding an InsightIntent to a foreground UIAbility and binding an InsightIntent to a ServiceExtension. The methods include constructing an InsightIntent configuration file, constructing InsightIntent execution parameters, triggering InsightIntent execution, and obtaining the InsightIntent invoking result.| ArkTS |
592| Basic features| [Native Window](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.1-Beta1/code/BasicFeature/Native/NdkNativeWindow) | This sample describes how to use the [native XComponent](../application-dev/reference/native-apis/native__interface__xcomponent_8h.md) to obtain a [native window](../application-dev/reference/native-apis/_native_window.md) and change the rectangle color by filling data. It also demonstrates how to obtain a native window from a [native image](https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/native-apis/_o_h___native_image.md) for buffer rotation. The native window is used to generate the buffer to trigger the callback of available frames of the native image.| ArkTS |
593| Basic features| [Standardized Data Definition and Description](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.1-Beta1/code/BasicFeature/DataManagement/UDMF/UniformTypeDescriptor/UTDType) (Full SDK)| This sample demonstrates the standard data definitions and descriptors. It uses APIs such as [@ohos.data.uniformTypeDescriptor](../application-dev/reference/apis/js-apis-data-uniformTypeDescriptor.md), [@ohos.file.fs](../application-dev/reference/apis/js-apis-file-fs.md), and [@ohos.router](../application-dev/reference/apis/js-apis-router.md) to implement the following features: adding preset media files, obtaining the UTD standard type of media files, querying the UTD type, obtaining the default icon of the UTD type corresponding to a file, and customizing data types.| ArkTS |
594| Multimedia| [Audio Management](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.1-Beta1/code/SystemFeature/Media/Audio) (Full SDK; API level: system_basic)| This sample demonstrates how to use the following [spatial audio APIs](https://gitee.com/openharmony/interface_sdk-js/blob/master/api/@ohos.multimedia.audio.d.ts):<br>isSpatializationSupported(): checks whether the system supports spatial audio.<br>isHeadTrackingSupported(): checks whether the system supports head tracking,<br>isSpatializationSupportedForDevice(deviceDescriptor: AudioDeviceDescriptor): checks whether the device supports spatial audio.<br>isHeadTrackingSupportedForDevice(deviceDescriptor: AudioDeviceDescriptor): checks whether the device supports head tracking.<br>isSpatializationEnabled(): checks whether spatial audio is enabled.<br>isHeadTrackingEnabled(): checks whether head tracking is enabled.<br>setSpatializationEnabled(enable: boolean): enables or disables spatial audio.<br>setHeadTrackingEnabled(enable: boolean): enables or disables head tracking.| ArkTS |
595| Basic capabilities| [Basic Capability Enhancement](https://gitee.com/openharmony/applications_app_samples/tree/OpenHarmony-4.1-Beta1/code/BasicFeature/Ability/AbilityFeature)| This sample uses APIs such as [ApplicationContext](../application-dev/reference/apis/js-apis-inner-application-applicationContext.md), [ohos.ability.wantConstant](../application-dev/reference/apis/js-apis-ability-wantConstant.md), and [ohos.app.ability.StartOptions](../application-dev/reference/apis/js-apis-app-ability-startOptions.md) to implement the following features: customizing system environment parameters; not displaying a dialog box when the number of implicit launches is 0; adding a flag; clearing up application data; using the ability startup parameters to transfer the initial position, initial size, and animation.| ArkTS |
596
597For more information, visit [Samples](https://gitee.com/openharmony/applications_app_samples).
598
599
600## Resolved Issues
601
602**Table 4** Resolved issues
603
604| Issue No.| Description|
605| -------- | -------- |
606| I80TOB | There is a possibility that the com.ohos.settings process (application: Settings) encounters an app freeze because THREAD_BLOCK_6S is stuck in libbtframework.z.so.|
607| I89F06 | There is a low probability that the com.ohos.note thread in the com.ohos.note process (application: Notepad) encounters a C++ crash in the libweb_engine.so stack.|
608| I7SCU4 | There is a possibility that the com.ohos.photos process (application: Album) encounters an app freeze because THREAD_BLOCK_6S is stuck in libark_jsruntime.so.|
609| Vulnerabilities (such as I86CNJ) in 38 open-source components| Vulnerabilities (such as lj-linux-131204684-0577967) in 38 open-source components.|
610| I86YLD | There is a low probability that the m.ohos.contacts thread of the com.ohos.contacts process (application: Contacts) encounters a C++ crash in the libipc_core.z.so stack.|
611| I88UKM | There is a low probability that the ffrtwk/CPU-2-3 thread of the ohos.samples.distributedmusicplayer process (application: music player) encounters a C++ crash in the libuv.so stack.|
612| I89CLG | There is a low probability that the com.ohos.camera thread in the com.ohos.camera process (application: Camera) encounters a C++ crash in the libcamera_napi.z.so stack.|
613| I86M99<br>I88UV6<br>I88UVQ | A memory leak of 40 MB occurs during the long-term stability pressure test on foundation within 24 hours.|
614| 31 kernel issues, such as I7TZ3V| 31 kernel issues, such as the kernel_bug function of the kernel btrfs_free_tree_block.|
615| I82NVZ | The image rendered by the GPU driver does not comply with the standard.|
616
617
618## Known Issues
619
620**Table 5** Known issues
621
622| Issue No.| Description| Impact| To Be Resolved By|
623| -------- | -------- | -------- | -------- |
624| I8PEOF | A system freeze may occur due to LIFECYCLE_TIMEOUT of the com.ohos.mms process. As such, a white screen is displayed.| This issue occurs occasionally. It can be resolved by restarting the device. The impact is controllable.| January 15|
625| I8QET3 | A C++ crash may occur in libbluetooth_server.z.so of the OS_IPC_10_25363 thread of the bluetooth_servi process. As such, the Bluetooth service is abnormal.| This issue occurs occasionally. It can be automatically restored, and users are unaware of the exception.| February 28|
626| I8QH9S | A C++ crash may occur in libnative_appdatafwk.z.so of the os.settingsdata thread of the com.ohos.settingsdata process. As such, the background data management process stops.| This issue occurs rarely. The process automatically restarts when a new access request is received. Users are unaware of the exception.| January 15|
627| I8QNI7 | A system freeze may occur due to SERVICE_BLOCK of the foundation process.| This issue occurs rarely. Users are unaware of the exception.| February 28|
628| I8QSZ1 | An app freeze occurs in libsamgr_proxy.z.so of the com.ohos.systemui process, due to THREAD_BLOCK_6S.| This issue occurs occasionally. There is an extremely low probability that the system UI does not respond when the user slides down, and the user has to turn on and off Bluetooth on the Settings screen or restart the phone. The impact is controllable.| February 28|
629| Vulnerabilities (such as I7TYTF) in 43 open-source components| 43 open-source component vulnerabilities, such as protection_fault in the errseq_set function of the kernel| The vulnerabilities are being analyzed and will be resolved based on the vulnerability management process SLA of the community.| By vulnerability SLA|
630| I78THF | The maligpu version in the RK3568 kernel patch is too old (11.29), and a large number of CVE vulnerabilities are not fixed.| The GPU Mali driver of RK3568 has many unfixed CVE vulnerabilities, such as CVE-2021-28663 and CVE-2021-39793. These vulnerabilities can be exploited to obtain the kernel UAF and escalate privileges.| February 10|
631| I83D6I | If Bluetooth is repeatedly enabled and disabled in Settings, there is a possibility that an app freeze occurs.| This issue occurs occasionally. It can be resolved by restarting the device. The impact is controllable.| February 28|
632| I827LU | Memory leakage occurs when Bluetooth is enabled and disabled repeatedly in Settings. A memory leak of 15 MB occurs within one hour.| A memory leak of 8.3 KB occurs for one Bluetooth enable/disable operation. This issue can be resolved by restarting the device. The impact is controllable.| February 28|
633| I82V2W | Memory leakage occurs when Bluetooth is repeatedly enabled and disabled in Settings. The memory usage of Settings increases to 180 MB within one hour.| You are advised to use the protocol stack of the Bluetooth module built in the chip or hardware to avoid this issue.<br>A memory leak of 0.2 MB occurs for one Bluetooth enable/disable operation. The issue can be resolved by re-opening Settings. The impact is controllable.<br>You are advised to use the protocol stack of the Bluetooth module built in the chip or hardware to avoid this issue.| February 28|
634