Date: November 14, 2024
Version: F22
The following changes have been implemented:
Audio
The following updates have been made for Audio.
- Audio drivers and driver API: - Updated audio driver VMO handle rights to be validated. The
audio_driver_testssuite now validates that the VMO handles returned from an audio driver has the required rights.- Changes: fxr/1093754
 
- Updated aml-g12-composite driverto useSetActiveChannelsdomain specific API to turn on or off the SoC power throughStartSocPower/StopSocPower.- Changes: fxr/1073617
 
- Disabled the default dispatcher in the SimpleAudioStreamhelper library.- Changes: fxr/1074513
 
- Deleted aml-g12-[pdm|tdm]-dspdrivers.- Changes: fxr/1091535
 
- Updated VirtualAudiodriver to apply correct VMO handle rights and fixWatchTopologybehavior.- Changes: fxr/1093753, fxr/994091
 
 
- Updated audio driver VMO handle rights to be validated. The
- AudioCore service and smart display support: - Updated the CapturerShimImpldtor to be virtual, which fixes a new-delete-type-mismatch.- Changes: fxr/1088534
 
 
- Updated the 
- AudioDeviceRegistryservice:- Implemented Control::Resetas an asynchronous method.- Changes: fxr/1082634
 
- Clarified the circumstances in which the client-provided callback or the
ControlNotifynotifications will be invoked or not invoked.- Changes: fxr/1087881
 
 
- Implemented 
- Audio developer tools: - Added additional ADR support to ffx audioin theffx audio devicefacet.
- Updated ffx audio device infoto show signal processing elements, topologies, and state.- Changes: fxr/1042483
 
- Updated the RegistryDevicetype inffx audioto expose signal processing elements, element states, and topologies.- Changes: fxr/1085604
 
- Moved the VmoBufferto the common Rust audio library.- Changes: fxr/1094900
 
 
- Added additional ADR support to 
Bluetooth
The following updates have been made for Bluetooth:
- Completed support for BR/EDR legacy pairing: This includes handling of
pairing prior to ACL connection completion, and support for Variable PIN Type.
- Changes: fxr/1057567, fxr/1069532, fxr/1086961
- Bugs: b/342150626, b/342151162
 
- Building support for Isochronous streams: This includes the
IsoDataChannelfor data flow and a new API, along with support for setting up incoming streams.- Changes: fxr/1002255, fxr/1004454, fxr/1003912, fxr/1088832, fxr/1066753, fxr/988993
 
- Replaced Hciprotocol with theHciTransportprotocol which connects the stack to controllers: This includes all current drivers, improving compatibility and maintainability, as well as linearizing events across ACL and Command channels.- Changes: fxr/1066246, fxr/1056084, fxr/1080431, fxr/1056895, fxr/1053529
 
- Added support for dynamic L2CAP connections in RFCOMM: L2CAP is preferred
by new peers, with L2CAP PSMs automatically assigned and communicated to the
profile.
- Changes: fxr/1077949, fxr/1087696, fxr/1024124
- Bugs: fxb/327758656
 
- The Snoopprotocol for capturing Bluetooth data has been updated with a revised API preventing errors: This introduces theVendor.OpenSnoopmethod for better access to snoop functionality.- Changes: fxr/1089318, fxr/1089306, fxr/1089746, fxr/1090799
 
- A2DP offloading now stops correctly when the client unbinds.
- Changes: fxr/1082932
 
- Message Access Profile (MAP) in development now supports notification
registration.
- Changes: fxr/1065114, fxr/995438
 
- Sapphire no longer depends on the ICU library, removing a large dependency.
Build
The following updates have been made for Build:
- Updated the partner unstable SDK: The spiimpllibrary has been added for extended SPI functionality.- Changes: fxr/1094833
 
- Improved the GN build system: A new template, generated_ifs_file, enables dynamic.ifsfile creation. Thenetsvccomponent inclusion has been reverted due to OTA test issues.- Changes: fxr/1094016, fxr/1095673
 
- Enhanced the fxcommand: Analytics now use$EPOCHREALTIMEfor more precise timing. The--rbeflag has been removed.- Changes: fxr/1093093, fxr/1093294
 
- Improved build system cleanup: An obsolete import in sdk_host_tool()has been removed. Clippy lints were fixed. Buffered readers improveserde_jsonperformance. A new DFv2 driver library,pdev, reduces dependencies.- Changes: fxr/1065954, fxr/1066844, fxr/1093342, fxr/1093350
- Bugs: fxb/348416191, fxb/355638761, fxb/357116047
 
Cobalt
The following updates have been made for Cobalt:
- Fixed clang-tidy warnings and removed fuchsia.cobalt/SystemDataUpdaterprotocol removed: This update fixes clang-tidy warnings and updates the#includestyle to match the Fuchsia style guide. Some files had to be mostly ignored because Clang struggles to find some of Cobalt's third party dependencies. Thefuchsia.cobalt/SystemDataUpdaterprotocol, which was deprecated in F18, has also been removed.- Changes: fxr/1092961, fxr/1082641
 
- Removed the fuchsia.cobalt/SystemDataUpdater protocol: This protocol was deprecated and unused.- Changes: fxr/1082641
 
Component Framework
The following updates have been made for Component Framework:
- Improved the clarity of process launcher server-side error logging. This
change refactors the error logging code to be testable and improves the job
exit code description.
- Changes: fxr/1090961
 
- Improved the management of the power listener by prioritizing the session
power listener: When initializing the power listener, the session power
listener is now tried first, and if unavailable, the system power listener is
used.
- Changes: fxr/1078679
 
- Implemented the Component Manager changes for true-copy VMOs: This change
uses zx_vmo_transfer_datato perform the VMO copy and decommit operation from Bootfs to an entry's true-copy VMO.- Changes: fxr/818810
 
Connectivity Drivers
The following updates have been made for Connectivity Drivers:
- Improved dwc3 driver with devicetree binding and other fixes:
- Made dwc3 a composite device, allowing another HW version, starting
peripheral mode only after DCI interface is set, and enabling endpoints on
ConfigEp.
- Changes: fxr/1073819
 
 
- Made dwc3 a composite device, allowing another HW version, starting
peripheral mode only after DCI interface is set, and enabling endpoints on
ConfigEp.
- Improved dwmac driver performance and stability:
- Added a memory barrier between configuring the rx descriptor and notifying the device to address a potential race condition.
- Fixed a race condition that caused failures on vim3 where the driver
wouldn't propagate the online status up to the legacy Ethernet driver.
The fix involves notifying the child driver as soon as it binds.
- Changes: fxr/1087292, fxr/1091712
 
 
- Improved brcmfmac driver by logging all firmware recovery attempts to
calculate the success rate of firmware recovery.
- Changes: fxr/1048029
 
Diagnostics
The following updates have been made for Diagnostics:
- Improved Archivist:
- Implemented InspectSink/FetchEscrow: This makes it easier to retrieve escrowed Inspect data.- Changes: fxr/1075873, fxr/1076334, fxr/1075872, fxr/1076867, fxr/1075172
 
- Added support for tree name filters in selectors and ArchiveAccessor.- Changes: fxr/1092446, fxr/1083953, fxr/1083052
- Bugs: b/349471790
 
- Named incoming escrowed VMOs: This improves the usability of escrowed VMOs by making it easier to identify them.
- Fixed a bug that didn't entirely drop data on removal: This improves the
reliability of Archivist by ensuring that data is properly released.
- Changes: fxr/1076333
 
- Various improvements and refactors for efficiency, memory usage and
convention.
- Changes: fxr/1094572, fxr/1078593, fxr/1082192, fxr/1076335, fxr/1076332
- Bugs: fxb/353373692
 
 
- Implemented 
- Improved logging:
- Always log file and line information in Rust.
- Changes: fxr/1078772
 
 
- Always log file and line information in Rust.
- Improved Diagnostics persistence:
- Persistence now integrates with system-update-checker to start publishing
sooner than the previous 120s delay.
- Changes: fxr/1085603
 
 
- Persistence now integrates with system-update-checker to start publishing
sooner than the previous 120s delay.
- Improved Inspect:
- Added support for escrowing in the Inspect Rust library: This makes it
easier to collect and analyze Inspect data.
- Changes: fxr/1078872
 
- Updated all Inspect data to have a component url in the response: This
improves the usability of Inspect data by making it easier to identify the
source of the data.
- Changes: fxr/1078133
 
- Added a Builder for Data<Inspect>: This makes it easier to evolve the
Data<Inspect> structure.
- Changes: fxr/1078132
 
- Created a Python inspect parsing library: This makes it easier
to parse and analyze Inspect data in Python.
- Changes: fxr/1074461
 
 
- Added support for escrowing in the Inspect Rust library: This makes it
easier to collect and analyze Inspect data.
- Power observability:
- Added Level data to the lease status inspect updates in Inspect history:
This improves the visibility of lease status changes and makes it easier to
diagnose problems.
- Changes: fxr/1091011
 
- Enhanced the VMO size description to be friendlier. This makes it easier
to understand the size of Inspect VMOs.
- Changes: fxr/1086973
- Bugs: fxb/354754310
 
- Increased the Inspect VMO for power broker. This improves the
performance of power broker by reducing the number of times that the VMO
needs to be resized and allows us to fit more information.
- Changes: fxr/1085600
 
 
- Added Level data to the lease status inspect updates in Inspect history:
This improves the visibility of lease status changes and makes it easier to
diagnose problems.
Driver Framework
The following updates have been made for Driver Framework:
- Improved driver metadata management. This includes adding a
GetMetadataIfExists()function to thefdf_metadatalibrary.- Changes: fxr/1089873
- Bugs: b/353718698
 
- Improved driver runtime performance and stability. This includes updating
the dispatcher header on RAII semantics, removing the return value from driver
host runner callbacks, and disallowing queueing delayed tasks during shutdown.
- Changes: fxr/1074253, fxr/1090794, fxr/1094892
- Bugs: fxb/341998660, fxb/357616471
 
- Improved driver testing infrastructure. This includes refactoring driver
test fixtures and preparing driver_test.hfor the partner SDK.- Changes: fxr/1084035, fxr/1087092
 
- Added preliminary support for Rust in driver development. This includes
adding implementations of safe Rust bindings for the arena and dispatcher, and
adding the ability to increment the reference count of an fdf_arena_tto enableClonein Rust.- Changes: fxr/1070133, fxr/1084042
- Bugs: b/338249591
 
- Improved driver documentation. This includes adding a new DFv2 driver doc:
"Troubleshoot common issues in DFv2 driver development".
- Changes: fxr/1087713
 
- Fixed various bugs. This includes fixes for bugs related to metadata handling, driver loading, driver testing, and driver runtime.
FIDL
The following updates have been made for FIDL:
- Updated the SDK to use the modifier change syntax and reformatted the
versions_natural_ostream.h.golden file: This change avoids redundant enum
members and protocol methods and reformats the file due to changes in
clang-format output.
- Changes: fxr/1076895, fxr/1090804
- Bugs: fxb/348405702, fxb/356223582
 
- Improved the FIDL ABI: These improvements include:
- Allowing new platform protocols.
- Adding tests for events.
- Improving protocol and method testing and rules.
- Improving bits and enum errors.
- Improving path handling in errors.
- Checking tear-off protocols behind a flag.
- Changes: fxr/1078674, fxr/1073013, fxr/1070488, fxr/1076952, fxr/1076651, fxr/1076650
- Bugs: fxb/335446415
 
 
- Removed the unused Host protocol, replaced the in_development_api_level
variable, removed unused template disambiguation, and ensured that all
documented GN variables are passed.
- Changes: fxr/1073693, fxr/1087897, fxr/1078034, fxr/1070136
- Bugs: fxb/326277078
 
- Backfilled missing @available(added=HEAD) annotations and fixed outgoing
FIDL calls with wire objects.
- Changes: fxr/1082994, fxr/1082231
- Bugs: fxb/349874637
 
GPU
The following updates have been made for GPU:
- Improved debugging tools for the GPU driver.
- Changes: fxr/1090032, fxr/1089875
 
- Migrated the intel-i915 driver to DFv2.
- Changes: fxr/1077013
- Bugs: fxb/339114729
 
- Improved power management for the GPU driver.
- Changes: fxr/1081932
 
- Removed unused backlight functionality from the intel-i915 driver.
- Changes: fxr/1072741
- Bugs: fxb/339114729, b/349685233
 
I18n
The following updates have been made for I18n:
- Updated the I18n infra to support Fuchsia's new date/time API: This
change updates the I18n infrastructure to use the new Fuchsia date/time API,
which simplifies the process of formatting and parsing dates and times.
This change also improves the I18n infrastructure's overall performance and
reliability.
- Changes: fxr/459562
 
IOT
The following updates have been made for IOT:
- Improved Thread stack stability and recovery by preventing ot-radio from
sending frames during RCP reset and enhancing SPI TX logic: This avoids
unnecessary resets by ensuring lowpan waits for RCP readiness and improves
recovery when sending spinel frames fails.
- Changes: fxr/1092477, fxr/1076802
 
- Fixed a crash in lowpan-monitor and improved diagnostics: The monitor
now generates a crash report when Thread stack booting fails, providing data
on devices lacking a Thread stack.
- Changes: fxr/1090955
 
- Fixed the meshcop publish logic in lowpan.
- Changes: fxr/1080456
 
- Logged the source address of ignored ICMP6 messages when their source is not
link local in openthread. This improves debugging for ICMP6 issues.
- Changes: fxr/1088444
 
- Added spiimpl to the partner unstable SDK: This change is primarily for
internal use and less impactful for general users.
- Changes: fxr/1094833
 
- Fixed nat64 translator: Fixed a bug where nat64 translator state is not
set correctly when setting CIDR.
- Changes: fxr/1102124
 
- Improved Matter/GHP: Matter and GHP related bug fixes and stability improvements.
Kernel
The following updates have been made for Kernel:
- Added support for the ZX_CLOCK_BOOTtimeline, including user-mode clocks and syscalls (zx_ticks_get_boot,zx_clock_get_boot).- Changes: fxr/1085580, fxr/1086974
 
- Introduced ZX_INFO_VMAR_MAPSfor retrieving VMAR mapping information, and added related diagnostics tooling.- Changes: fxr/1066026, fxr/1066025, fxr/1087575, fxr/1087574, fxr/1087572
- Bugs: fxb/42085954
 
- Added support for user-space dcache CLEAN and FLUSH operations through
zx_cache_flush.- Changes: fxr/1069594
- Bugs: fxb/42075218
 
- Added the k zx sockcommand for displaying socket information, and improvedkcommand handling for peered dispatchers.- Changes: fxr/1069593, fxr/1090614
 
- Added a PXA variant of the ns8250 UART and conditionally set the
level-triggered bit based on device tree/boot shim configuration.
- Changes: fxr/1064681, fxr/987967, fxr/1080430
 
- Fixed a kernel timer race condition and improved timer queue inspection.
- Changes: fxr/1094412
 
- Fixed atomic loads on volatile variables and introduced workarounds for
libcxx atomic_reflimitations.- Changes: fxr/1094264, fxr/1092473
 
- Improved physical memory management and handoff, including ensuring NVRAM
and ZBI allocation persistence, handling of reserved test RAM, and diagnostic
logging.
- Changes: fxr/1089293, fxr/1092781, fxr/1081985, fxr/1081984
 
Platform Drivers
The following updates have been made for Platform Drivers:
- Simplified the aml-sdmmc driverbuild process and improved driver clarity and consistency: A dedicated GN target was created for the source files and dependencies, improving maintainability and reducing potential build errors. Metadata type identifiers were also renamed for improved clarity and consistency.- Changes: fxr/1093172, fxr/1091612
 
- Improved driver reliability and prevented potential crashes: A bug in the
platform-device driver was fixed, which caused incorrect access to optional
data.
- Changes: fxr/1084720
- Bugs: fxb/354051142
 
- Improved driver modularity, adaptability to different hardware
configurations, and debugging capabilities. The aml-light driver was
refactored to retrieve metadata using FIDL from the gpio-light platform
device, and inspect data was added to the platform bus driver.
- Changes: fxr/1060232, fxr/1072692
- Bugs: b/341981272
 
- Improved power consumption and battery life by optimizing the aml-uartdriver. The driver now only registers the interrupt as a wake source when suspend is enabled in the driver configuration.- Changes: fxr/1073652
 
- Improved code readability and reduced complexity by simplifying the
AmlSdmmc::GetToken()function in the aml-sdmmc driver.- Changes: fxr/1075219
 
Rust
The following updates have been made for Rust:
- Improved build system support by adding the ability to pass GN-scope to
test targets and cleaning up auxiliary rspfiles earlier after dependency
scanning.
- Changes: fxr/1084669, fxr/1080294
- Bugs: fxb/352530114
 
- Prepared for std::panic::PanicInforename by adding#[allow(deprecated)].- Changes: fxr/1087153
- Bugs: fxb/354739990
 
Software Delivery
The following updates have been made for Software Delivery:
- Refactored mock Omaha server to support both fasync and tokio runtimes and
its start()function is now asynchronous.- Changes: fxr/1090712, fxr/1080615
- Bugs: b/352675941
 
- Added support in Omaha client, system update checker, and fuchsia.updatefor the update-check-completed protocol, enabling Persistence to publish data immediately after update checks.- Changes: fxr/1085602, fxr/1082501, fxr/1074672, fxr/1082792
 
- Updated OTA triggering to use ffx.- Changes: fxr/1072573
- Bugs: fxb/349605667
 
- Omaha client fuchsia test now utilizes poll_until_stalledfor better asynchronicity.- Changes: fxr/1083013
 
- Improved OTA tooling and artifact downloading in swd-e2e-tests; improved
testsharder error handling when a product bundle is missing.
- Changes: fxr/1090792, fxr/1091332, fxr/1091659
 
Starnix
The following updates have been made for Starnix:
- Enhanced security with set-user-id/set-group-id and SELinux dynamic
transition checks: Added a setuid feature (disabled by default) and
implemented type bounds checks for dynamic transitions in SELinux, improving
security and preventing privilege escalation.
- Changes: fxr/1093912, fxr/1093961, fxr/1093962, fxr/1090592
 
- Improved file system security and management with SELinux hooks and
/container feature flag: Added fs_node_set/getsecurity()hooks in SELinux for managing file security attributes, and introduced a feature flag to control the /container directory, paving the way for its eventual removal.- Changes: fxr/1092232, fxr/1092434
 
- Enhanced BPF support with ring buffer operations and mapping: Implemented
reserve, submit, and discard operations for BPF ring buffers, along with the
ability to map BPF ring buffer file descriptors.
- Changes: fxr/1065592, fxr/1078612
 
- Introduced the NMFS manager framework and open3 support: Created a new
framework for managing network file system events and added support for open3
in remote execution, providing a more robust and flexible approach to file
system operations.
- Changes: fxr/1058654, fxr/1075217
- Bugs: fxb/353586142
 
- Added a stardevcontainer and GPU information at boot: Introduced a new container for self-hosted Fuchsia development and added functionality to pass GPU information during boot for improved driver management.- Changes: fxr/1089993, fxr/1084595
 
- Improved test identification by including "starnix" in test names: Added
"starnix" to test names for better identification and organization on
dashboards.
- Changes: fxr/1095737
 
- Fixed potential timer issues by resetting timerfd deadline when disarmed:
Ensures the deadline in timerfd is reset upon disarming to prevent unexpected
timer behavior.
- Changes: fxr/1094302
 
Storage
The following updates have been made for Storage:
- Enhanced fxfs testing with a poison pill option for FakeDevice teardown to
provide more informative stack traces on crashes, and removed an unnecessary
borrow in fuchsia-pkg-testing.
- Changes: fxr/1095814, fxr/1095932
- Bugs: fxb/357638987
 
- Improved NAND device read performance and driver efficiency. The driver
now waits for the command queue to be empty before checking the status bits,
reducing unnecessary polling and CPU usage. An unused interrupt was also
removed, further improving driver efficiency.
- Changes: fxr/1092194, fxr/1092193
 
Timekeeping
The following updates have been made for Timekeeping:
- Updated GetMonotonicdocumentation and added compute_boot_ticks and compute_boot_time functions to libfasttime. The monotonic clock has been guaranteed to start at 0 every time the kernel is started for some time. Added functions tolibfasttimeto compute boot ticks and time.**- Changes: fxr/1088692, fxr/1069413
 
- Improved RTC driver behavior. Changed timekeeper to watch the
/dev/class/rtcdirectory instead of reading from it, added unit tests, and reverted a change that added a retry for RTC detection.- Changes: fxr/1076052, fxr/1073614, fxr/1074159
 
- Improved Timer class behavior. Moved the TimerLock declaration into the
Timer class to enable referencing it in annotations and allowing marking the
timer lists as guarded by this lock, and acquired the timer lock when
inspecting queues to address parallel Timer::Cancel events from different
CPUs and correctly calculate the next timeout.
- Changes: fxr/1094413, fxr/1094412
 
Tools
The following updates have been made for Tools:
- The package-toolhas been updated with several enhancements, including a--namespaceargument for the extract command to create a namespaced view of a package, and the adoption ofpackage_manifest.jsonfor metadata handling. An outdated comment has also been removed.- Changes: fxr/1078614, fxr/1091932, fxr/1078595
 
- The createtool now uses the newmeta/directory structure for storing metadata.- Changes: fxr/1089302
 
- The sdk-deps script now supports CSV output and provides dependency
counts.
- Changes: fxr/1078416
 
- Removed the obsolete display tools display-detectanddisplay-png.- Changes: fxr/1080633, fxr/1082030
 
- A dangling string assignment in audio tools has been removed, and the
broken sys-realm-analyzertool has been removed.- Changes: fxr/1076913, fxr/1078372
 
ffx
The following updates have been made for ffx:
- Improved target handling: This includes refactoring target resolution,
fixing dynamic target adding, setting SSH port in client-side discovery, and
disabling client-side discovery to mitigate flakes. Dynamic target adding was
relanded after an initial revert.
- Changes: fxr/1092441, fxr/1078005, fxr/1086912, fxr/1082638, fxr/1088535
 
- Enhanced output and configuration: Remove ASCII art from package commands,
add --backgroundflag for daemon, add--no-environmentflag, and store repository info from the CLI.- Changes: fxr/1092970, fxr/1093032, fxr/1088673, fxr/1084037, fxr/1060975
- Bugs: b/352511300, b/343293737
 
- Implemented initial client-side discovery (later disabled for stability).
- Changes: fxr/1013625
 
- ffx audio device infonow shows signal processing, topology, and state with better formatting.- Changes: fxr/1042483
 
- Formatted target addresses in error messages for better readability.
- Changes: fxr/1066952
 
- Removed the legacy freeform writer.
- Changes: fxr/1078758
 
ffx emu
The following updates have been made for ffx emu:
- Refactored disk hashing to emu_instance(reverted and relanded).- Changes: fxr/1094835, fxr/1094074, fxr/1094269
 
- Forced the qemu engine for riscv images due to lack of Android emulator
support.
- Changes: fxr/1077997
 
ffx playground
The following updates have been made for ffx playground:
- Implemented string interpolation: Includes AST changes, parsing, and
initial (non-executing) support.
- Changes: fxr/1094094, fxr/1094093, fxr/1094092
 
- Improved error handling and parsing: Switch to thiserror, simplify parser logic, and replace Open2 with Open3.- Changes: fxr/1094072, fxr/1092556, fxr/1088232
- Bugs: fxb/324112547
 
- Implemented import statements: Supports top-level imports and direct scope
imports.
- Changes: fxr/1090177, fxr/1090176, fxr/1091192
 
ffx repo
The following updates have been made for ffx repo:
- Improved repository server management: Add foreground option, expose
SimpleWriter, and implement server listing.
- Changes: fxr/1054453, fxr/1092436, fxr/1054068
 
ffx repository
The following updates have been made for ffx repository:
- Improved repository connection handling: Allow cancellation during
reconnect, improve logging, and increase reconnect timeout. Remove the
"experimental" note for ffx repository serve.- Changes: fxr/1092653, fxr/1092252, fxr/1074072, fxr/1077152
- Bugs: b/349941048, b/326424251, b/349941048
 
- Added --namespaceargument toextractcommand.- Changes: fxr/1078614
- Fixed: b/314380870
 
- Migrated repository commands to FfxTool.
- Changes: fxr/1076797
 
ffx target
The following updates have been made for ffx target:
- ffx target echosupports machine schema and provides specific errors for unset default target.- Changes: fxr/1092972, fxr/1071834
 
- Implemented daemonless ffx target wait.- Changes: fxr/1078275
 
fx
The following updates have been made for fx:
- Addressed 14 GCC bugs and removed workarounds for older bugs related to
section attributes and COMDAT groups.
- Changes: fxr/1093352, fxr/1088816
- Bugs: fxb/351904809, fxb/42101573, GCC Bug 116184, GCC Bug 94342
 
- Improved and refined analytics: Enhance timing accuracy, extend argument
length, suppress notices, address regex initialization, handle empty $HOME, and add internal analytics.- Changes: fxr/1093093, fxr/1092472, fxr/1091378, fxr/1090114, fxr/1089914, fxr/1089320, fxr/1069218
 
- Handled Bazel job counts (reverted) and build hermeticity.
- Changes: fxr/1089135, fxr/1089132, fxr/1090795
 
- Improved handling of rbe_settings.json, Go build cache, and nonexistent files.- Changes: fxr/1085912, fxr/1084232, fxr/1077752
 
- Remove custom build logic from fx qemuand enable ninjatrace for sub-builds.- Changes: fxr/1077852, fxr/1074789
- Bugs: b/346574369
 
UI
The following updates have been made for UI:
- SceneManager now uses the fuchsia.power.SuspendEnabledconfig capability to control thesuspend_enabledconfiguration, enabling testing and gated use of the suspend feature.- Changes: fxr/1088434, fxr/1088495
 
- Refined ActivityManager's integration with the power framework (flag-gated).
Initial integration was reverted due to OOM issues, and subsequent changes
re-introduced state transition management using LeaseHolderandStateTransitionerto prepare for proper wake lease integration. This work included updates to thesuspend_enabledconfig, new integration tests, and routing of thefuchsia.power.SuspendEnabledcapability.- Changes: fxr/1059173, fxr/1074613, fxr/1086696, fxr/1087514, fxr/1088613
 
- Improved the handling of InputDeviceandInputFile.InputFile::readnow returns as many events as possible, and waiter notifications are more accurate due to the use of pending event counts. Button event debugging in Starnix has also been enhanced with inspect counting and additional logging.- Changes: fxr/1078192, fxr/1082914, fxr/1085493
 
Video
The following updates have been made for Video:
- Fixed a compiler error related to std::pair's copyability: This was caused by a change instd::pair's copyability.- Changes: fxr/1086537
- Bugs: fxb/354627057
 
WLAN
The following updates have been made for WLAN:
- Improved Antlion testing for wlanix: A new product bundle and metadata
generation were added for testing wlanix on VIM3 devices without starnix,
along with a no-op test.
- Changes: fxr/1057127, fxr/1092096, fxr/1092593
 
- Updated the WLAN roaming policy: Allows selectable roaming implementations
through product configuration, defaulting to RoamingOff, and introduces a new roaming policy platform config.- Changes: fxr/1039148, fxr/1078793
 
- Improved WLAN telemetry and inspection: Wlanix now serves Inspect data and
logs client connection enabled/disabled events to telemetry for easier
inspection of Wi-Fi on/off events.
- Changes: fxr/1074476, fxr/1080455, fxr/1080454
 
- Enhanced MLME and Fullmac FIDL: Added conversion functions and corrected
RSNE length limits, resolving API mismatches and improving the handling of
oversized data.
- Changes: fxr/1078737, fxr/1083616, fxr/1083615
 
- Improved the wlansoftmacdriver: Migrated to DFv2, improving lifecycle and stability; optimized rx and tx paths for reduced data copying; and fixed a memory leak.- Changes: fxr/1041545, fxr/1082815, fxr/1082814, fxr/1083812, fxr/1080415
 
- Enhanced wlan-frame-writer: Improved error reporting; splitAppendableintoAppendandTrackedAppend; added padded buffer writing support; and simplified thewrite_frame_with_dynamic_buffermacro.- Changes: fxr/1089234, fxr/1088734, fxr/1087178, fxr/1087893
 
- Miscellaneous WLAN improvements: Improved state synchronization in WLAN
policy; added a driver timer test teardown to prevent errors; ensured
ScanAbortedis sent on wlanix scan errors; and addedrxundeccounters to brcmfmac for debugging.- Changes: fxr/1076235, fxr/1087152, fxr/1079592, fxr/1072973, fxr/1083653