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
andwaiter
. - Implemented
O_TMPFILE
. - Implemented
pidfd_getfd
. - Implemented non-panic
sys_reboot()
. - Implemented
timer_create
andtimer_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 toffx 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
andminfs
. - Added scheduler roles for resource and device threads.
- Introduced scheduler API in
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).