Fuchsia F11 release notes

Date: June 22, 2023

Version: F11

The following changes have been implemented:

Component Framework

Issue: Migrate components to v2.
Impact: Most components run as v2 in F10 except comms apps, cast_runner, and web_instance.


Connectivity

The following updates have been made for connectivity:

Netstack

  • Added support for MLDv2 and IGMPv3 to support Thread 1.3. Source-specific multicast is not supported.

Thread

  • Logging crate change: replaced with trace.
  • Added a Multicast routing feature.
  • OpenThread fix CP per request from the Nest team.

WLAN

Issue: Device disconnecting from wireless access point during TDLS (Tunneled Direct Link Setup) teardown.
Impact: Firmware change on Astro, Sherlock, and Nelson devices.


Issue: Unbalanced workloads in the network interface and WLAN drivers.
Impact: Improve network performance.


Developer

The following updates have been made for developer workflows:

Diagnostics

  • Archivist memory usage was improved: ~35-45% less usage thanks to string interning, dynamically allocated buffers for logs, no more usage of regular expressions for filtering Inspect, among other changes.
  • Improved Sampler memory usage by removing of intermediate deserialization, it now uses ~5MB less.
  • The Rust Inspect library automatically deduplicates and interns strings which improves memory usage. Some InspectHeap VMOs are up to 48% smaller.
  • The benchmarks for snapshotting and filtering Inspect hierarchies show that the process is now 95% faster due to improvements in the algorithm.
  • Fix bug which caused Archivist to crash when parsing logs containing invalid UTF8. Invalid UTF8 is now replaced with �.
  • ffx log: --no-symbols was renamed to --raw. --moniker was introduced to filter logs by moniker.
  • Dynamic log registration got improvements and bug fixes: Archivist wasn’t setting dynamic log severity when starting a component correctly. Components now wait for the initial interest.
  • Sampler configurations requesting driver manager data were merged into one for performance.
  • Rust Inspect initialization was improved with a Builder for Inspectors.
  • Archivist is now a package in bootfs.
  • Detect and persistence moved under /core/diagnostics/*.

Graphics and Media

  • Magma libraries are now part of the SDK.
  • Detailed video codec descriptions to enable more hardware-accelerated video in Chromium.
  • Improve camera performance when memory pressure is high.

Issue: If the connection to the Mali driver is being destroyed while a buffer in that connection is being paged in, that can cause a deadlock on the device thread.
Impact: Resolve a deadlock in the Mali driver.


Issue: Unsupported touch screen for Khada TS050.
Impact: Added support for Khadas' TS050 touch screen.


Issue: Unsupported panel for Microtech MTF050HDI-03. Impact: Added support for Microtech MTF050HDI-03 panel.


Issue: The LCD_RESET function on VIM3 was being used to indicate the HDMI device's availability. However, on VIM3 LCD_RESET is not a GPIO pin, unlike Astro or Sherlock.
Impact: Fix HDMI hotplug on VIM3.


Issue: HWASan was detecting use-after-frees in various msd-vsi-vip tests.
Impact: Stability fixes for VSI ML driver.


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

UI stack transitioned to Scene Manager and off of Root Presenter.

Kernel

Issue: HWASan was detecting use-after-frees in various msd-vsi-vip tests.
Impact: Emit process record for kernel.


Issue: Unsupported boot tests in UEFI environment for QEMU and AEMU.
Impact: Enable UEFI testing on emulators.


Issue: Not all references to zx have been updated to zx.
Impact: Migrate zxc references to zx.


Issue: Too much padding in thread.h.
Impact: Reduce padding in thread.h.


Issue: Unsupported non-default val_type parameters to fxt::Argument in deduced contexts.
Impact: Update serializer templates and dependents in ktrace.


Issue: Not using standard attributes for C++17.
Impact: Undef __UNUSED in C++; use maybe_unused.


Issue: Extra processing cost of disabling pre-emption to ensure there is no gap between mutex acquisition and setting the timeslice extension.
Impact: Improved kernel mutex performance when using timeslice extension.


Platform drivers

Issue: Hitting assertions on focaltouch startup.
Impact: Fix focaltouch assertion. Each HidInstance manages its own bindings.


Software delivery

Landed a fix that allows an Omaha server to tell a device to reboot immediately after downloading an OTA update.

Storage

Ported fshost from C++ to Rust.