Fuchsia F14 版本说明

日期:2023 年 10 月 31 日

版本:F14

已实现以下更改:

应用运行时(Flutter、Starnix 和 Web)

Starnix

Starnix 进行了以下更新:

  • 添加了对挂载远程文件系统的支持。
  • 添加了对 fxfs 中符号链接的 xattrs 支持。
  • mmap() 系统调用路径添加了跟踪点。
  • 添加了缓存远程文件 VMO 句柄的更新。
  • 添加了修复程序,以使更多 LTP 测试通过。
  • 添加了 /proc/pid/stat 中每个字段的名称。
  • /proc/pid/stat 中的字段添加了其他信息。
  • 向 sysfs 添加了电源挂起统计信息。
  • 记录了如何使用 toybox 容器。
  • 启用了 fuchsia_sync::Mutex
  • 修复了 binderwaiter 中的各种内存泄漏问题。
  • 实现了 O_TMPFILE
  • 实现了 pidfd_getfd
  • 实现了非 panic sys_reboot()
  • 实现了 timer_createtimer_delete 系统调用。
  • 实现了 times() 系统调用。
  • 改进了 Starnix 内核中的锁定功能。
  • ptrace() 系统调用的初始支持。
  • fuchsia.net 路由到 Starnix。
  • 更新了系统调用处理,添加了任务信息。
  • 更新了行为,以便在未启动真实时钟时启动合成 UTC 时钟。
  • 更新了 ext4,以使用文件系统缓存。
  • 更新了 starnix_test_runner,以使用现有的组件运行程序协议。

组件框架

我们对组件框架进行了以下更新:

  • 发布了组件控制器 API,让用户可以直接访问生命周期状态。

连接(蓝牙、IoT、WLAN、Netstack)

Connectivity 进行了以下更新:

连接驱动程序

  • 添加了在 SDIO 超时时恢复固件子系统的功能。
  • 添加了一些次要修复和改进。
  • 添加了固件恢复的稳定性修复。
  • 重新启用 sdio_timeout 恢复触发器条件。
  • 更新了固件恢复,以请求重置 SDIO 卡。

蓝牙

  • 修复了在某些情况下(例如蓝牙音箱)媒体播放时间不准确的问题。
  • 修复了在视频通话进行期间连接后蓝牙音频会恢复的问题。
  • 初步支持 HFP 带内音频。
  • 缩短了将 A2DP 流式传输到音箱时的延迟时间。

Matter

  • 为与颜色相关的命令添加了过渡时间处理。
  • 添加了对问题更新组的支持。
  • 更新了对所有设备 Fabric 的订阅。

Netstack

  • 在所有平台上启用了 FastUDP。预计会提升性能,但不会有用户可见的更改。

线程

  • 向广告代理添加了对 mDNS 子类型的支持。
  • 添加了更新,以停止响应所有子类型。
  • 调整了自动重启机制。
  • 检查 mDNS 组件信道,并根据需要重新建立。
  • 修复了更新 meshcop DNS-SD 时的地址竞态条件问题。
  • 在离开后强制更新连接状态,并改进了日志。
  • 更新了 TREL,使其处于停用状态,除非通过功能标志或 CLI 启用。

开发者

我们对开发者工作流进行了以下更新:

  • ffx emu 添加了 --reuse-with-check 标志,以提高测试速度
  • ffx emu 添加了对 risc-v 的支持。
  • 修复了使用 Mac 刷写时出现的问题。
  • 移除了 ffx sl4f 子命令。

诊断

我们对“诊断”进行了以下更新:

  • 添加了 BoundedListNode 条目的原子初始化。
  • 修复了 ffx inspect list-accessors 未正确转义选择器的 bug。
  • 更新了“检查”直方图的编码,以便在序列化为快照时更高效
  • 更新了 Rust 日志记录库,以提供在套接字缓冲区已满时重试日志写入的选项。
  • 更新了 Rust Inspect 库,以允许 Inspect 使用 InspectSink 进行初始化。
  • 移除了实验性结构化 printf,该 API 简化了 C++ syslog 后端 API。
  • 重写了 ffx log,以便直接与归档程序通信,而无需主动记录日志,这也使性能提高了 2.5 倍。

驱动程序框架

我们对驱动程序框架进行了以下更新:

  • 使用灵活的方法创建了 fuchsia_driver_framework FIDL 库。

FIDL

我们对 FIDL 进行了以下更新:

  • available 添加为顶级 FIDL IR 对象。
  • 强制执行新的 FIDL 空响应语法。

车队服务(托管式操作系统和取证)

我们对车队服务进行了以下更新:

  • Cobalt:改用 HPKE 进行加密,从而减少网络带宽用量。

图形和媒体

图形和媒体进行了以下更新:

  • 更新了连续内存回收功能,以降低内存不足率。

HCI(输入、无障碍功能、i18n 和 View 系统)

我们对 HCI 进行了以下更新:

  • 解决了夜间出现的虚假活动记录问题。

内核

内核进行了以下更新:

  • RISC-V 支持:
    • 添加了对 SMP 的支持。
    • 更新为使用 SBI 检测辅助核心。
  • 调度程序:
    • src/lib 中引入了 Scheduler API。
    • memfsminfs 应用了调度程序角色。
    • 为资源和设备线程添加了调度程序角色。

平台驱动程序

平台驱动程序进行了以下更新:

  • Sdmmc:添加了对 FIDL 调用的支持。
  • 添加了对 DeviceTree 的支持。
  • 更新了 USB 音频,以支持 DFv2。

平台健康运行

我们对平台健康度进行了以下更新:

  • 提高了端到端测试的稳定性和可持续性,使其在各个版本之间更可靠。

软件交付

软件分发进行了以下更新:

  • 添加了对 Blob 的离线压缩支持。
  • 将 base-resolver 合并到了 pkg-cache 中。

存储

我们对“存储空间”进行了以下更新:

  • 添加了对传送 blob(预压缩 blob)的支持。