OpenHarmony 3.2 Beta1

Version Description

OpenHarmony 3.2 Beta1 provides the following enhancements over OpenHarmony 3.1 Release:

Enhanced basic capabilities for the mini system

The inter-process communication (IPC) mechanism is normalized for LiteOS and Linux running on the mini system.

Enhanced basic capabilities for the standard system

ARM64 build is supported.

The graphics system supports secure screen capturing and screen recording. It also supports application window display over other applications.

The window manager subsystem supports quick switching to the home screen and restoration of application windows. It also supports screen wakeup, screen always-on, and screen brightness adjustment from the window, as well as security layer.

Ark VMs support multi-instance debugging, conditional breakpoints, and watch expressions.

The multimodal input subsystem supports hot swap listening of the remote control, mouse, and keyboard.

The security subsystem supports mutual authentication between OpenHarmony devices using the same account.

Enhanced distributed capabilities for the standard system

System service management is enhanced to support group verification.

Enhanced application framework capabilities for the standard system

ArkUI allows an ability to be displayed in other applications as a component. The <Column> and <SideBarContainer> components are enhanced to support automatic hiding.

Bundle management supports installation, uninstall, and query of sandbox applications. The unpacking tool supports the stage model.

The stage model supports the Worker mechanism. DFX features, such as Application Not Response (ANR) and suspension detection of an application's main thread, are added.

Enhanced application capabilities for the standard system

The Gallery application supports basic dynamic effects, image editing and saving, and OEM customization.

Application development samples for the standard system

Multiple sample apps, including GPU drawing, minesweeper game, and 2048 game, are provided to help developers quickly use the basic capabilities of OpenHarmony.

Version Mapping

Table 1 Version mapping of software and tools

Software/Tool Version Remarks
OpenHarmony 3.2 Beta1 NA
SDK Ohos_sdk_full 3.2.2.5 (API Version 9 Beta1) NA
(Optional) HUAWEI DevEco Studio 3.0 Beta3 for OpenHarmony Recommended for developing OpenHarmony applications
(Optional) HUAWEI DevEco Device Tool 3.0 Release Recommended for developing OpenHarmony devices

Source Code Acquisition

Prerequisites

  1. Register your account with Gitee.

  2. Register an SSH public key for access to Gitee.

  3. Install the git client and git-lfs, and configure user information.

    git config --global user.name "yourname"
    git config --global user.email "your-email-address"
    git config --global credential.helper store
    
  4. Run the following commands to install the repo tool:

    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.
    pip3 install -i https://repo.huaweicloud.com/repository/pypi/simple requests
    

Acquiring Source Code Using the repo Tool

Method 1 (recommended)

Use the repo tool to download the source code over SSH. (You must have an SSH public key for access to Gitee.)

  • 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:

    repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-3.2-Beta1 --no-repo-verify
    repo sync -c
    repo forall -c 'git lfs pull'
    
  • Obtain the source code from the version tag, which is the same as that released with the version.

    repo init -u git@gitee.com:openharmony/manifest.git -b refs/tags/OpenHarmony-v3.2-Beta1 --no-repo-verify
    repo sync -c
    repo forall -c 'git lfs pull'
    

Method 2

Use the repo tool to download the source code over HTTPS.

  • 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:
    repo init -u https://gitee.com/openharmony/manifest -b OpenHarmony-3.2-Beta1 --no-repo-verify
    repo sync -c
    repo forall -c 'git lfs pull'
    
  • Obtain the source code from the version tag, which is the same as that released with the version.
    repo init -u https://gitee.com/openharmony/manifest -b refs/tags/OpenHarmony-v3.2-Beta1 --no-repo-verify
    repo sync -c
    repo forall -c 'git lfs pull'
    

Acquiring Source Code from Mirrors

Table 2 Mirrors for acquiring source code

Source Code Version Mirror SHA-256 Checksum
Full code base (for mini, small, and standard systems) 3.2 Beta1 Download Download
RK3568 standard system solution (binary) 3.2 Beta1 Download Download
Hi3861 mini system solution (binary) 3.2 Beta1 Download Download
Hi3516 mini system solution - LiteOS (binary) 3.2 Beta1 Download Download
Hi3516 mini system solution - Linux (binary) 3.2 Beta1 Download Download
Standard system SDK package (macOS) 3.2 Beta1 Download Download
Standard system SDK package (Windows/Linux) 3.2 Beta1 Download Download

What's New

This version has the following updates to OpenHarmony 3.1 Release.

Feature Updates

Table 3 New and enhanced features

Subsystem Standard System Mini and Small Systems
Common ARM64 build is supported. The same set of IPC APIs is provided for the mini and small systems.
Resource scheduling Statistics on widget usage can be collected.
The following requirements are involved:
I531ST Deleting the usage records of a widget once it is uninstalled
I531SU Querying and obtaining widget usage records
I531SV Recording the widget usage count and usage duration
NA
Multimodal input Listening for hot swap events of the remote control, mouse, and keyboard is supported
The following requirements are involved:
I530U7 Third-party JSON version upgrade
I530UH Startup optimization
I530UU Tailoring the mouse cursor display
I530UL Non-touchable window
I530W5 Using JS APIs to listen for hot swap events of the remote control
I530W9 Using JS APIs to listen for hot swap events of the mouse
I530WB Using JS APIs to query extended information about the touchpad
I530W9 Using JS APIs to listen for hot swap events of the keyboard
I530UW Tailoring the configuration of combined keys
NA
System service management Group verification is supported.
The following requirements are involved:
I59XYB Adding group verification
I53NZQ Processing the installation status and version number of a remote application
I568AO Reporting the association between distributed components by DMS
I58ZSB Collecting OS type information
NA
Bundle management - Installation, uninstall, and query of sandbox applications are supported.
- The unpacking tool supports the stage model, and the capability of the packing tool is enhanced.
The following requirements are involved:
I524WG Specifying whether data of system applications can be cleared
I524WP Querying whether a specified application is installed
I524UF Supporting the update of system features (with entry installed)
I524VP Supporting ability priority for implicit query
I56W2U Supporting the BackupExtension type
I56W68 Packing pack.info into the HAP file
I56W6W Packing the old and new HAP files into the same APP Pack
I56W4O Extracting the rpcid file using the unpacking tool
I56W59 Parsing the stage model package using the unpacking tool
I56W7H Sending a scanning complete event after BMS scanning is complete
I56WIG Installation of sandbox applications
I56WIS Uninstall of sandbox applications
I56WJ7 Sandbox application information query
NA
Basic communications Access from human-machine interface devices is supported.
The following requirement is involved:
I58ZUA Access from human-machine interface devices, such as Bluetooth keyboard, mouse, and game controller
NA
Ability - The FA model supports ability-level screen orientation query and setting, lock screen display, and screen-on during ability startup.
- More DFX features are added, including ANR and suspension detection of an application's main thread.
- The stage model supports the Worker mechanism.
The following requirements are involved:
I58ZRH Ability-level screen orientation query and setting in the FA model
I58ZRI Lock screen display for an ability in the FA model
I58ZRJ Screen-on during ability startup in the FA model
I58ZRD Automatic generation of Extension JS server and client interface files using the ZIDL tool
I58ZR5 Interception of uncatched exceptions
I58ZR6 ANR processing
I58ZR7 Thread suspension detection of the ability manager service
I58ZR9 Suspension detection of an application's main thread
I58ZRA Timeout detection of ability lifecycle transition
I58ZR1 FA widget capability supplement - deleting invalid widgets
I58ZR2 FA widget capability supplement - separate setting of the visibility status and update status of widgets
I58ZQR Ability listeners
I58ZQW APIs related to the scheduling component lifecycle
I50DOL Worker mechanism in the stage model
NA
Multimedia - The OpenSL ES recording APIs are added.
- The HiStreamer engine supports audio playback for the standard system.
The following requirements are involved:
I58ZOI Settings and obtaining the total volume
I58ZOJ Audio-related user permission control
I58ZOM OpenSL ES basic recording APIs
I59H9F Audio playback supported by the HiStreamer engine for the standard system
NA
Graphics - Secure screen capturing and screen recording are supported.
- An application's window can be displayed in other applications.
The following requirements are involved:
I58ZOX GPU compositing supported by RenderService
I58ZOU Secure screen capturing and screen recording (security layer)
I58ZOW Cross-screen window display in the case of extended screens and splicing screens
I58ZOT Window embedding into other applications
NA
Window manager - Quick switching to the home screen and restoration of application windows are supported.
- Screen wakeup by window is supported.
- The window can be used to keep the screen always on and adjusts the screen brightness.
- The security layer is supported.
- The window focusable and touchable attributes are added.
- The window orientation can be set.
- The window of an application can be displayed on a locked screen.
- Window decoration is supported.
- The main window of an application can be displayed in full screen.
- An application can exit window control.
- The application UI combination capability is provided for system applications.
The following requirements are involved:
I58ZP0 Setting of the display density
I58ZP1 Quick switching to the home screen and restoration of application windows
I58ZP4 Screen wakeup by window
I58ZP5 Screen always-on and screen brightness adjustment by window
I58ZP6 Security layer
I58ZP7 Obtaining the window focusable and touchable attributes
I58ZP8 Window orientation setting
I58ZPA Window display on a locked screen
I58ZPD Window decoration
I58ZPE Full-screen display for the main window
I58ZPG Exit window control by application
I58ZPI Window launch by application
I58ZPJ Application UI combination capability for system applications
NA
Network management - WebSocket JS APIs are added.
- The system.fetch APIs are now compatible.
- The system.network APIs are now compatible.
The following requirements are involved:
I53CKH Supporting the system.fetch APIs
I53CKT WebSocket support
I53CJX Supporting the system.network APIs
NA
Globalization - APIs for synchronously obtaining resources are provided. Resources can be obtained by resource name. Resources of the float type can be obtained.
- MCC/MNC qualifiers are supported.
- Independent compilation of different modules in an application is supported.
- The locale-specific date format is supported.
- Transliteration is supported, for example, converting Chinese characters into Hanyu Pinyin.
The following requirements are involved:
I596AO Supporting MCC/MNC qualifiers
I58ZSE Enhanced resource management APIs
I58ZSG Resource ID generation
I4WM02 Transliteration
I4WK2O Date format
NA
ArkUI - The layout boundaries can be displayed for different components.
- The mouse operation of the XComponent is enhanced, the layout adjustment when the input method is displayed is optimized, and the application performance is optimized.
- The <Column> and <SideBarContainer> components can be automatically hidden when they are dragged to a width that is less than the minimum width.
- The <AbilityComponent> component is added so an ability can be embedded into other applications as a component for display.
The following requirements are involved:
I58ZPY Decoding down-sampled images for higher performance
I58ZPX CPU frequency increase to optimize the animation performance
I58ZPW <AbilityComponent> component support
I58ZPS XComponent mouse event
I58ZPR Automatic layout when the input method app is started from the text box
I58ZPQ Automatically hiding of the <Column> and <SideBarContainer> components when they are dragged to a width that is less than the minimum width
I58ZPP Layout boundary display for the drawing and auxiliary components
I58ZPO Layout boundary display for the button, selection, information display, and dynamic effect components
I58ZPN Layout boundary display for text, input, image, video, and media components
NA
Program access control - Security Enhanced Linux (SELinux, also known as label protection) is provided for service and hdf_service.
- Permission configuration and validation capabilities are provided for native services.
The following requirements are involved:
I58ZO1 SELinux for service
I58ZO2 SELinux for hdf_service
I58ZO3 accessToken-based permission verification for native services
NA
Utils TypedArray and SharedArrayBuffer support ECMAScript 2021.
The following requirements are involved:
I58ZPZ TypedArray ECMAScript 2021 support
I58ZQ0 SharedArrayBuffer ECMAScript 2021 support
NA
Multi-language runtime Ark VMs support multi-instance debugging, conditional breakpoints, and watch expressions.
The following requirements are involved:
I58ZQE Multi-instance debugging
I58ZQD Conditional breakpoints
I58ZQB Watch variables and expressions
I58ZQ8 Code generated by the Ahead of Time (TSAOT) compiler supporting the garbage collector (GC) of ArkCompiler JS Runtime
I58ZQ7 Quality back-end machine code generated by the TSAOT compiler
NA
Update Adaptation to RK3568 is added.
The following requirements are involved:
I58ZSM RK 3568 update adaptation support by update_service
I58ZSO RK 3568 update adaptation support by updater
NA
Misc services The HTTP file upload and download APIs that were available before API version 6 are supplemented.
The following requirements are involved:
I58ZSC [download] Supporting the @system.request APIs
I53J82 [upload] Supporting the @system.request APIs
NA
File management - Configuration of special sandboxes is supported.
- Third-party applications are provided with the storage query capability.
The following requirements are involved:
I58ZS6 Differentiated configuration of application sandboxes
I58ZS9 Storage query capability for third-party applications
I58ZSA Adaptation to new HUKS HAL APIs
I58ZS3 Version update of the distributed user data access framework
NA
Common event and notification - Agent-powered notification is added to support sending of notifications on behalf of third-party applications.
- The notification slot query and setting capabilities are enhanced.
The following requirements are involved:
I582UB Agent-powered notification
I582TF Enhancement of notification slot setting and query
NA
Pan-sensor The adaptation to the ambient light sensor is added.
The following requirements are involved:
I53784 Continuous integration of pan-sensor capabilities - ambient light sensor
I538PX System API synchronization
NA
Distributed data management Distributed data object samples are added.
The following requirement is involved:
I4WO0S Distributed data object samples
NA
Driver - Kernel drivers can be dynamically loaded.
- The HAL capability of the peripheral module is enhanced and the HDIs are optimized.
The following requirements are involved:
I4UD9W Dynamic driver loading in the kernel space to improve the device driver development and debugging efficiency
I54566 Rectification of the camera service and HDI cyclic dependency
I50I6S Unified audio APIs for the IPC mode and direct debugging mode
I54FQG Driver model of codec devices
I544XP SELinux permission check for the HDF service
I4UL98 ADC adaptation to the IIO framework of the Linux kernel
NA
Build - The HAP files provided by the stage model can be compiled along with the code.
- Third-party open-source software can be used as an independent part. When other parts depend on this software, the build subsystem automatically installs the software to the image, without the need for the configuration in the product list.
- Python, Jinja2, and MarkupSafe are updated.
- The device type can be customized during build.
- The user and root versions are built separately.
- The strip operation can be configured for the precompiled module.
- The product configurations are normalized for different device types.
The following requirements are involved:
I53FCL The HAP files provided by the stage model can be compiled along with the code.
I54ZLX Third-party open-source software can be used as an independent part. When other parts depend on this software, the build subsystem automatically installs the software to the image, without the need for the configuration in the product list.
I54ERB/I52MRL/I52KTV Updating the open-source software that is identified as EOM by cleansource 3.1.
I5714O Customization of ohos.para
I4Q9MI Strip operation for the precompiled modules
I56M93 Normalized product configurations for different device types
- Python, Jinja2, and MarkupSafe are updated.
- The user and root versions are built separately.
The following requirements are involved:
I54ZLX Third-party open-source software can be used as an independent part. When other parts depend on this software, the build subsystem automatically installs the software to the image, without the need for the configuration in the product list.
I54ERB/I52MRL/I52KTV Updating the open-source software that is identified as EOM by cleansource 3.1.
I4Q9MI Strip operation for the precompiled modules
Test - Test cases to be executed can be filtered by type, granularity, and level.
- The UI test framework provides APIs such as sliding search.
- The executor supports component-based execution and re-test of failed cases.
- The stability tool supports report parsing, generation, and display, and component injection.
The following requirements are involved:
I58ZUJ Test case filtering
I58ZUK Enhanced UI test framework capability: more APIs
I58ZUM Enhanced UI test framework capability: UI-dump function
I58ZUR Enhanced UI test framework capability: customized UI operation parameters
I58ZUS Configuration of the test scheduling framework
I58ZUU Componentization of the test scheduling framework
I58ZUV Parsing, generating, and displaying of stability reports by the stability tool
I58ZUW Component injection of the stability tool
NA
Basic security capabilities Mutual authentication is now available between OpenHarmony devices based on the sample login account.
The following requirements are involved:
I58ZNS Mutual authentication between OpenHarmony devices based on the same login account
I58ZNR Removing account authentication credentials from OpenHarmony devices after an account is logged out or removed
I58ZNP Importing and removing of trust records of accounts from different vendors (same vendor or OEM vendor) for OpenHarmony devices
I58ZNT Importing of account authentication credentials (asymmetric credentials) to OpenHarmony devices after an account is logged in or bound
NA
System applications The Gallery application supports image editing and dynamic effects.
The following requirements are involved:
I58ZQ3 [Gallery] Image editing
I58ZQ1 [Gallery] Dynamic effects
I58ZQ4 [Contacts] Basic capability - 2D capability
NA

API Updates

API Differences

Chip and Development Board Adaptation

For details about the adaptation status, see SIG_DevBoard.

Samples

Table 4 New samples

Subsystem Sample Introduction Programming Language
ArkUI Vibrator This sample simulates the countdown scenario to show the use of the vibrator APIs. ArkTS
DFX FaultLogger This sample illustrates how to obtain fault information of an application in ArkTS. ArkTS
ArkUI ComponentCollection This sample illustrates all the components, animations, and global methods of ArkUI. ArkTS
ArkUI ArkTSClock This sample exemplifies how to implement a simple clock application using the ArkTS UI capability. ArkTS
Network management Http This sample simulates Postman, which requires the input of an API address and outputs the data obtained, to show the use of the data request APIs. ArkTS
Network management Socket This sample demonstrates the application of Socket in network communication, including connection authentication and chat communication between two devices. ArkTS
Distributed data management DistributedRdb This sample shows how to add, delete, modify, query, and synchronize data in the distributed relational database with ArkTS. ArkTS
Ability WorkScheduler This sample simulates the update process starting from downloading and saving an update package to sending a notification and installing the update package. Being processed by the background task management, the download task continues after the application exits. It stops until the download is complete. ArkTS
Ability AbilityStartMode This sample shows how to implement the standard, singleton, and specified ability launch modes in the stage model. ArkTS
Multimedia MediaCollections This sample illustrates media management in ArkTS, including network stream playback, audio and video playback control, and volume adjustment. ArkTS
Ability ArkTSDistributedCalc This sample implements a simple calculator application using JS distributed features. The calculator can perform simple numerical calculations and start a remote calculator FA to perform collaborative calculation. ArkTS
Web Browser This sample uses the stage model and related APIs to show a simple browser. ArkTS
Ability DeviceUsageStatistics This sample shows the device usage statistics. ArkTS
ArkUI AdaptiveCapabilities This sample shows multi-device adaptation in ArkTS, including resource qualifiers, atomic layouts, and responsive layouts. ArkTS
ArkUI Game2048 This sample shows how to develop a 2048 game using the <Grid> component. ArkTS
Typical Setting Page of One-Time Development for Multi-Device Deployment Settings This sample shows a typical page for setting an application. The page has different display effects in the small window and large window, reflecting the capability of one-time development for multi-device deployment. ArkTS
Distributed data management Preference This sample shows the theme switching function of preferences. ArkTS
Globalization International This sample shows how to use APIs related to i18n, intl, and resourceManager in ArkTS to set the system language, region, time, and time zone. It also provides locale setting examples. ArkTS

For more information, visit Samples.

Resolved Issues

Table 5 Resolved issues

Issue No. Description
I4NRS5 [Kernel subsystem] A CVE vulnerability exists.

Known Issues

Table 6 Known issues

Issue No. Description Impact To Be Resolved By
I4Z3G9 [RK3568] Screen flickering occurs when the secondary window is opened in the immersive primary window. Developer experience is affected. 2022-06-15
I59M4Q There is a low probability that the device is disconnected when hdc_std of API version 9 is used to connect to the device. This issue occurs at a low probability (less than 1/30). It can be resolved by restarting the IDE or hdc_std. 2022-06-30