### Acquiring Source Code Using the repo Tool<a name="section7180193542317"></a>
Method 1 \(recommended\): Use the **repo** tool to download the source code over SSH. \(You must have registered an SSH public key for access to Gitee.\)
This version inherits all features of OpenHarmony 1.1.1, and adds and optimizes features for different modules based on OpenHarmony 1.1.1. The following table lists the feature updates.
<tdclass="cellrowborder"valign="top"width="41.21%"headers="mcps1.2.5.1.2 "><pid="p474222917578"><aname="p474222917578"></a><aname="p474222917578"></a>Added settings for the slider style.</p>
<tdclass="cellrowborder"valign="top"width="41.21%"headers="mcps1.2.5.1.2 "><pid="p129592820576"><aname="p129592820576"></a><aname="p129592820576"></a>Added the 3072-bit RSA signature algorithm for update packages.</p>
<tdclass="cellrowborder"valign="top"width="41.21%"headers="mcps1.2.5.1.2 "><pid="p7561726135710"><aname="p7561726135710"></a><aname="p7561726135710"></a>Added certain internal OSAL APIs.</p>
</td>
<tdclass="cellrowborder"valign="top"width="17.71%"headers="mcps1.2.5.1.3 "><pid="p2531623195714"><aname="p2531623195714"></a><aname="p2531623195714"></a>Optimized the sensor model.</p>
<tdclass="cellrowborder"valign="top"width="41.21%"headers="mcps1.2.5.1.2 "><aname="ul1590163816572"></a><aname="ul1590163816572"></a><ulid="ul1590163816572"><li>Added data functions such as the digital switch and weekday.</li></ul>
<aname="ul9521944105716"></a><aname="ul9521944105716"></a><ulid="ul9521944105716"><li>Added the <strongid="b0745145255415"><aname="b0745145255415"></a><aname="b0745145255415"></a>Get12HourTimeWithoutAmpm</strong> API.</li></ul>
<tdclass="cellrowborder"valign="top"width="65.31%"headers="mcps1.2.4.1.3 "><pid="p1033846256"><aname="p1033846256"></a><aname="p1033846256"></a>There is a low probability that the Linux system cannot be shut down.</p>
<tdclass="cellrowborder"valign="top"width="65.31%"headers="mcps1.2.4.1.3 "><pid="p43391361256"><aname="p43391361256"></a><aname="p43391361256"></a>The test case for the client is not released.</p>
<tdclass="cellrowborder"valign="top"headers="mcps1.2.4.1.2 "><pid="p8339156259"><aname="p8339156259"></a><aname="p8339156259"></a>Class members are not initialized.</p>
<trid="row914520251031"><tdclass="cellrowborder"valign="top"width="10.95%"headers="mcps1.2.4.1.1 "><pid="p3439114916554"><aname="p3439114916554"></a><aname="p3439114916554"></a>Compilation and Building</p>
<tdclass="cellrowborder"valign="top"width="65.31%"headers="mcps1.2.4.1.3 "><pid="p53401863516"><aname="p53401863516"></a><aname="p53401863516"></a>The test case is not available in the build process.</p>
<tdclass="cellrowborder"valign="top"headers="mcps1.2.4.1.2 "><pid="p15341461657"><aname="p15341461657"></a><aname="p15341461657"></a>A build fails due to the dependency on valgrind in some environments.</p>
<tdclass="cellrowborder"valign="top"headers="mcps1.2.4.1.2 "><pid="p13602270118"><aname="p13602270118"></a><aname="p13602270118"></a>Building the release fails.</p>
<tdclass="cellrowborder"valign="top"width="65.31%"headers="mcps1.2.4.1.3 "><pid="p0341186251"><aname="p0341186251"></a><aname="p0341186251"></a>The test case name is inappropriate.</p>
<tdclass="cellrowborder"valign="top"width="65.31%"headers="mcps1.2.4.1.3 "><pid="p193421661056"><aname="p193421661056"></a><aname="p193421661056"></a>Resource loading of <strongid="b22607367315"><aname="b22607367315"></a><aname="b22607367315"></a>i18n.dat</strong> is defective.</p>
<tdclass="cellrowborder"valign="top"headers="mcps1.2.4.1.2 "><pid="p855154481"><aname="p855154481"></a><aname="p855154481"></a>There is a possibility that the breakpoint cannot be stopped during debugging of the macOS version.</p>
<tdclass="cellrowborder"valign="top"width="65.31%"headers="mcps1.2.4.1.3 "><pid="p143431862513"><aname="p143431862513"></a><aname="p143431862513"></a>The Remove function is provided, but the Add function is not. After the modification, the child nodes are not cleared when the <strongid="b15412153013526"><aname="b15412153013526"></a><aname="b15412153013526"></a>UIViewGroup</strong> is destructed.</p>
<tdclass="cellrowborder"valign="top"headers="mcps1.2.4.1.2 "><pid="p634416757"><aname="p634416757"></a><aname="p634416757"></a>The image is not updated after the image path is updated.</p>
<tdclass="cellrowborder"valign="top"headers="mcps1.2.4.1.2 "><pid="p103451361258"><aname="p103451361258"></a><aname="p103451361258"></a>There are unnecessary maintenance and test logs of the PRINTK function.</p>
<tdclass="cellrowborder"valign="top"headers="mcps1.2.4.1.2 "><pid="p1979174013109"><aname="p1979174013109"></a><aname="p1979174013109"></a>The implementation of the srand function for setting random number seeds is inappropriate.</p>
<tdclass="cellrowborder"valign="top"width="65.31%"headers="mcps1.2.4.1.3 "><pid="p3346126458"><aname="p3346126458"></a><aname="p3346126458"></a>The date of the security patch is incorrect.</p>
<tdclass="cellrowborder"valign="top"width="65.31%"headers="mcps1.2.4.1.3 "><pid="p1035111611516"><aname="p1035111611516"></a><aname="p1035111611516"></a>Certain test cases of the fs_posix module are unstable.</p>
<tdclass="cellrowborder"valign="top"headers="mcps1.2.4.1.2 "><pid="p173511661150"><aname="p173511661150"></a><aname="p173511661150"></a>The acts test fails.</p>
<tdclass="cellrowborder"valign="top"headers="mcps1.2.4.1.2 "><pid="p19352661858"><aname="p19352661858"></a><aname="p19352661858"></a>The ShmTest.testShmatSHM_REMAP function in the ShmTest.cpp test case of the shared_memory module does not run as expected.</p>
<tdclass="cellrowborder"valign="top"headers="mcps1.2.4.1.2 "><pid="p7353162513"><aname="p7353162513"></a><aname="p7353162513"></a>The test of the net_posix module fails.</p>
## Version Description<a name="section1677664815431"></a>
This release provides new and enhanced features for the mini system, small system, and standard system based on OpenHarmony 2.0 Canary.
The feature updates for the standard system are as follows:
- Added the distributed remote startup feature.
- Added several sample apps and the drag-and-drop feature for basic system applications.
- Added three media services for the media system.
The feature updates for the mini system and small system are as follows:
- Added lightweight Linux version building.
- Enhanced the lightweight kernel capabilities, including enhancements to the file system and kernel debugging tool, and support for configurable kernel modules, third-party chip adaptation, and ARM9 architecture.
- Enhanced the lightweight graphics capabilities, including support for multi-language text alignment, component outline display, dot-matrix fonts, and multiple chip platforms for the unified backend framework.
- Enhanced the design for X \(DFX\) capabilities, including enhanced HiLog and HiEvent features, a lightweight tool to dump system information, and the maintenance and test framework upon system restart.
- Enhanced the AI capabilities, including Linux kernel adaptation and support for shared memory-based data transmission by the AI engine.
## Version Mapping<a name="section13201781528"></a>
<tdclass="cellrowborder"valign="top"width="30.003000300030003%"headers="mcps1.2.4.1.2 "><pid="p83711419141513"><aname="p83711419141513"></a><aname="p83711419141513"></a>DevEco Studio 2.2 Beta1</p>
</td>
<tdclass="cellrowborder"valign="top"width="41.37413741374137%"headers="mcps1.2.4.1.3 "><pid="p12457193617153"><aname="p12457193617153"></a><aname="p12457193617153"></a>Recommended for developing OpenHarmony apps</p>
<thclass="cellrowborder"valign="top"width="35.36%"id="mcps1.2.4.1.3"><pid="p05751656182510"><aname="p05751656182510"></a><aname="p05751656182510"></a>Mini and Small Systems</p>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><pid="p753217119019"><aname="p753217119019"></a><aname="p753217119019"></a>Provided JS APIs in the <strongid="b88836012312"><aname="b88836012312"></a><aname="b88836012312"></a>system.file</strong> class for asynchronous file operations, including file read/write, directory access, and directory addition/deletion.</p>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><pid="p178202347481"><aname="p178202347481"></a><aname="p178202347481"></a><ahref="https://gitee.com/openharmony/drivers_framework/issues/I3QE85"target="_blank"rel="noopener noreferrer">3QE85</a>: Added the audio, camera, USB, motor, and Analog to Digital Converter (ADC) driver models.</p>
</td>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><pid="p18438192992613"><aname="p18438192992613"></a><aname="p18438192992613"></a>Enabled LiteOS-M to support the Hardware Driver Foundation (HDF).</p>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><pid="p4668144017319"><aname="p4668144017319"></a><aname="p4668144017319"></a>Added the system power state machine, running lock, and sleep/wakeup features.</p>
</td>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><aname="ul33391443142616"></a><aname="ul33391443142616"></a><ulid="ul33391443142616"><li>Added the APIs for querying the battery charging/discharging status and the battery level.</li><li>Added the support for the low-power mode with unified APIs.</li></ul>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><pid="p18451433239"><aname="p18451433239"></a><aname="p18451433239"></a>Added the feature of restoring factory settings.</p>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><aname="ul108105123910"></a><aname="ul108105123910"></a><ulid="ul108105123910"><li>Added the audio service to provide basic audio control.</li><li>Added the camera service to provide basic functions such as preview and photographing.</li><li>Added the media service to support audio and video playback.</li></ul>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><pid="p1128414013613"><aname="p1128414013613"></a><aname="p1128414013613"></a>Added support for the hybrid use of both JS and C/C++ for JS API development.</p>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><pid="p2024302141016"><aname="p2024302141016"></a><aname="p2024302141016"></a>Enabled applications to locally send and cancel a notification that includes multiple lines of text.</p>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><pid="p17236217843"><aname="p17236217843"></a><aname="p17236217843"></a>Added self-networking for DSoftBus. After a trusted device is connected to a LAN (either through Ethernet or Wi-Fi), the device can be automatically detected and connected to the DSoftBus. The device is not aware of this connection.</p>
<trid="row6307237105110"><tdclass="cellrowborder"valign="top"width="23.04%"headers="mcps1.2.4.1.1 "><pid="p24971139185111"><aname="p24971139185111"></a><aname="p24971139185111"></a>Distributed Data Management</p>
</td>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><aname="ul1411113817529"></a><aname="ul1411113817529"></a><ulid="ul1411113817529"><li>Added distributed data management to support locally encrypted storage of distributed databases.</li><li>Added support for lightweight preferences databases.</li></ul>
</td>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><aname="ul59217181020"></a><aname="ul59217181020"></a><ulid="ul59217181020"><li>Implemented data deletion from databases.</li><li>Added unified functions to operate the Hardware Abstraction Layer (HAL) file system.</li><li>Implemented atomic operations related to data storage.</li><li>Implemented read/write of binary values.</li></ul>
<aname="ul16239155595614"></a><aname="ul16239155595614"></a><ulid="ul16239155595614"><li>Optimized UX for the home screen setting page.</li><li>Added support for icon dragging on the home screen.</li></ul>
<aname="ul172792055205811"></a><aname="ul172792055205811"></a><ulid="ul172792055205811"><li>Added the features of viewing, moving, copying, deleting, and renaming images and videos.</li></ul>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><aname="ul18119906123"></a><aname="ul18119906123"></a><ulid="ul18119906123"><li>Optimized time and date formatting.</li><li>Added support for time segment formatting.</li><li>Added support for number formatting.</li></ul>
</td>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><aname="ul33981411321"></a><aname="ul33981411321"></a><ulid="ul33981411321"><li>Added custom data compilation.</li><li>Added internationalization for the week, singular and plural forms, and numbers.</li><li>Added the mechanism for parsing and loading build resources.</li><li>Added the build resource backtracking mechanism.</li></ul>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><aname="ul3397818122718"></a><aname="ul3397818122718"></a><ulid="ul3397818122718"><li>Added the distributed calculator feature, which allows the calculator on one device to start the calculator on another networked device to perform collaborative calculation and synchronize the calculation data in real time.</li><li>Added the audio player app that supports audio playback on any networked devices.</li></ul>
<tdclass="cellrowborder"valign="top"width="41.6%"headers="mcps1.2.4.1.2 "><pid="p143617933314"><aname="p143617933314"></a><aname="p143617933314"></a>Added the device management system service that provides authentication and networking irrelevant to distributed device accounts.</p>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><aname="ul1469920194511"></a><aname="ul1469920194511"></a><ulid="ul1469920194511"><li>Provided a tool to dump LiteOS kernel information.</li><li>Implemented a maintenance and test framework for the LiteOS kernel upon restarting after a breakdown.</li><li>Added number formatting.</li><li>Enhanced HiLog.</li><li>Enhanced HiEvent.</li></ul>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><aname="ul191101631555"></a><aname="ul191101631555"></a><ulid="ul191101631555"><li>Added support for the lightweight Linux version.</li><li>Enhanced support for the proc file system.</li><li>Added the mksh command interpreter.</li><li>Enhanced file system maintenance and testing.</li><li>Added support for configuration of LiteOS-A kernel modules.</li><li>Enabled the LiteOS-A small system to adapt to third-party chips.</li><li>Enabled LiteOS-M to support Mbed TLS compilation of third-party components.</li><li>Enabled LiteOS-M to support Curl compilation of third-party components.</li><li>Added support for the lightweight shell framework and common debugging commands.</li><li>Enabled LiteOS-M to support the ARM9 architecture.</li><li>Added support for the little file system (LittleFS) setup on the NOR flash.</li><li>Enabled LiteOS-M to provide unified file system operation APIs for external systems.</li><li>Added the Namecache, Vnode, and Lookup modules.</li></ul>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><aname="ul1742414363415"></a><aname="ul1742414363415"></a><ulid="ul1742414363415"><li>Added support for input of A4, A8, LUT8, and TSC images.</li><li>Added support for multi-language text alignment.</li><li>Added component outline display for UIKit.</li><li>Enabled the <strongid="b16643105116133"><aname="b16643105116133"></a><aname="b16643105116133"></a>ScrollView</strong> or <strongid="b1311513553137"><aname="b1311513553137"></a><aname="b1311513553137"></a>List</strong> component to display the swiping progress using an arc progress bar.</li><li>Implemented animation for the switch, check box, and radio button.</li><li>Enabled UIKit to support the decoupling of dot-matrix fonts from products.</li><li>Provided a unified multi-backend framework to support multiple chip platforms.</li><li>Enabled UIKit to support margin and padding.</li><li>Implemented zoom and white layer animations for the round and capsule buttons.</li></ul>
</td>
</tr>
<trid="row115211202598"><tdclass="cellrowborder"valign="top"width="23.04%"headers="mcps1.2.4.1.1 "><pid="p11531320165912"><aname="p11531320165912"></a><aname="p11531320165912"></a>Compilation and Building</p>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><pid="p1920101163411"><aname="p1920101163411"></a><aname="p1920101163411"></a>Added support for the general patch framework of open-source software.</p>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><pid="p11807317133420"><aname="p11807317133420"></a><aname="p11807317133420"></a>Added support for factory setting restoration and multi-language text alignment.</p>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><pid="p172611227345"><aname="p172611227345"></a><aname="p172611227345"></a>Added support for the start of an ability on the rich device from a mini-system device.</p>
<tdclass="cellrowborder"valign="top"width="35.36%"headers="mcps1.2.4.1.3 "><aname="ul16276418181411"></a><aname="ul16276418181411"></a><ulid="ul16276418181411"><li>Added support for Linux kernel adaptation with related compilation options.</li><li>Enabled shared memory-based data transmission.</li></ul>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p131271341151912"><aname="p131271341151912"></a><aname="p131271341151912"></a>[Driver subsystem] During repeated system reset, there is a high possibility that the system is suspended after successful <strongid="b6105185413215"><aname="b6105185413215"></a><aname="b6105185413215"></a>hmac_main_init</strong> startup.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p3127164121913"><aname="p3127164121913"></a><aname="p3127164121913"></a>[Application Framework subsystem] After the Hi3516 development board enters screen saver mode, a blue screen is displayed upon a tap on the touchscreen.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p1412854111192"><aname="p1412854111192"></a><aname="p1412854111192"></a>[System] The remaining space of the Hi3518 development board is insufficient, causing a failure in executing a large number of ACTS test cases.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p17128104114191"><aname="p17128104114191"></a><aname="p17128104114191"></a>[Application Framework subsystem] The query command <strongid="b89711053112415"><aname="b89711053112415"></a><aname="b89711053112415"></a>ipcamera bm</strong> does not take effect.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p8128184191914"><aname="p8128184191914"></a><aname="p8128184191914"></a>[Media subsystem] During the execution of the <strongid="b18542141872318"><aname="b18542141872318"></a><aname="b18542141872318"></a>cameraActs</strong> test case, the camera configuration file cannot be found and the initialization fails.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p161282419194"><aname="p161282419194"></a><aname="p161282419194"></a>[Reliability] When the KIdle process crashes once during repeated system reset, the system is suspended and cannot be started.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p2128841121919"><aname="p2128841121919"></a><aname="p2128841121919"></a>[Pipeline] There is a high probability that the system does not respond after the <strongid="b138341354112016"><aname="b138341354112016"></a><aname="b138341354112016"></a>uname</strong> and <strongid="b05351314112113"><aname="b05351314112113"></a><aname="b05351314112113"></a>reset</strong> commands are executed.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p1112813418191"><aname="p1112813418191"></a><aname="p1112813418191"></a>[File system] The <strongid="b13680836111015"><aname="b13680836111015"></a><aname="b13680836111015"></a>cat /proc/mounts</strong> command does not take effect.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p1612884110194"><aname="p1612884110194"></a><aname="p1612884110194"></a>The system crashes when three concurrent test processes are run during disk file mapping delay testing.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p2128241151910"><aname="p2128241151910"></a><aname="p2128241151910"></a>The Hi3861 development board compilation fails and the error message "[OHOS ERROR] Fatal error: invalid -march= option:rv32imac" is displayed.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p1667354518204"><aname="p1667354518204"></a><aname="p1667354518204"></a>File-specific Vnode resources are exhausted in stress testing.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p1267414592020"><aname="p1267414592020"></a><aname="p1267414592020"></a>Orphan processes cannot be reclaimed, and TCB resources are exhausted in stress testing.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p56742457209"><aname="p56742457209"></a><aname="p56742457209"></a>The <strongid="b12822201841520"><aname="b12822201841520"></a><aname="b12822201841520"></a>libwap.so</strong> file is prone to the following vulnerability: CVE-2021-30004, CVSS: 5.3, released on 2021-04-02.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p96741945132014"><aname="p96741945132014"></a><aname="p96741945132014"></a>There is a high probability that the KProcess is suspended.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p136742452208"><aname="p136742452208"></a><aname="p136742452208"></a>The enhanced file system maintenance and test feature is defective.</p>
<tdclass="cellrowborder"valign="top"width="86.85000000000001%"headers="mcps1.2.3.1.2 "><pid="p156747457204"><aname="p156747457204"></a><aname="p156747457204"></a>The <strongid="b20744135541017"><aname="b20744135541017"></a><aname="b20744135541017"></a>bin</strong> directory does not contain the <strongid="b73096151112"><aname="b73096151112"></a><aname="b73096151112"></a>mksh</strong> and <strongid="b3797123191113"><aname="b3797123191113"></a><aname="b3797123191113"></a>toybox</strong> commands, leading to a failure to test the <strongid="b58221324111118"><aname="b58221324111118"></a><aname="b58221324111118"></a>toybox</strong> command set.</p>