| **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). |