Date: January 21, 2025
Version: F24
The following changes have been implemented:
A11y
- Improved accessibility: Log changes in screen-reader state.
- Changes: fxr/1113299
Audio
- Updated
audio_listener
to fix usage-validation bugs and address clang-tidy issues.- Changes: fxr/1130266
- Updated
audio_device_registry
service to add Inspect logging of power state changes.- Changes: fxr/1112852
- Updated
aml-g12-tdm
driver to power-down audio hardware by default until the first client.- Changes: fxr/1130235
Bluetooth
The following updates have been made for Bluetooth:
- Added
bt-device-id
software assembly config, and implemented a default device configuration implemented. Thebt-device-id
profile is not enabled by default.- Changes: fxr/1126889, fxr/1108021
- Enhanced
bt-rfcomm
to use L2CAP max_packet_size for RFCOMM session channels, optimizing data transfer. A generic UUID was also added to BR/EDR service search parameters, enabling custom UUID searches.- Changes: fxr/1134730, fxr/1110654
- Enhanced bluetooth LE Peer with additional fields for broadcast
assistant. Simultaneous LE and BR/EDR advertising is now enabled based on
controller support. Made several improvements to
bt-gatt
, including adding basicServerSupportedFeatures
support, removing unnecessary handle tracking, and turning on the ISO Host bit if supported. Also, AD types CSIS and PBP were added for LE Audio.- Changes: fxr/1132614, fxr/1009176, fxr/1009173, fxr/1009175, fxr/1009174, fxr/956378
- Migrated
bt-host
andbt-hci-virtual
to prebuilts, and deleted source code. Thebt-host
prebuilt status is documented in README.- Changes: fxr/1128314, fxr/1126612, fxr/1124675, fxr/1117836
- Bugs: b/328444071
- Added BT MAP MCE profile to product assembly (disabled by default), and
implemented related features. This includes a command line tool for MAP-MCE,
implementing the MAP MCE role using the Notification Service, and implementing
the Message Notification Service server for the MCE role.
- Changes: fxr/1071052, fxr/1005756, fxr/1005755, fxr/1099713
- Updated
bt-hfp
with start/stop on request functionality, assembly config for audio gateway, and consolidated optional protocols. ERROR logs are now allowed forbt-avrcp-integration-tests
. The LEAdvertisingSetTerminated event was migrated to Emboss, and typos inbt-host
/fidl were fixed. An option to disable the timer duration check was added to Lacewing suspend-resume tests, the HCI emulator device node was removed, and the stale Bluetooth sampler config was deleted. Test groups were defined forstarnix.arm64
, and LE_AUDIO was added to CoD service bits in bt-cli. PrivilegedPeripheral API was added for LE Advertising.
Cobalt
The following updates have been made for Cobalt:
- Improved event code handling and fixed linter warnings fixed.
max_event_code
andevent_code
limited to 2^31 - 1 to prevent exceeding Java int capacity, and linter warnings addressed incobaltb.py
.- Changes: fxr/1116687, fxr/1117388, fxr/1118063
- Added build-test command to cobaltb.py.
- Changes: fxr/1119934
- Leveraged FatLTO for faster test builds.
- Changes: fxr/1112379
- Bugs: fxb/364615885
- Restored and tested current channel retrieval logic.
- Changes: fxr/1123916
- Updated prober test specs to Nelson.
- Changes: fxr/1127235
- Removed ARCH/OS from Fuchsia report profiles.
- Changes: fxr/1132712
- Fixed cobalt-registry erratum.
- Changes: fxr/1137742
Component Framework
The following updates have been made for Component Framework:
- Added a generic service broker and created a more extensible framework for
builtin components in component_manager. The framework includes a new
BuiltinProgram
type, ABI alignment for builtin and non-builtin components, and refactoring of elf_runner.- Changes: fxr/1134587, fxr/1134697
- Bugs: fxb/372527480
- Improved component manager stability and addressed test flakiness. This
includes increasing timeouts in tests, replacing deprecated
fuchsia_fs
calls, and fixing a typo in error logging.- Changes: fxr/1134152, fxr/1132572, fxr/1118193
- Bugs: fxb/361450366
- Improved logging and event handling. Newlines in klog messages are now
split into separate entries, fixing a UTF8 panic bug. Boot time is now set in
event headers for more accurate event timing.
- Changes: fxr/1121676, fxr/1119680
- Bugs: fxb/347724655
- Made the last required #ui route optional in session_manager, enabling
UI-less products, and added
fuchsia.ui.composition
.- Changes: fxr/1135735, fxr/1125852
- Leveraged FatLTO for faster test builds.
- Changes: fxr/1113157
- Bugs: fxb/364615885
Diagnostics
The following updates have been made for Diagnostics:
- Improved log message handling. Removed double parsing of incoming
structured messages and standardized message representation for improved
efficiency and reduced allocations. Removed ANSI color codes from
log key-value pairs.
- Changes: fxr/1122017, fxr/1119212, fxr/1115418
- Migrated to boot time out of monotonic time. Archivist, inspect and log
tools are using boot time instead of monotonic time.
- Changes: fxr/1094595, fxr/1094772, fxr/1130454, fxr/1132674, fxr/1119680
- Simplified configuration. Moved archivist-related
bootstrap.cml
entries to a shard for easier modification.- Changes: fxr/1130562
- Added the C++ opinionated logger in the SDK. This allows enabling logging
from components in the SDK without custom logger integrations.
- Changes: fxr/1116573
- Updated sampler config to accept wildcards. This enables writing selectors
for drivers and others.
- Changes: fxr/1125782
- Updated the
ffx log
tool to accept --set-severity instead of --select- Changes: fxr/1119912
- Handle initial interests from configuration. Pipes assembly options to
configure the initial log severity of components.
- Changes: fxr/1116492
- Bugs: fxb/362335642
- Improved job handling. Introduced the
DebuggedJob
abstraction and used it forRootJob
, simplifying job attachments and exception monitoring. Moved exception record retrieval to theException
object for better consistency.- Changes: fxr/1136252, fxr/1132532, fxr/1134738
- Added integer format setting. Allows persistent formatting of integers in
print
andlocals
commands.- Changes: fxr/1127152
- Bugs: fxb/369778038
- Improved
step_plt
test. Removed unnecessary dependencies in thestep_plt
e2e test.- Changes: fxr/1131213
- Bugs: fxb/371395750
- Improved profiling support. Added test-invoker support and updated inspect
selectors for Mali for better profiling capabilities.
- Changes: fxr/1097532, fxr/1117392
- Updated timestamp format. Changed timestamp to boot timestamp as defined
in RFC-0260.
- Changes: fxr/1132853
- Simplified configuration and improved time handling. Removed eng-only
config data targets and
low_memory
config, and replaced direct calls tozx_clock_get_monotonic
with higher-level abstractions.- Changes: fxr/1132856, fxr/1129834, fxr/1115919
- Improved debugging. Prints UTC time in
ffx log
when connected to a device to enable mapping boot times to any time.- Changes: fxr/1136300
- Improved reboot detection in ffx log. Uses a random per-boot integer
instead of UTC for more reliable reboot detection.
- Changes: fxr/1128476
Display
The following updates have been made for Display:
- The display driver stack is being migrated to modern Fuchsia Platform infrastructure, such as DFv2 and FIDL.
Driver Framework
The following updates have been made for Driver Framework:
- Added support for driver server in driver runtime, including a
DriverServer
and aDriver
trait, and address memory management issues and added a test for cross-executor channel behavior.- Changes: fxr/1090314, fxr/1123875, fxr/1099333
- Bugs: fxb/359228261, fxb/359228344
- Improved rust driver support. Rust drivers can now be built using the
fuchsia_rust_driver
template andrustc_cdylib
. Also implemented basic Rust driver transport is also implemented.- Changes: fxr/1092437, fxr/1123884
- Bugs: fxb/359228192
- Enhanced dynamic linking support. FIDL for loading drivers via dynamic
linking is implemented in
driver_loader
, andDriverLoadArgs
are passed toDriverHost::StartWithDynamicLinker
. The node client is now passed toDynamicLinkerDriverHostComponent::Start
, and the dynamic linkingStartRootDriver
test helper is refactored for reusability.DynamicLinkerDriverHostComponent Start
is implemented. A FIDL client is returned when starting the driver host. Loading a driver into the driver host is now implemented.- Changes: fxr/1091492, fxr/1121477, fxr/1120038, fxr/1116434, fxr/1093155, fxr/1092969, fxr/1096832
- Bugs: fxb/341998660, fxb/341997294, fxb/355233670
- Improved driver testing.
ScopedGlobalLogger
added to the SDK for simplified driver testing. Shared libraries are included indriver_test_realm
.driver_test_realm
code cleaned up. Trace routing from void removed indriver_test_realm
.DriverRunnerTest
parameterized for dynamic and legacy path testing.driver_test_realm
migrated todtr_exposes/offers
.- Changes: fxr/1127472, fxr/1126891, fxr/1136304, fxr/1136301, fxr/1136298, fxr/1112694
- Bugs: fxb/369120118, fxb/363012744
- Migrated several FIDL libraries to Bazel build rules. This includes the
simple driver, and the DFv2 driver transport example.
- Changes: fxr/1115661, fxr/1110353
- Bugs: b/362386044
- Refactored Driver Framework. Bootstrap and
zx::thread
logic moved fromdriver_manager
todriver_loader
. The exposed directory is passed to the started driver host component. DriverStartArgs are now created and passed from the node.LoadDriverHost
now takes a callback. Deprecated integer-based property keys and topological paths are deprecated.- Changes: fxr/1128320, fxr/1127881, fxr/1126672, fxr/1125771, fxr/1115573 fxr/1129901, fxr/1148812, fxr/1153822
- Bugs: fxb/341997294, fxb/355233670, fxb/341997294
- Other Driver Framework updates. API availability conditionals were added
to the driver logger. The fake-battery driver was migrated to platform AIB for
x64. SDK consumers should no longer use platform-defs.h directly.
ddk::MetadataServer
now serves its metadata FIDL service tofdf::OutgoingDirectory
. Dependency tokens were removed fromElementSchema
. A shared FIDLFakeElementControl
is available for the power framework.sdk_*
build templates are no longer used in the DDK.fdf::testing
now supports Open3. Drivers that fail will be rematched.- Changes: fxr/1130457, fxr/1127555, fxr/1121993, fxr/1093140, fxr/1099406, fxr/1114759, fxr/1116152, fxr/1126406, fxr/1127478
- Bugs: fxb/366221510, fxb/324111518, fxb/365624908, fxb/370498838, fxb/359228192,
- Updated sysinfo to use services instead of devfs for the platform bus.
- Changes: fxr/1134586
FIDL
The following updates have been made for FIDL:
- Improved handling of boot instants, time types, and asynchronous receives
in C++ and Rust FIDL bindings. This includes type-safe support for monotonic
and boot instants using
zx::basic_time
andfuchsia_zircon
types, added conversion traits forzx::basic_time
in C++ bindings, support for encoding and decoding{Boot,Monotonic}Instant
andzx::basic_time
in Rust and C++ FIDL bindings, support for ticks in Rust bindings, and an increased buffer size for asynchronous receive in Rust FIDL.- Changes: fxr/1122098, fxr/1133334, fxr/1126832, fxr/1135777, fxr/1126812, fxr/1121698
- Enhanced FIDL tooling and build processes. Several improvements were made
including renaming
MaybeAlias
toMaybeFromAlias
in fidlgen, switching fidlgen and fidldoc to usekind_v2
, updating fidldoc to render vectors and arrays recursively, adding a boolean in the FIDL build for vendor HLCPP visibility, renaming the new Rust FIDL bindings library tofidl_next
, decoupling resources from the core FIDL Rust library, minimizingnot_needed()
statements and removing passing of the SDK category tofidl_cpp_family()
in GN build, requiring the"stable"
parameter infidl_library()
, and adding missing tests to the FIDL bundle. Also addressed several bugs related to FIDL GN templates and versioning.- Changes: fxr/1133732, fxr/1125715, fxr/1129052, fxr/1128892, fxr/1137512, fxr/1128052, fxr/1125893, fxr/1125333, fxr/1125332, fxr/1124716, fxr/1125778, fxr/1124774, fxr/1122229, fxr/1120679, fxr/1133692, fxr/1129937
- Bugs: fxb/42149402, fxb/370540341, fxb/365996258, fxb/366221510, fxb/325669391, b/369383757, b/369383757
- Added new Rust FIDL bindings (
fidl_next
).- Changes: fxr/1104435
- Added
SynchronousProxy::is_closed
to zx Rust FIDL bindings.- Changes: fxr/1122252
- Renamed
fuchsia.device.manager
FIDL tofuchsia.system.state
.- Changes: fxr/1115616
GPU
The following updates have been made for GPU:
- Updated MSD ARM Mali power test to use fake-suspend for compatibility.
- Changes: fxr/1132514
- Enabled Lavapipe in infra, and memory leaks fixed. Fixed several memory
leaks in Lavapipe (including lvp_device) have been fixed.
- Changes: fxr/1130412, fxr/1130352, fxr/1130017
- Added PowerElementProvider support to MSD ARM Mali, and added clock handling
APIs to Magma. Clients can now set clock speed limits. Added a FIDL protocol
for retrieving power elements from a Magma driver.
- Changes: fxr/1116316, fxr/1114633, fxr/1109282
I18n
The following updates have been made for I18n:
- Added versioning to generated string FIDL libraries to ensure compatibility
with FIDL platform versioning requirements. Also updated the intl properties
provider to no longer emit changes equal to its default value. These changes
simplify testing and assume all string libraries are unstable.
- Changes: fxr/1128219, fxr/1114045
- Bugs: fxb/364628320
IOT
The following updates have been made for IOT:
- Matter:
- Fixed bugs and improved the stability for GHP.
- Enabled inspect support for MDNS and added metrics.
- Fixed MDNS bugs.
Kernel
The following updates have been made for Kernel:
- Introduced the boot timeline. Added support for
ZX_CLOCK_BOOT
to specify that a timer should be based on the boot clock, which does not pause when the system suspends. - Enhanced root job profiling. Added and relanded a
--system-wide
flag toffx profiler attach
for more robust profiling of all threads in the root job tree, including handling cases where profiled processes exit mid-session. The profiler now returns samples even if symbols are unavailable.- Changes: fxr/1101200, fxr/1134813
- Bugs: fxb/362511006,
Platform Drivers
The following updates have been made for Platform Drivers:
- Improved platform device metadata handling and added board definitions.
Platform devices now use strings for metadata instead of integers, and a new
FIDL method retrieves metadata by string. Added Lilac and Iris board
definitions.
- Changes: fxr/1132355, fxr/1123974, fxr/1125853
- Bugs: b/371198423, fxb/368050069
- Enhanced sdmmc driver stability and power management. Fixed a spinning
worker loop by resetting the worker event. Temporarily disabled power
suspension and hardware power state manipulation to facilitate the transition
to a new power leasing model and allow storage requests even when power
elements are down. Registered a token with the System Activity Governor for
core sdmmc power element dependency.
- Changes: fxr/1135872, fxr/1134532, fxr/1129835, fxr/1132633
Power Management
The following updates have been made for Power Management:
- Enhanced the System Activity Governor (SAG) with new features and
configuration options. Implemented the
CpuElementManager
server, allowing storage drivers to integrate with the power topology graph. Added thwait_for_suspending_token
config flag to control SAG's dependency token handling and provide more flexibility in managing system power states.- Changes: fxr/1129132, fxr/1127332, fxr/1127333
- Improved power observability with enhanced tracing and inspect
capabilities. Added power element trace events to capture lease requests,
level transitions in the power broker, and client-side Daemon interactions.
Increased the inspect history buffer size to 8192 events and the VMO to 2MB,
mitigating data loss after numerous power events.
- Changes: fxr/1090133, fxr/1113316
- Added an enum for power sensors to
fuchsia.sensors.types
. This introduces aPOWER
enum toSensorTypes
, enabling integration with the Fuchsia Sensor Framework.- Changes: fxr/1127884
- Migrated the fake-battery driver to the platform AIB and added it to the
x64 platform.
- Changes: fxr/1127555
Rust
The following updates have been made for Rust:
- Added several updates for time and duration handling: Update to use
MonotonicDuration
instead ofDuration
in zx Rust, aliasDuration
asMonotonicDuration
in Zircon Rust, renamedTime
toInstant
, renamedSyntheticTime
toSyntheticInstant
, renamedBootTime
toBootInstant
, renamedMonotonicTime
toMonotonicInstant
, and renameBoot/MonotonicTime
toInstant
in fuchsia_zircon Rust.- Changes: fxr/1127372, fxr/1137432, fxr/1126835, fxr/1126834, fxr/1126852, fxr/1126833, fxr/1126693
- Improved FIDL Rust: Added support for ticks and encoding and decoding for
{Boot,Monotonic}Instant
, renamed new bindings lib to fidl_next, decouple resources from core library, and slightly improve initialization of thread-local buffers.- Changes: fxr/1135777, fxr/1126812, fxr/1128052, fxr/1125893, fxr/1113476
- Added support for lsan in tests that use #[fuchsia::test], including
disabling lsan for #[should_panic] tests.
- Changes: fxr/1132274
- Use dynamic linking in bootfs for Rust binaries.
- Changes: fxr/1135732
- Bugs: fxb/42163719
- Added
.rustdoc
subtarget for all Rust target types (except dylib + cdylib).- Changes: fxr/1097685
- Added support for
rustc_cdylib
loadable_module.- Changes: fxr/1126633
- Bugs: fxb/364901670
SDK
The following updates have been made for SDK:
- Improved Bazel action performance and fixed several bugs. This includes
using genquery to optimize depfile generation (saving ~0.5-1s), combining
cquery invocations (saving 1.2-1.5s), fixing relative paths for
fuchsia_product_configuration
, addressing a minfofuchsia_board_configuration()
bug, fixing Bazel assembly image verification, and fixing open fonts targets.- Changes: fxr/1137521, fxr/1136037, fxr/1135154, fxr/1135193, fxr/1137032, fxr/1137033
- Bugs: fxb/372314445
Software Delivery
The following updates have been made for Software Delivery:
- Enhanced support for upgradable packages. This includes adding garbage
collection protection, allowing base-resolver to resolve them alongside base
packages, and introducing the
SetUpgradableUrls
API for updates (implementation gated behind a flag).- Changes: fxr/1132852, fxr/1127481, fxr/1120543
- Improved consistency by clearing variant information when loading cache
packages.
- Changes: fxr/1126056
- Improved bootpkg utility and reduced binary size. This includes removing
async operations, shrinking the binary size, and adding a CLI tool to view
boot packages and their contents (
list
andshow
subcommands).- Changes: fxr/1135294, fxr/1129879
- Improved package management code and clarified OTA progress reporting.
This includes refactoring the package server instance to use
RepositorySpec
, removing duplicated enum definitions for better maintainability, and adding a note to CLI OTA tools about progress reporting behavior.- Changes: fxr/1128332, fxr/1120573, fxr/1117588
- Added features to the vim3 board for xHCI driver migration from BIB to
AIB.
- Changes: fxr/1115581
Starnix
The following updates have been made for Starnix:
- Added support in Starnix for suspending and resuming containers, including
tracking Linux wake locks, delegating operations to the Starnix runner, and
acquiring/releasing wake leases.
- Changes: fxr/1128713, fxr/1113914
- Added support for touch and button events, as well as
EPOLLWAKEUP
, to wake a suspended container. Epoll wake locks are correctly deleted when the epoll instance is deleted.- Changes: fxr/1115540, fxr/1118314, fxr/1137356, fxr/1115595
- Fixed race conditions related to timer management and signal clearing during
suspend/resume.
- Changes: fxr/1130458, fxr/1123772
- Updated the hrtimer to use a proxied channel for waking the container.
- Changes: fxr/1117712
- Added support for the
CLONE_NEWUTS
flag and FUSE BPF program loading.- Changes: fxr/1137816, fxr/1131212
- Added a new Unix Domain Socket implementation, based on the
binder.fidl
protocol, which enables inter-process communication and file descriptor passing between Fuchsia and Linux programs within Starnix.- Changes: fxr/1129552
- Implemented
io_uring_setup
and basic read/write operations forio_uring
, enabling theio_uring01
test to pass.- Changes: fxr/1127556, fxr/1129235
- Implemented stubs for missing futex commands.
- Changes: fxr/1104457
- Added the
/proc/sys/kernel/cap_last_cap
file.- Changes: fxr/1121419
- Fixed access checks for security attributes, and resolved an issue with BPF
filesystem security labels not being set correctly is resolved.
- Changes: fxr/1138172, fxr/1138152
- Updated the accept queue size in sockets to be limited.
- Changes: fxr/1123852
- Updated implementation for the SELinux status file correctly handles seek
behavior and end-of-file indication for specific files.
- Changes: fxr/1116496
- Fixed
chown
validation logic.- Changes: fxr/1126033
Testing
The following updates have been made for Testing:
- Improved the
fxtest
tool, including support for variables like$FUCHSIA_OUT
in the output directory path (matching the behavior of the oldfx test
), printing failed tests after execution, and addressing partial output issues in replays. A new--timestamp-artifacts
flag prevents clobbering of previous test outputs.- Changes: fxr/1126534, fxr/1125776, fxr/1115679
- Introduced
honeydew_config
inpython_mobly_test
to consolidate Honeydew configuration information, simplifying the process of adding new configurations.- Changes: fxr/1118514
- Added support for
ssh_keepalive_timeout
FFX configuration in Lacewing tests.- Changes: fxr/1124685
- Improved profile merging. Flattened profile counter merging on the
target, enabling merging in binary profile correlation mode.
- Changes: fxr/1123292
- Bugs: fxb/358195464
- Fixed an alignment issue in
libconcurrent
's WellDefinedCopy helpers that could cause random test failures.- Changes: fxr/1113315
Timekeeping
The following updates have been made for Timekeeping:
- Improved fake clock tests: Addressed flakiness in fake clock tests.
- Changes: fxr/1128453, fxr/1128335
- Bugs: fxb/369671675, fxb/369696252
- Versioned time-related FIDL libraries: Added
@available(added=HEAD)
to time-related FIDL libraries.- Changes: fxr/1115817
- Bugs: fxb/364628320, fxb/365558387
Tools
The following updates have been made for Tools:
- Added support for adding a vsock device to the emulator and added limited
crosvm engine backend support with serial console and basic boot
functionality.
- Changes: fxr/1115916, fxr/1129861
- Introduced crosvm target for running tests in automation and factored out a
common emulator target for code sharing.
- Changes: fxr/1132052, fxr/1131814
ffx
The following updates have been made for ffx
:
- Added
ffx package archive edit
command to rename packages.- Changes: fxr/1092172
- Improved
ffx component route
to include runners.- Changes: fxr/1134975
- Bugs: fxb/367461258
- Improved output and error handling in
ffx target
commands, including fixes for IPv6 formatting, machine output oftarget echo
, defaulttarget test
issues, and daemonless reconnect.- Changes: fxr/1135507, fxr/1135739, fxr/1132356, fxr/1109499
- Improved the stand-alone functionality of
ffx repository server
:- Updated to use correct repository name with product bundles.
- Added validation for having a target device.
- Fixed product-bundle server registration.
- Updated
ffx repository server
commands to be idempotent. - Added
--product--bundle
option forffx repository server stop
. - Changes: fxr/1125912, fxr/1133672, fxr/1128280, fxr/1129857
- Removed level options from
ffx config set
.- Changes: fxr/1129875
- Added support for adding a vsock device to
ffx emu start
.- Changes: fxr/1115916
- Updated
ffx target repository
commands to be idempotent.- Changes: fxr/1125695, fxr/1125752
- Updated
ffx target repository list
list on-device configuration.- Changes: fxr/1110088
- Updated
ffx target repository deregister
to update the on-device configuration.- Changes: fxr/1121571
- Added
--all
toffx repository remove
.- Changes: fxr/1121995
- Corrected repo name usage with product bundles in
ffx target register
.- Changes: fxr/1133672
fx
The following updates have been made for fx
:
- Added
fx build-profile
command to conditionally collect system profiling data during builds.- Changes: fxr/1131308
UI
The following updates have been made for UI:
- Introduced screensaver protocol for the default window manager.
- Changes: fxr/1109278
- Enabled versioning for
fuchsia.input.*
andfuchsia.ui.*
FIDL libraries. Corrected previous incorrect@available
annotations.- Changes: fxr/1114050
- Bugs: fxb/364628320, fxb/365602422
- Improved input handling: Passed device ID from input pipeline to UI
clients and implemented device ID in input helper with accompanying CTF tests.
- Changes: fxr/1109279, fxr/1109932
- Improved UI testing: Used
logging_event_loop
in test base classes for improved timeout debugging, and updated the virtual keyboard test to use the new C++ FIDL binding. Added a finite timeout and logs to the wait signal in starnix-touch-test.- Changes: fxr/1134652, fxr/1134512, fxr/1128792
WLAN
The following updates have been made for WLAN:
- Improved WLAN client and AP operation reliability by adding timeouts to
lower-layer operations. This addresses hangs in lower layers by adding
timeouts and recovery steps based on the timeouts, enhancing overall
stability.
- Changes: fxr/1131305, fxr/1127889, fxr/1127888, fxr/1127887, fxr/1127886, fxr/1132276
- Fixed unit test dependencies on fuchsia-async ordering.
- Changes: fxr/1130268
- Refactored buffer handling and improved encoding. Refactored the
buffer
andBufferStrategy
implementations, integratedDeltaZigzagSimple8bRleRingBuffer
andDeltaSimple8bRleRingBuffer
, and added support for uncompressed buffers. Default encoding foru64
is nowSimple8bRle
.- Changes: fxr/1125272, fxr/1117778, fxr/1128277, fxr/1122265, fxr/1105613
- Implemented event reactor combinators and enhanced TimeMatrix handling.
Implemented event reactor combinators and added
MockTimeMatrix
for testing. Fixed issues with skipped interval calculations,Tick::start_has_sample
bugs, and unnecessaryTimeMatrix
server future terminations. OutputTimeMatrix
as a data spec for better tooling.- Changes: fxr/1127883, fxr/1122266, fxr/1118062