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_listenerto fix usage-validation bugs and address clang-tidy issues.- Changes: fxr/1130266
- Updated
audio_device_registryservice to add Inspect logging of power state changes.- Changes: fxr/1112852
- Updated
aml-g12-tdmdriver 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-idsoftware assembly config, and implemented a default device configuration implemented. Thebt-device-idprofile is not enabled by default.- Changes: fxr/1126889, fxr/1108021
- Enhanced
bt-rfcommto 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 basicServerSupportedFeaturessupport, 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-hostandbt-hci-virtualto prebuilts, and deleted source code. Thebt-hostprebuilt 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-hfpwith 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_codeandevent_codelimited 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
BuiltinProgramtype, 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_fscalls, 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.cmlentries 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 logtool 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
DebuggedJobabstraction and used it forRootJob, simplifying job attachments and exception monitoring. Moved exception record retrieval to theExceptionobject for better consistency.- Changes: fxr/1136252, fxr/1132532, fxr/1134738
- Added integer format setting. Allows persistent formatting of integers in
printandlocalscommands.- Changes: fxr/1127152
- Bugs: fxb/369778038
- Improved
step_plttest. Removed unnecessary dependencies in thestep_plte2e 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_memoryconfig, and replaced direct calls tozx_clock_get_monotonicwith higher-level abstractions.- Changes: fxr/1132856, fxr/1129834, fxr/1115919
- Improved debugging. Prints UTC time in
ffx logwhen 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
DriverServerand aDrivertrait, 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_drivertemplate 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, andDriverLoadArgsare passed toDriverHost::StartWithDynamicLinker. The node client is now passed toDynamicLinkerDriverHostComponent::Start, and the dynamic linkingStartRootDrivertest helper is refactored for reusability.DynamicLinkerDriverHostComponent Startis 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.
ScopedGlobalLoggeradded to the SDK for simplified driver testing. Shared libraries are included indriver_test_realm.driver_test_realmcode cleaned up. Trace routing from void removed indriver_test_realm.DriverRunnerTestparameterized for dynamic and legacy path testing.driver_test_realmmigrated 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::threadlogic moved fromdriver_managertodriver_loader. The exposed directory is passed to the started driver host component. DriverStartArgs are now created and passed from the node.LoadDriverHostnow 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::MetadataServernow serves its metadata FIDL service tofdf::OutgoingDirectory. Dependency tokens were removed fromElementSchema. A shared FIDLFakeElementControlis available for the power framework.sdk_*build templates are no longer used in the DDK.fdf::testingnow 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_timeandfuchsia_zircontypes, added conversion traits forzx::basic_timein C++ bindings, support for encoding and decoding{Boot,Monotonic}Instantandzx::basic_timein 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
MaybeAliastoMaybeFromAliasin 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_closedto zx Rust FIDL bindings.- Changes: fxr/1122252
- Renamed
fuchsia.device.managerFIDL 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_BOOTto 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-wideflag toffx profiler attachfor 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
CpuElementManagerserver, allowing storage drivers to integrate with the power topology graph. Added thwait_for_suspending_tokenconfig 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 aPOWERenum 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
MonotonicDurationinstead ofDurationin zx Rust, aliasDurationasMonotonicDurationin Zircon Rust, renamedTimetoInstant, renamedSyntheticTimetoSyntheticInstant, renamedBootTimetoBootInstant, renamedMonotonicTimetoMonotonicInstant, and renameBoot/MonotonicTimetoInstantin 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
.rustdocsubtarget for all Rust target types (except dylib + cdylib).- Changes: fxr/1097685
- Added support for
rustc_cdylibloadable_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
SetUpgradableUrlsAPI 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 (
listandshowsubcommands).- 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_NEWUTSflag and FUSE BPF program loading.- Changes: fxr/1137816, fxr/1131212
- Added a new Unix Domain Socket implementation, based on the
binder.fidlprotocol, which enables inter-process communication and file descriptor passing between Fuchsia and Linux programs within Starnix.- Changes: fxr/1129552
- Implemented
io_uring_setupand basic read/write operations forio_uring, enabling theio_uring01test to pass.- Changes: fxr/1127556, fxr/1129235
- Implemented stubs for missing futex commands.
- Changes: fxr/1104457
- Added the
/proc/sys/kernel/cap_last_capfile.- 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
chownvalidation logic.- Changes: fxr/1126033
Testing
The following updates have been made for Testing:
- Improved the
fxtesttool, including support for variables like$FUCHSIA_OUTin 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-artifactsflag prevents clobbering of previous test outputs.- Changes: fxr/1126534, fxr/1125776, fxr/1115679
- Introduced
honeydew_configinpython_mobly_testto consolidate Honeydew configuration information, simplifying the process of adding new configurations.- Changes: fxr/1118514
- Added support for
ssh_keepalive_timeoutFFX 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 editcommand to rename packages.- Changes: fxr/1092172
- Improved
ffx component routeto include runners.- Changes: fxr/1134975
- Bugs: fxb/367461258
- Improved output and error handling in
ffx targetcommands, including fixes for IPv6 formatting, machine output oftarget echo, defaulttarget testissues, 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 servercommands to be idempotent. - Added
--product--bundleoption 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 repositorycommands to be idempotent.- Changes: fxr/1125695, fxr/1125752
- Updated
ffx target repository listlist on-device configuration.- Changes: fxr/1110088
- Updated
ffx target repository deregisterto update the on-device configuration.- Changes: fxr/1121571
- Added
--alltoffx 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-profilecommand 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@availableannotations.- 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_loopin 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
bufferandBufferStrategyimplementations, integratedDeltaZigzagSimple8bRleRingBufferandDeltaSimple8bRleRingBuffer, and added support for uncompressed buffers. Default encoding foru64is 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
MockTimeMatrixfor testing. Fixed issues with skipped interval calculations,Tick::start_has_samplebugs, and unnecessaryTimeMatrixserver future terminations. OutputTimeMatrixas a data spec for better tooling.- Changes: fxr/1127883, fxr/1122266, fxr/1118062