What's Changed
Features
- Flags: Add
Flags.Configuration.flagSelectionto load only the flags that match the given tags or key patterns. See #3344 - Flags: Add per-subject experimentation opt-out through
FlagsClient.Configuration.experimentationOptOutMode. Thedd_experimentation_opt_out_atcontext attribute supports.immediateand.futureExperimentsOnlymodes. AddsFlagsError.invalidContextandFlagEvaluationError.invalidContext; exhaustive switches need the new case. Timestamps use proleptic Gregorian dates with UTC year bounds. Filtered responses are rejected when no subject opt-out applies. See #3338
Fixes
- Fix profiler crashes during process-exit cleanup and when memory allocation fails during sample aggregation. See #3419
- Flags: Send
Flags.Configuration.customFlagsHeadersonly tocustomFlagsEndpoint, not to the default Datadog endpoint. See #3442 - Apply Session Replay
textAndInputPrivacyoverrides when maskingUISwitch,UISlider,UIStepper, the selected segment ofUISegmentedControl, and inlineUIDatePicker. These controls previously used only the global privacy level. See #3407 - Merge SDK baggage into existing first-party request headers during Trace URLSession tracking. See #3410
- RUM operation step events now report the active view's name. See #3406
- Avoid a Session Replay crash when Core Image cannot allocate an intermediate buffer. See #3384
- Flags: Return the served value from Double reads, such as
getDoubleValueandgetDoubleDetails, of numeric flags with a whole-number value, for example1. Before, these reads returned the default value with a.typeMismatcherror and logged no exposure. See #3388 - Stop reporting watchdog terminations into a RUM session stopped with
stopSession(). Before, a watchdog termination after the stop was reported in the stopped session's last view. See #3352 - Flags: Stop reporting assignment fetch failures as SDK defects and log them as warnings. See #3307
Improvements
- Send only new or grown slow frames in RUM view updates, and merge consecutive slow frames into one. See #3290
Full Changelog: 3.21.0...3.22.0