Date: July 22, 2026
Version: F31
Audio
The following updates have been made for Audio:
- PacketStream API and Device Registry Support Introduced the
fuchsia.audio.device.PacketStreamAPI with top-level support in the Audio Device Registry and virtual audio driver to handle bitrate ranges.- Changes: fxr/1435178, fxr/1513037, fxr/1519781, fxr/1489179, fxr/1489182, fxr/1489180
- Removal of Deprecated ActivityReporter APIs Removed deprecated
ActivityReporterFIDL methods and data structures from audio services to prepare for the removal of thefuchsia.media/AudioRenderUsageenum.- Changes: fxr/1225899, fxr/1226509, fxr/1225898
- Audio Driver Inspect Metrics Enhancement Enhanced driver diagnostics by
tracking buffer episodes and calculating outstanding buffer counts, while
optimizing output by omitting non-essential fields.
- Changes: fxr/1583054, fxr/1559996, fxr/1559243, fxr/1560653, fxr/1483891
- audio-driver-ctl Utility Improvements Upgraded the
audio-driver-ctltool to support 64-bit devfs entries and automatically select the first available audio device if none is explicitly specified.- Changes: fxr/1567739, fxr/1567738
- Unique ID FIDL Definitions Added
unique_id.fidlstructures based on Zircon audio headers and renamed theBUILTIN_SPEAKERSproperty toBUILTIN_SPEAKERfor correctness.- Changes: fxr/1488258, fxr/1500916, fxr/1501944
- FDomain Library Additions Introduced an FDomain version of the Rust
audio library and
ffx_optional_monikerlogic.- Changes: fxr/1535252, fxr/1535253
Bluetooth
The following updates have been made for Bluetooth:
- Automatic HCI Core Dump Collection Monitored HCI traffic now
automatically collects core dumps as PCAP files and submits them to
CrashReporterfor vendor-specific diagnostics.- Changes: fxr/1564266, fxr/1552247, fxr/1550820, fxr/1529980, fxr/1529976, fxr/1529779
- Bugs: b/488367063
- Channel FIDL and Sink/Stream Migration Removed legacy read/write
implementations from
Channel, requiring components to migrate toSink/Streamtraits or modern Channel FIDL APIs.- Changes: fxr/1538280, fxr/1556321, fxr/1520078, fxr/1505256, fxr/1517677, fxr/1510256
- Bugs: b/369151959
- Bluetooth FIDL API Additions Added the
fuchsia.bluetooth.testlibrary for out-of-tree testing, introduced socket offload capabilities, and updatedScanDatawith optional fields.- Changes: fxr/1587850, fxr/1579335, fxr/1574357, fxr/1576893, fxr/1496915, fxr/1494216, fxr/1499936, fxr/1544040
- Bugs: b/482135644
- C FFI Affordances Removal Continued deprecating the legacy C FFI by
removing redundant affordance APIs including
set_discoverability,set_discovery, andconnect_peer.- Changes: fxr/1594188, fxr/1592569, fxr/1587430, fxr/1586097, fxr/1586096
- Bluetooth Core and Hardware Configuration Added product-level
configuration for advertising, scan parameters, and HCI timeouts, and
increased the host-init timeout to prevent spurious failures.
- Changes: fxr/1579193, fxr/1559706, fxr/1470860
- Bugs: b/486414672
- HFP Call Handling and AT Command Parsing Fixes Fixed disconnects when an
HFP connection occurs during an active handset call and improved AT response
parsing for iOS device compatibility.
- Changes: fxr/1470822, fxr/1342886
- Bugs: b/474646528
- Broadcom and UART Driver Power Integration Integrated the Broadcom
controller driver with the Power Framework for hardware system wake
capabilities and adjusted UART read hysteresis to improve serial transport
performance.
- Changes: fxr/1469801, fxr/1469800, fxr/1506238
- Bugs: b/443254797
- Active Host Shutdown Crash Prevention Fixed a critical bug where passing
an invalid host ID to
set-controllerwould shut down the active host and break the system.- Changes: fxr/1568555
- bt-fct-hci Tooling Migration Restored discovery functionality in the
bt-fct-hcitool by migrating its underlying discovery logic from the deprecateddevfstofuchsia.hardware.bluetooth.Service.- Changes: fxr/1533752
- Bluetooth CLI Migration Expanded
ffx bluetoothwith numerous subcommands for peer management, discovery, and controller configuration. This continues the deprecation and transition away from the legacybt-clitool.- Changes: fxr/1518757, fxr/1493156, fxr/1524576, fxr/1495996, fxr/1495177, fxr/1523137, fxr/1523138, fxr/1555860, fxr/1555861, fxr/1538840, fxr/1538841, fxr/1558820, fxr/1577593, fxr/1519096, fxr/1538740
- Bugs: b/479623897, b/481916173, b/480827351, b/481834286, b/488961259, b/488961301, b/496006349, b/496005496, b/492377832, b/492378046, b/496742939, b/503209369
- Broadcom Bluetooth Enhancements Implemented Fast Firmware Download mode
to minimize boot time and added support for retrieving hardware crash
parameters.
- Changes: fxr/1559994, fxr/1469801, fxr/1529976
- Bugs: b/498329706, b/443254797, b/488367063
Build
The following updates have been made for Build:
- Bazel Migration for FIDL and IDK Transitioned numerous FIDL libraries to
Bazel and expanded IDK Bazel rules to support static libraries and
multi-architecture prebuilts. Additionally, host tool target names were
simplified by dropping the
_toolsuffix.- Changes: fxr/1445710, fxr/1595295, fxr/1492470
- Bugs: b/426130024, b/507577175, b/454977301
- Bazel Host Test Rules Introduced new rules (
host_test,host_go_test,host_rust_test,host_py_test) for defining Bazel host tests. These wrappers ensure compatibility with Fuchsia test runners likefx test, simplifying the migration of existing tests to the Bazel graph.- Changes: fxr/1509517, fxr/1518676, fxr/1518800, fxr/1553361
- Bugs: b/349341932, b/489398821
- Compiler and Linker Settings Updates Enabled the call graph section by
default for Clang-built ELF targets and enforced TLSDESC for Rust and shared
libraries under LTO. Drivers now dynamically link to
libc++, significantly reducing binary size.- Changes: fxr/1574166, fxr/1495582, fxr/1559808
- Bugs: b/502647267, b/481320391, b/431283098
- Troubleshooting and Error Reporting Enhancements Streamlined CI failure
messages by parsing Ninja error logs in
fintand bundledfxtdumpby default for trace file inspection. An experimentalbuildminderTUI tool was also added to interactively monitor build events.- Changes: fxr/1539600, fxr/1565975, fxr/1569377
- Bugs: b/487240814
Component Framework
The following updates have been made for Component Framework:
- Realm Builder subpackage shard available in the SDK. The
realm_builder_subpackage.shard.cmlshard is now exported, allowing developers to use the realm builder subpackage in their configurations.- Changes: fxr/1592114
- Bugs: b/42070500
- Boot resolver support for subpackages. The boot resolver now supports
resolving subpackages, allowing components with the
fuchsia-bootscheme to utilize subpackaged children.- Changes: fxr/1517179
- Bugs: b/406846517
- System-wide configuration for Scudo environment variables. Component
manager now supports a
scudo_optionsfield to inject runtime settings, granting developers finer control over per-device memory allocator behaviors.- Changes: fxr/1487617
- Platform and SDK now both use numbered handle to route log sink. The log
sink, in most cases, is now routed via the
PA_LOG_SINKhandle instead of the namespace, which should improve component startup latency.- Changes: fxr/1599364
- Bugs: b/442638676
- Component developer tools and CLI enhancements. The
routecommand was added to the on-devicecomponentbinary,ffx component shownow lists the source files used to build the component, a bug in deleting items in sub-directories was fixed inffx component storage delete,andffx component doctorwas refactored to show the contents of dictionaries.- Changes: fxr/1496516, fxr/1494556, fxr/1536020, fxr/1544700
- Bugs: b/491579388, b/482983196
- Structured config serialization in Rust. The
fuchsia-componentRust crate now supports serializing structured configs to improve driver component testing.- Changes: fxr/1550600
- Session Framework API migrations and debugging updates. Session
components were soft-migrated to
ShutdownWatcherRegister, and a new debugging shortcut was added to trigger a crash report and reboot via 5 sequential side-button presses.- Changes: fxr/1541965, fxr/1525576, fxr/1483697, fxr/1494196
Diagnostics
The following updates have been made for Diagnostics:
- Logging Enhancements & FXT Format Update Switched entirely to the new
FXT format for logs, deprecated the
--dumpflag, and publishedLogStreamto the SDK as the future replacement forArchiveAccessor.- Changes: fxr/1564996, fxr/1585799, fxr/1584454, fxr/1583376, fxr/1533456, fxr/1522856
- Bugs: b/499311720
- Diagnostics Persistence Component Upgrades Escrowed the persistence
component to save memory and CPU when inactive, and improved file corruption
resilience using a write-then-rename JSON strategy.
- Changes: fxr/1319709, fxr/1568993, fxr/1564121, fxr/1543093
- Bugs: b/412347960, b/489455707, b/490466395, b/476485362
- Archivist Performance & Reliability Enhancements Implemented
time-limited chunks to prevent component snapshot timeouts from blocking log
retrieval, and added warnings for duplicate Inspect names.
- Changes: fxr/1574878, fxr/1581660, fxr/1561478, fxr/1581718
- Bugs: b/491570107, b/500054309
- Component URL Configuration for Logs Added an option to use the
component URL instead of the moniker for the component name in logs,
preserving compatibility for out-of-tree builds.
- Changes: fxr/1500102, fxr/1516081
Display
The following updates have been made for Display:
- Framebuffer and Flatland Support Added a new AMD framebuffer display
driver (
framebuffer-amd-display) and updated the framebuffer display to support Flatland using double-buffered sysmem VMOs.- Changes: fxr/1574170, fxr/1574169
- Bugs: b/503046797, b/503064084
- Tiling Mode Simplification Legacy non-linear tiling and hardware
rotation were removed from the Intel display driver to strictly enforce
linear tiling across the Vulkan swapchain and display stack.
- Changes: fxr/1579553, fxr/1577712, fxr/1579135
- Bugs: b/503807786, b/503798027
- Hardware Layer Limit Enforcement Drivers now aggressively reject
configurations exceeding hardware layer limits and expose
max_layer_countto allow clients like Scenic to implement GPU composition fallbacks.- Changes: fxr/1545880, fxr/1539901, fxr/1539000, fxr/1501678, fxr/1501677, fxr/1501676, fxr/1500316
- Bugs: b/427969187, b/412450577
- CreateLayer API Client-Allocated IDs The
CreateLayerFIDL API now requires client-allocatedLayerIdinputs, enabling asynchronous pipelining for clients like Scenic and Vulkan.- Changes: fxr/1517316
- Bugs: b/430976567
- Client Priorities and SetVirtconMode Removal The legacy
SetVirtconModewas replaced by a unifiedClientPriorityenum, allowing diagnostic tools to connect at high priority without disrupting primary clients.- Changes: fxr/1556627, fxr/1548003, fxr/1546840, fxr/1534904, fxr/1541859
- Bugs: b/408475481
- C++20 Requirement for Display SDK The Display SDK now strictly requires
C++20 and has dropped all C++17 support to modernize internal types and API
definitions.
- Changes: fxr/1564260, fxr/1565581, fxr/1565580, fxr/1563831, fxr/1563596
- Bugs: b/378965477, b/498859112
- DFv2 Migration and FIDL Binding All display drivers successfully
replaced legacy devfs dependencies with native FIDL service bindings to the
Coordinator.
- Changes: fxr/1506578, fxr/1506321, fxr/1505923, fxr/1505919
- Telemetry and Inspect Additions Display Vsync inspect capabilities were
upgraded to include boot timestamps and configuration duration metrics for
advanced performance tracking.
- Changes: fxr/1512113, fxr/1512876
- Bug Fixes and Image Reuse Safety Resolved a
virtio-gpu-displayblack screen issue caused by incorrect image strides and fixed erroneous debug assertions during safe image reuse.- Changes: fxr/1538604, fxr/1538603, fxr/1510097
- Bugs: b/483520638
Driver Framework
The following updates have been made for Driver Framework:
Introduction of fdf::DriverBase2: Added
fdf::DriverBase2, a new base class that simplifies driver development by moving optional parameters into a composed object.- Changes: fxr/1448750, fxr/1595757, fxr/1588557, fxr/1585355
- Bugs: b/505119738
Bind rules keyword migration: The bind compiler now strictly requires the
parentkeyword, and compilation will fail if the deprecatednodekeyword is used.- Changes: fxr/1580493, fxr/1544801, fxr/1544306
- Bugs: b/402549684
Expanded Rust driver support: Introduced metadata library Rust bindings, added a
--lang rusttemplate forfx create driver, and enabled support for non-Send futures via runtime scheduler options.- Changes: fxr/1568913, fxr/1569281, fxr/1519883, fxr/1515279
- Bugs: b/500729232, b/42176727, b/487811529
Driver Framework API refactoring: Replaced
ParentSpecwithParentSpec2, deprecatedfdf::MakeProperty(), and addedPDev::Connectto streamline client code.- Changes: fxr/1567575, fxr/1566138, fxr/1574095, fxr/1584393, fxr/1491600
- Bugs: b/361852885
Driver stack trace debugging: Added the
fuchsia.driver.token/Debugprotocol to allow system components to request stack trace dumps from specific driver hosts, improving deadlock diagnosis.- Changes: fxr/1525997, fxr/1525999, fxr/1490417
Power element integrations: Migrated Storage and SDMMC drivers to use framework power elements, mapped all driver elements to the SAG CPU element, and added suspend/resume capabilities.
- Changes: fxr/1422756, fxr/1534316, fxr/1421022, fxr/1562673
Logging and lifecycle optimizations: Transitioned driver logging to C++20
fdf::loggerfeatures and resolved a dispatcher creation race condition by introducing two-phase initialization and raising the thread limit.- Changes: fxr/1570494, fxr/1564014, fxr/1594594, fxr/1552305
- Bugs: b/508319815, b/42085539, b/466455535
Driver Manager Restart API Additions. Expanded the
fuchsia.driver.developmentFIDL protocol with a newRestartWithDictionaryAndPowerDependenciesmethod, allowing power dependency overrides at runtime for advanced hardware testing.- Changes: fxr/1543203, fxr/1538597, fxr/1543088
FIDL
The following updates have been made for FIDL:
C++ Bindings Enhancements. Reduced memory footprint for core C++ binding types to improve allocation efficiency and removed
vector<bool>indexing for C++23 compatibility. Generated newtest_base.htemplates for driver transport bindings.- Changes: fxr/1534641, fxr/1527563, fxr/1520337, fxr/1560804
- Bugs: b/490860972, b/480219133, b/498274093
Rust Bindings Modernization. Modernized Rust wire types by removing the "Wire" prefix to strictly align with FIDL naming and natively generating the unit type as
(). Added support for local executors and arbitrary error types in custom field converters.- Changes: fxr/1505016, fxr/1506436, fxr/1523596, fxr/1529356, fxr/1505925, fxr/1530975
- Bugs: b/490377831
API Tooling and Build Systems Migration. Migrated core FIDL libraries and C++/Rust bindings build rules to Bazel. Improved API tooling by properly including type aliases in API summaries and fixing standard description parsing in
fidldoc.- Changes: fxr/1492470, fxr/1554962, fxr/1539361, fxr/1571518
- Bugs: b/454977301, b/454452299, b/42158155, b/378933698, b/501233108
Feedback
The following updates have been made for Feedback:
- Improved report upload reliability and snapshot management. Upload
timeouts were increased to 3 minutes for slower connections, and Feedback
now optimizes storage by retaining only the oldest and newest hourly
snapshots while automatically cleaning up invalid entries.
- Changes: fxr/1595760, fxr/1561910, fxr/1561297, fxr/1552520, fxr/1518319
- Added new reboot and shutdown reason classifications. Feedback now
tracks
SUSPENSION_FAILUREandBATTERY_DRAINEDevents, and systematically logs shutdown actions to preserve graceful shutdown and Factory Data Reset (FDR) statuses across cold boots.- Changes: fxr/1583275, fxr/1546907, fxr/1543108, fxr/1538100, fxr/1534888, fxr/1502376, fxr/1496903, fxr/1493120
- Enhanced runtime and uptime persistence for reliability. System uptime
is now periodically persisted and saved atomically during shutdown,
providing a reliable fallback if the kernel's reboot log is lost and
preventing data corruption during abrupt power losses.
- Changes: fxr/1560938, fxr/1560014, fxr/1539170, fxr/1531475
- Improved component’s ability to restart. Feedback restarts on a main
process crash and reboot log information is persisted to /tmp for easy
extraction after the first start.
- Changes: fxr/1574167, fxr/1539562
- Expanded configuration coverage and diagnostic annotations. Feedback
introduces a
build.compilation_modeannotation for clearer diagnostics, migratesremote_device_id_providerto structured configuration, channels updates for external checkers, and preserves a minimal boot ID timeline to troubleshoot short boots.- Changes: fxr/1578593, fxr/1518140, fxr/1502054, fxr/1487063
- Bugs: b/329519711
Firmware
The following updates have been made for Firmware:
- System Image Hash Protection The isolated pkg-cache now protects main
product blobs from garbage collection using
system.base_merklefor the system image hash.- Changes: fxr/1583170
- Gigaboot Fastboot TCP6 Improvements The gigaboot fastboot TCP6 server
now dynamically selects the active NIC by MAC address to improve network
reliability.
- Changes: fxr/1556639
- Recovery Arguments Parsing Fix Recovery argument parsing now ignores
empty values and the initial "recovery" string to prevent false unknown
argument errors.
- Changes: fxr/1567747
- GBL Prebuilts and NUC Updates Updated GBL prebuilts and aligned the NUC
target with new APIs to successfully restore fastboot functionality.
- Changes: fxr/1523677, fxr/1322644
- Android Recovery Feature Alignment Added the
--prompt_and_wipe_datarecovery argument to display a boot failure menu with retry and factory reset options.- Changes: fxr/1521145, fxr/1483099
- Bugs: b/479827872
Graphics and GPU
The following updates have been made for Graphics and GPU:
- Magma API and security enhancements: Added the
magma_buffer_constraints_set_formatAPI and removed the unusedmagma_sysmem_connection_importAPI. Starnix Magma security was also improved by replacing object pointers with random IDs and adding strict valid device checks.- Changes: fxr/1384982, fxr/1525902, fxr/1510456, fxr/1509420, fxr/1508454, fxr/1506119
- Bugs: b/332422422
- Vulkan and Display behavior updates: The Vulkan display swapchain now
defaults to linear tiling, and display coordinators (Carnelian, virtio-gpu,
goldfish) safely reject configurations exceeding hardware layer limits.
- Changes: fxr/1579135, fxr/1539960, fxr/1501676, fxr/1500316
- Bugs: b/503807786, b/503798027, b/427969187, b/412450577
- Mali and Vulkan updates: Rolled ARM Mali ICDs to SDK 30 and removed the
unused
vulkan_loader_for_intelpackage.- Changes: fxr/1587789, fxr/1582073, fxr/1488922, fxr/1583123, fxr/1371463
I18n
The following updates have been made for I18n:
- ICU build configuration streamlined. The Bazel ICU repository was
updated to read the generated
icu_build_config.gnifile directly, removing the previous reliance on shell scripts.- Changes: fxr/1570483
- Bugs: b/501088885
IOT, Matter and Thread
The following updates have been made for IOT, Matter and Thread:
- Expanded Thread Telemetry and Diagnostics in Inspect Expanded OpenThread
diagnostic data in Inspect and
telemetry.fidlto include deep network event histories, active routing state, and node observability metrics. This provides developers with extensive visibility into Thread network behavior for easier debugging Thread in-field issues.- Changes: fxr/1577838, fxr/1577837, fxr/1577836, fxr/1577835, fxr/1577834, fxr/1577833, fxr/1578073, fxr/1574355, fxr/1574354, fxr/1573715, fxr/1573714, fxr/1580515, fxr/1573713, fxr/1570856, fxr/1571173, fxr/1573473, fxr/1553316, fxr/1535800, fxr/1533479, fxr/1533478, fxr/1533477, fxr/1533476, fxr/1533475, fxr/1497496, fxr/1496116
- Thread Multicast Forwarding Support Update the implementation to support
multicast forwarding between Wi-Fi and Thread networks. This enables
seamless multicast communication and device discovery across network
boundaries.
- Changes: fxr/1360776
- Thread Prefix Delegation (PD) Stability Fix Fixed a crash in the Thread
Prefix Delegation client caused by Wi-Fi interfaces toggling offline and
online. This ensures stable prefix solicitation and proper session cleanup
during network connectivity changes.
- Changes: fxr/1566993
- DNS Resolution Fix for IPv6 Link-Local RDNSS Resolved DNS query
transmission failures by correctly appending scope IDs to upstream DNS
server addresses when using IPv6 link-local RDNSS. This restores reliable
DNS resolution for IPv6 link-local networks.
- Changes: fxr/1587548
- Thread 1.4 Upgrade with Network Diagnostics TLVs Enabled Upgraded the
OpenThread stack to version 1.4 and enabled dynamic Network Diagnostics
Vendor TLVs. This accurately populates the vendor software version to
improve network diagnostics and telemetry logging.
- Changes: fxr/1527176, fxr/1528498, fxr/1562613, fxr/1533312, fxr/1567093
- mDNS Service Publication Reliability Improvements Eliminated race
conditions in the meshcop mDNS publication system by introducing stateful
republication with retry mechanisms. This guarantees dependable mDNS service
propagation and discovery for Thread devices.
- Changes: fxr/1533738, fxr/1559799, fxr/1537586
- OpenThread update Updated OpenThread to the upstream commit from March
23, 2026.
- Changes: fxr/1558423, fxr/1561515
Kernel
The following updates have been made for Kernel:
- Restartable Sequences (RSEQ) support Added the
zx_thread_set_rseqsystem call across x86, arm64, and riscv64 architectures. Preempted threads in an rseq critical section now correctly restart via the abort handler.- Changes: fxr/1518339, fxr/1488921
- Bugs: b/449980934
- Critical deadline scheduler profiles Added a "critical" flag to deadline
profiles, prioritizing them over normal deadline profiles during CPU
oversubscription.
- Changes: fxr/1554670, fxr/1553181, fxr/1578835
- Bugs: b/496206663, b/502293150
Netstack
The following updates have been made for Netstack:
- Packet Capture support in Netstack3 Added a new
fuchsia.net.debugFIDL protocol and ring buffer for native packet capturing. Developers can now easily capture, parse, and serialize network traffic in the pcapng format directly within Netstack3.- Changes: fxr/1562199, fxr/1556820, fxr/1556213
- Bugs: b/485274945, b/477275859
- Filter API and Reject Action Implemented the
Rejectaction infuchsia.net.filterto support iptablesREJECTtargets. This allows the system to actively respond with ICMP errors instead of silently dropping packets.- Changes: fxr/1492458, fxr/1508916, fxr/1512750, fxr/1523679, fxr/1506756, fxr/1511792
- Bugs: b/466098884
- DHCP Client Robustness Enhanced client interoperability by safely
handling malformed server responses and matching legacy configuration
orderings. This ensures reliable IP acquisition across varied and
non-standard network environments.
- Changes: fxr/1547740, fxr/1517977, fxr/1505896, fxr/1521097
- Bugs: b/480946805
- Netlink Compatibility Enhancements Expanded Netlink protocol support by
aligning error codes with Linux standards and supporting comprehensive
neighbor operations. This significantly reduces friction for developers
porting Linux networking tools to Fuchsia.
- Changes: fxr/1526222, fxr/1534001, fxr/1497939, fxr/1503290, fxr/1516423, fxr/1505879, fxr/1537481
- TCP Early Demux Added TCP early demuxing to natively pass essential
socket metadata down to local ingress filter hooks. This greatly improves
overall packet routing efficiency and performance.
- Changes: fxr/1483568, fxr/1475524
- Bugs: b/473819144
- Device, Route, and Protocol Configurations Added RFC 4191 route
preference handling for router discovery and strengthened ARP against
immediate IP spoofing. These changes improve network routing flexibility and
security robustness.
- Changes: fxr/1532785, fxr/1488280, fxr/1530196, fxr/1517046
- Bugs: b/491547665, b/493991529, b/42077316, b/322907588, b/487016637
- Network Device API Simplifications Simplified driver architectures by
removing legacy multi-session multiplexing and enabling multi-VMO backed
sessions. This reduces overhead and simplifies implementation for network
driver developers.
- Changes: fxr/1594354, fxr/1588426, fxr/1566547
- Bugs: b/438527741, b/371574128
- Reliability and Crash Fixes Resolved critical crashes and
vulnerabilities, including DAD timer race conditions, TCP arithmetic
underflows, and UDP socket panics. This ensures higher uptime and better
resilience against malformed packets.
- Changes: fxr/1503557, fxr/1492757, fxr/1488656, fxr/1498860, fxr/1546360, fxr/1491896
- Bugs: b/478844205
- Observability and Telemetry Upgraded observability by exporting
reachability tracking, DNS diagnostics, and deep network details into
time-series Inspect nodes. Operators and developers now have higher fidelity
data for troubleshooting system networking.
- Changes: fxr/1590873, fxr/1563602, fxr/1535340, fxr/1547700, fxr/1564695, fxr/1556320, fxr/1579054
- Bugs: b/492137263, b/449990769
Platform Drivers
The following updates have been made for Platform Drivers:
- Input Device Telemetry Enhancement. Added device telemetry strings
(manufacturer, product, serial) to
fuchsia.input.report.DeviceDescriptorto improve input device identification capabilities.- Changes: fxr/1594747, fxr/1595270, fxr/1594745
- Bugs: b/501530383
- USB Stack FIDL Migration and DFv2 Updates. Migrated the USB stack to
DFv2 and replaced Banjo protocols with the new
UsbFunctionFIDL interface. This includes asynchronous teardowns for USB functions to eliminate reconfiguration race conditions.- Changes: fxr/1593748, fxr/1555100, fxr/1534881, fxr/1566418
- Bugs: b/497394507
- USB Policy and Starnix Integration. Added a USB Policy component and
Starnix module to track USB device states. This properly exposes USB status
changes to Android applications via sysfs nodes.
- Changes: fxr/1521527, fxr/1591051, fxr/1581555, fxr/1509898
- Peripheral Driver Enhancements. Introduced a
dw-spidriver with active power domain support and released avreg-ctlCLI tool for advanced voltage regulator interactions. Additionally, enabled encrypted IO requests in SDHCI and optimized I2C core requests to run asynchronously.- Changes: fxr/1576875, fxr/1583113, fxr/1437938, fxr/1563493, fxr/1590877
- Bugs: b/436272738, b/445451055
Power Management
The following updates have been made for Power Management:
- Introduced direct Lease API and ElementControl features: Added a direct
LeaseTokenAPI to open leases without an associated element, and aninitial_lease_tokenfor instant lease acquisition upon creation. Additionally,ElementControl.AddDependencynow allows safely adding dependencies to existing elements without disrupting ongoing leases.- Changes: fxr/1500876, fxr/1569533, fxr/1527856
- Streamlined power framework APIs and removed opportunistic dependencies:
Removed opportunistic dependency mechanisms by standardizing all
dependencies and eliminating the
DependencyTypeenum. Migrated leasing APIs toTopology.Lease(retiringLeaseHelperandLessor.Lease), replacedGetApplicationActivityLeasewithGetWakeLease, and introducedAcquireLongWakeLease.- Changes: fxr/1476456, fxr/1511416, fxr/1558720, fxr/1583163, fxr/1556214
- Improved System Activity Governor (SAG) suspend transitions: SAG now
uses the
TerminalStateWatcherAPI to explicitly block suspensions during shutdown, mexec, or reboot processes. Suspend logic was also improved to drop pending blockers on channel close and request a CPU boost when suspending to improve resume performance.- Changes: fxr/1505096, fxr/1505136, fxr/1567853, fxr/1521059
- Redesigned battery calculations and introduced CPU energy tracking:
Overhauled battery calculations (spoofing, splicing, and Time-to-Full) for
more accurate charging estimates, and renamed
remaining_capacity_uahtoremaining_charge_uahin FIDL. Added aCpuStatsRecorderinCpuManagerto expose CPU load and energy usage metrics via Inspect.- Changes: fxr/1547153, fxr/1498346, fxr/1521203, fxr/1495857, fxr/1513924
- Added Wake Lock monitoring and enhanced suspend driver APIs: Starnix now
tracks active time for wake sources to provide observability into
long-running wake locks. Additionally, introduced
DeviceDidNotSuspendErrorto easily detect suspension failures, and required drivers to explicitly initialize their suspend behaviors instead of using defaults.- Changes: fxr/1553306, fxr/1586188, fxr/1585355
- Bugs: b/505119738
- Improved battery UX and Diagnostics: Fixed abrupt UI battery level jumps
when depleted devices begin charging, and added a
CrashReporterfeature for critically low battery events. Inspect now records both raw and processed battery levels to improve diagnostic capabilities.- Changes: fxr/1483047, fxr/1539165, fxr/1462509
- System Activity Governor (SAG) Stability Improvements. Improved power
management robustness by preventing suspension during shutdown and reboot
transitions. SAG now automatically files crash reports for stuck suspend
blockers or repeated suspend failures.
- Changes: fxr/1505136, fxr/1553545, fxr/1562575, fxr/1591059
Rust
The following updates have been made for Rust:
- Migrated third-party crates. Reduced dependency footprints by migrating
components to lightweight alternatives like
rkyv,vt100, andregex-lite.- Changes: fxr/1583913, fxr/1538945, fxr/1554222, fxr/1538900
- Bugs: b/500402903, b/489492670
Software Delivery
The following updates have been made for Software Delivery:
- Storage-host migration completed: The Paver and storage dependencies
have fully migrated to the modern
storage-hostarchitecture, enabling the complete removal of all legacy non-storage-host codepaths and tests.- Changes: fxr/1588270, fxr/1584456, fxr/1580354, fxr/1578686, fxr/1578518, fxr/1577501, fxr/1575179, fxr/1573133, fxr/1570981
- Bugs: b/394967256, b/339491886, b/394970436, b/42176727
- Removed obsolete WriteVolumes interface: The
WriteVolumesinterface and associatedPayloadStreamprotocol have been removed from the Paver API as they are no longer used on current devices.- Changes: fxr/1572994
- Fuchsia URL types refactored for subpackages: Introduced specific boot
URL types and separated package and component URLs to enable subpackage
resolution support in the boot resolver.
- Changes: fxr/1517178, fxr/1517177, fxr/1532555, fxr/1518836, fxr/1517176
- Bugs: b/406846517
- Packageless updates use signed manifests: Packageless updates have
migrated to use a signed protobuf manifest format instead of the previous
legacy OTA manifest format.
- Changes: fxr/1523918, fxr/1455221, fxr/1518416
- Bugs: b/479282494
- Config capabilities migration for system updater: Migrated
concurrent_package_resolvesandconcurrent_blob_fetchessettings to config capabilities to simplify update configuration management.- Changes: fxr/1567633
- Bugs: b/329519711
- Support for scoped IPv6 addresses in updater: The system updater was
migrated from
url::Urltohttp::Urito properly parse and handle scoped IPv6 addresses.- Changes: fxr/1546608
- Bugs: b/479282471
- System Image OTA Recovery fallback: The package cache now ensures OTAs
can still proceed in recovery mode even if the system image is broken by
only failing if it is explicitly required.
- Changes: fxr/1585179
- Sandboxed HTTP connections for Package Resolver: The package resolver
TUF client and auto client now use
fuchsia.net.http/Loader.Fetchfor HTTP connections, providing better network isolation and sandboxing.- Changes: fxr/1455468, fxr/1453908
- FDomain support added to update extensions: Introduced FDomain support
across the package update FIDL extensions, mock installers, and server
sockets.
- Changes: fxr/1535296, fxr/1535295, fxr/1535294, fxr/1535293
- Marked serve-archive as experimental: The
ffx repository serve-archivecommand has been renamed to kebab-case and marked as experimental.- Changes: fxr/1574315
- System Image Hash Protection The isolated pkg-cache now protects main
product blobs from garbage collection using
system.base_merklefor the system image hash.- Changes: fxr/1583170
Starnix
The following updates have been made for Starnix:
- eBPF Enhancements and Security Fixes Added new eBPF networking helpers
and
sk_storagemap support to expand socket-level observability. Hardened the eBPF verifier with strict bounds checking, capability enforcement, and division-by-zero prevention to mitigate local privilege escalation.- Changes: fxr/1595234, fxr/1591628, fxr/1588131, fxr/1586729, fxr/1585097, fxr/1583375, fxr/1577870, fxr/1576256, fxr/1574700, fxr/1574702, fxr/1550171, fxr/1575913, fxr/1558421, fxr/1545120, fxr/1560093, fxr/1519337, fxr/1519336, fxr/1517736, fxr/1517616
- Bugs: b/496701234, b/494018486, b/503810313, b/496639039, b/496316619, b/485685969, b/485971506
- VFS and Filesystem Improvements Improved file system performance using
pipelined path lookups and implemented synchronization syscalls (
sys_sync,sys_syncfs,sys_msync) for robust data persistence. Secured remote file connections and implemented atomic write-locks for truncation and allocation.- Changes: fxr/1547382, fxr/1501890, fxr/1502052, fxr/1575534, fxr/1575113, fxr/1564583, fxr/1518916, fxr/1505376
- Bugs: b/485962875, b/322874588, b/322874143, b/322875826, b/436921256, b/502513010, b/399386298, b/484133705
- Core System and Security Capabilities Fixed local privilege escalation
vulnerabilities in UID/GID management and validated credentials over Unix
sockets. Enhanced SELinux/SEStarnix performance with concurrent caching and
correctly bound execution capabilities to
no-new-privs.- Changes: fxr/1575713, fxr/1572393, fxr/1584235, fxr/1576033, fxr/1578533, fxr/1556160, fxr/1570033
- Bugs: b/503338788
- WaitQueue, Futex, and Binder Performance Optimized Binder performance by
eliminating thread wakeup contention, fixing lock inversions, and adding
priority inheritance for Futex waits across transactions. Improved
FUTEX_REQUEUEfairness to enforce strict FIFO ordering and resolved related memory leaks.- Changes: fxr/1430817, fxr/1561300, fxr/1517079, fxr/1515216, fxr/1556341, fxr/1592228, fxr/1571521
- Bugs: b/401258133, b/501153540
- KGSL, Magma, and GPU Subsystem Expanded KGSL device support to include
contexts, buffers, semaphores, and command execution for improved graphics
rendering. Secured the GPU subsystem by replacing direct Magma buffer object
exposure with randomized connection and buffer IDs.
- Changes: fxr/1518491, fxr/1512880, fxr/1497206, fxr/1498259, fxr/1508446, fxr/1510456, fxr/1508454
- WLAN and Networking Enhancements Expanded networking capabilities with
Qualcomm IPC router sockets (
AF_QIPCRTR) and essential network sysctls for TCP/IP tuning. Improved Wi-Fi reliability by implementing power-aware scheduled scans (PNO) and enhanced telemetry for interface statistics. - USB Subsystem Introduced the initial Starnix USB module to translate
Android-to-Fuchsia USB device states. Applications can now read
configurations via a new sysfs node and receive
ueventnotifications on USB state changes.- Changes: fxr/1521527
- Metrics Reboot Reason Updates Starnix crashes that cause session
restarts are now correctly reported as 'Starnix Crash' rather than a generic
'kernel_panic' in the Fuchsia reboot reason.
- Changes: fxr/1551540
Storage
The following updates have been made for Storage:
- Storage-host enabled by default: The new
storage-hostarchitecture is now globally enforced, replacing legacy DFv1 block drivers (including C++fvm,gpt, andramdisk) with unified Rust implementations.- Changes: fxr/1591055, fxr/1588270, fxr/1588269, fxr/1586131, fxr/1586130, fxr/1582120, fxr/1581761, fxr/1553232, fxr/1570151
- Bugs: b/394967256, b/339491886, b/394970436, b/398039542, b/394968352
- Fxfs performance and compression upgrades: Fxfs now supports LZ4 blob
compression and introduces background flushing to significantly improve
performance during heavy write operations. Dynamic readahead was also
updated to a constant 128KiB target.
- Changes: fxr/1574595, fxr/1591008, fxr/1518356, fxr/1489316, fxr/1497677, fxr/1497680, fxr/1554300, fxr/1520718
- Bugs: b/491866955, b/455859812, b/450626615, b/490442004
- Storage driver modernization: Storage drivers have migrated to the
fdf::loggerframework, and the block server introduces a new thread-hop-free Rust callback interface for higher-performance integration.- Changes: fxr/1564075, fxr/1564016, fxr/1561906, fxr/1556683, fxr/1556684, fxr/1556685, fxr/1509457
- Bugs: b/42176727
- Critical storage bug fixes: Resolved major stability issues across
storage layers, including an asynchronous block server use-after-free, F2FS
parsing crashes, and a GPT VMO leak.
- Changes: fxr/1590072, fxr/1550678, fxr/1510116, fxr/1503699, fxr/1592172, fxr/1539440
- Bugs: b/486626504, b/404675019, b/491011001
- IO and Storage FIDL API Changes Removed
DeprecatedOpenandOnOpeninfuchsia.ioand deleted the deprecatedfuchsia.hardware.blocklibrary. Enabled pipelinedOpenrequests on symlinks to safely close the object argument while maintaining the connection.- Changes: fxr/1584813, fxr/1549741, fxr/1588508
- Bugs: b/324080864, b/470449582
Testing
The following updates have been made for Testing:
- fx test Developer Experience Enhancements
fxtestnow automatically starts headless emulators for device tests if no device is connected, and adds--show-affected-testsand--run-affected-testsflags to easily test local changes. System logs are now included in test output. It also improves execution safety by failing early if--e2eis omitted for end-to-end tests, while expanding test enumeration support for Python, Mobly, and Bazel host tests. - Honeydew and Lacewing Architecture Changes The Mobly-based testing
framework migrated to an asynchronous architecture, introducing
AsyncFuchsiaBaseTestand requiring async functions for control flows. To prevent API misuse in end-to-end tests, theFuchsiaDeviceabstract base class was renamed toDeviceKnobs, and test skips are now accurately reported as test failures.- Changes: fxr/1568773, fxr/1542440, fxr/1519890, fxr/1556925, fxr/1524936, fxr/1554500
- Coverage & ResultDB Insight Updates Developers can now export raw JSON
coverage data using
--export-jsoninffx coverageand--json-output-pathinfx coverage. ResultDB visibility is also improved by elevating embedded failure reasons to the top-level test and populatingDisplayNamemetadata, reducing the need for deep log analysis.- Changes: fxr/1570853, fxr/1594931, fxr/1590116, fxr/1517956
- Bugs: b/496431586
- Performance & Test CLI Tooling New CLI tools streamline local workflows,
introducing
fx test-categoryto query directory metadata andtest_filtererto dynamically build filtered task requests for presubmit retries. Additionally, theperfcomparescript open-sourced its workflow helpers for downloading and extracting performance metrics.- Changes: fxr/1569116, fxr/1574160, fxr/1562893, fxr/1551962
Timekeeping
The following updates have been made for Timekeeping:
- Added a
Shutdownmethod to thePullSourceFIDL protocol. This allows Timekeeper to request that a time source escrows its Inspect data before stopping.- Changes: fxr/1418655
- Fixed a system-wide hang during Starnix
HrTimerManagerstartup. Initialization failures are now logged and cleanly signaled, preventing the timer subsystem from indefinitely blocking commands.- Changes: fxr/1576303, fxr/1576301
- Improved Starnix clock operation performance by approximately 3x.
Starnix now uses memory-mapped clocks for standard UTC lookups to
significantly reduce CPU usage.
- Changes: fxr/1510017
- Added support for periodic Real-Time Clock (RTC) updates and experimental
initialization strategies. Timekeeper now maintains up-to-date RTC
readings and can optionally accept suboptimal UTC values.
- Changes: fxr/1546621, fxr/1546750, fxr/1531544, fxr/1529991
- Fixed an issue with incorrect timeline initialization references. The
RTC reading is now unconditionally refreshed to prevent using an outdated
uptime reference during system startup.
- Changes: fxr/1488041
- Enabled Rust Next bindings for the clock implementation. This modernizes
clock components and allows
clockimplto be used with the newest Rust bindings in vendor trees, alongside a migration of the Amlogic RTC driver to Rust.- Changes: fxr/1574673, fxr/1566423
- Bugs: b/500729232
Toolchain
The following updates have been made for Toolchain:
- Fixed
fx roll-compilerbehavior: Updated the script to correctly include thelinux-arm64Clang toolchain, which was previously omitted.- Changes: fxr/1553182
- Improved Bazel and Clang toolchain integration: Enhanced the Bazel
fuchsia_clang_extmodule to support CIPD ensure files and aligned Bazel Clang warnings with GN for consistency.- Changes: fxr/1520036, fxr/1482377, fxr/1577535
- Switched to prebuilt Go toolchain for NS2: Updated the build process to
strictly use the Fuchsia-enabled prebuilt Go toolchain provided by the
roller.
- Changes: fxr/1561259, fxr/1563613
Tools
The following updates have been made for Tools:
- V2 Bisection Engine and Automation Promoted the experimental v2
bisection engine to default, introducing a
--scriptflag for automated validation testing at each step. Also added support for passing PIBs and BIB sets directly intoffx product-bundle create.- Changes: fxr/1555880, fxr/1528839, fxr/1538593, fxr/1538591
- Bugs: b/487354432, b/468339366, b/488436650
- Check-Licenses Tool V2 Overhaul Refactored the
check-licensesCLI into a modular streaming pipeline with isolated subcommands. This overhaul significantly improves memory usage, concurrency safety, and maintainability while adding a new metrics framework.- Changes: fxr/1574213, fxr/1571653, fxr/1578437, fxr/1581762, fxr/1581800
fx
- FX Build and Workflow Improvements Improved
fxcheckout handling and troubleshooting, and added Bazel artifact support viafx build --fuchsia_platform. Additionally,fx disnow supports multiple matches and Unix filename patterns.- Changes: fxr/1577973, fxr/1594368, fxr/1582793, fxr/1503637, fxr/1570094, fxr/1570673, fxr/1528856
- Bugs: b/487976713, b/501207429, b/489564324
- Introduced
fx repro --minimalcommand. This reproduces an infra build restricted to only failing test targets to significantly accelerate debugging workflows.- Changes: fxr/1586099
- Bugs: b/484005938
ffx
- FFX and Fuchsia Controller FDomain Migration Ported numerous
ffxplugins andfuchsia-controllerto use FDomain as the underlying transport. This migration improves internal architecture and stability across core tools.- Changes: fxr/1348725, fxr/1548223, fxr/1535246
- Emulator (ffx emu) Improvements Emulator processes now run as daemonized
sessions to survive terminal closures. Additionally, x64 inputs enforce
VirtIO, arm64 QEMU boots securely, and
ffx emu showsupports a new--instanceflag.- Changes: fxr/1588271, fxr/1596069, fxr/1518316, fxr/1584944
- Bugs: b/505832192, b/505275425, b/475305756
- FFX Driver Diagnostics and Topology Added
ffx driver doctorto diagnose binding issues and split verbose driver lists into dedicatedshowcommands. Driver tools now expose the full topological path and include commands for managing composite devices.- Changes: fxr/1528109, fxr/1528837, fxr/1528838, fxr/1565674, fxr/1489104, fxr/1489101
- Bugs: b/42172220, b/503752379
- FFX Component and Repository Improvements Running
ffx component runnow automatically starts an ephemeral package server if needed. Addedffx repository serve-archiveto easily serve package archives (.far) via a foreground server.- Changes: fxr/1571520, fxr/1547147
- Bugs: b/498747360
- Enhanced
ffx logoutput formatting and stability. The command now honors thelog_cmd.colorconfiguration, disables colors in strict mode, and cleanly terminates on closed output streams.- Changes: fxr/1566493, fxr/1562373
- FFX Plugin Short Names FFX now supports abbreviated subcommand names
(e.g.,
ffx t lforffx target list,ffx c sforffx component show). This drastically improves CLI ergonomics and overall developer speed.- Changes: fxr/1496904, fxr/1509324
- Bugs: b/481711081
- Added syslog capture support for
fx testandffx test. A new--capture-syslogflag captures system logs during test execution (enabled by default forfx test).- Changes: fxr/1583261
- Bugs: b/493306982
zxdb
- Debugger (zxdb) Enhancements Added a process-wide
untilcommand, automatic source context printing when switching frames, and home directory path expansion in settings. Also improved async-backtrace rendering and resolved namespace conflicts for struct fields.- Changes: fxr/1544120, fxr/1488697, fxr/1527096, fxr/1526156, fxr/1536000, fxr/1542200
- Bugs: b/491393781, b/417548445, b/292108665, b/292142334, b/491392207, b/448892843
Tracing
The following updates have been made for Tracing:
- Trace data transfer compression Added zstd compression support during
trace data transfers, improving average download speeds by 2.6x and reducing
transferred data size by 5.3x.
- Changes: fxr/1488043
- Manual buffer flush API Added the
RequestBufferFlushmethod to theTraceControllerFIDL and new flushing APIs toNEXTto allow clients to stream smaller chunks of data more consistently.- Changes: fxr/1529791, fxr/1529320, fxr/1529496, fxr/1452731, fxr/1452730, fxr/1452729
- Trace Provider V2 Protocol Introduced the Provider V2 protocol and a
registration API for negotiating shared memory versions, allowing trace
sessions to support V1 and V2 providers simultaneously.
- Changes: fxr/1531075, fxr/1504760, fxr/1504758, fxr/1477450
- Abort running trace sessions Added an
--abortoption toffx trace stopto forcefully terminate a running session without saving results, ensuring clean internal teardown.- Changes: fxr/1549661, fxr/1523680, fxr/1509321
- Tracefs performance improvements Improved tracefs performance by
striping events across all CPUs, significantly improving average read and
write times.
- Changes: fxr/1567894
- Normalized CPU usage metrics Added parsing and structures to calculate
normalized CPU utilization by tracking Dynamic Voltage and Frequency Scaling
(DVFS) processing rates in trace performance metrics.
- Changes: fxr/1542640, fxr/1541161, fxr/1528476
- LargeBlob parsing fix Fixed an issue in the FXT parser where
LargeBlob32-bit size fields were erroneously truncated, which previously caused large profiler stack dumps to fail.- Changes: fxr/1529698
- Trace session lifecycle and termination reliability Improved trace
session termination reliability by preventing async loop shutdown races and
dropping state consistently on disconnections to avoid hanging sessions.
- Changes: fxr/1571027, fxr/1556472, fxr/1529792
- Bugs: b/501462987
- Category tracking enhancements Enabled the
kernel:powercategory by default to track variable CPU speeds, and fixed event counting and false positive warnings forstarnixcategories.- Changes: fxr/1537864, fxr/1502236, fxr/1492970
- Memory pressure tracing Enabled tracing for the
pressure_signalercomponent to correctly emit thememory_pressurecounter.- Changes: fxr/1529188
- On-boot Starnix trace connections Implemented retry logic for the
Perfetto consumer thread to handle cases where a trace session is started
before Starnix has fully booted.
- Changes: fxr/1486558
UI
The following updates have been made for UI:
- Input Pipeline Performance Optimizations Optimized input pipeline
processing by batching events, filtering early, and removing unnecessary
memory allocations. This significantly reduces processing durations and
improves overall input responsiveness.
- Changes: fxr/1593148, fxr/1592929, fxr/1489286, fxr/1487138, fxr/1486902, fxr/1455108
- Asynchronous Sysmem Interactions in Scenic Refactored Sysmem
interactions, such as token validation and image imports, to run
asynchronously. This prevents blocking the main thread, mitigating vsync
stalls and improving system responsiveness.
- Changes: fxr/1538520, fxr/1539900, fxr/1561233, fxr/1560054, fxr/1574853
- Escher Legacy 3D Pipeline Removed Removed the legacy
PaperRendererand associated 3D components. This streamlines the codebase and significantly improves compilation times.- Changes: fxr/1547405, fxr/1550981, fxr/1551088
- Bugs: b/494718197
- Flatland Release Fence and Scheduling Enhancements Added support for
zx::counterrelease fences and allowedTrustedFlatlandClientsto opt-out ofOnFramePresentedevents. These API changes reduce redundant computations and simplify frame scheduling.- Changes: fxr/1564775, fxr/1564774, fxr/1535129, fxr/1535121, fxr/1595868, fxr/1536600
- Bugs: b/496689808, b/490189784
Video
The following updates have been made for Video:
- Opened CodecFactory and StreamProcessor protocols. Marked protocols as
open and added
handle_unknown_methodsupport to ensure backward compatibility.- Changes: fxr/1497179, fxr/1488642
- Bugs: b/478359574
- Removed default values from TimelineFunction FIDL. Removed
@allow_deprecated_struct_defaultsfromfuchsia.media.TimelineFunctionto support Python FIDL bindings and media end-to-end tests.- Changes: fxr/1551463
- Bugs: b/495658021
- Media session support for minimal configurations. Made
fuchsia.media.UsageReporteroptional somedia_sessioncan function in minimal configurations without requiring fullstack audio.- Changes: fxr/1487076, fxr/1487896
WLAN and Connectivity
The following updates have been made for WLAN and Connectivity:
- Scheduled Scanning API Added
StartScheduledScanandStopScheduledScantowlan_mlme.fidlandfullmac.fidlto enable scheduled scanning capabilities.- Changes: fxr/1569286, fxr/1567793, fxr/1569285
- Opportunistic Wireless Encryption (OWE) Added support for OWE
connections, including handshake implementation and transition element
parsing, to improve wireless security.
- Changes: fxr/1592129, fxr/1492659, fxr/1487961, fxr/1488036, fxr/1483563, fxr/1488748, fxr/1422864, fxr/1490419, fxr/1495580
- Bugs: b/462512152, b/42150940
- Wake Leases & Power Management Integrated wake leases to prevent system
sleep during critical WLAN operations and enabled APF execution during
SuspendMode.
- Changes: fxr/1525316, fxr/1524196, fxr/1489797, fxr/1488196
- WLAN Driver Rewrite and Logging Migrations Rewrote the
wlanifdriver in Rust to eliminate C-FFI overhead, migrated connectivity drivers tofdf::DriverBase2, and adopted the modernfdf::loggerframework.- Changes: fxr/1578215, fxr/1583821, fxr/1563606, fxr/1563604, fxr/1563607, fxr/1563605, fxr/1561578, fxr/1561579
- Bugs: b/505119738
- WLAN FIDL API Restructuring Relocated types from
fuchsia.wlan.commoninto dedicated libraries to establish cleaner API boundaries between Policy and Core layers.- Changes: fxr/1577035, fxr/1577034
- Driver Stability & Crash Mitigations (brcmfmac) Resolved multiple crash
hazards in
brcmfmacinvolving device shutdowns, firmware recoveries, and concurrent PHY resets to improve driver stability. - Telemetry and Metrics Enhancements Expanded telemetry to log Preferred
Network Offload (PNO) scan metrics, Wi-Fi stop errors, and connection
attempts to the Inspect tool.
- Changes: fxr/1571565, fxr/1571564, fxr/1570293, fxr/1569119, fxr/1559637, fxr/1559636, fxr/1559635, fxr/1570473
- WLAN Connectivity Fixes Improved connection reliability by caching
out-of-order EAPOL indications and accurately forwarding hardware country
code changes.
- Changes: fxr/1510096, fxr/1482944, fxr/1578896, fxr/1322614
- Bugs: b/485660049
UWB Vendor API Refactored Refactored the
fuchsia.hardware.uwb.VendorAPI to use a newDeviceprotocol for explicit lifecycle management via channel state.- Changes: fxr/1481924
Corrected wlanix metrics summary statistics. Disabled summarization for wlanix metrics to ensure accurate calculations for metrics with multiple samples.
- Changes: fxr/1567436