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