- [FEATURE] Partial RUM View Updates:
- Add the
view_updateJSON schema and refactor shared view properties. See #3287 - Add the
DiffBuilderutility andViewUpdateEventdiff computation. See #3296 - Implement the
view_updateevent pipeline. See #3299 - Add
replay_stats,profiling,page_states,cls, andconfigurationtoViewUpdateEvent._dd. See #3575 - Use
AlwaysFullViewas the defaultRumViewEventWriteConfig. See #3591 - Add periodic full-view checkpoints. See #3677
- Complete the Partial RUM View Updates integration. See #3809
- Add the
- [FEATURE] APM Client-Side Stats:
- Add
statsComputationEnabledtoTraceConfiguration. See #3490 - Add APM client-side stats models and an encoder. See #3487
- Add the
DDSketchimplementation. See #3509 - Create and register a stub for the client stats feature when enabled. See #3523
- Implement client stats aggregation. See #3529
- Integrate the client stats systems into
ClientStatsFeature. See #3564 - Aggregate each trace for stats as a single unit. See #3578
- Disable server-side stats for spans processed by client-side stats. See #3588
- Prevent client stats aggregation without tracking consent. See #3581
- Decrease the client stats flush interval to 30 seconds. See #3599
- Mark sampled-out network spans as droppable while preserving stats. See #3596
- Mark client-side stats APIs with
ExperimentalTraceApi. See #3644 - Complete the APM Client-Side Stats integration. See #3823
- Add
- [FEATURE] Remote Configuration support:
- Add Remote Configuration schemas. See #3605
- Fetch and store Remote Configuration files. See #3610
- Add an
OkHttpcache toRemoteConfigNetworkFetcherfor ETag-based conditional requests. See #3617 - Refresh
RemoteConfigServicewhen the app enters the foreground. See #3650 - Apply Remote Configuration to
RumConfigurationinRum.enable(). See #3656 - Apply Remote Configuration to
SessionReplayConfigurationinSessionReplay.enable(). See #3655 - Apply Remote Configuration to
ProfilingConfigurationinProfiling.enable(). See #3657 - Add
remoteConfigurationIdtoDatadogContextand RUMViewEvent. See #3665 - Apply Remote Configuration to the Trace module when the SDK instance is ready. See #3663
- Update the Remote Configuration schema. See #3686
- Complete the Remote Configuration implementation. See #3761
- Expose
Configuration.Builder.setRemoteConfigurationId(String)as a public API. See #3853
- [FEATURE] Configurable Flags initialization timeout. See #3693
- [BUGFIX] Harden the JVM crash exception handler. See #3769
- [BUGFIX] Allow
StrictModedisk writes while deleting Remote Configuration files. See #3776 - [BUGFIX] Fix
DataUploadScheduler.stopScheduling()behavior. See #3767 - [BUGFIX] Fix
ViewEventMapperidentity handling inRumViewEventWriter. See #3813 - [BUGFIX] Restore accessibility-change deduplication for full
ViewEventwrites. See #3814 - [BUGFIX] Use a sleep-inclusive clock for session timeouts and inactivity. See #3811
- [BUGFIX] Preserve tracking consent in stub SDK contexts. See #3815
- [BUGFIX] Add MAUI to
RumErrorSourceType. See #3830 - [BUGFIX] Discard ANR profiles until upload support is available. See #3847
- [BUGFIX] Use device boot time to compute Profiling duration. See #3848
- [BUGFIX] Fix OpenFeature
Value.Stringserialization during evaluation context conversion. See #3849 - [IMPROVEMENT] Increase the maximum attribute count to 1,900. See #3724
- [IMPROVEMENT] Update the RUM Debug Widget legend. See #3794
- [IMPROVEMENT] Align the
timeseriesAPI with iOS. See #3826 - [MAINTENANCE] Bump
cronetApito version143.7445.0. See #3793