From afea45e739d41724b738ce182c3e6ecad90449f6 Mon Sep 17 00:00:00 2001 From: tangmeng Date: Mon, 11 May 2026 10:50:51 +0800 Subject: [PATCH] docs: add trunk-5.5 release notes (en & zh-cn) - Add en/release_notes/v5.5.md and zh-cn/release_notes/v5.5.md - Cover kernel / bluetooth / connectivity / multimedia / graphics / system services / security / QuickApp / AI Agent new features, breaking changes and upgrade guide - Link both versions from top-level README.md and README_zh-cn.md --- README.md | 2 + README_zh-cn.md | 2 + en/release_notes/v5.5.md | 357 ++++++++++++++++++++++++++++++++++++ zh-cn/release_notes/v5.5.md | 357 ++++++++++++++++++++++++++++++++++++ 4 files changed, 718 insertions(+) create mode 100644 en/release_notes/v5.5.md create mode 100644 zh-cn/release_notes/v5.5.md diff --git a/README.md b/README.md index 09c659fb..0d2e9b31 100644 --- a/README.md +++ b/README.md @@ -82,6 +82,8 @@ Release tags are immutable markers created on the `trunk` branch. Each tag repre Below are the currently released stable versions and their change logs: +- **trunk-5.5**: Please refer to the [v5.5 Release Notes](./en/release_notes/v5.5.md) for detailed changes. + - **trunk-5.4**: Please refer to the [v5.4 Release Notes](./en/release_notes/v5.4.md) for detailed changes. - **trunk-5.2**: Please refer to the [v5.2 Release Notes](./en/release_notes/v5.2.md) for detailed changes. diff --git a/README_zh-cn.md b/README_zh-cn.md index af8161b7..6930a8b7 100644 --- a/README_zh-cn.md +++ b/README_zh-cn.md @@ -83,6 +83,8 @@ Vela 的命名源自拉丁语中船帆的含义,也是南方星空中船帆星 以下是当前已发布的稳定版本及其变更说明: +- **trunk-5.5**:请查阅 [v5.5 版本发布说明](./zh-cn/release_notes/v5.5.md) 了解详细变更。 + - **trunk-5.4**:请查阅 [v5.4 版本发布说明](./zh-cn/release_notes/v5.4.md) 了解详细变更。 - **trunk-5.2**:请查阅 [v5.2 版本发布说明](./zh-cn/release_notes/v5.2.md) 了解详细变更。 diff --git a/en/release_notes/v5.5.md b/en/release_notes/v5.5.md new file mode 100644 index 00000000..7a933383 --- /dev/null +++ b/en/release_notes/v5.5.md @@ -0,0 +1,357 @@ +# openvela trunk-5.5 + +[ English | [简体中文](../../zh-cn/release_notes/v5.5.md) ] + +## Overview + +This openvela trunk-5.5 release brings comprehensive enhancements and improvements across the kernel, connectivity, multimedia, graphics, runtime framework, and developer tools. More importantly, this release **open-sources openvela's first lightweight native AI Agent engine**, and adds the **open-sourced QuickApp Feature framework runtime core library & tools, as well as the QuickJS lightweight JavaScript engine**. + +## Table of Contents + +- [New Feature Details](#new-feature-details) + - [Kernel (NuttX)](#kernel-nuttx) + - [Bluetooth](#bluetooth) + - [Connectivity Framework](#connectivity-framework) + - [Multimedia](#multimedia) + - [Graphics & Animation](#graphics--animation) + - [System Applications & Tools](#system-applications--tools) + - [System Services](#system-services) + - [Security & Runtime](#security--runtime) + - [QuickApp](#quickapp) + - [AI Agent](#ai-agent) +- [Breaking Changes](#breaking-changes) +- [Upgrade & Adaptation Guide](#upgrade--adaptation-guide) + +## New Feature Details + +### Kernel (NuttX) + +#### Architecture Support + +- Continued improvements across multiple architectures: ARM Cortex-M / Cortex-A / Cortex-R, ARM64, RISC-V, Xtensa, x86_64, TriCore, SPARC +- ARMv8-R enhancements: UDIV instruction, Monitor-mode interrupt vectors, TEE jump optimization +- TriCore Tasking toolchain C++ build support +- QEMU ARMv8-A / ARMv8-R board-level enhancements and improvements + +#### Drivers + +- RPTUN / RPMsg: IVShmem fixes, BMP mode, UART port optimization +- Virtio: virtio-snd audio, virtio-crypto encryption, virtio-mmio optimization and enhancements +- V4L2 M2M video framework +- ALSA audio adaptation enhancements + +#### Scheduler + +- Signal-handling refactor: `CONFIG_DISABLE_SIGNALS` support +- SMP scheduling: spinlock double-unlock fix, priority scheduling optimization +- POSIX compliance: `pthread_cond` API, `mq_open` path restrictions, `abort()` implementation +- Per-CPU variable optimization + +#### Networking + +- VSock: virtio vsock support with sockif implementation +- IPv4 / IPv6 forwarding and input processing fixes +- Netdev locking, IGMP, VLAN, netlink route +- TCP close fix + +#### File System + +- LROFS: truncate, create, copy file content optimization +- GPT partition support +- FATFS UTF-8 optimization +- Procfs pressure monitoring + +#### Memory Management + +- Mempool multi-pool manager, dynamic pool configuration optimization +- KASAN detection enhancements + +#### Libraries + +- libc: scanf, printf, strtol bug fixes and enhancements +- libelf: `modlib` renamed to `libelf` +- libcxx / libcxxabi: C++ initialization flow optimization + +#### Tools + +- nxgdb debugging enhancements +- CMake build optimization +- syscall generation tool supports `const union` + +### Bluetooth + +#### Connection Manager Rewrite + +- Full refactor of the ACL connection manager +- SPP, HID, A2DP, AVRCP, HFP and other profiles adapted to the new connection management API +- Profile callback mechanism optimized: from asynchronous dispatch to direct callback +- Multi-connection support and stability fixes + +#### Protocol & Profile Upgrades + +- AVRCP upgraded from 3.0 to 4.0 +- GATT database hash computation and persistent storage (KVDB) +- GATT Service Changed indication support +- BLE Privacy configurable via Kconfig +- SPP `connect_with_option` API +- DID Profile build support + +#### Stability + +- Fixes for use-after-free, null pointer dereference, double free, resource leaks, and more + +### Connectivity Framework + +#### Telephony + +- TAPI sub-modules gain callback functions across the board +- Modem upgrade operation support + +#### Network + +- Fixed callback leak issues +- Fixed MQTTS certificate issue +- Fixed resumable download issue + +### Multimedia + +#### Player + +- Media player core refactor +- Audio focus management optimization +- Streaming playback enhancements +- Multi-core cross-CPU communication support + +#### Recorder + +- Recorder framework optimization, parameter passing fixes + +#### Media Graph + +- Media processing graph engine update +- `media_uv_trigger` asynchronous interface +- Asynchronous detection callback + +#### FFmpeg Upgraded to 7.x + +- Version upgrade: FFmpeg 5.x → 7.x + +### Graphics & Animation + +#### New Features + +- Animation system: Added `LV_ANIM_USE_FLOAT` config that extends start/end/cur/path_cb types from `int32_t` to `float`; added easing parameters (ease param), animation-complete callback, and frame-interval smoothing +- Vector rendering (VG_Lite): Added border side rendering, tiled image support, stroke path cache and path upload modes, GPU utilization query interface, font cache reference counting, dynamic parameter print control +- Image compatibility: Added compatibility decoding for LVGL V8 legacy `.bin` / `.rle` image formats (automatically converts V8 header to V9) +- Image decoding: JPEG now fully supports orientation and CMYK; JPEG/PNG decoders allocate draw buffer in one shot; added decoding performance measurement +- New widgets: `arc_label` curved-text widget; QRCode circular style and quiet zone +- Rendering: draw_buf blur support; ARM MVE/NEON alpha pre-multiplication acceleration; global recolor; display rotation now implemented via transform matrix with FULL rendering-mode rotation support +- Input: Added crown scroll event; added global focus object +- Scrolling: Added force-elastic scroll property +- Text: Restored text recolor; span widget supports BiDi bidirectional text +- Canvas: Direct painting mode support +- File system: Added `lv_fs_read_file_alloc` API that reads a file and auto-allocates memory +- Memory: Added linear allocator; added `lv_reallocf` +- Tools: Added argparse CLI library; added remote_ctrl remote-control component (integrated with NuttX libuv); GDB debugging module refactored for multi-instance and lazy loading +- NemaGFX: Added freetype vector font support + +#### Performance Optimizations + +- Rendering refresh reduces unnecessary `refr_children` calls (by checking layer opa) and empty dispatches +- Draw task descriptors merged-allocated via linear allocator to cut malloc calls +- Style cache uses longer bitmaps, allowing a single call to fetch multiple space properties +- Text drawing reduces `lv_text_get_size` and glyph lookup calls +- Objects cache the current opa stack in the layer, avoiding repeated computation +- VG_Lite adds a gradient pool that optimizes memory allocation and lookup; vector path / descriptor structures are streamlined +- A8 format decoding performance improved; snapshots render starting from the top-level object + +#### Key Fixes + +- Fixed rendering anomalies when layer opacity/recolor was not restored after layer-area acquisition failure +- Fixed flicker caused by conflicts between scroll animation and finger drag during continuous sliding +- Fixed infinite loop in `scroll_end` events +- Fixed accidental click triggered by two-finger swipe +- Fixed multiple VG_Lite crashes (empty stroke cache, uninitialized gradient, empty clipper path) +- Fixed memory leaks in SVG/PNG decoders +- Fixed image-decoder memory leak under multi-core rendering scenarios +- Fixed crashes of freetype and profiler_builtin during `lv_deinit` +- Fixed textarea placeholder not vertically centered and wrapping anomalies +- Fixed span widget text display corruption +- Fixed anomalies when combining flex layout with RTL direction + +#### Testing + +- 20+ module unit-test coverage added (anim, area, event, draw_buf, vector, qrcode, span, fs, etc.) +- CI switched to native 32/64-bit builds; all reference screenshots refreshed + +### System Applications & Tools + +#### ALSA-Lib + +- DMix drain fix, semaphore leak fix +- mmap offset calculation fix, silent pre-fill optimization +- Independent device logging support + +#### Test Frameworks + +- cmocka: XML output format, ELF test-file execution +- ostest: atomic operations, spinlock, cancel test fixes +- LTP `CLOCK_MONOTONIC` adaptation + +#### System Tools + +- `stty` terminal control enhancements +- readline echo issue fix +- NSH: stderr redirection, Ctrl+C exit fixes + +### System Services + +#### KVDB / Utils + +- BMP / AMP scenario connection optimization; default timeout raised from 0.5s to 5s +- GDBus proxy property retrieval, double-free fix + +#### LibUV Extensions + +- AES-CCM mode API, ECDH shared-key, HKDF support + +#### UOrb Topics + +- Algorithm topics: gesture, posture, heart rate, pedometer +- Charging state, vibrator on/off state topics + +#### OTA + +- AVB multi-image verification, `vbmeta_partition` mode + +#### Binder IPC + +- RPC / NDK separation, CPC ServiceManager compatibility + +#### ASH Framework + +- Microservice support, MessageLoopListener, C API exports + +#### Activity Manager + +- Fixed coexistence of applications with duplicate names; Lite mode refactor + +#### Window Manager + +- Lite single-instance mode, window transition animations + +### Security & Runtime + +#### OP-TEE + +- ELF TA support (CMake build), WASM multi-instance initialization +- Mutex protection for concurrent TA initialization +- Triad encryption/decryption interface + +#### WASM Runtime + +- netlib / WiFi / xtables WASM wrappers + +### QuickApp + +This release open-sources the entire QuickApp development stack, covering the JS engine, Feature framework, and application Shell runtime: + +- [QuickJS](./../../../../../apps_interpreters_quickjs) + + A lightweight JavaScript engine based on an enhanced fork of Fabrice Bellard's QuickJS. It preserves the original lightweight, fast, and high-compatibility characteristics while integrating a set of new features, especially around developer tooling and debugging support, making it a more complete JavaScript runtime environment. + +- [runtime_feature](./../../../../../frameworks_runtimes_feature) + + The QuickApp Feature framework runtime core library and tools. Developed in C/C++ for efficient JavaScript-to-native interoperability. The architecture consists of three core components: a runtime framework that provides a JS-native execution environment, a JIDL (Interface Description Language) and toolchain for auto-generating bi-directional invocation interfaces, and a standardized set of native developer APIs. + +- [runtime_ash](./../../../../../frameworks_runtimes_ash) + + The openvela application Shell runtime environment. A lightweight C++ runtime foundation library for embedded systems, providing efficient and reliable low-level components for resource-constrained environments. The modular design covers: resource management (Bundle), system security (Crash handling), device info abstraction (Device Info), file system wrappers (File), file-descriptor management (Scoped FD), message-loop mechanism (Message Loop), stream processing, string conversion, threading, time/timer, networking, memory management, and debug tracing. Built with the GN build system, with CMake support via `CMakeLists.txt`, and compatible with the Kconfig configuration system, suitable for real-time operating systems such as NuttX. + +### AI Agent + +openvela [AI Agent](./../../../../../packages_ai_agent) is an AI agent engine designed to run on small devices such as watches, speakers, glasses, and earphones. Architecturally, the engine builds a full-stack intelligence pipeline from perception and memory to reasoning and execution, truly enabling devices to make autonomous decisions and deliver proactive services. + +## Breaking Changes + +> ⚠️ The changes below may impact existing code. Please review them carefully when upgrading. + +### Kernel + +| Type | Change | Impact | +|------|--------|--------| +| Rename | `modlib` → `libelf` | binfmt, ELF loading | +| Rename | `PSEUDOFS_SOFTLINKS` → `FS_LINKS` | File system Kconfig | +| API | `sched_note_printf` signature change | trace module | +| API | `atomic_fetch_xxx` → `atomic_xxx` | atomic operations in apps | +| New | `CONFIG_DISABLE_SIGNALS` | signal-related conditional compilation | +| Config | `libcxxmini` → `libminiabi` | C++ initialization | + +### Bluetooth + +| Type | Change | Impact | +|------|--------|--------| +| Behavior | CM profile callbacks changed from asynchronous to direct | Profile callback handling | +| Behavior | `pairing_complete` always reports BONDED | Pairing flow | +| Behavior | Removed connection-state check in `security_changed` | Security callback | + +### Telephony + +| Type | Change | Impact | +|------|--------|--------| +| New | All TAPI sub-modules add callbacks | All TAPI callers | +| Refactor | `char**` pointer parameter refactor | TAPI function signatures | + +### Runtime + +| Type | Change | Impact | +|------|--------|--------| +| Refactor | QuickApp interface refactor | QuickApp | +| Replace | `UVTaskQueue` → ash MessageLoop C interface | QuickApp exit flow | +| API | NetworkStatus callback returns object type | Network status | + +### System Services + +| Type | Change | Impact | +|------|--------|--------| +| Config | KVDB default timeout 0.5s → 5s | KVDB clients | +| API | Binder RPC / NDK separation | Binder IPC | + +## Upgrade & Adaptation Guide + +### 1. Kernel Configuration + +- `CONFIG_PSEUDOFS_SOFTLINKS` → `CONFIG_FS_LINKS` +- `modlib` API → `libelf` +- `atomic_fetch_xxx` → `atomic_xxx` + +### 2. Bluetooth + +- Profile callbacks must be adapted to direct-callback mode (no longer asynchronously dispatched) +- Review `pairing_complete` callback logic + +### 3. Telephony + +- TAPI callers must adapt to the newly added callback parameters + +### 4. Runtime + +- `UVTaskQueue` → ash MessageLoop C interface +- Adapt to the updated `lv_anim` interface + +### 5. Build System + +- C++ initialization: `libcxxmini` → `libminiabi` + +### 6. Third-Party Libraries + +- FFmpeg upgraded to 7.x + +## Related Links + +- [Main repo](./../../../../../) +- [AI Agent](./../../../../../packages_ai_agent) +- [QuickJS](./../../../../../apps_interpreters_quickjs) +- [Runtime Feature](./../../../../../frameworks_runtimes_feature) +- [Runtime ASH](./../../../../../frameworks_runtimes_ash) +- [Official documentation](https://doc.openvela.com) diff --git a/zh-cn/release_notes/v5.5.md b/zh-cn/release_notes/v5.5.md new file mode 100644 index 00000000..fb3fbc43 --- /dev/null +++ b/zh-cn/release_notes/v5.5.md @@ -0,0 +1,357 @@ +# openvela trunk-5.5 + +[ [English](../../en/release_notes/v5.5.md) | 简体中文 ] + +## 概览 + +此次 openvela trunk-5.5 版本更新,在内核、连接、多媒体、图形、runtime 框架和开发工具等方面带来了全面增强和改进。此外,我们本次版本更新更是开源了 **openvela 首个轻量化原生 AI Agent 智能引擎**,并新增了 **快应用 Feature 框架运行时核心库和工具、QuickJS 轻量级 JS 引擎开源**。 + +## 目录 + +- [新特性详情](#新特性详情) + - [内核 NuttX](#内核-nuttx) + - [蓝牙](#蓝牙) + - [连接框架](#连接框架) + - [多媒体](#多媒体) + - [图形与动画](#图形与动画) + - [系统应用与工具](#系统应用与工具) + - [系统服务](#系统服务) + - [安全与运行时](#安全与运行时) + - [快应用](#快应用) + - [AI agent](#ai-agent) +- [不兼容变更](#不兼容变更) +- [升级适配指南](#升级适配指南) + +## 新特性详情 + +### 内核 NuttX + +#### 架构支持 + +- 多架构持续完善:ARM Cortex-M / Cortex-A / Cortex-R、ARM64、RISC-V、Xtensa、x86_64、TriCore、SPARC +- ARMv8-R 增强:UDIV 指令、Monitor 模式中断向量、TEE 跳转优化 +- TriCore Tasking 工具链 C++ 构建支持 +- QEMU ARMv8-A / ARMv8-R 板级增强和完善 + +#### 驱动 + +- RPTUN / RPMsg:IVShmem 修复、BMP 模式、UART 端口优化 +- Virtio:virtio-snd 音频、virtio-crypto 加密、virtio-mmio 优化和增强 +- V4L2 M2M 视频框架 +- ALSA 音频适配增强 + +#### 调度器 + +- 信号处理重构:`CONFIG_DISABLE_SIGNALS` 支持 +- SMP 调度:spinlock 双重解锁修复、优先级调度优化 +- POSIX 合规:`pthread_cond` API、`mq_open` 路径限制、`abort()` 实现 +- Per-CPU 变量优化 + +#### 网络 + +- VSock:virtio vsock 支持与 sockif 实现 +- IPv4 / IPv6 转发与输入处理修复 +- Netdev 锁机制、IGMP、VLAN、netlink route +- TCP close 修复 + +#### 文件系统 + +- LROFS:truncate、create、copy 文件内容优化 +- GPT 分区支持 +- FATFS UTF-8 优化 +- Procfs 压力监控 + +#### 内存管理 + +- Mempool 多池管理器、动态池配置优化 +- KASAN 检测增强 + +#### 库 + +- libc:scanf、printf、strtol 等 bug 修复和增强 +- libelf:`modlib` 重命名为 `libelf` +- libcxx / libcxxabi:C++ 初始化流程优化 + +#### 工具 + +- nxgdb 调试增强 +- CMake 构建优化 +- syscall 生成工具支持 `const union` + +### 蓝牙 + +#### 连接管理器重写 + +- ACL 连接管理器全面重构 +- SPP、HID、A2DP、AVRCP、HFP 等 Profile 适配新连接管理 API +- Profile 回调机制优化:从异步分发改为直接回调 +- 多连接支持与稳定性修复 + +#### 协议与 Profile 升级 + +- AVRCP 从 3.0 升级到 4.0 +- GATT 数据库哈希计算与持久化存储(KVDB) +- GATT Service Changed indication 支持 +- BLE Privacy 配置化(Kconfig) +- SPP `connect_with_option` API +- DID Profile 构建支持 + +#### 稳定性 + +- Use-after-free、空指针解引用、双重释放、资源泄漏等问题修复 + +### 连接框架 + +#### Telephony + +- TAPI 全部子模块新增 callback 函数 +- Modem 升级操作支持 + +#### Network + +- 修复回调泄漏问题 +- 修复 MQTTS 证书问题 +- 修复断点续传问题 + +### 多媒体 + +#### 播放器 + +- 媒体播放器核心重构 +- 音频焦点管理优化 +- 流式播放支持增强 +- 多核跨 CPU 通信支持 + +#### 录制器 + +- 录制框架优化、参数传递修复 + +#### 媒体图(Graph) + +- 媒体处理图引擎更新 +- `media_uv_trigger` 异步接口 +- 异步检测回调 + +#### FFmpeg 升级到 7.x + +- 版本升级:FFmpeg 由 5.x 升级到 7.x + +### 图形与动画 + +#### 新特性 + +- 动画系统:新增 `LV_ANIM_USE_FLOAT` 配置,将 start/end/cur/path_cb 类型从 `int32_t` 扩展为 `float`;新增缓动参数(ease param)、动画完成回调、帧间隔平滑 +- 矢量渲染(VG_Lite):新增 border side 绘制、tiled image 支持、stroke path cache 与 path upload 模式、GPU 利用率查询接口、字体缓存引用计数、动态参数打印控制 +- 图像兼容:新增 LVGL V8 旧版 `.bin` / `.rle` 图像格式兼容解码(自动转换 V8 header 为 V9) +- 图像解码:JPEG 完整支持 orientation 与 CMYK;JPEG/PNG 解码器一次性分配 draw buffer;新增解码性能测量 +- 新组件:`arc_label` 弧形文本组件;QRCode 圆形样式与 quiet zone +- 渲染:draw_buf 模糊(blur)支持;ARM MVE/NEON alpha 预乘加速;全局 recolor;display rotation 改用 transform matrix 实现并支持 FULL 渲染模式旋转 +- 输入:新增 crown scroll 表冠滚动事件;新增全局 focus 对象 +- 滚动:新增 force elastic 强制弹性滚动属性 +- 文本:恢复 text recolor 功能;span 组件支持 BiDi 双向文本 +- Canvas:支持 direct painting 直接绘制模式 +- 文件系统:新增读取文件并自动分配内存 API(`lv_fs_read_file_alloc`) +- 内存:新增 linear allocator;新增 `lv_reallocf` +- 工具:新增 argparse 命令行解析库;新增 remote_ctrl 远程控制组件(集成 NuttX libuv);GDB 调试模块重构支持多实例和懒加载 +- NemaGFX:新增 freetype 矢量字体支持 + +#### 性能优化 + +- 渲染刷新减少无效 `refr_children` 调用(检查 layer opa)和空 dispatch +- draw task 描述符合并分配 + linear allocator 减少 malloc 次数 +- 样式缓存使用更长 bitmap,支持一次调用获取多个 space 属性 +- 文本绘制减少 `lv_text_get_size` 和 glyph 查询调用次数 +- 对象使用 layer 缓存当前 opa stack,避免重复计算 +- VG_Lite 新增渐变池优化内存分配与搜索、矢量路径/描述结构精简 +- A8 格式解码性能提升;snapshot 从顶层对象开始渲染 + +#### 关键修复 + +- 修复 layer opacity/recolor 在 layer area 获取失败时未恢复导致后续渲染异常 +- 修复连续滑动时滚动动画与手指拖拽冲突导致画面闪烁 +- 修复 `scroll_end` 事件无限循环 +- 修复双指滑动误触发点击事件 +- 修复多个 VG_Lite 崩溃(stroke cache 为空、渐变未初始化、clipper 空路径) +- 修复 SVG/PNG 解码器内存泄漏 +- 修复多核渲染场景下图像解码器内存泄漏 +- 修复 freetype 和 profiler_builtin 在 `lv_deinit` 时崩溃 +- 修复 textarea placeholder 未垂直居中及换行异常 +- 修复 span 组件文本显示混乱 +- 修复 flex 布局与 RTL 方向组合异常 + +#### 测试 + +- 新增 20+ 模块单元测试覆盖(anim、area、event、draw_buf、vector、qrcode、span、fs 等) +- CI 改为原生 32/64 位构建,更新全部参考截图 + +### 系统应用与工具 + +#### ALSA-Lib + +- DMix drain 修复、信号量泄漏修复 +- mmap 偏移计算修复、静默预填充优化 +- 独立设备日志支持 + +#### 测试框架 + +- **cmocka**:XML 输出格式、ELF 测试文件执行 +- **ostest**:原子操作、spinlock、cancel 测试修复 +- **LTP** `CLOCK_MONOTONIC` 适配 + +#### 系统工具 + +- `stty` 终端控制增强 +- readline 回显问题修复 +- NSH:stderr 重定向、Ctrl+C 退出问题修复 + +### 系统服务 + +#### KVDB / Utils + +- BMP / AMP 场景连接优化、默认超时从 0.5s 改为 5s +- GDBus proxy property 获取、double free 修复 + +#### LibUV 扩展 + +- AES-CCM 模式 API、ECDH 共享密钥、HKDF 支持 + +#### UOrb Topics + +- 算法 Topic:手势、姿态、心率、计步器 +- 充电状态、振动器开关状态 Topic + +#### OTA + +- AVB 多镜像验证、`vbmeta_partition` 模式 + +#### Binder IPC + +- RPC / NDK 分离、CPC ServiceManager 兼容 + +#### ASH 框架 + +- 微服务支持、MessageLoopListener、C API 导出 + +#### Activity Manager + +- 多应用同名共存修复、Lite 模式重构 + +#### Window Manager + +- Lite 单实例模式、窗口过渡动画 + +### 安全与运行时 + +#### OP-TEE + +- ELF TA 支持(CMake 构建)、WASM 多实例初始化 +- 并发 TA 初始化 mutex 保护 +- Triad 加解密接口 + +#### WASM Runtime + +- netlib / WiFi / xtables WASM 封装 + +### 快应用 + +本次发布将快应用开发全链路开源,覆盖 JS 引擎、Feature 框架和应用 Shell 运行时: + +- [QuickJS](./../../../../../apps_interpreters_quickjs) + + QuickJS 轻量级 JS 引擎,基于 Fabrice Bellard 的 QuickJS 引擎的增强版本。保留原有的轻量、快速和高兼容性特点,集成了一系列新功能,特别是在开发者工具和调试支持方面,使其成为功能更完备的 JavaScript 运行时环境。 + +- [runtime_feature](./../../../../../frameworks_runtimes_feature) + + 快应用 Feature 框架运行时核心库和工具。基于 C/C++ 开发,实现 JavaScript 层与原生代码的高效互操作性。架构包括三大核心组件:提供 JS-Native 执行环境的运行时框架、用于自动生成双向调用接口的 JIDL(接口描述语言)及工具、标准化的 native 开发者 API。 + +- [runtime_ash](./../../../../../frameworks_runtimes_ash) + + openvela 应用 Shell 运行时环境。面向嵌入式系统的轻量级 C++ 运行时基础库,为资源受限环境提供高效、可靠的底层组件支持。模块化设计覆盖:资源管理(Bundle)、系统安全(Crash 处理)、设备信息抽象(Device Info)、文件系统封装(File)、文件描述符管理(Scoped FD)、消息循环机制(Message Loop)、流处理、字符串转换、线程、时间、定时器、网络、内存管理和调试追踪等。使用 GN 构建系统,通过 `CMakeLists.txt` 提供 CMake 支持,兼容 Kconfig 配置系统,适用于 NuttX 等实时操作系统环境。 + +### AI agent + +openvela [AI Agent](./../../../../../packages_ai_agent) 是一个跑在手表、音箱、眼镜、耳机这类小设备上的 AI 智能体引擎。从架构设计上,该引擎构建了从感知到记忆、从推理到执行的全链路智能化能力,真正让设备具备自主决策与主动服务能力。 + +## 不兼容变更 + +> ⚠️ 以下变更可能影响现有代码,升级时请重点关注。 + +### 内核 + +| 类型 | 变更 | 影响 | +|------|------|------| +| 重命名 | `modlib` → `libelf` | binfmt、ELF 加载 | +| 重命名 | `PSEUDOFS_SOFTLINKS` → `FS_LINKS` | 文件系统 Kconfig | +| API | `sched_note_printf` 签名变更 | trace 模块 | +| API | `atomic_fetch_xxx` → `atomic_xxx` | apps 原子操作 | +| 新增 | `CONFIG_DISABLE_SIGNALS` | 信号相关条件编译 | +| 配置 | `libcxxmini` → `libminiabi` | C++ 初始化 | + +### 蓝牙 + +| 类型 | 变更 | 影响 | +|------|------|------| +| 行为 | CM Profile 回调从异步改为直接回调 | Profile 回调处理 | +| 行为 | `pairing_complete` 始终报告 BONDED | 配对流程 | +| 行为 | 移除 security changed 中连接状态检查 | 安全回调 | + +### Telephony + +| 类型 | 变更 | 影响 | +|------|------|------| +| 新增 | TAPI 全部子模块新增 callback | 所有 TAPI 调用方 | +| 重构 | `char**` 指针参数重构 | TAPI 函数签名 | + +### runtime + +| 类型 | 变更 | 影响 | +|------|------|------| +| 重构 | QuickApp 接口重构 | 快应用 | +| 替换 | `UVTaskQueue` → ash MessageLoop C 接口 | 快应用退出流程 | +| API | NetworkStatus 回调返回对象类型 | 网络状态 | + +### 系统服务 + +| 类型 | 变更 | 影响 | +|------|------|------| +| 配置 | KVDB 默认超时 0.5s → 5s | KVDB 客户端 | +| API | Binder RPC / NDK 分离 | Binder IPC | + +## 升级适配指南 + +### 1. 内核配置 + +- `CONFIG_PSEUDOFS_SOFTLINKS` → `CONFIG_FS_LINKS` +- `modlib` API → `libelf` +- `atomic_fetch_xxx` → `atomic_xxx` + +### 2. 蓝牙 + +- Profile 回调需适配直接回调模式(不再异步分发) +- 检查 `pairing_complete` 回调逻辑 + +### 3. Telephony + +- TAPI 调用方适配新增 callback 参数 + +### 4. runtime + +- `UVTaskQueue` → ash MessageLoop C 接口 +- `lv_anim` 接口适配新版本 + +### 5. 构建系统 + +- C++ 初始化:`libcxxmini` → `libminiabi` + +### 6. 第三方库 + +- FFmpeg 升级到 7.x + +## 相关链接 + +- [主仓库](./../../../../../) +- [AI Agent](./../../../../../packages_ai_agent) +- [QuickJS](./../../../../../apps_interpreters_quickjs) +- [Runtime Feature](./../../../../../frameworks_runtimes_feature) +- [Runtime ASH](./../../../../../frameworks_runtimes_ash) +- [官方文档](https://doc.openvela.com)