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_tests
suite now validates that the VMO handles returned from an audio driver has the required rights.- Changes: fxr/1093754
- Updated
aml-g12-composite driver
to useSetActiveChannels
domain specific API to turn on or off the SoC power throughStartSocPower/StopSocPower
.- Changes: fxr/1073617
- Disabled the default dispatcher in the
SimpleAudioStream
helper library.- Changes: fxr/1074513
- Deleted
aml-g12-[pdm|tdm]-dsp
drivers.- Changes: fxr/1091535
- Updated
VirtualAudio
driver to apply correct VMO handle rights and fixWatchTopology
behavior.- Changes: fxr/1093753, fxr/994091
- Updated audio driver VMO handle rights to be validated. The
AudioCore service and smart display support:
- Updated the
CapturerShimImpl
dtor to be virtual, which fixes a new-delete-type-mismatch.- Changes: fxr/1088534
- Updated the
AudioDeviceRegistry
service:- Implemented
Control::Reset
as an asynchronous method.- Changes: fxr/1082634
- Clarified the circumstances in which the client-provided callback or the
ControlNotify
notifications will be invoked or not invoked.- Changes: fxr/1087881
- Implemented
Audio developer tools:
- Added additional ADR support to
ffx audio
in theffx audio device
facet. - Updated
ffx audio device info
to show signal processing elements, topologies, and state.- Changes: fxr/1042483
- Updated the
RegistryDevice
type inffx audio
to expose signal processing elements, element states, and topologies.- Changes: fxr/1085604
- Moved the
VmoBuffer
to 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
IsoDataChannel
for 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
Hci
protocol with theHciTransport
protocol 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
Snoop
protocol for capturing Bluetooth data has been updated with a revised API preventing errors: This introduces theVendor.OpenSnoop
method 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
spiimpl
library has been added for extended SPI functionality.- Changes: fxr/1094833
- Improved the GN build system: A new template,
generated_ifs_file
, enables dynamic.ifs
file creation. Thenetsvc
component inclusion has been reverted due to OTA test issues.- Changes: fxr/1094016, fxr/1095673
- Enhanced the
fx
command: Analytics now use$EPOCHREALTIME
for more precise timing. The--rbe
flag 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_json
performance. 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/SystemDataUpdater
protocol removed: This update fixes clang-tidy warnings and updates the#include
style 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/SystemDataUpdater
protocol, 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_data
to 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_metadata
library.- 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.h
for 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_t
to enableClone
in 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_BOOT
timeline, including user-mode clocks and syscalls (zx_ticks_get_boot
,zx_clock_get_boot
).- Changes: fxr/1085580, fxr/1086974
- Introduced
ZX_INFO_VMAR_MAPS
for 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 sock
command for displaying socket information, and improvedk
command 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_ref
limitations.- 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 driver
build 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-uart
driver. 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::PanicInfo
rename 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.update
for 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_stalled
for 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
stardev
container 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
GetMonotonic
documentation 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 tolibfasttime
to compute boot ticks and time.**- Changes: fxr/1088692, fxr/1069413
- Improved RTC driver behavior. Changed timekeeper to watch the
/dev/class/rtc
directory 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-tool
has been updated with several enhancements, including a--namespace
argument for the extract command to create a namespaced view of a package, and the adoption ofpackage_manifest.json
for metadata handling. An outdated comment has also been removed.- Changes: fxr/1078614, fxr/1091932, fxr/1078595
- The
create
tool 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-detect
anddisplay-png
.- Changes: fxr/1080633, fxr/1082030
- A dangling string assignment in audio tools has been removed, and the
broken
sys-realm-analyzer
tool 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
--background
flag for daemon, add--no-environment
flag, 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 info
now 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
--namespace
argument toextract
command.- 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 echo
supports 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 qemu
and 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.SuspendEnabled
config capability to control thesuspend_enabled
configuration, 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
LeaseHolder
andStateTransitioner
to prepare for proper wake lease integration. This work included updates to thesuspend_enabled
config, new integration tests, and routing of thefuchsia.power.SuspendEnabled
capability.- Changes: fxr/1059173, fxr/1074613, fxr/1086696, fxr/1087514, fxr/1088613
- Improved the handling of
InputDevice
andInputFile
.InputFile::read
now 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
wlansoftmac
driver: 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; splitAppendable
intoAppend
andTrackedAppend
; added padded buffer writing support; and simplified thewrite_frame_with_dynamic_buffer
macro.- 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
ScanAborted
is sent on wlanix scan errors; and addedrxundec
counters to brcmfmac for debugging.- Changes: fxr/1076235, fxr/1087152, fxr/1079592, fxr/1072973, fxr/1083653