1# OpenHarmony 4.1 Release 2 3 4## Version Description 5 6OpenHarmony 4.1 Release continuously improves its standard system capabilities. It provides the following enhancements over OpenHarmony 4.0 Release: 7 8Over 4,000 new APIs have been added, significantly enriching application development capabilities. The open capabilities for application development are now presented in terms of Kits, offering you a clearer logic and more scenario-oriented perspective. The openness of ArkUI components, as well as their animation, component, and effect capabilities, have been further enhanced. Web capabilities have been continuously improved, making it easier for you to quickly build applications using Web technologies. The graphics and window have seen enhanced animation and window adaptation capabilities. The application framework has strengthened its ExtensionAbilities. Distributed capabilities have been further improved in terms of network stability, connection security, and the connection and specification capabilities of DSoftBus. Media support now includes a richer range of encodings and more refined playback control capabilities, further enhancing the capabilities of the audio/camera framework. Multiple tool capabilities in the testing framework have also been strengthened. You are welcome to use this version and provide valuable suggestions. 9 10OpenHarmony 4.1 Release is the official release version for API level 11. 11 12A more detailed description of the enhancements is as follows: 13 14 15### SDK 16 17The open capabilities provided by the SDK are presented by kit. You can search for and use the capabilities by kit. These scenario-specific capabilities offer a clearer programming logic. 18 19In addition, the development guide and API reference are reconstructed by kit for better understanding and easier use. 20 21 22### ArkUI 23 24- The **NodeContainer** component is provided to enhance custom drawing. 25 26- The text and container components are enhanced as follows: 27 - The **TextInput** and **Text** components support character-based truncation. 28 - The **TextInput** and **TextArea** components support obtaining of the caret position. 29 - Intelligent word segmentation is supported. The logic for inserting the caret based on the word segmentation result is added, and a new word segmentation algorithm is used. 30 - The **ImageSpan** component supports custom long-press menu events as well as component indentation and alignment. 31 - Through **ScrollToIndex**, the **List** component can specify the target list item to scroll to in the list item group. 32 - The **TextArea** component supports custom behavior of the **Enter** key. 33 - The **Swiper** component supports nested scrolling. 34 - The **Grid** and **WaterFlow** components support scrolling to the target list item, with a transition animation displayed during the scrolling. 35 - A bounce effect can be enabled for scrollable components when there is less than one screen of content. 36 37- The components have the AI access capabilities enhanced as follows: 38 - The **TextInput** component and related text components support visual input. 39 - The **Text**, **RichEditor**, and related text components support text entity recognition. 40 41- Status management is enhanced as follows: 42 - The undefined, null, and union types are supported. 43 - The **ListItem** component can update methods in the **ForEach** and **LazyForEach** attributes. 44 - The **@LocalStorageLink** and **@LocalStorageProp** decorators are not updated when they are not activated. 45 46- The chip component is added. The following components have their style, interaction, and animation enhanced: **TextInput**, **TextArea**, **List**, **Grid**, **Search**, **CheckBox**, **Slider**, **Image**, **Menu**, and semi-modal pop-up are enhanced. 47 48- The customization capability of the pop-up components and navigation components is enhanced as follows: 49 - The rounded corners, shadows, and popup arrows of pop-up menus can be customized. 50 - The **isShow** parameter is added in the **bindContextMenu** method. 51 - The navigation bar in the **Navigation** component can be hidden. 52 - The **Navigation** component provides the function of obtaining detailed information about each page of the route stack and destroying or displaying pages based on the page information. 53 54- New style objects and component style attribute methods are provided to support style reuse and dynamic switching. 55 - The universal attribute style supports **Style** objects. 56 - Component-specific attribute styles support objects derived from **Style**. 57 - The polymorphic style is switched to the **Style** object. 58 59 60### Application Framework 61 62- When an application exits normally, the **temp** directory is cleared to improve security and reduce system storage space consumption. 63 64- Enhanced ExtensionAbility management capabilities: Background management and unified timeout are provided for ServiceExtensionAbilities. 65 66- Enhanced ArkTS widget capabilities: Transparent widgets, data proxy refresh, single-color mode, and lock-screen widgets are added. 67 68- The AutoFill framework is provided, which enables system applications to implement the password safe feature and provide password-free login for users. 69 70- The **resFile** directory can be obtained through context. 71 72- The UIExtensionAbility capability is enhanced. The **SetReceiveDataForResultCallback** API and its synchronous callback are provided. The **StartAsCaller** API is provided. Multi-instances are supported. 73 74- Batch URI authorization is supported during the launch of the UIAbility and UIExtensionAbility. 75 76- Applications can customize system environment parameters and choose whether to update the display effect according to the system configuration. 77 78- The InsightIntent framework capability is supported. The UIAbility, UIExtensionAbility, and ServiceExtensionAbility can bind with an InsightIntent. 79 80- Import of .abc files is supported. 81 82- 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. 83 84 85### Bundle Management 86 87- The system-level HSP supports OTA upgrades. 88 89- A guide is provided to optimize the size of the modular development package. 90 91- Unified access to basic resources is supported. You can query application icons and names. 92 93- The quick fix capability can be used during application debugging. 94 95- Driver applications can be installed, updated, and uninstalled. 96 97- Menus can be configured and queried. 98 99- Signature transfer is supported. The app-identifier in the signing certificate is used as the unique identifier of an application. 100 101- The validity of .abc files can be verified. Only .abc files that pass the verification can run on a restricted VM. 102 103- Connection to the unified file preview framework is provided. Files can be opened using this framework. 104 105- 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. 106 107- The packing tool can pack files with the specified version number. 108 109 110### DSoftBus 111 112- The QoS interface capability is constructed for DSoftBus transmission to better manage bottom-layer link resources and provide route selection decisions, improving distributed service experience. 113 114- 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. 115 116- The DFX mechanism is enhanced. For example, the subsystem supports service process dotting, upper-layer distributed service statistics, and service alarms for network monitoring events. 117 118- The IPC provides APIs for querying reference counts and timestamps, and the maintenance and debugging capabilities are enhanced. 119 120 121### Distributed Data Management 122 123- 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. 124 125- Cross-device synchronization is not allowed for data without security levels. 126 127- The preferences data supports modification, query, and persistence of data streams in Uint8Array format. 128 129- An RDB can be created in the subdirectory of the specified application sandbox path. 130 131 132### Distributed Hardware 133 134- Key status management in special distributed input scenarios is optimized. 135 136- Service reliability is enhanced for distributed camera, audio, display, and input scenarios. 137 138 139### File Management 140 141- System applications, such as Gallery, support group query by year, month, and day. 142 143- System applications, such as Gallery, support reversion of file edits, file hiding, and private albums. 144 145- The thumbnail access performance of Gallery in sliding scenarios is improved by more than 20%. 146 147- The application access framework is enhanced, and APIs such as readline() and lseek() are supported. 148 149 150### Graphics and Window Manager 151 152**Graphics** 153 154- HDR Vivid videos can be rendered and displayed. 155 156- The system supports variable frame rates and provides APIs for service access. 157 158- 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 ES extension APIs are supported, and the drawing capabilities are further enhanced. 159 160- You can specify a window not to be recorded during screen recording. A privacy window can be recorded as a pure black image. 161 162- The system resolution can be adjusted. 163 164- APIs are provided to adjust the system frame rate based on the animation and adjust the application frame rate. 165 166- The animation capability is enhanced. The cut-out and rounded screen are supported, and navigation transition animation supports element sharing. 167 168- The graphics rendering pipeline supports the Vulkan backend. 169 170- The graphics subsystem provides drawing APIs. 171 172- The native window APIs support the metadata setting to adapt to the transmission of dynamic metadata with frames in HDR video scenarios. 173 174**Window Manager** 175 176- Interactive status notifications are provided for the window stage. 177 178- Global search of the window type is supported. 179 180- 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. 181 182- 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. 183 184- The window focus can be shifted to a target window in the same application. 185 186- 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. 187 188- 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. 189 190- The multi-window feature supports PiP and allows users to exchange the positions of split-screen windows. 191 192- Basic screen management APIs are provided to power on or off a screen and query available areas on the screen. 193 194- 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. 195 196- The multi-screen management framework provides APIs for setting the window display, migrating windows between screens, and displaying windows from different sources. 197 198 199### Multimedia 200 201**Audio/Video** 202 203- Calling applications are allowed to access media sessions. 204 205- The color of the AVCastPicker component can be customized, and the component status can be listened. 206 207- Historical albums and playlists of applications can be displayed on the media controller. 208 209- The system supports concurrent playback of multiple audio streams with low latency and dynamic adjustment of the callback frequency and data volume. 210 211- Low-latency audio recording is supported. 212 213- Low-power audio playback is available for music and audiobook applications. 214 215- Audio-haptic is provided to support precise synchronous playback of audio and haptic streams. 216 217- AMR/MKV demultiplexing and AMR decoding are supported. 218 219- Media information about audio and video files can be obtained. 220 221- The video framework is optimized to reduce resource usage. The AVBuffer is used to support full-process data processing and zero copy. 222 223- Digital Rights Management (DRM) is supported. DRM plug-in management, device certificate request and processing, media key request and processing, and DRM program decryption are supported. 224 225- Audio calls on cellular networks can be recorded. 226 227- The 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. 228 229**Image** 230 231- Decoding of .ico images is supported. 232 233- Color setting and CSS parsing of .svg images are supported. 234 235- Color Space Conversion (CSC) between sRGB and P3 during decoding is supported. 236 237**Media Library** 238 239- Object-based read and write interfaces are available for media data. 240 241- Multiple access modes, such as fast, balanced, and high-quality, are provided. 242 243**Camera** 244 245- The camera NDK APIs are provided for applications to perform secondary processing on camera data. 246 247- The **CameraPicker** class is provided so that third-party applications can wake up or integrate the photographing and video recording capabilities of the camera. 248 249- The basic camera control capabilities, including smooth zoom and flashlight, are enhanced. 250 251- Camera performance is enhanced for smoother switching between the front and rear cameras and between taking photos and recording videos. 252 253- The camera framework and applications can smoothly transition from the current zoom value to the target zoom value. 254 255- APIs are provided to turn on or off the flashlight, query the flashlight status, and obtain flashlight status changes. 256 257- The video stabilization mode is supported to ensure image stability during video recording. 258 259- The camera supports the QR code scan mode. 260 261- The 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. 262 263 264### Common Event and Notification 265 266- System applications are allowed to send live view notifications. 267 268- Emitter supports subscription by string type. The serializable data type is supported for data to be transferred in events. The number of subscribers can be obtained. 269 270- Applications can receive only custom common events released by themselves. 271 272- A reminder can be set to repeat every week. 273 274- Reminders of the same group in the same schedule can be canceled by group ID. 275 276- 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. 277 278 279### Utils 280 281- Worker threads can be created in the HAR or HSP. 282 283- The task pool can send messages to the host thread during execution. 284 285 286### Connectivity 287 288- NFC provides Host-based Card Emulation (HCE). 289 290- NFC supports the configuration of the default payment application. 291 292- APIs are provided to check whether the currently connected Wi-Fi hotspot is a mobile phone hotspot. 293 294- APIs are provided to add the STA device connected to a Wi-Fi hotspot to the blocklist. 295 296- 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. 297 298 299### Location 300 301- APIs are provided for geocoding, reverse geocoding, and geocoding service status query. 302 303- The **sendCommand** API can be used to delete auxiliary data, thereby providing support for cold and warm start tests. 304 305- MDM applications can call the location service APIs to forcibly enable or disable the location service. 306 307 308### Telephony 309 310- SMS messages can be added, deleted, modified, and queried by SIM card. 311 312- 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. 313 314- APIs are provided to receive cell broadcast messages reported by operators. 315 316- Call interception is supported. The call interception framework is provided to support three-party access. A number blocklist is used. 317 318- 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. 319 320- Other mobile communication-related capabilities and specifications are improved as follows: 321 - SIM cards of China Broadnet (a carrier in China) are supported. 322 - 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. 323 - 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. 324 - APN matching based on SPNs, IMSI prefixes, GIDs, or ICCIDs is provided for virtual cards. 325 - The network search performance is improved when the phone is powered on and the airplane mode is disabled. 326 327 328### Network management 329 330- LAN route management is supported, and you can configure attributes such as the IP address of the network adapter, route, and static ARP table. 331 332- 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. 333 334- Applications can obtain socket-based traffic statistics through the network management APIs. 335 336- APIs are provided to read the configuration file of an application-level network proxy. 337 338- The network connectivity detection mechanism is optimized, including the detection period and detection protocol. The detection state machine is reconstructed. 339 340 341### Power Supply 342 343**Power Management** 344 345- You can set the operation of pressing the power button or closing the cover to make your device sleep or turn off the screen. 346 347- 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. 348 349- 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. 350 351- APIs are provided to control the power status and process related states when multi-device collaboration is successful or disconnected. 352 353- 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. 354 355- The LCD is not powered off when the AOD is configured and the device screen is locked. 356 357- Normal shutdown can be triggered in low-voltage scenarios. 358 359- 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. 360 361- The device vibrates when it starts charging. You can disable vibration on specific devices. 362 363**Thermal Management** 364 365- New scenarios and status can be customized for temperature control decision-making. 366 367- The thermal escape level is added. A notification is sent when the escape temperature is reached. 368 369- Custom temperature control actions can be configured for drive nodes. When temperature control is triggered, the action value is written to the corresponding node. 370 371**Other** 372 373- The code structure of **DisplayPowerManager** is adjusted. The brightness management module is changed to an independent module. 374 375- An animation with the updatable battery level is displayed during the charging of a device in the powered-off state. 376 377- Drivers can report events and trigger actions. 378 379- 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. 380 381 382### Security 383 384- KMS supports the access control mode of **valid when a password is set**. 385 386- Certificate management: The CA certificate path is opened. 387 388- Certificate framework: Certificate chain verification, revocation check, and certificate chain construction are supported. 389 390- 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. 391 392- Private certificate credential management APIs are provided to specify the signature padding mode and hash algorithm. 393 394 395### User IAM 396 397- Redundant user identity credentials can be deleted. 398 399- Haptic feedbacks are provided upon authentication failure. 400 401- The fingerprint feature can be disabled. 402 403 404### Access Control 405 406**Permission Management** 407 408- A permission dialog box can be displayed on a UIExtensionAbility page. 409 410- Screen lock status records are added to permission usage records. 411 412- The option of allowing permissions can be displayed when an application is in use. 413 414### ArkCompiler 415 416- The dynamic import capability supports variables as parameters. 417 418- Runtime APIs are provided for instrumentation and replacement of class methods. 419 420- The number sign (#) can be used to declare private members of a class. 421 422- Cross-thread serialization is provided for the **Sendable** class. 423 424- The TSC is upgraded from 4.2.3 to 4.9.5. 425 426- The incremental compilation speed is enhanced for ArkTS applications. 427 428- The obfuscation function is enhanced. File names and folder names can be obfuscated. Comments in declaration files can be deleted. Exportable object names and their attribute names can be obfuscated. 429 430- libc: Security hardening interfaces such as **dlopen** and **dlclose** are added, and multi-thread reentrant is supported. The performance of some frequently used C APIs is optimized. The following lib interfaces are added to the DK: random number arc4random*, stack-related backtrace, shared memory shm_open, and shell mode matching wordexp. The header files **execinfo.h**, **queue.h**, and **cdefs.h** are supported. 431 432- C++ debugging: The debugging speed in scenarios such as application startup and .so loading is optimized. Standalone LLDB debugging is supported. 433 434- SmartGC supports 90-frame scenarios and GC control in performance-sensitive scenarios. 435 436- TaskPool supports thread interruption and exit, precise import, and default transfer mechanism. 437 438- C++ exception capture is supported. 439 440 441### Kernel 442 443The ko module can be independently built outside the kernel tree, and an independent ko partition chip_ckm is provided. 444 445 446### Resource Manager 447 448- Resource indexes can be added through the shortcut menu in the **module.json** file. 449 450- The **resfile** directory can be packaged and compiled. 451 452- The resource ID can be obtained based on the resource name. 453 454 455### USB 456 457- The USB device management capability is supplemented. The USB service can be enabled or disabled for all devices or a given device, or by device type. In addition, the disabling policy can be persistent in restart and hot swap scenarios. 458 459- The USB service authentication mode is optimized by adding access control permissions and refining the permissions of system services and system applications to call the USB service. 460 461- The vulnerabilities of the bulk transfer and control transfer interfaces are fixed. Interfaces for E2E transfer are available, and the performance meets the requirements. 462 463 464### Multimodal Input 465 466- Users can double-touch the power button to start an ability. 467 468- The mouse cursor can be customized. 469 470- The setting of the mouse cursor style in the multimodal input scenario is optimized. 471 472- APIs are provided for processing key press events by priority. 473 474- The mouse cursor size and color can be set, and the animation cursor style is supported. 475 476- APIs are provided to customize the pointer interaction coordinates and update the pointer position. 477 478- APIs are provided for processing key press events by priority. 479 480- Touch target detection is supported for the mouse pointer. 481 482- Recognition of the two-finger pinch gesture and rotation gesture is supported. 483 484- Recognition of the three-finger tap gesture is supported. 485 486- APIs are provided for management and listening of global combination keys. 487 488 489### Pan-Sensor 490 491- Sensor data precision can be reported so that the system can detect the sensor precision of different devices for better application adaptation. 492 493- C APIs are added for sensors and vibrators. 494 495- The custom vibration format is extended. The **curve** field is added to describe the complex continuous vibration effect. 496 497- Native APIs are provided for sensor and haptic control. 498 499- The device folding status and spatial audio status can be reported. 500 501- Dynamic and static adjustment of vibration is supported. 502 503- A haptic control switch is provided. 504 505 506### Device Management 507 508APIs related to \@ohos.deviceInfo.d.ts are provided for small-system devices. 509 510 511### Test Framework 512 513**Automated Test Framework arkXtest** 514 515- Simulation of UI operations, such as scrolling the mouse wheel and double-clicking the left or right mouse button, is supported. 516 517- Using shell commands to simulate UI operations, such as click, scroll, double-click, and text input, is supported. 518 519- The efficiency of searching for component information in the UI test framework is improved. 520 521- The information about the text size and color is added in the dump information. 522 523- The asynchronous listening capability is added to listen for system dialog box events and obtain text information. 524 525**Test Scheduling Framework xDevice** 526 527- 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. 528 529- The test report is optimized by unifying the test report header information for mini-system, small-system, and standard-system devices. 530 531- A remote download address can be configured when the test resources are unavailable on the local host. 532 533**Stability Test Tool WuKong** 534 535- The capability of configuring pages and ability pages is added. Page shielding can be configured during the test to speed up test. 536 537- 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. 538 539**Performance Development Tool SmartPerf Host** 540 541- Collection, analysis, and display of HiLog and HiSysEvent are supported. 542 543- The hiperf event count can be analyzed and displayed. 544 545- Trace capture can be dynamically paused and debugged. 546 547- The thread wakeup relationship tree can be quickly traced. 548 549**Performance Test Tool SmartPerf Device** 550 551- The capability of capturing memory and CPU data is optimized. 552 553- Commands are provided for starting or stopping collection. 554 555- The capability of periodically obtaining screenshots, resolutions, and refresh rates is provided. 556 557 558### DFX 559 560- Collection of CPU, GPU, memory, I/O, network, and trace data is supported. 561 562- The fault type data is open. 563 564- HiDebug supports resource information collection during application running. 565 566- HiProfiler supports in-depth tuning of the CPU, GPS, audio, display, and GPU for power-intensive applications, time consumption analysis in animation scenarios (start, exit, screen switch, transition, and sliding), and lightweight ftrace data collection. 567 568- HiProfiler and HiDumper work together to collect the extended memory information of the memory process. 569 570- HiTrace supports lightweight, long-term data collection. 571 572- HiPerf supports symbol parsing and stack aggregation. 573 574- 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. 575 576- The system memory details collection plug-in is supported to collect ION, GPU/Skia, and purgeable memory information (hidumper hiprofiler). 577 578- 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. 579 580 581### Upload/Download 582 583- Foreground tasks and background tasks can share the number of tasks. 584 585- The status and progress of background tasks can be monitored. 586 587- Task priorities are supported. Foreground or background tasks can be executed based on their respective priorities. 588 589- The system-level proxy is automatically used. 590 591- The response body that exceeds the IPC limit can be returned in upload scenarios. 592 593- File segments can be uploaded. 594 595- The background task progress can be updated, and a callback is provided for status changes. 596 597- The status change event of an upload or download task can be reported. 598 599- An upload or download task can be continued after an application or a background Service ability is restarted. 600 601- Priority is supported. High-priority tasks of the high-priority application (application that has focus) are executed first and occupy more network bandwidth. 602 603 604### Input Method Framework 605 606- The input method experience is optimized when the WebView gains focus. 607 608- The input method experience is optimized when the focus switches between windows. 609 610- The input method in security mode is supported. 611 612- The input method can be switched by pressing the logo key and the **Space** bar. 613 614- The **inputMethodList** module is provided. 615 616- The input method application proxy is supported. 617 618- Visual input is supported for the input method framework. 619 620- APIs are provided for querying the display status of the input method keyboard window. 621 622- The system security keyboard is supported. 623 624 625### Time and Time Zone 626 627- The NTP server address can be configured through system parameters. A maximum of five NTP server addresses can be configured. 628 629- The switch of automatic time and time zone synchronization can be configured through system parameters. 630 631- User awareness configuration is provided. 632 633- The NTP server can be customized. 634 635 636### Globalization 637 638- The preferred language of an application can be set and obtained. 639 640- The text time and phone number formats can be recognized. 641 642- Quick date calculation is supported. 643 644### AI 645 646- MindSpore Lite provides C APIs for on-device machine learning. 647 648- Native AI training interfaces on the device side are provided. 649 650- ArkTS APIs are provided for configuring the NNRt backend. 651 652 653### Update 654 655- Differential multi-thread update is supported. 656 657- A retry mechanism is added for hardware faults during an update to improve update reliability. 658 659- The language parameters in normal mode can be synchronized to the updater used in the update. 660 661 662### Web 663 664- The web-based accessibility node query and reporting capabilities are added. 665 666- APIs are provided for reporting page redirection events. 667 668- Application and network proxy, and application certificate management are supported. 669 670- Rendering at the same layer is supported. (This enhancement is available only for certain components such as **XComponent** and **button**). 671 672- The component supports the execution of JS scripts injected in advance after DOM building is complete. 673 674- C APIs **registerJavaScriptProxy** and **runJavaScript** are available. 675 676- Resource interception supports the ArrayBuffer data type. 677 678- WebRTC capabilities are optimized to support meeting participation, sharing, speaking, and camera capabilities. 679 680- APIs are provided for obtaining W3C time zone and sensing the virtual keyboard. 681 682- The CSS cursor style is optimized. 683 684- The over-scrolling effect is provided for web pages. 685 686- Injection scripts can be executed when a document is started. 687 688- PostURL is supported. 689 690- Nested scrolling is supported. 691 692- AVCodec hardware decoding can be used for videos played on web pages. 693 694- WebCookieManager can be used independently from the **Web** component. 695 696- The **Web** component supports interconnection with the accessibility feature. 697 698- The **Web** component kernel is upgraded from Chromium 99 to Chromium 114. 699 700 701## Version Mapping 702 703**Table 1** Version mapping of software and tools 704 705| Software/Tool| Version| Remarks| 706| -------- | -------- | -------- | 707| OpenHarmony | 4.1 Release | NA | 708| Public SDK | Ohos_sdk_public 4.1.7.5 (API Version 11 Release) | This toolkit is intended for application developers and does not contain system APIs that require system permissions.| 709| (Optional) HUAWEI DevEco Studio| 4.1 Release | Recommended for developing OpenHarmony applications How to obtain:<br><br>SHA-256 checksum: c46be4f3cfde27af1806cfc9860d9c366e66a20e31e15180cf3a90ab05464650<br><br>SHA-256 checksum: 15d6136959b715e4bb2160c41d405b889820ea26ceadbb416509a43e59ed7f09<br><br>SHA-256 checksum: ac04ca7c2344ec8f27531d5a59261ff037deed2c5a3d42ef88e6f90f4ed45484 | 710| (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). | 711 712 713## Source Code Acquisition 714 715 716### **Prerequisites** 717 7181. Register your account with Gitee. 719 7202. Register an SSH public key for access to Gitee. 721 7223. 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. 723 ``` 724 git config --global user.name "yourname" 725 git config --global user.email "your-email-address" 726 git config --global credential.helper store 727 ``` 728 7294. Run the following commands to install the **repo** tool: 730 ``` 731 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. 732 pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests 733 ``` 734 735 736### Acquiring Source Code Using the repo Tool 737 738**Method 1 (recommended)** 739 740Use the **repo** tool to download the source code over SSH. (You must have an SSH public key for access to Gitee.) 741 742- 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: 743 ``` 744 repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-4.1-Release --no-repo-verify 745 repo sync -c 746 repo forall -c 'git lfs pull' 747 ``` 748 749- Obtain the source code from the version tag, which is the same as that released with the version. 750 ``` 751 repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v4.1-Release --no-repo-verify 752 repo sync -c 753 repo forall -c 'git lfs pull' 754 ``` 755 756**Method 2** 757 758Use the **repo** tool to download the source code over HTTPS. 759 760- 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: 761 ``` 762 repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-4.1-Release --no-repo-verify 763 repo sync -c 764 repo forall -c 'git lfs pull' 765 ``` 766 767- Obtain the source code from the version tag, which is the same as that released with the version. 768 ``` 769 repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v4.1-Release --no-repo-verify 770 repo sync -c 771 repo forall -c 'git lfs pull' 772 ``` 773 774 775### Acquiring Source Code from Mirrors 776 777 778**Table 2** Mirrors for acquiring source code 779 780| Source Code | Version| Mirror | SHA-256 Checksum | Software Package Size| 781| --------------------------------------- | ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- | 782| Full code base (for mini, small, and standard systems) | 4.1 Release | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/code-v4.1-Release.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/code-v4.1-Release.tar.gz.sha256)| 31.6 GB | 783| Hi3861 solution (binary) | 4.1 Release | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/hispark_pegasus.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/hispark_pegasus.tar.gz.sha256)| 29.2 MB | 784| Hi3516 solution-LiteOS (binary)| 4.1 Release | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/hispark_taurus_LiteOS.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/hispark_taurus_LiteOS.tar.gz.sha256)| 318.7 MB | 785| Hi3516 solution-Linux (binary) | 4.1 Release | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/hispark_taurus_Linux.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/hispark_taurus_Linux.tar.gz.sha256)| 215.8 MB | 786| RK3568 standard system solution (binary) | 4.1 Release | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/dayu200_standard_arm32.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/dayu200_standard_arm32.tar.gz.sha256)| 8.4 GB | 787| Public SDK package for the standard system (macOS) | 4.1.7.5 | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/ohos-sdk-mac-public-signed.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/ohos-sdk-mac-public-signed.tar.gz.sha256)| 1.1 GB | 788| Public SDK package for the standard system (macOS-M1) | 4.1.7.5 | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/L2-SDK-MAC-M1-PUBLIC-signed.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/L2-SDK-MAC-M1-PUBLIC-signed.tar.gz.sha256)| 1.1 GB | 789| Public SDK package for the standard system (Windows\Linux) | 4.1.7.5 | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/ohos-sdk-windows_linux-public.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/4.1-Release/ohos-sdk-windows_linux-public.tar.gz.sha256) | 2.2 GB | 790 791 792## Update Description 793 794This version has the following updates to OpenHarmony 4.1 Beta1. 795 796### API Updates 797 798- For details about the API changes over OpenHarmony 4.1 Beta1, see [API Differences](http://gitee.com/openharmony/docs/blob/OpenHarmony-4.1-Release/en/release-notes/api-diff/v4.1-Release-vs-v4.1-beta1/Readme-EN.md). 799- For details about the API changes over OpenHarmony 4.0 Release, see [API Differences](http://gitee.com/openharmony/docs/blob/OpenHarmony-4.1-Release/en/release-notes/api-diff/v4.1-Release-vs-v4.0-Release/Readme-EN.md). 800 801A few API changes over OpenHarmony 4.1 Beta1 may cause your application projects to be incompatible. For details about these changes, see [Changelogs](http://gitee.com/openharmony/docs/blob/OpenHarmony-4.1-Release/en/release-notes/changelogs/v4.1-Release/Readme-EN.md). 802 803### Chip and Development Board Adaptation 804 805For details about the adaptation status, see [SIG_DevBoard](https://gitee.com/openharmony/community/blob/master/sig/sig_devboard/sig_devboard.md). 806 807 808### Samples 809 810For more information, visit [Samples](https://gitee.com/openharmony/applications_app_samples). 811 812 813## Resolved Issues 814 815**Table 4** Resolved issues 816 817| Issue No.| Description| 818| -------- | -------- | 819| I8PEOF | A system freeze may occur due to LIFECYCLE_TIMEOUT of the com.ohos.mms process. As such, a white screen is displayed.| 820| 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.| 821| 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.| 822| I8QNI7 | A system freeze may occur due to SERVICE_BLOCK of the foundation process.| 823| I8QSZ1 | An app freeze occurs in libsamgr_proxy.z.so of the com.ohos.systemui process, due to THREAD_BLOCK_6S.| 824| 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| 825| I78THF | The maligpu version in the RK3568 kernel patch is too old (11.29), and a large number of CVE vulnerabilities are not fixed.| 826| I83D6I | If Bluetooth is repeatedly enabled and disabled in Settings, there is a possibility that an app freeze occurs.| 827| I827LU | Memory leakage occurs when Bluetooth is repeatedly enabled and disabled in Settings. A memory leak of 15 MB occurs within one hour.| 828| 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.| 829 830 831 832## Known Issues 833 834**Table 5** Known issues 835 836| Issue No.| Description| Impact| To Be Resolved By| 837| -------- | -------- | -------- | -------- | 838| I8WP8M | Create a large folder by moving an application icon on the home screen to overlap with another application icon, and then move an application icon out of the folder. Repeat this operation. Five minutes later, a total of about 25 MB memory is leaked on the launcher, that is, a 673.68 KB memory leak for each operation.| The system freezes when the memory leak reaches a certain amount.<br>Workaround: Close background applications or restart the device.| April 30| 839| I98AV0 | Repeatedly turn on and then turn off the location information switch. When this operation lasts for 5 minutes, a total of about 14 MB memory is leaked on the distributeddata process, that is, a 95.57 KB memory leak for each operation.| The system freezes when the memory leak reaches a certain amount.<br>Workaround: Exit the current page.| April 30| 840| I9A9NO | Repeatedly touch the upper right corner of the SMS application to create an SMS message and then touch **Back**. When this operation lasts for 5 minutes, a total of about 50 MB memory is leaked, that is, a 341.33 KB memory leak for each operation.| The system freezes when the memory leak reaches a certain amount.<br>Workaround: Exit the application.| April 30| 841| I8QLRO | There is a low probability that a C++ crash occurs in libbtstack.z.so of the stack thread of the bluetooth_servi process.| The Bluetooth service automatically recovers, and users are unaware of the exception.| April 30| 842| I8TLYJ | There is a low probability that a C++ crash occurs in libbtstack.z.so of the SaInit1 thread of the bluetooth_servi process.| The Bluetooth service automatically recovers, and users are unaware of the exception.| April 30| 843| I8TM99 | There is a low probability that a C++ crash occurs in libbtframework.z.so of the softbus_server thread of the softbus_server process.| The DSoftBus service automatically recovers, and users are unaware of the exception.| April 30| 844| I8VFJS | There is a low probability that a JS crash occurs in ObservedPropertyAbstractPU of the com.ohos.settings process.| There is a low probability that the Settings application crashes. Users can exit the application to reclaim the memory.| April 30| 845| I98NGO | There is a low probability that an app freeze occurs in the com.ohos.settings process because THREAD_BLOCK_6S is stuck in the libbtframework.z.so stack.| There is a low probability that the Settings application crashes. Users can exit the application to reclaim the memory.| April 30| 846| I90A2N | There is a possibility that an app freeze occurs in the com.ohos.systemui process because THREAD_BLOCK_6S is stuck in the libeventhandler.z.so stack.| There is no response when users touches or swipes on the phone. This issue can be resolved when users access the control panel or notification center again.| May 30| 847| I963UO | There is a possibility that a C++ crash occurs in libEGL.so of the RSRenderThread thread in the com.ohos.systemui process.| The screen automatically locks. The issue does not persist after users unlock the screen.| May 30| 848| I9A089 | There is a moderate probability that a system freeze occurs in the foundation process due to SERVICE_BLOCK.| After the system freezes for 5 seconds, a 1-second startup animation is played, and the screen is locked. The issue does not persist after users unlock the screen.| April 15| 849| I9AYM2 | There is a low possibility that an app freeze occurs in the com.ohos.note process because THREAD_BLOCK_6S is stuck in the libweb_engine.so stack.| The Notes application freezes. The issue does not persist after the application is restarted.| May 30| 850| I9CGOZ | There is a high probability that an app freeze occurs in the com.ohos.camera process because THREAD_BLOCK_6S is stuck in the libcamera_framework.z.so stack.| The Camera application does not respond. The issue does not persist after the application is restarted.| April 30| 851| I9AEO0 | There is a low probability that an app freeze occurs in the com.ohos.settings process due to APP_INPUT_BLOCK.| The Settings application does not respond. The issue does not persist after the application is restarted.| April 30| 852| I8QH9S | There is a low probability that a C++ crash occurs in libnative_appdatafwk.z.so of the os.settingsdata thread of the com.ohos.settingsdata process.| The settingsdata service breaks down. It automatically starts when users access the data again. This has no impact on users.| April 15| 853| I963TL | There is a low probability that a C++ crash occurs in libark_jsruntime.so of the com.ohos.mms thread of the com.ohos.mms process.| The SMS application does not respond or automatically exits. The issue does not persist after the application is restarted.| April 30| 854| I9635I | There is a low probability that the device automatically restarts.| The impact is controllable. No workaround is required.| April 30| 855| I96JJ7 | There is a low probability that a C++ crash occurs in libace_compatible.z.so of the com.ohos.note thread of the com.ohos.note process.| The Notes application may crash. The issue does not persist after the application is restarted.| April 30| 856| I993H9 | There is a possibility that an app freeze occurs in the com.ohos.smartperf process because THREAD_BLOCK_6S is stuck in the libglobal_resmgr.z.so stack.| When users use the SmartPerf application to view real-time performance data of other applications, the application freezes.<br>Workaround: The system automatically clears the application process. The issue does not persist after the application is restarted.| April 30| 857| I97U6G | There is a low possibility that an app freeze occurs in the com.ohos.certmanager process because THREAD_BLOCK_6S is stuck in the librender_service_client.z.so stack.| The system automatically exits the certificate management application when it is frozen. The impact is controllable.| April 30| 858| I98KIG | There is a low probability that an app freeze occurs in the com.ohos.camera process because THREAD_BLOCK_6S is stuck in the libcamera_framework.z.so stack.| The Camera application freezes. The issue does not persist after users exit the application, clear the memory, and open the application again.| April 15| 859| I98NFR | There is a low probability that a C++ crash occurs in libwm.z.so of the ohos.smartperf thread of the com.ohos.smartperf process.| There is a low probability that the application exits. The issue does not persist after the application is restarted.| April 30| 860| I98AWP | There is a low probability that a C++ crash occurs in libweb_engine.so of the com.ohos.note thread of the com.ohos.note process.| The Notes application may crash. The issue does not persist after the application is restarted.| April 30| 861| I96ZWB | The peer device cannot be found after device networking.| When using the distributed audio service, OpenHarmony 4.0 and 4.1 devices cannot be compatible or interoperate with each other. The impact is controllable.| May 30| 862| I96CJL | The networking between mini-system devices fails.| The impact is controllable, and no workaround is available.| May 30| 863