• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# OpenHarmony 5.0.0 Release
2
3
4## Version Description
5
6OpenHarmony 5.0.0 Release continuously improves its standard system capabilities. It provides the following enhancements over OpenHarmony 4.1 Release:
7
8The application framework has introduced more lifecycle management capabilities and child process related capabilities. It can now conduct more refined scheduling and management of tasks at application runtime. The lifecycle management capabilities have been refined, and the application launching and redirection capabilities have been improved. ArkUI has further opened up the rendering capabilities of custom nodes and improved the components' capability to call through C APIs. Bundle management has improved the efficiency of application packaging and enriched the operational scenarios for end users when using applications (such as creating application clones and home screen shortcuts). The connection capabilities and specifications of DSoftBus have been further enhanced. The distributed data management capabilities have been further strengthened. While ensuring the rational sharing of data, security has been enhanced. The Sendable mechanism adaptation capabilities of other modules have also been improved. File management has further improved the Picker's capabilities, achieving rational control and use of file resources. Media capabilities in audio and video playback and recording have been further enhanced. Support has been added for multiple audio, video, and image encoding formats. More detailed playback control operations are now supported. The camera provides more powerful capabilities, enriching the scenarios for end users to take photos. The framework capabilities, video encoding and decoding capabilities, and audio and video application capabilities have been improved. The media library has enriched the usage scenarios and provides a better user experience.
9
10Multiple subsystems have further aligned with ArkTS to enhance NDK C API capabilities, such as ArkUI's adaptability to third-party frameworks, Unified Data Management Framework (UDMF), graphics rendering, playback framework, camera, graphics codec, network management, internationalization, time and time zone, input method framework, and pasteboard.
11
12OpenHarmony 5.0.0 Release is the official release version for API level 12.
13
14A more detailed description of the enhancements is as follows:
15
16
17### Application Framework
18
19- You can create JS or native child processes for time-consuming operations.
20
21- A wider range of lifecycle events, such as **onNewWant**, are provided for abilities.
22
23- An ability can return the AbilityResult to the caller without proactively destroying itself.
24
25- Context supports the conversion of sendable objects for passing the context in multithreading environments.
26
27- Application-level font settings are supported.
28
29- The AppStartUp framework is introduced to provide a simple and efficient method for initializing components during application startup, improving startup performance.
30
31- APIs for starting atomic services are added, and two startup modes are provided: pop-up and embedded.
32
33- Enhanced auto-fill capabilities: The **TextInput** component supports auto-save and auto-fill for more data types.
34
35- Enhanced widget capabilities: The monochrome mode, inverse color, gradient color collision, exquisite visual display (such as blur, shadow, and rounded corners), and natural background integration.
36
37- The Ability Assistant (AA) tool supports implicit application startup.
38
39- Deep Link and App Linking are provided to reduce usage costs for developers and improve navigation security.
40
41- Secure application restart capabilities are provided.
42
43- The system environment now includes notifications for changes in font size and weight.
44
45- The UIAbilityContext capabilities are enhanced as follows:
46  - Obtaining the WindowStage
47  - Enabling an application to proactively switch its UIAbility to the background
48
49- The following application lifecycles are added:
50  - **OnDestroy** lifecycle for the AbilityStage
51  - **onWindowStageWillDestroy** lifecycle for the UIAbility
52
53- The wait-for-debugging mode is added for applications.
54
55- During cross-device migration, an application can migrate from one ability to another ability.
56
57- During cross-device migration, an application can use asynchronous APIs to save data.
58
59- During cross-device migration, an application can be started in advance in pull scenarios by configuring the immediate startup field.
60
61
62### ArkUI
63
64- Component customization is further enhanced with the introduction of **Modifier**, **ContentModifier**, and **DrawModifier**. Attributes can be added to existing components, component content can be customized, and fully custom rendering is supported.
65
66- Custom nodes and native rendering nodes are opened up. [Custom nodes](https://gitee.com/OpenHarmony/docs/blob/master/en/application-dev/ui/arkts-user-defined.md) are node objects with some basic capabilities of underlying entity nodes. They can be mixed and displayed with built-in components through custom placeholder nodes. They have customization capabilities for individual nodes, such as measurement and layout, setting basic attributes, setting event listeners, and custom drawing and rendering content. There are three types of custom objects: FrameNode, RenderNode, and BuilderNode.
67  - **BuilderNode**: provides APIs for a BuilderNode – a custom node that can be used to mount native components.
68  - **FrameNode**: provides APIs for a FrameNode, which represents an entity node in the component tree. It can be used by a NodeController to mount a BuilderNode (that holds the FrameNode) to a NodeContainer or mount a RenderNode to another FrameNode.
69  - **RenderNode**: provides APIs for creating a RenderNode in custom drawing settings at the native side.
70  - **NodeController**: provides APIs for managing custom nodes, such as creating, showing, and updating custom nodes, and APIs for mounting custom nodes to a NodeContainer component.
71
72- The NDK capabilities of components suitable for third-party frameworks are enhanced, covering component creation, attribute setting, event registration, customization, and component tree building.
73
74- The capabilities of the **Navigation** component are enhanced, including the single- and dual-column switching animation, interruption and resumption of transition animations, and listening capabilities for the page lifecycle.
75
76- The visual effect, animation, and interaction refresh of components are supported. Aging, mirror language, and screen reading are supported.
77
78- You can define the color, shape, rounded corner, size, position, and shadow for menu and dialog box components.
79
80- The node customization capability is enhanced to provide FrameNode customization and node agents.
81  - Nodes can be dynamically added or deleted.
82  - Universal attributes and events can be set for nodes.
83  - The capability of traversing the node tree is supported.
84  - Component information can be accessed through nodes, and additional event callbacks can be registered.
85  - Custom node measurement, layout, and rendering are supported.
86
87- The custom extension capability is enhanced to provide a variety of modifiers.
88  - Modifiers of basic components are provided to support chain calls and parameter passing, and can inherit to implement custom modifiers.
89  - **AttributeUpdater** is introduced to support direct attribute updates.
90  - **GestureModifier** is introduced to support dynamic gesture settings.
91  - **DrawModifier** is introduced to extend the drawing content of native components.
92  - **ContentModifier** is introduced for certain components, supporting customization of component content styles with custom Builder methods.
93
94- The capabilities of the **Navigation** component are enhanced as follows:
95  - The **onWillShow** and **onWillHide** lifecycles are supported.
96  - Transition animations support interruption and resumption.
97  - The page content is extended to the status bar.
98  - Singleton redirection is supported.
99  - The custom animation capability is enhanced.
100
101- The advanced text capabilities are enhanced as follows:
102  - **Text** components support attribute strings.
103  - Images and texts can be dragged between WebView and ArkUI applications.
104  - RichEditor supports hint settings.
105
106
107### Bundle Manager
108
109- Application clone access and management are supported. Applications can access application clones through simple configuration.
110
111- Home screen shortcuts are supported. Users can dynamically add shortcuts to the home screen.
112
113- The system-level HSP and ArkWeb can be upgraded independently, and preset applications can be updated independently.
114
115- A recovery mechanism is provided upon OTA update interruption. If a power outage or service crash occurs during an OTA update, the OTA process is restored upon restart, continuing to install or update the applications.
116
117- The **cache** directory can be automatically cleared when device space is insufficient.
118
119- Native software packages can be packed, installed, and uninstalled.
120
121- The packaging tool compresses an application package to reduce its size for distribution.
122
123- The service module (HSP/HAR) supports the **router_map.json** configuration, implementing dynamic route decoupling between modules.
124
125- The integrated HSP is supported. Multiple applications in a group can use the integrated HSP to share code and resources.
126
127- Uninstalling updates is supported. Preinstalled applications that have been updated from AppGallery can be restored to the preinstalled version by uninstalling the updates.
128
129- APIs are provided to install and query in-house applications, allowing for in-house application management.
130
131- Unified resource cache is provided, covering overlay and theme switching scenarios.
132
133- Decompression of GZIP files is supported.
134
135- The **resfile** directory is introduced, which stores various resource files. During application installation, these resources are decompressed to the application sandbox path.
136
137
138### DSoftBus
139
140- IPC provides basic C APIs, including serialization, deserialization, and message sending and receiving.
141
142- Transmission priority control is added for BR/BLE connections to improve the success rate of BLE discovery and broadcasting.
143
144- BR/BLE link multiplexing is supported. The multiplexing process is not interrupted by services, improving the success rate of multiplexing.
145
146- Multi-medium networking is supported to avoid repeated authentication and improve authentication efficiency.
147
148- Logical channels can be decoupled from physical links to increase the connection success rate.
149
150- The transmission module provides encryption and decryption APIs, and supports the capabilities of canceling the binding process and configuring the timeout interval.
151
152- IPC supports asynchronous message sending and provides high-performance JS interfaces for reading and writing the shared memory.
153
154- The common parts of IPC_Core and IPC_Single are decoupled, continuously optimizing the memory usage.
155
156
157### Distributed Data Management
158
159- RelationalStore and Preferences support access to shared sandbox data.
160
161- The RDB supports opening in read-only mode.
162
163- UDMF supports compatibility queries for UTD and MIME types.
164
165- Data asset synchronization is optimized in the migration scenario.
166
167- Distributed data management with E-class encryption is supported.
168
169- In the inverted index construction scenario, an external tokenizer can be specified for an application.
170
171- NDK C APIs support UDMF data drag and drop across devices.
172
173- Preferences support serializable JSON objects and key-based precise subscription.
174
175- relational_store supports TS synchronous APIs.
176
177- UDMF supports batch transactions, and introduces 4 common data struct definitions and 40 UTD data types.
178
179- data_share is optimized in terms of resource usage, access control, and access precision.
180
181
182### Distributed Hardware
183
184- Refined ACL management is provided. ACLs can be added, deleted, modified, and queried based on devices, users, accounts, and bundle names.
185
186- The quality is hardened to improve the stability and reliability of functions.
187
188- Applications are able to manage trusted and untrusted device resources, and query, filter, sort, and listen for device information.
189
190- A device authentication framework is provided to support PIN code, tapping, scanning, and getting-close, supporting various authentication interaction entries.
191
192- Device networking, online/offline, and peripheral device scanning capabilities are introduced for device resource management.
193
194
195### Distributed DeviceProfile
196
197- Device data is restructured at multiple levels to improve the execution efficiency of data addition, deletion, modification, and query.
198
199- The quality is hardened, and background link establishment is optimized to improve stability and reliability.
200
201- System services can add, delete, modify, and query cross-device trust relationships, trusted device information, device system information, service information, and service feature information, and subscribe to data change notifications.
202
203- On-demand data synchronization and Bluetooth heartbeat broadcast synchronization across devices are supported. Data can be categorized into toggle data, static data, and dynamic data for service parties to define and operate different types of data based on their own data characteristics.
204
205
206### File Management
207
208- Incremental backup is provided for files and cloud space.
209
210- APIs are provided for an application to obtain the backup data volume details, allowing an application to report the number of data records to be backed up (for example, the number of short messages) and exception events during backup and restore.
211
212- The SA is allowed to access the backup and restore framework.
213
214- The picker capabilities are enhanced. Audio Picker allows users to select multiple items at a time. Download Picker is added, allowing applications to directly save files to the **Download/*bundleName*** directory. In addition, subsequent access to this directory does not require permission authorization, complementing the download experience of browser applications.
215
216- Applications can obtain the access permission of public directories (**Download**, **Desktop**, and **Document**) by applying for permissions (supported on some devices, subject to **syscap** judgment). Direct access is not allowed without permissions requested.
217
218- Applications can select files or directories through File Picker and obtain temporary access permissions to the files or directories. Persistent access is also supported. Files or directories that are not persisted cannot be accessed after the applications exit.
219
220- Stream file access APIs, such as **CreateStream** and **fdopenStream**, are added.
221
222- The APIs for setting and obtaining extended attributes are added.
223
224
225### Graphics and Window Manager
226
227**Graphics**
228
229- The native image module supports NativeWindowBuffer.
230
231- The native vsync is supported, supporting multiple callbacks per frame.
232
233- NDK C APIs related to variable frame rates are provided.
234
235- ColorSpaceManager supports the sendable capability.
236
237- The font engine supports the text shadow capability and underline alignment.
238
239- The graphics drawing interface improves drawing capabilities.
240
241- The drawing capability is enhanced to support vector primitive drawing, bitmap drawing, style visual effect, and shadow effect for text.
242
243- The bitmap ArkTS and C APIs are enhanced to support format conversion, premultiplication of transparency, and effect processing.
244
245- The NDK capability of the text engine is enhanced to support line spacing and various wrapping policies.
246
247- The NDK capability of the surface is enhanced to provide C APIs for obtaining the YUV data location, surface ID, and buffer queue size, as well as attaching and detaching.
248
249- LTPO frame control is introduced.
250
251- The 3D component capability is enhanced to support loading and editing of 3D scenes.
252
253- OpenGL ES extensions are provided.
254
255- The performance and energy efficiency are further optimized.
256
257**Window Manager**
258
259- The **display.getDisplayByIdSync** API is provided to work with the multi-screen feature, allowing applications to synchronously obtain information about the screen where the ability is located through the ID.
260
261- Information about the available area on the screen can be obtained.
262
263- The text color of the status bar can be set based on the page color in ArkUI.
264
265- Applications can obtain the color attribute of the status bar.
266
267- The cross-platform capability is enhanced. APIs such as **loadContentByName** and **windowSizeChange** adapt to the cross-platform capability.
268
269
270### Media
271
272**Audio**
273
274- Audio focus enhancement: Audio focus sessions are supported, allowing an application to set concurrent playback policies and to play silently without interrupting background audio playback.
275
276- More audio output devices, such as DP and USB headsets, are supported. Switching of the default output device (earpiece and speaker) is also supported.
277
278- The audio stream type for video calls is added, optimizing the audio stream playback experience in this scenario.
279
280- A unified volume component is added for easy of use, reducing development complexity.
281
282- The style of the in-app casting component can be customized.
283
284- The ringtone list query and custom ringtone settings are supported.
285
286- Internal audio recording allows filtering by stream type and application.
287
288- Low-power audio playback supports speed adjustment and sound effect processing.
289
290- HD audio playback is supported for both wired and Bluetooth headsets.
291
292- Spatial audio rendering is supported for external playback.
293
294- VoIP voice calls support low-latency channels.
295
296- System sound management allows applications to obtain the system tone list and customize system tones.
297
298**Playback**
299
300- The playback start and seek performance of the player is optimized to reduce the latency.
301
302- Multiple playback protocols or formats are added: DASH protocol, and AMR, APE, and WAV PCM-MULAW audio formats.
303
304- Multiple playback control capabilities are added: video playback with multiple audio tracks, changing the output surface during video playback, silent playback, precise seek, playback range setting, and subtitle setting.
305
306- The streaming media buffer size can be configured. The audio offload mode is supported.
307
308- Enhanced streaming media playback capability: The streaming media cache policy is optimized, reducing frame freezing.
309
310- More playback speed options (0.5x and 1.5x) are introduced.
311
312- More playback formats (such as AMR) are supported.
313
314- More audio encoding parameters (such as the bit depth) are introduced.
315
316- Low-power audio playback (offload) is supported.
317
318- Precise seeking is supported.
319
320- Users can switch the video to another window during video playback.
321
322- Header customization is introduced, allowing users to add custom information during streaming media playback.
323
324- FLV live streaming is supported.
325
326- Applications can automatically switch to a proper bit rate based on the network quality during online playback.
327
328**Recording**
329
330- Enhanced audio recording capability: Audio can be recorded in MP3, WAV, and PCM (µ-law) formats.
331
332- Image rotation parameters can be dynamically configured.
333
334- Layered encoding is introduced for video recording.
335
336**Media metadata**
337
338Identification of HDR Vivid videos is supported.
339
340**Screen Capture**
341
342- Screen capture protection can be exempted for the application's own privacy windows, providing a privacy confirmation window and screen capture status prompt.
343
344- Images in a specified window can be excluded during screen capture.
345
346- Screen rotation can be configured and rotation parameters can be dynamically adjusted.
347
348- The microphone and system sound can be captured simultaneously.
349
350- C APIs are provided to record the system screen and sound.
351
352- Applications can obtain screen capture data in surface mode.
353
354- Applications can configure screen capture content to follow screen rotation.
355
356- Screen capture cannot be performed concurrently with cellular calls.
357
358- The microphone and system sound can be captured simultaneously.
359
360- A privacy dialog box is provided for screen capture. Screen capture can be started only after being authorized by the user.
361
362- Screen capture supports excluding the window with the specified window ID.
363
364- Screen capture supports excluding the audio of the application itself.
365
366DRM
367
368- DRM plug-in management and DRM scheme integration are supported.
369
370- DRM certificate downloads are supported.
371
372- Online and offline authorization of DRM programs is supported.
373
374- Decryption of DRM programs in secure or non-secure mode is supported.
375
376- Secure video channels are supported.
377
378- Authorization, decryption, and playback of HLS+TS/DASH+fMP4 DRM programs are supported.
379
380- The integration of the AVPlayer and AVCodec playback framework is supported.
381
382**Audio/Video Codecs**
383
384- AVTranscoder APIs are added to reduce the bit rate and output video files in AVC, AAC, and MP4 formats, reducing the amount of data to be transmitted or stored.
385
386- APE decoding and demuxing are supported.
387
388- MP3 encoding and muxing are supported.
389
390- Parsing of SRT subtitles is supported.
391
392- H.264/H.265 hardware encoders support the setting of long-term reference frames and reference frame encoding on a per-frame basis, depending on hardware chip capabilities.
393
394- H.264/H.265 hardware encoders support the setting of encoding QP on a per-frame basis, depending on hardware chip capabilities.
395
396- H.264/H.265 hardware codec supports low-latency frame output (one-in-one-out), depending on hardware chip capabilities.
397
398- H.264/H.265 hardware encoders support the resetting of the bit rate and frame rate, depending on hardware chip capabilities.
399
400- H.264/H.265 hardware encoders support hierarchical-P temporal scalability, depending on hardware chip capabilities.
401
402- Parsing of FMP4 files is supported.
403
404- In surface mode, surface switching is supported during hardware decoding.
405
406**DRM**
407
408- The AVPlayer and AVCodec can parse DRM information for DASH programs, decrypt H.265 videos encapsulated in TS, and decrypt audio clips.
409
410- AVCodec DRM adaptation now includes settings for decryption parameters.
411
412**Camera**
413
414- The following modes are added: time-lapse, panorama, light painting, wide aperture video, and fluorescence.
415
416- A one-touch PerConfig mechanism is added for cameras to ensure consistent effects and simplifies development.
417
418- The deferred photo delivery process is optimized to improve the performance and quality of photos and videos.
419
420- New C APIs are added to match the capabilities of ArkTS APIs.
421
422- The camera experience is enhanced with features like mirroring, zoom, image stabilization, burst shooting, and camera status notification.
423
424- Camera modes are enhanced, including Pro, Super macro, Super slow motion, and Safe.
425
426- The camera is enhanced to support moving photos, HDR Vivid capture, and deferred photo delivery.
427
428- The camera effect is enhanced to support black and white colors and portrait blurring.
429
430- Camera control is enhanced. The frame rate can be dynamically configured, and information such as the focal length and ambient brightness can be returned.
431
432**Image**
433
434- The EXIF read and write capabilities are enhanced, supporting batch read and write operations on EXIF data. The number of playback times can be obtained for GIF files.
435
436- HDR dual-layer codec and conversion between HDR and SDR are supported.
437
438- HEIF encoding and decoding and DNG decoding are supported.
439
440- The compilation framework is supplemented based on NDK C APIs, including base classes for effects and filters, and custom algorithms.
441
442- HEIF decoding is supported.
443
444- DNG decoding is supported.
445
446- C APIs are provided for image encoding and decoding.
447
448- Image codec supports HDR effects (depending on platform capabilities).
449
450- The EXIF coverage and batch EXIF read/write capabilities are supported.
451
452- Images in HEIF and JPEG formats can be decoded into the YUV format.
453
454- GIF decoding is enhanced, allowing applications to obtain the number of playback times and frame transition mode.
455
456- The WebP format supports retrieval of the frame delay time.
457
458- JPEG codec hardware acceleration is enhanced (depending on platform capabilities).
459
460- The image editing NDK interface is open, supporting pipeline orchestration, effectors, and filter chains.
461
462**Media Library**
463
464- A new deferred photo delivery process is introduced, including consumption-only, direct saving, and editing and saving after photographing.
465
466- The hdc command in developer mode can be used to read images and videos in the public storage area of the media library.
467
468- The hdc command in developer mode can be used to parse the names of images and video files encrypted by the media library.
469
470- The mediatool in root mode can be used to preset image and video resources.
471
472- Applications can identify HDR images and videos and provide HDR LCD thumbnails.
473
474- The media library is enhanced to refresh search indexes in a timely manner when images and videos are deleted.
475
476- Video tagging, natural semantics, and detection of human and pet heads are supported.
477
478- Applications can now generate OCR information for images in a timely manner.
479
480- Applications can locate images and videos in the smart album.
481
482- Applications can parse the longitude and latitude of videos.
483
484- Permission optimizations allow applications to maintain long-term read/write permissions for their own saved images and videos.
485
486- Applications are allowed to export videos to the application sandbox.
487
488- The flow control mechanism for malicious applications accessing cloud images is enhanced.
489
490- The media library now publishes change notifications when cloud images change.
491
492- Watermarks and filters for deferred photo delivery now support editing and reversibility. The mechanism for accurately identifying and reporting application access to original images and videos is optimized.
493
494- The storage space occupied by images and videos, including thumbnail space, is now accurately calculated.
495
496- Applications can use C APIs to read images and videos.
497
498- Applications can query named portrait information.
499
500- The media library allows users to take, save, and read moving photos, set the frame information of the moving photo cover, and set the moving photo effect mode.
501
502- A new ringtone library is added to support preset ringtones and custom ringtones.
503
504- Shooting mode information can now be uploaded to the cloud.
505
506- DFX capabilities are enhanced to include static user data, time-consuming behavior, deletion behavior, and application behavior statistics.
507
508
509### Common Event and Notification
510
511- The CEM tool supports the release of custom common events.
512
513- A generic interface is added to Emitter to directly transfer sendable objects.
514
515- Synchronous query of the enabled status of notifications is supported.
516
517- Authorized application can customize notification ringtones.
518
519- Applications can create live notifications of the progress bar type in system proxy mode.
520
521- Different application clones can publish notifications.
522
523- A synchronous interface is provided to query the notification authorization status.
524
525- System applications can batch query authorized notifications and live window application lists and statuses.
526
527- System applications can publish emergency event notifications.
528
529- System applications can subscribe to notifications by device type for reminder coordination between mobile phones and other devices.
530
531- System applications can set badges for other applications.
532
533- In Do Not Disturb mode, an application trustlist can be configured, and applications within the trustlist are not affected by Do Not Disturb mode.
534
535- System applications can delete and re-add statically subscribed-to common events while running.
536
537
538### Communications
539
540- Third-party applications can connect to hotspots through network management.
541
542- The DHCP service is optimized to support retrieval of information such as the peer name and IP address.
543
544- Security for saved hotspot password information is enhanced.
545
546- The number of threads and architecture of the WLAN service are optimized.
547
548
549### Location
550
551- During continuous locating, error code information that affects locating can be listened for.
552
553- APIs related to GNSS satellite status information and continuous locating are optimized.
554
555- The security compilation options of the location service are enhanced.
556
557- The location permission policy for service widgets is optimized.
558
559
560### Telephony Service
561
562- Applications can obtain the IMEISV and the PLMN code of the resident base station.
563
564- The telephony service process load and DFX are optimized, including independent build and deployment, improved traceability, and stability.
565
566
567### Network Management
568
569**Network Management Capabilities**
570
571- You can create a NetConnection object to connect to a specified Wi-Fi hotspot.
572
573- NDK C APIs are provided for network management status listening and application-level proxy listening.
574
575- The network management process load and DFX are optimized, including independent build and deployment, enabling FFRT to reduce the number of threads, reducing the memory overhead, improving traceability, and improving the automatic recovery capability after a crash.
576
577**Network Protocol Stack Capabilities**
578
579- A TCP socket can be upgraded to a TLS socket to improve communication security.
580
581- A TLS socket supports skipping certificate verification to avoid scenarios where certificates cannot be verified.
582
583- All sockets can obtain the local IP address and port number.
584
585- HTTP supports the configuration of certificate pinning information.
586
587- HTTP supports the Brotli compression algorithm.
588
589- The HTTP protocol stack can automatically read certificates installed by the system and users.
590
591- The HTTP proxy supports secure storage of usernames and passwords, automatic update of proxy authentication credentials, and automatic reading of proxy configurations when the previewer is used.
592
593- WebSocket supports capabilities such as obtaining header information and setting proxies, with reduced power consumption.
594
595- TLSSocket supports sending of ArrayBuffer data and use of the system default certificates.
596
597
598### Power
599
600- The charging current can be obtained, allowing third-party applications to obtain the current of the device through **nowCurrent**.
601
602- Temperature control actions in airplane mode are supported. You can customize temperature control policies to control devices to enter airplane mode.
603
604- The WorkSource proxy running lock can assist the resource scheduler in power consumption control.
605
606- In low power situations, devices can automatically enter the S4 sleep mode after waking up from the S3 sleep mode, implementing ultra-long standby.
607
608- After system startup, it is now possible to read and broadcast the presence information of device shells or covers, and to configure kernel nodes of battery information and whether to broadcast.
609
610- The DIM display status is supported. The screen is turned off after the system enters the DIM state, improving user experience.
611
612- The screen pre-display capability is supported. The screen is powered on but does not display any information.
613
614- A timeout for screen off can be set.
615
616- Temperature simulation debugging is supported.
617
618- ArkTS and C APIs related to hibernation are provided.
619
620- The power service operates independently as the powermgr process.
621
622
623### USB
624
625- Access control is enhanced for USB device configuration management.
626
627- The USB standard data transfer mode (interrupt transfer and bulk transfer) is enhanced.
628
629- Security management of standard USB peripherals is supported.
630
631- Applications can obtain the transmission rate of USB devices and activation status of USB interfaces.
632
633- A verification system for establishing wired USB peripheral connections is introduced.
634
635- Presetting default USB ports is supported.
636
637- Multi-user concurrency scenarios are supported.
638
639- The DFX capability is enhanced to streamline the USB service restart process upon an exception.
640
641- The application's defenses against unauthorized access are fortified.
642
643
644### Startup
645
646- Native software packages can be packed, installed, run, and uninstalled. A native software package development and release system is now available, facilitating the rapid construction of productivity software ecosystem capabilities and improving development efficiency for system developers.
647
648- A resettable Open Anonymous Device Identifier (ODID) is provided to replace real-world UDIDs and other hardware identifiers.
649
650- The bftpd command can be executed to debug sandbox data access in user mode.
651
652- Applications can query and obtain the real ODID information.
653
654- Maintenance commands are extended to include viewing the running status of each service process, FD status in the looper, and timer information.
655
656- The appspawn module supports the **bftpd** command and provides the access, read, and write capabilities for directories in the specified application sandbox.
657
658- A restriction is placed on the number of processes that can be forked during application incubation.
659
660- During application incubation, environment information can be set for application processes.
661
662- During application incubation, sandbox data can be isolated per account for atomic services.
663
664- After the foundation process is restarted due to an exception, the init process can vote again to ensure that the BOOTCOMPLETE event can be initiated again.
665
666
667### Globalization
668
669- C APIs are provided to support internationalization capabilities in line with the ICU4C standard.
670
671- The internationalization formatting capability supports screen size adaptation.
672
673- Pseudo-localization testing is fully supported.
674
675- C APIs are provided for resource file management.
676
677- String resources support tags for translatability.
678
679- Support for less common language character sets is now provided.
680
681
682### Security
683
684**Crypto Framework**
685
686- C APIs are provided for some typical encryption and decryption algorithms to match ArkTS APIs.
687
688- The SM4-GCM algorithm interface is supported.
689
690- The crypto framework supports the HKDF key derivation algorithm, provides RSA encryption and decryption capabilities, and provides JS synchronous APIs for the library.
691
692**Certificate Management**
693
694- APIs are provided to invoke the certificate management page.
695
696- APIs are provided to obtain the private certificate list of an application.
697
698- The certificate framework provides UIs and APIs for managing system service certificate credentials.
699
700**Access Control**
701
702- Access control
703  - The geographical location permission supports one-time authorization options.
704  - The permission management application page of the Settings page can be displayed.
705
706- DLP:
707  - Applications can check whether the current system provides the DLP feature.
708  - DLP file control for printing is supported.
709  - Copy and paste authorization for users in batches is supported.
710
711- SELinux:
712  - The capability of ignoring specified directories during recursive tagging is supported.
713  - SELinux policy control rules are added, requiring fine-grained management of ioctl permissions using allowxperm.
714
715- Code signature
716  - The signing tool supports the signing of HQF packages in developer mode.
717  - The signing tool supports the signing of ELF files that are not suffixed with .so in the **libs** directory of the application package.
718  - The signing tool supports the signing of native package (.hnp) code in the application package.
719
720**User IAM**
721
722- Password validity period check is supported.
723
724- Key recovery is supported.
725
726- Cross-device password authentication is supported for user identity authentication.
727
728- Embedded identity authentication components are provided for facial recognition and fingerprint recognition.
729
730- The complexity of registered passwords can be checked.
731
732- Cross-user credential information recording, query, and authentication are supported.
733
734- Applications can set the password validity period.
735
736- The DFX capability is enhanced to support automatic authentication cancellation when the caller (application) switches to the background or ends its lifecycle.
737
738**Account**
739
740- Local accounts can be deregistered.
741
742- When creating a local account, you can specify a short account name (used as the personal folder name).
743
744- Querying local account names is now supported.
745
746- A new privacy account type is introduced.
747
748- A new unlock authentication intent is introduced.
749
750- New graphical and four-digit PIN credential types are introduced.
751
752- Multiple accounts can run concurrently (one account running in the foreground and the others running in the background).
753
754- The number of system accounts that can be logged in to at the same time can be configured.
755
756- Privacy accounts can be created.
757
758- APIs are provided for adding and authenticating credentials across accounts.
759
760- APIs are provided for cross-device credential authentication.
761
762- Southbound extended domain account authentication protocols are supported.
763
764- Configuration of domain server information is supported.
765
766
767### ArkCompiler
768
769**ArkTS Front-end Compiler**
770
771- The syntax is enhanced. The compilation target is switched from es2017 to es2021, and source code files with es2018 to es2021 syntax features can be compiled.
772
773- The code obfuscation capabilities are enhanced: stack restoration, file-level non-obfuscation, obfuscation of HAP and HSP module file names, and trustlist wildcard.
774
775**ArkTS Runtime**
776
777- Module lazy loading is supported. Execution files are loaded synchronously when variables are actually used, improving application startup performance.
778
779- The concurrency capabilities are enhanced. The sendable object sharing mechanism is provided to optimize object communication across threads. TaskPool provides features such as task queues, continuous tasks, and periodic tasks.
780
781- Debugging is enhanced to support reverse debugging and Smart Stepinto.
782
783- Tunning is enhanced to support hiperf/profiler hybrid stack and multi-instance heap dump.
784
785**ArkTS Utility**
786
787- High-precision floating-point operations, StringDecoder (string decoding), stream data processing, and bit vectors are supported.
788
789**JSVM**
790
791- A system JS engine is provided to support high-performance running of JavaScript and WASM.
792
793**Frontend Compilation Toolchain**
794
795- The frontend compiler provides the Ark bytecode file format and instruction set specifications.
796
797- The frontend compiler supports the loading of compiler plug-ins configured within DevEco Studio.
798
799- The frontend compiler is enhanced to eliminate unnecessary branches for constants/variables within functions and across files.
800
801- The frontend compiler is optimized to reduce compilation time.
802
803- The frontend compiler supports exception stackback and debugging of closed-source HAR packages.
804
805- The **target** option of the TypeScript compiler is changed from ES2017 to ES2021.
806
807**Code Obfuscation**
808
809- The time performance and memory usage are optimized.
810
811- HAP file names can be obfuscated.
812
813- Some files can be configured for not being obfuscated.
814
815- Wildcard characters can be used in the trustlist.
816
817- The row and column numbers can be reserved in the **nameCache** file to support DevEco Studio stack parsing.
818
819**Concurrency**
820
821- Sendable memory data types are supported, including the Sendable class, Sendable container (Array, Map, Set, Int8Array, Int16Array, Int32Array, Uint8Array, Uint16Array and Uint32Array), JSON parsing into Sendable objects, and asynchronous locking.
822
823- The maximum number of Worker threads is increased to 64, and a total JS memory limit for the process is 1.5 GB.
824
825- TaskPool supports task monitoring. It can listen for task distribution, execution start, successful execution, and failed execution events.
826
827- TaskPool provides APIs to determine whether a function is a concurrent function.
828
829- TaskPool supports continuous tasks.
830
831- TaskPool supports serial queues to ensure the task execution sequence.
832
833- TaskPool supports deferred task execution.
834
835- TaskPool can collect statistics on the execution duration, including the CPU duration and I/O duration.
836
837**Modularization**
838
839The HAR files of the same version are treated as a singleton. That is, when an HAP and HSP depend on the same instance, only one instance is loaded during running.
840
841**Debugging**
842
843- Time Travel Debugging (TTD) is supported.
844
845- Hybrid stackback of HiPerf and Profiler is supported.
846
847- **callFunctionOn** is supported.
848
849- Multi-instance heap dumps are supported.
850
851- Fast cold start of ApplyChange is supported.
852
853- Smart step into is supported.
854
855**LLVM/Rust Compiler**
856
857- Applications support TSan options.
858
859- The Rust community can now compile targets for OpenHarmony.
860
861**LLDB**
862
863MiniDebug is supported.
864
865**Linter**
866
867Automatic fixes for 14 ArkTS rules are added in DevEco Studio.
868
869**Musl C Library**
870
871- The C library supports the locales zh_CN or zh_CN.UTF-8.
872
873- The fdsan capability is supported, and fdsan-related APIs are opened up.
874
875- The C library interface **fopencookie** is now accessible within the NDK.
876
877**Standard JS Engine**
878
879- The sourcemap file address information can be passed during JS script compilation. If an exception occurs, the source information converted by sourcemap is provided.
880
881- Applications can check whether JS objects belong to the basic JS types.
882
883- JS loose equality (== operation) is supported.
884
885- String references can be created and persistent strings can be used.
886
887
888### MSDP
889
890**Drag Framework**
891
892- You can rotate and drag and drop a window as it rotates.
893
894- Applications can configure whether to hide the badge during the drag process.
895
896- The data receiver can customize the cut and copy behavior.
897
898- A more exquisite drag-and-drop visual experience is provided, including effects like transparency, shadows, and rounded corners.
899
900- Multiple objects can be dragged and selected, enriching the drag-and-drop experience.
901
902- The drag-and-drop behavior can be customized, enabling actions like cut/copy based on shortcut keys.
903
904- Lightweight logging is supported to enhance the DFX capability.
905
906**Screen Hopping**
907
908- Control for both ends to initiate **activate** interface calls simultaneously is provided.
909
910- Timing issues of screen hopping are optimized to reduce system dependencies and eliminate timing issues between multiple processes.
911
912- Screen hopping management performance is improved, with a higher success rate and lower latency.
913
914- The service architecture is optimized to improve stability, reliability, and performance.
915
916- The performance benchmarking tool is provided to improve the DFX capability.
917
918
919### Multimodal Input
920
921- C APIs are provided to support device information query.
922
923- Screen unlock events triggered by swiping up from the bottom can be reported.
924
925- Events from irregularly shaped windows can be reported. Mouse events in the transparent area of an irregularly shaped window are transparently transmitted, but those in the non-transparent area are blocked.
926
927- The following knuckle-based interaction events are supported: rendering paths traced by knuckle movements, animating these knuckle paths, capturing screenshots by making circular gestures with a knuckle, performing extended screen captures with an 'S' gesture, and starting screen recording through a double-tap gesture using two knuckles.
928
929- The Smart Button is provided, enhancing the existing fingerprint button capability.
930
931- Infrared capabilities are supported, providing external frequency data to the caller device.
932
933- The mouse and touchpad can adapt to window rotation. In the event distribution module, the mouse coordinates are rotated and distributed to the correct window based on the window rotation information synchronized by the window.
934
935- The capability to launch system applications by pressing combination keys is supported. When the screen is off, pressing the combination keys does not launch the screenshot application. When the screen is locked, you must long press the combination keys to launch the screenshot application. Different applications are launched when you press or long press the same key. The capability of shielding combination keys through interfaces is also supported.
936
937- The stylus can be double-tapped to start the shorthand. When the screen is off, double-tapping of the stylus can be correctly identified.
938
939- The touchpad display-control ratio curve model is adapted. Based on this model, the multimodal input data preprocessing module processes the received touchpad single-point touch data.
940
941- The stylus can be used to continuously take snippets. Users can use the stylus for input and use the touchscreen for touch interaction. The annotation window responds to the stylus input, and the application window at the bottom responds to the touchscreen operations.
942
943- The pointer position information can be displayed and dynamically enabled or disabled. The number of touch pointers, touch position, and moving speed can be displayed.
944
945- Applications can listen for events from the power button and volume button. When the call application receives an event from the volume button or power button, it mutes the ringtone of incoming calls.
946
947- The performance benchmarking tool is provided to record key service logs. The demonID is used to distinguish service logs. Fault benchmarking is supplemented or added to ensure that all faults in the domain have corresponding event benchmarks, improving the DFX capability.
948
949- KeyCode is added to support custom common events for screen reading.
950
951
952### Pan-Sensor
953
954**Vibrator**
955
956- Some asynchronous query APIs offer their synchronous counterparts.
957
958- The system can better use the vibrator component to trigger vibrations based on different component capability levels.
959
960- A set of simple and common haptic feedback effects is introduced, with adjustable intensity levels.
961
962- Query APIs and synchronous APIs used to stop vibration are introduced.
963
964**Sensor**
965
966- Some asynchronous query APIs offer their synchronous counterparts.
967
968- C APIs are provided to support linear acceleration and game rotation vector sensors.
969
970- Synchronous sensor query APIs are introduced.
971
972- Error code 14500102 is added for the sensor module, indicating that the queried sensor type is not supported by the device.
973
974- Infrared and color temperature parameters are introduced into the reported ambient light data.
975
976
977### Accessibility Service
978
979- Zoom-in gestures are supported.
980
981- Proactive broadcast capabilities are provided, allowing for proactive announcements of changing information in some dynamically changing scenarios for applications adapted for screen reading.
982
983- Active focus capabilities are provided, enabling requests for proactive focusing on components in certain scenarios for applications adapted for screen reading.
984
985- Color inversion is supported, which reverses the display color to meet the needs of some visually impaired users.
986
987- High-contrast text is supported.
988
989- Audio in mono mode consolidates the audio signal from both left and right channels into a single track, meeting the needs of some hearing-impaired users.
990
991- The adjustable volume balance feature enables users to equalize the volume output between left and right ears, meeting the needs of some hearing-impaired users.
992
993- Screen touch control is enhanced to support touch duration and ignoring of repeated touches.
994
995- Touch browsing mode is supported, allowing visually impaired users to control the screen of smart devices in an interactive manner through touch browsing interactions.
996
997- The capability of recognizing multi-finger interaction gestures is added for screen reading, enhancing the interaction experience of visually impaired users in screen reading mode.
998
999
1000### Resource Scheduler
1001
1002**Background Task**
1003
1004- Applications can request different types of continuous tasks at the same time.
1005
1006- When an application requests a continuous task of the DATA_TRANSFER type, a download notification can be returned to the application for progress updates.
1007
1008**Performance, Power, and Thermal Control**
1009
1010- The system load level is determined based on the current temperature, load, and whether the system is in a high-load scenario. After an application registers the system load callback, the application can adaptively reduce its service load based on the system load level, thereby reducing the overall machine load.
1011
1012**Agent-powered Reminder**
1013
1014- When an application requests a duplicate calendar reminder, it is now possible to specify exclusion days when reminders are not made.
1015
1016- When an application requests a reminder, it can use **wantAgent** to pass **parameters**. When the user touches the reminder, **parameters** is carried to display the target UIAbility.
1017
1018- When an application queries released reminders, the corresponding reminder ID is returned in the query result.
1019
1020**Agent-powered Reminder**
1021
1022- A query interface is added to obtain the reminder ID.
1023
1024- **WantAgent** can carry **parameters**.
1025
1026- **ExcludeDate** is added to specify the date when the reminder is not triggered.
1027
1028- The end time of a reminder can be set in **ReminderRequestCalendar**.
1029
1030
1031### Test Framework
1032
1033- Compatibility testing is provided for cross-platform interfaces.
1034
1035- The DFX capability of the UiTest framework is enhanced and the efficiency is improved.
1036
1037- SmartPerf-Host supports micro indicator analysis.
1038
1039- SmartPEF devices can capture frame freezing traces, process-level memory, CPU usage, and network information.
1040
1041- Wukong supports pressure test settings and memory information collection.
1042
1043
1044### DFX
1045
1046- An API is provided to check whether the HDC debugger is connected.
1047
1048- The trace function can be enabled in developer mode.
1049
1050- Awareness of the main thread timeout event is now open.
1051
1052- The errorManager allows TaskPool and Worker to listen for unhandled Reject events.
1053
1054- The FFRT coroutine and HiTrace tuning capabilities in distributed scenarios are introduced.
1055
1056- HiProfiler memory analysis supports the JS-native hybrid stack.
1057
1058- The quality data, performance data, and power consumption data of Performance Analysis Kit are open.
1059
1060- C++ crash supports asynchronous tracing.
1061
1062- File access in the application sandbox is introduced for hdc debugging.
1063
1064- Applications support TSan detection.
1065
1066
1067### Kernel
1068
1069- Thread QoS level marking and scheduling are provided based on user interaction relationships.
1070- C APIs are provided for QoS scheduling based on user interaction.
1071
1072
1073### Upload and Download
1074
1075- **request.agent.Fault** has refined error types to assist you in quickly locating issues with API usage.
1076
1077- **request.agent.Config** has added a proxy member, supporting the setting of the network proxy address for tasks.
1078
1079- **request.agent.Task.start** supports restarting of a failed or stopped task.
1080
1081- **request.agent.Task** supports the setting of the TLS certificate pinning using the **network.json** file.
1082
1083- **request.agent.FileSpec** allows you to specify all file paths in the **base** directory of the application sandbox, facilitating sandbox file management. It also allows you to upload public files, such as Gallery files and Album files, in the foreground to reduce the overhead caused by extra copy.
1084
1085- The notification bar for background tasks is optimized.
1086
1087- The directory of an upload or download task can be any location within the **base** directory.
1088
1089- If a download task fails, users can choose to restart the download task from the point of failure.
1090
1091- Applications can listen for responses to upload and download tasks.
1092
1093- Certificate pinning is supported during upload and download.
1094
1095- User files can be specified for upload and download tasks in frontend mode (the read and write permissions must be obtained in advance).
1096
1097- The number of tasks is optimized, so that more unfinished tasks can exist at the same time.
1098
1099
1100### Input Method Framework
1101
1102- NDK C APIs are provided to support the use of the input method by self-drawn UI components, including starting and exiting the input method and processing text display requests.
1103
1104- The callback timing when invoking the keyboard is optimized, allowing input method applications to adjust the keyboard display content in a timely manner based on the input box attributes.
1105
1106- The basic mode and full experience mode of the input method are supported.
1107
1108- The automatic capitalization mode is supported.
1109
1110- The pre-display feature is supported.
1111
1112- The rotation experience of the input method panel when the screen rotates is optimized.
1113
1114- A new unified input method panel is introduced.
1115
1116
1117### Time and Time Zone
1118
1119- System APIs are provided for forcibly refreshing the NTP time and obtaining the current NTP time.
1120
1121- NDK C APIs are provided for obtaining the time zone.
1122
1123- The APIs for asynchronously obtaining the system time are deprecated. Synchronous APIs (**getTime** and **getUptime**) are introduced.
1124
1125
1126### Pasteboard
1127
1128- NDK C APIs are provided to offer the pasteboard capability.
1129
1130- A cross-device pasteboard switch is provided.
1131
1132- For applications upgraded to API 12 or later, the read permission verification is added to the pasteboard read interface.
1133
1134- Permission control is added to the pasteboard read interface. When using the pasteboard security components, you can directly read pasteboard data without applying for permissions. When using a custom component, you must obtain user authorization before reading the pasteboard data.
1135
1136- The pasteboard supports UMDF standard data types.
1137
1138
1139### Web
1140
1141- The network takeover feature is enhanced to obtain the frame URL of a request and the resource type of an intercepted request.
1142
1143- The pre-display capability of the input method in the web scenario is supported.
1144
1145- Keyboard hosting of **Web** components is supported.
1146
1147- Synchronous drawing of **Web** components and native ArkUI components is supported.
1148
1149- Directories that can be accessed across domains using the File protocol can be set.
1150
1151- Applications can now specify rendering child processes.
1152
1153- **Web** components support the acceleration gyroscope.
1154
1155- **Web** components support intelligent filling of HTML5 pages.
1156
1157- **Web** component support backward and forward cache.
1158
1159- The soft keyboard avoidance mechanism of **Web** component has been optimized to support the Resize and Offset modes.
1160
1161- W3C allows you to customize the cursor style.
1162
1163- W3C supports the **\<datalist>** element.
1164
1165- The web kernel can identify HEIF images.
1166
1167- Interception-free injection of offline resources is supported.
1168
1169- Applications can define their own DNS.
1170
1171- Universal links are supported.
1172
1173- Asynchronous JSBridge is supported.
1174
1175- **expandSafeArea** is introduced.
1176
1177- Applications can query the avoid area.
1178
1179- The ANR awareness capability of JS threads is supported.
1180
1181- Uploading of the **\<input>** element with the file type is supported.
1182
1183- Applications can customize menu options.
1184
1185- The network takeover feature can obtain the resource type and frame URL of an intercepted request.
1186
1187
1188### Theme Framework
1189
1190- The theme can be enabled through the folder directory. Compared with the compressed package, the theme enabling performance is improved.
1191
1192- Widget resources can be managed, including the operations to add, delete, modify, and query theme widgets.
1193
1194- Themes can be enabled for external screen devices.
1195
1196- The theme enabled feature does not support the switchover of the current **active** directory.
1197
1198
1199### Build
1200
1201The version of CMake version used for building is upgraded from 3.16.5 to 3.28.2.
1202
1203
1204## Mapping relationship
1205
1206**Table 1** Version mapping of software and tools
1207
1208| Software/Tool| Version| Remarks|
1209| -------- | -------- | -------- |
1210| OpenHarmony | 5.0.0 Release | NA |
1211| Public SDK | Ohos_sdk_public 5.0.0.71 (API Version 12 Release) | This toolkit is intended for application developers and does not contain system APIs that require system permissions.|
1212| (Optional) HUAWEI DevEco Studio| 5.0.0 Release | Recommended for developing OpenHarmony applications<br>[Click here](https://developer.huawei.com/consumer/cn/download/).|
1213| (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). |
1214
1215
1216## Source Code Acquisition
1217
1218
1219### Prerequisites
1220
12211. Register your account with Gitee.
1222
12232. Register an SSH public key for access to Gitee.
1224
12253. 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.
1226   ```
1227   git config --global user.name "yourname"
1228   git config --global user.email "your-email-address"
1229   git config --global credential.helper store
1230   ```
1231
12324. Run the following commands to install the **repo** tool:
1233   ```
1234   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.
1235   pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
1236   ```
1237
1238
1239### Acquiring Source Code Using the repo Tool
1240
1241**Method 1 (recommended)**
1242
1243Use the **repo** tool to download the source code over SSH. (You must have an SSH public key for access to Gitee.)
1244
1245- 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:
1246   ```
1247   repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-5.0.0-Release --no-repo-verify
1248   repo sync -c
1249   repo forall -c 'git lfs pull'
1250   ```
1251
1252- Obtain the source code from the version tag, which is the same as that released with the version.
1253   ```
1254   repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v5.0.0-Release --no-repo-verify
1255   repo sync -c
1256   repo forall -c 'git lfs pull'
1257   ```
1258
1259**Method 2**
1260
1261Use the **repo** tool to download the source code over HTTPS.
1262
1263- 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:
1264   ```
1265   repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-5.0.0-Release --no-repo-verify
1266   repo sync -c
1267   repo forall -c 'git lfs pull'
1268   ```
1269
1270- Obtain the source code from the version tag, which is the same as that released with the version.
1271   ```
1272   repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v5.0.0-Release --no-repo-verify
1273   repo sync -c
1274   repo forall -c 'git lfs pull'
1275   ```
1276
1277
1278### Acquiring Source Code from Mirrors
1279
1280
1281**Table 2** Mirrors for acquiring source code
1282
1283| Source Code                               | Version| Mirror                                                | SHA-256 Checksum                                            | Software Package Size|
1284| --------------------------------------- | ------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | -------- |
1285| Full code base (for mini, small, and standard systems)       | 5.0.0 Release    | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/code-v5.0.0-Release.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/code-v5.0.0-Release.tar.gz.sha256)| 41.8 GB |
1286| Hi3861 solution (binary)       | 5.0.0 Release    | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/hispark_pegasus.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/hispark_pegasus.tar.gz.sha256) | 27.1 MB |
1287| Hi3516 solution-LiteOS (binary)| 5.0.0 Release    | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/hispark_taurus_LiteOS.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/hispark_taurus_LiteOS.tar.gz.sha256) | 328.3 MB |
1288| Hi3516 solution-Linux (binary) | 5.0.0 Release    | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/hispark_taurus_Linux.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/hispark_taurus_Linux.tar.gz.sha256) | 220.4 MB |
1289| RK3568 standard system solution (binary)       | 5.0.0 Release    | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/dayu200_standard_arm32_20240929.tar.gz)| [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/dayu200_standard_arm32_20240929.tar.gz.sha256)| 11.7 GB |
1290| Public SDK package for the standard system (macOS)            | 5.0.0.71 | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/ohos-sdk-mac-public.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/ohos-sdk-mac-public.tar.gz.sha256) | 1.3 GB |
1291| Public SDK package for the standard system (macOS-M1)            | 5.0.0.71  | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/L2-SDK-MAC-M1-PUBLIC.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/L2-SDK-MAC-M1-PUBLIC.tar.gz.sha256) | 1.2 GB |
1292| Public SDK package for the standard system (Windows/Linux)  | 5.0.0.71   | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/ohos-sdk-windows_linux-public.tar.gz) | [Download](https://repo.huaweicloud.com/openharmony/os/5.0.0-Release/ohos-sdk-windows_linux-public.tar.gz.sha256) | 2.5 GB |
1293
1294
1295## Resolved Issues
1296
1297**Table 3** Resolved issues
1298
1299| Issue No.| Description|
1300| -------- | -------- |
1301| IA686U | There is a high probability that a C++ crash occurs in libace_napi.z.so of the OS_FFRT_2_0 thread in the com.ohos.photos process.|
1302| I9YC9X | There is a high probability that system freezing occurs in libark_jsruntime.so due to LIFECYCLE_TIMEOUT in the com.ohos.camera process.|
1303| I9TE52 | There is a possibility that app freezing occurs in libark_jsruntime.so due to THREAD_BLOCK_6S in the com.ohos.photos process.|
1304| I9TDUU | Key application: There is a low probability that app freezing occurs in libace_compatible.z.so due to THREAD_BLOCK_6S in the ohos.samples.distributedcalc process.|
1305| I9TE5K | There is a low probability that app freezing occurs in libunwind.z.so due to THREAD_BLOCK_6S in the com.ohos.photos process.|
1306| I9TJGB | There is a low probability that a C++ crash occurs in libmali-bifrost-g52-g7p0-ohos.so of the RSRenderThread thread in the com.ohos.camera process.|
1307| IA5EC3 | There is a low probability that app freezing occurs in libskia_canvaskit.z.so due to THREAD_BLOCK_6S in the com.ohos.updateapp process.|
1308| IA5I3D | There is a low probability that app freezing occurs in librender_service_base.z.so due to THREAD_BLOCK_6S in the com.ohos.smartperf process.|
1309| IA4G47 | There is an extremely low probability that a C++ crash occurs in libhcodec.z.so of the av_codec_service thread of the av_codec_service process.|
1310| I9TDMQ | Key application: There is an extremely low probability that app freezing occurs in libskia_canvaskit.z.so due to THREAD_BLOCK_6S in the com.ohos.settings process.|
1311
1312
1313## Unfixed Vulnerabilities
1314
1315**Table 4** Known issues
1316
1317| Issue No.| Description| Impact| To Be Resolved By|
1318| -------- | -------- | -------- | -------- |
1319| I9S5ZN | There is a low probability that app freezing occurs in libunwind.z.so due to THREAD_BLOCK_6S in the com.ohos.settings process.| The Settings page freezes.<br>Workaround: Restart the Settings application.| 2024-10-15|
1320| I9S600 | There is a low probability that app freezing occurs in libark_jsruntime.so due to THREAD_BLOCK_6S in the com.ohos.settings process.| The Settings page freezes.<br>Workaround: Restart the Settings application.| 2024-10-15|
1321| IAB2U3<br>IAK2J2 | There is a low probability that a C++ crash occurs in libaudio_client.z.so of the OS_APAsyncRunne thread of the audio_server process.| This issue does not affect user services. No workaround is required.| 2024-10-15|
1322| IAIRFB | 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 application will exit unexpectedly. This issue can be resolved by restarting the application.| 2024-10-15|
1323| I9SXZ8 | There is a low probability that app freezing occurs in libark_jsruntime.so due to THREAD_BLOCK_6S in the com.ohos.contacts process.| The application freezes when you open the Contacts application to query call records. This issue can be resolved by restarting the Contacts application.| 2024-10-15|
1324| IAKLLD | There is a low probability that a C++ crash occurs in libaudio_policy_service.z.so of the SaInit2 thread of the audio_server process.| The process restarts. This issue does not affect user services. No workaround is required.| 2024-10-15|
1325| IA56CU | 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 application will exit unexpectedly. This issue can be resolved by restarting the application.| 2024-09-30|
1326| IA5AMJ | There is a low probability that app freezing occurs in libark_jsruntime.so due to THREAD_BLOCK_6S in the com.ohos.launcher process.| The screen freezes for about 3 seconds when you access the multi-task screen. After the loading is complete, the screen recovers.| 2024-09-30|
1327| IA5AIT | There is a low probability that system freezing occurs in render_service due to SERVICE_BLOCK.| The application screen freezes and does not respond. This issue can be resolved by restarting the device.| 2024-10-15|
1328| IA6RH6 | There is a high probability that app freezing occurs in libbtframework.z.so due to THREAD_BLOCK_6S in the com.ohos.settings process.| The Settings application might not respond. This issue can be resolved by restarting the Settings application.| 2024-10-15|
1329| IA6RFX | There is a high probability that a C++ crash occurs in libbtservice.z.so of the OSaInit0 thread in the bluetooth_service process.| Bluetooth-related application might crash. This issue can be resolved by restarting the application.| 2024-10-15|
1330| IA8KGR | There is a low probability that a C++ crash occurs in libbluetooth_server.z.so of the OS_IPC_12_22172 thread of the bluetooth_service process.| Bluetooth-related application might crash. This issue can be resolved by restarting the application.| 2024-10-15|
1331| IAQC64 | Randomly open several applications and then open the Settings application. When you return to the home screen and repeatedly access the background interface, the Settings application may encounter a memory leakage of 32 KB for each operation.| The Settings application may exit unexpectedly. This issue can be resolved by restarting the application.| 2024-10-15|
1332| IASE04 | In the memory test of OpenHarmony on the RK3568 development board, the resident memory of the render_service process exceeds the baseline (31 MB).| The memory usage of the entire system is higher than expected.| 2024-10-15|
1333| IASDWO | The sliding frame rate for accessing the Weibo home page through a browser is lower than the specification baseline.| Browsing experience is affected.| 2024-10-15|
1334