diff --git a/zh-cn/release-notes/OpenHarmony-Release-Notes.md b/zh-cn/release-notes/OpenHarmony-Release-Notes.md index b6c4cce1eab78b7fdf4423c63649d90a510d8536..457fb3b080c907f8ffcb1ee92a70ff6afb264928 100755 --- a/zh-cn/release-notes/OpenHarmony-Release-Notes.md +++ b/zh-cn/release-notes/OpenHarmony-Release-Notes.md @@ -1,5 +1,6 @@ # OpenHarmony Release Notes ## OpenHarmony 2.x Releases +- [OpenHarmony 2.2 Beta2 (2021-07-30)](OpenHarmony-v2.2-beta2) - [OpenHarmony 2.0 Canary (2021-06-02)](OpenHarmony-2-0-Canary.md) ## OpenHarmony 1.x Releases - [OpenHarmony 1.1.1 LTS (2021-06-22)](OpenHarmony-1-1-1-LTS.md) diff --git a/zh-cn/release-notes/OpenHarmony-v2.2-beta2.md b/zh-cn/release-notes/OpenHarmony-v2.2-beta2.md new file mode 100644 index 0000000000000000000000000000000000000000..da3a1b0753959c5d64b97dfc43bfa6cc3902b453 --- /dev/null +++ b/zh-cn/release-notes/OpenHarmony-v2.2-beta2.md @@ -0,0 +1,364 @@ +# OpenHarmony 2.2 Beta2(2021-07-30) + +- [版本概述](#section1677664815431) +- [配套关系](#section13201781528) +- [源码获取](#section1350215462116) +- [更新说明](#section11256141314463) +- [修复缺陷列表](#section3442123281619) + +## 版本概述 + +当前版本在OpenHarmony 2.0 Canary的基础上,针对轻量系统、小型系统和标准系统都有增加新的特性: + +标准系统新增特性功能如下: + +- 新增分布式远程拉起能力端到端的构建。 +- 新增系统基础应用的拖拽能力和新增若干Sample应用。 +- 新增媒体三大服务能力,提供更好的媒体系统功能。 + +轻量和小型系统新增特性功能如下: + +- 新增轻量级linux版本构建能力。 +- 新增轻量级内核能力增强,包括文件系统增强、内核调试工具增强支持、内核模块支持可配置、三方芯片适配支持、支持ARM9架构等。 +- 轻量级图形能力增强支持,包括支持多语言字体对齐、支持显示控件轮廓、支持点阵字体、供统一多后端框架支持多芯片平台等。 +- DFX能力增强支持,包括HiLog功能增强、HiEvent功能增强,提供轻量级系统信息dump工具、提供重启维侧框架等。 +- AI能力增强支持,包括新增linux内核适配支持、AI引擎支持基于共享内存的数据传输。 + +## 配套关系 + +**表 1** 版本软件和工具配套关系 + + + + + + + + + + + + + + + + + + + + +

软件

+

版本

+

备注

+

OpenHarmony

+

2.2 Beta2

+

NA

+

HUAWEI DevEco Studio(可选)

+

DevEco Studio 2.2 Beta1

+

OpenHarmony应用开发推荐使用。

+

HUAWEI DevEco Device Tool(可选)

+

Deveco DeviceTool 2.2 Beta1

+

OpenHarmony智能设备集成开发环境推荐使用。

+
+ +## 源码获取 + +**方式一(推荐)** + +通过repo + ssh 下载(需注册公钥,请参考[码云帮助中心](https://gitee.com/help/articles/4191))。 + +``` +repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony-2.2-Beta2 --no-repo-verify +repo sync -c +repo forall -c 'git lfs pull' +``` + +**方式二** + +通过repo + https 下载。 + +``` +repo init -u https://gitee.com/openharmony/manifest.git -b OpenHarmony-2.2-Beta2 --no-repo-verify +repo sync -c +repo forall -c 'git lfs pull' +``` + +## 更新说明 + +本版本在继承了OpenHarmony 2.0 Canary的基础上有如下变更。 + +### 特性变更 + +**表 2** 版本新增特性表 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

子系统名称

+

标准系统

+

轻量、小型系统

+

分布式文件

+

提供本地system.file异步文件操作JS API,包括文件读写、目录访问、增删等接口。

+

NA

+

驱动

+

3QE85:新增Audio、Camera、USB、马达、ADC驱动模型。

+

LiteOS-M支持HDF框架。

+

电源管理服务

+

新增系统电源状态机、休眠运行锁、休眠唤醒功能。

+
  • 新增充放电状态查询接口、电量查询接口。
  • 提供低功耗模式支持,并提供低功耗模式统一API支持。
+

升级服务

+

新增恢复出厂功能。

+

NA

+

媒体

+
  • 新增音频服务,提供音频基础控制能力。
  • 新增相机服务,提供预览、拍照等基础功能力。
  • 新增媒体服务,提供音频、视频播放能力。
+

NA

+

JS UI框架

+

支持使用JS与C/C++混合开发JS API。

+

NA

+

事件通知

+

支持应用本地发送、取消多行文本通知能力。

+

NA

+

分布式软总线

+

新增软总线自组网功能,可信设备接入到局域网中(ETH\WiFi)后可自发现、无感知的接入到软总线。

+

NA

+

分布式数据管理

+
  • 新增分布式数据管理能力,支持分布式数据库在本地加密存储
  • 支持轻量级偏好数据库
+
  • 提供数据库内容的删除能力。
  • 提供统一的HAL文件系统操作函数实现。
  • 提供相关数据存储的原子操作能力。
  • 提供二进制Value的写入读取能力。
+

系统应用

+

桌面:

+
  • 桌面设置界面UX优化。
  • 新增桌面图标拖拽特性。
+

设置:

+
  • 新增Wlan设置功能。
+

SystemUI:

+
  • 新增卡信号图标显示功能。
+

图库:

+
  • 新增图片、视频资源的查看、移动、复制、删除、重命名等功能。
+

NA

+

全球化子系统

+
  • 完善时间日期格式化能力。
  • 支持时间段的格式化。
  • 新增数字格式化能力。
+
  • 新增构建自定义数据编译能力。
  • 新增构建星期、单复数、数字开关国际化能力。
  • 新增构建应用资源解析和加载机制。
  • 新增构建资源回溯机制。
+

Sample应用

+
  • 计算器中新增分布式功能,组网后支持拉起另一台组网设备上的计算器,两台设备可协同计算,计算数据实时同步。
  • 新增音频播放器应用,支持本地音频播放,组网后可将音乐播放接续至其他组网设备上。
+

NA

+

分布式设备管理

+

新增设备管理系统服务,提供分布式设备账号无关的认证组网能力。

+

NA

+

DFX

+

NA

+
  • 提供LiteOS内核系统信息dump工具。
  • 提供LiteOS内核死机重启维测框架。
  • 新增数字格式化能力。
  • HiLog功能增强。
  • HiEvent功能增强。
+

内核

+

NA

+
  • 支持轻量级Linux版本。
  • proc文件系统增强。
  • 新增mksh命令解析器。
  • 文件系统维测增强。
  • LiteOS-A內核模块支持可配置。
  • 支持LiteOS-A小系统三方芯片适配。
  • LiteOS-M支持三方组件Mbedtls编译。
  • LiteOS-M支持三方组件curl编译。
  • 支持轻量级shell框架和常用调测命令。
  • LiteOS-M支持ARM9架构。
  • 支持基于NOR Flash的littlefs文件系统。
  • LiteOS-M对外提供统一的文件系统操作接口。
  • 新增Namecache模块、Vnode管理、Lookup模块。
+

图形图像

+

NA

+
  • 支持A4\A8、LUT8、TSC图片格式作为输入。
  • 支持多语言字体对齐。
  • UIKit支持显示控件轮廓。
  • crollView/List支持通过弧形进度条展示滑动进度。
  • 支持开关按钮/复选框/单选按钮动效。
  • UIKit支持点阵字体产品化解耦。
  • UI框架提供统一多后端框架支持多芯片平台。
  • UIKit组件支持margin/padding。
  • 圆形/胶囊按钮支持缩放和白色蒙层动效。
+

编译构建

+

NA

+

支持开源软件的通用patch框架。

+

启动恢复

+

NA

+

支持恢复出厂设置支持多语言字体对齐。

+

分布式调度

+

NA

+

支持轻量设备启动富设备上的Ability。

+

AI

+

NA

+
  • AI子系统添加Linux内核适配,编译选项支持。
  • AI引擎支持基于共享内存的数据传输。
+
+### API变更 + +API变更待更新发布 + +## 修复缺陷列表 + +**表 3** **解决的缺陷ISSUE列表** + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

ISSUE单号

+

问题描述

+

I3I31W

+

ActsNFSTest.bin会引起内核crash

+

I3D49E

+

uboot的路径不对

+

I3D71U

+

【驱动子系统】反复reset,启动到hmac_main_init SUCCESSULLY后,高概率出现系统挂死

+

I3DGZW

+

【应用程序框架子系统】HI3516开源板进入屏保后 ,点击触摸屏,出现蓝屏问题

+

I3DHIL

+

【系统问题】HI3518开源板剩余空间不足,导致ACTS用例大量失败

+

I3DU36

+

【应用程序框架子系统】ipcamera bm 查询命令失效

+

I3EALU

+

【媒体子系统】cameraActs 用例执行时,找不到相机配置文件,初始失败

+

I3EGUX

+

【可靠性问题】反复reset,出现一次KIdle进程crash,系统挂死无法启动

+

I3EH4E

+

【流水线问题】高概率出现:uname无响应,然后执行reset也无响应

+

I3EQJA

+

【文件系统】cat /proc/mounts功能不可用

+

I3EQRC

+

磁盘文件映射延迟测试:并发3个测试进程,系统crash

+

I3HVL0

+

3861编译失败,报错[OHOS ERROR] Fatal error: invalid -march= option:rv32imac

+

I3TS1Y

+

压力场景下文件相关胡VnodeAlloc资源耗尽

+

I3TXT8

+

孤儿进程无法回收,压力场景下TCB资源耗尽

+

I3UWXI

+

libwap.so 存在已知一般漏洞: CVE-2021-30004,CVSS:5.3;漏洞发布日期:2021-04-02,不符合产品发布要求,需要解决。

+

I3SWY2

+

高概率出现KProcess进程挂死,质量不达标

+

I3YJRO

+

liteos-a內核模块可配置编译失败

+

I3YNWM

+

文件系统维测增强功能在该版本有问题

+

I3VEOG

+

bin目录下没有mksh和toybox,导致已转测的toybox命令集和shell交互友好性提升无法测试

+
+ diff --git a/zh-cn/release-notes/api-change/js-apidiff-v2.2-beta2.md b/zh-cn/release-notes/api-change/js-apidiff-v2.2-beta2.md new file mode 100644 index 0000000000000000000000000000000000000000..f512798ef3264f737fb86afb9fd5bc0b629ccc54 --- /dev/null +++ b/zh-cn/release-notes/api-change/js-apidiff-v2.2-beta2.md @@ -0,0 +1,13 @@ +# JS API Diff +## 组件 + +| 组件类型 | 组件名称 | 变更类型 | 变更类型 | +| -------- | -------- | -------- | -------- | +| 描述组件的类型,例如:容器组件、基础组件、媒体组件等 | 描述组件名称,例如:div、button等 | 描述变更的类型,包含新增、删除、废弃、修改 | 如果为废弃,则需要描述替换的组件;如果为修改,则需要描述变化点,例如:新增xxx参数、xxx参数的默认值由xxx变更为xxx;其他情况可以使用 - 符号 | + +## 接口变更 + +| 模块名称 | 接口名称 | 变更类型 | 变更说明 | +| -------- | -------- | -------- | -------- | +| 描述接口所属的模块,例如:数据存储、文件存储等 | 描述接口名称,例如:storage.get(OBJECT)。如果整个模块新增,则可以使用 - 符号 | 描述变更的类型,包含新增、删除、废弃、修改 | 如果为废弃,则需要描述替换的接口;如果为修改,则需要描述变化点,例如:新增xxx参数、xxx参数的默认值由xxx变更为xxx;其他情况可以使用 - 符号 | + diff --git a/zh-cn/release-notes/api-change/native-apidiff-v2.2-beta2.md b/zh-cn/release-notes/api-change/native-apidiff-v2.2-beta2.md new file mode 100644 index 0000000000000000000000000000000000000000..3aa44ad73f8083916414526022c22f16abf7214b --- /dev/null +++ b/zh-cn/release-notes/api-change/native-apidiff-v2.2-beta2.md @@ -0,0 +1,5 @@ +# Native API Diff + +| 模块名称 | 接口名称 | 变更类型 | 变更类型 | +| -------- | -------- | -------- | -------- | +| 描述模块的名称,例如:Native_layer、Image、Media等 | 描述变更元素的名称,包含结构体、类型定义、枚举、函数等,例如:结构体NativeLayerBuffer、类型定义NativeLayer、函数GetNativeLayer (JNIEnv *env, jobject surface)等。如果整个模块新增,则可以使用 - 符号 | 描述变更的类型,包含新增、删除、废弃、修改 | 如果为废弃,则需要描述替换的组件;如果为修改,则需要描述变化点,例如:新增xxx参数、xxx参数的默认值由xxx变更为xxx;其他情况可以使用 - 符号 | \ No newline at end of file diff --git a/zh-cn/release-notes/api-change/template/changelog-x-x.md b/zh-cn/release-notes/api-change/template/changelog-x-x.md new file mode 100644 index 0000000000000000000000000000000000000000..abf59c77cba59f171efbb6121e24f238516ad50e --- /dev/null +++ b/zh-cn/release-notes/api-change/template/changelog-x-x.md @@ -0,0 +1,30 @@ +# ChangeLog +## xxx子系统(该段落为示例,请不要修改或删除) +已经release的版本发生了影响契约兼容性(契约兼容:也称语义兼容,指版本演进后,开发者原有程序行为不发生变化)的变更(包括不限于接口名、参数、返回值、所需要的权限、调用顺序、枚举值、配置参数、路径等),则需要在ChangeLog中对变更进行阐述。 +### cl.subsystemname.x xxx功能变更, 例:DeviceType属性变更、相机权限变更(尽量概括,不要超过15个字) +每个变更标题前需要附加编号:cl.subsystemname.x。cl为ChangeLog首字母缩写,subsystemname请填写子系统英文标准名称,x表示变更序号(从低到高逐位增加)。 +以功能维度对变更点进行概括描述。例如:xxx功能的xxx、xxx等发生了xxx变化,开发者需要根据以下说明对应用进行适配。 +如果有此变更有对应的需求或设计文档,可以在描述中附上对应的设计文档编号。 + +**变更影响** + +是否影响已release的接口或者接口行为发生变更等;影响的是JS接口、Java接口还是Native接口。 + +**关键的接口/组件变更** + +列举此功能变更涉及的接口/组件变更。 + +**适配指导(可选,不涉及则可以删除)** + +(前面空一行)提供指导,帮助开发者针对相关变更进行适配,使应用可以与新版本兼容。例: +在xxx文件中将xxx参数修改为xxx。 +``` +sample code +``` +### cl.subsystemname.x xxx功能变更 +每个功能变更点在自己的子系统章节内新增一个功能变更章节。 + +## xxx子系统 +每个子系统有且只能有一个子系统章节。 + + diff --git a/zh-cn/release-notes/api-change/template/js-apidiff-x-x.md b/zh-cn/release-notes/api-change/template/js-apidiff-x-x.md new file mode 100644 index 0000000000000000000000000000000000000000..f512798ef3264f737fb86afb9fd5bc0b629ccc54 --- /dev/null +++ b/zh-cn/release-notes/api-change/template/js-apidiff-x-x.md @@ -0,0 +1,13 @@ +# JS API Diff +## 组件 + +| 组件类型 | 组件名称 | 变更类型 | 变更类型 | +| -------- | -------- | -------- | -------- | +| 描述组件的类型,例如:容器组件、基础组件、媒体组件等 | 描述组件名称,例如:div、button等 | 描述变更的类型,包含新增、删除、废弃、修改 | 如果为废弃,则需要描述替换的组件;如果为修改,则需要描述变化点,例如:新增xxx参数、xxx参数的默认值由xxx变更为xxx;其他情况可以使用 - 符号 | + +## 接口变更 + +| 模块名称 | 接口名称 | 变更类型 | 变更说明 | +| -------- | -------- | -------- | -------- | +| 描述接口所属的模块,例如:数据存储、文件存储等 | 描述接口名称,例如:storage.get(OBJECT)。如果整个模块新增,则可以使用 - 符号 | 描述变更的类型,包含新增、删除、废弃、修改 | 如果为废弃,则需要描述替换的接口;如果为修改,则需要描述变化点,例如:新增xxx参数、xxx参数的默认值由xxx变更为xxx;其他情况可以使用 - 符号 | + diff --git a/zh-cn/release-notes/api-change/template/native-apidiff-x-x.md b/zh-cn/release-notes/api-change/template/native-apidiff-x-x.md new file mode 100644 index 0000000000000000000000000000000000000000..3aa44ad73f8083916414526022c22f16abf7214b --- /dev/null +++ b/zh-cn/release-notes/api-change/template/native-apidiff-x-x.md @@ -0,0 +1,5 @@ +# Native API Diff + +| 模块名称 | 接口名称 | 变更类型 | 变更类型 | +| -------- | -------- | -------- | -------- | +| 描述模块的名称,例如:Native_layer、Image、Media等 | 描述变更元素的名称,包含结构体、类型定义、枚举、函数等,例如:结构体NativeLayerBuffer、类型定义NativeLayer、函数GetNativeLayer (JNIEnv *env, jobject surface)等。如果整个模块新增,则可以使用 - 符号 | 描述变更的类型,包含新增、删除、废弃、修改 | 如果为废弃,则需要描述替换的组件;如果为修改,则需要描述变化点,例如:新增xxx参数、xxx参数的默认值由xxx变更为xxx;其他情况可以使用 - 符号 | \ No newline at end of file