Fuchsia F14 release notes

Date: October 31, 2023

Version: F14

The following changes have been implemented:

Application Runtimes (Flutter, Starnix, and Web)

Starnix

The following updates have been made for Starnix:

  • Added support for mounting remote filesystems.
  • Added support for xattrs on symlinks in fxfs.
  • Added tracepoints to mmap() syscall path.
  • Added an update to cache remote file VMO handles.
  • Added fixes to get more LTP tests to pass.
  • Added the names for every field in /proc/pid/stat.
  • Added additional information to the fields in /proc/pid/stat.
  • Added power suspend stats to sysfs.
  • Documented how to use the toybox container.
  • Enabled fuchsia_sync::Mutex.
  • Fixed various memory leaks in binder and waiter.
  • Implemented O_TMPFILE.
  • Implemented pidfd_getfd.
  • Implemented non-panic sys_reboot().
  • Implemented timer_create and timer_delete syscalls.
  • Implemented times() syscall.
  • Improved locking in the Starnix kernel.
  • Initial support for ptrace() syscall.
  • Route fuchsia.net to Starnix.
  • Updated syscall handling with task info.
  • Updated the behavior to start up synthetic UTC clock if a real clock is not started.
  • Updated ext4 to use filesystem cache.
  • Updated starnix_test_runner to use an existing component runner protocol.

Component Framework

The following updates have been made for Component Framework:

  • Launched a component controller API which gives users direct access to lifecycle states.

Connectivity (Bluetooth, IOT, WLAN, Netstack)

The following updates have been made for Connectivity:

Connectivity Drivers

  • Added ability to recover the FW sub-system on SDIO timeouts.
  • Added minor fixes and improvements.
  • Added stability fixes for firmware recovery.
  • Re-enable sdio_timeout recovery trigger condition.
  • Updated firmware recovery to request SDIO card reset.

Bluetooth

  • Fixed media playback time inaccuracy in some situations such as a Bluetooth speaker.
  • Fixed Bluetooth audio resumes after connecting during an ongoing video call.
  • Initial in-band audio support for HFP.
  • Improved latency when streaming A2DP to a speaker.

Matter

  • Added transition time handling for commands related to color.
  • Added support for matter update group.
  • Updated subscribing to all device fabrics.

Netstack

  • Enabled FastUDP on all platforms. Performance improvements are expected, but no user visible changes.

Thread

  • Added support for mDNS subtypes to advertising proxy.
  • Added an update to stop responding to all subtypes.
  • Adjusted the auto-restart mechanism.
  • Check mDNS component channel and re-establish if necessary.
  • Fixed an address race condition when updating meshcop DNS-SD.
  • Force update of connectivity state after leave and improved logs.
  • Updated TREL to be disabled unless enabled by feature flags or CLI.

Developer

The following updates have been made for Developer workflows:

  • Added --reuse-with-check flag to ffx emu to improve test velocity
  • Added risc-v support to ffx emu.
  • Fixed issues flashing using a Mac.
  • Removed the ffx sl4f subcommand.

Diagnostics

The following updates have been made for Diagnostics:

  • Added atomic initialization of BoundedListNode entries.
  • Fixed a bug with ffx inspect list-accessors that wasn't escaping selectors correctly.
  • Updated the encoding of Inspect histograms to be more efficient when serialized for snapshots
  • Updated the Rust logging library to offer an option for retrying log writes when the socket buffer is full.
  • Updated the Rust Inspect library to allow Inspect to initialize using InspectSink.
  • Removed experimental structured printf which simplified the C++ syslog backend API.
  • Rewrote ffx log to communicate directly with Archivist without proactive logging which also resulted in 2.5x performance improvements.

Driver Framework

The following updates have been made for Driver Framework:

  • Made the fuchsia_driver_framework FIDL library with flexible methods.

FIDL

The following updates have been made for FIDL:

  • Added available as a top level FIDL IR object.
  • Enforcing a new FIDL empty response syntax.

Fleet Services (Managed OS and Forensics)

The following updates have been made for Fleet Services:

  • Cobalt: Switch to HPKE for encryption, reducing network bandwidth usage.

Graphics and Media

The following updates have been made for Graphics and Media:

  • Updated contiguous memory reclaims to reduce out-of-memory rates.

HCI (Input, A11y, i18n, and View System)

The following updates have been made for HCI:

  • Resolved spurious overnight presence events.

Kernel

The following updates have been made for the Kernel:

  • RISC-V support:
    • Added support for SMP.
    • Updated to use SBI to detect secondary cores.
  • Scheduler:
    • Introduced scheduler API in src/lib.
    • Applied scheduler role to memfs and minfs.
    • Added scheduler roles for resource and device threads.

Platform Drivers

The following updates have been made for Platform Drivers:

  • Sdmmc: Added support FIDL calls.
  • Added support for DeviceTree.
  • Updated USB audio to support DFv2.

Platform Health

The following updates have been made for Platform Health:

  • Improved the stability and sustainability of E2E tests, making them more reliable between releases.

Software Delivery

The following updates have been made for Software Delivery:

  • Added support offline-compression for blobs.
  • Merged base-resolver in with pkg-cache.

Storage

The following updates have been made for Storage:

  • Added support for delivery blobs (pre-compressed blobs).