Fuchsia F14 版本说明

日期:2023 年 10 月 31 日

版本:F14

实施了以下变更:

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

星空

Starnix 进行了以下更新:

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

组件框架

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

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

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

对连接性进行了以下更新:

连接驱动程序

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

蓝牙

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

Matter

  • 为与颜色有关的命令添加了转换时间处理。
  • 新增了对诉讼或调查更新群组的支持。
  • 更新了对所有设备结构脉络的订阅。

网络堆栈

  • 在所有平台上启用了 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。
  • 更新了 Inspect 直方图的编码,以便在进行快照序列化时提高效率
  • 更新了 Rust 日志记录库,以提供在套接字缓冲区已满时重试日志写入的选项。
  • 更新了 Rust Inspect 库,以允许使用 InspectSink 初始化 Inspect。
  • 移除了实验性结构化 printf,从而简化了 C++ syslog 后端 API。
  • 重写了 ffx log,使其直接与 Archivist 通信,而无需主动记录日志,这也带来了 2.5 倍的性能提升。

驱动程序框架

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

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

FIDL

对 FIDL 进行了以下更新:

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

舰队服务(代管式操作系统和取证)

对舰队服务进行了以下更新:

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

图形和媒体

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

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

HCI(输入、A11y、i18n 和 View System)

对 HCI 进行了以下更新:

  • 解决了虚假的夜间在家/外出事件。

内核

对内核进行了以下更新:

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

平台驱动程序

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

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

平台运行状况

对 Platform Health 进行了以下更新:

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

软件交付

对软件交付进行了以下更新:

  • 为 blob 添加了离线压缩支持。
  • 将基本解析器与 pkg-cache 合并。

存储

已对 Storage 进行了以下更新:

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