• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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