Skip to content

Commit 54a0b6d

Browse files
authored
Merge pull request #2950 from DataDog/hotfix/3.11.1
Release 3.11.1
2 parents d5e75dd + 4687bfb commit 54a0b6d

33 files changed

Lines changed: 583 additions & 50 deletions

CHANGELOG.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Unreleased
22

3+
# 3.11.1 / 28-05-2026
4+
5+
- [FIX] Prevent crash in `TracingURLSessionHandler` when wall-clock adjustments produce an inverted start/end timestamp pair during a tracked URL request. See [#2941][]
6+
- [FIX] Fix `NSInvalidArgumentException` ("unrecognized selector") crash in automatic scroll action tracking when UIKit dispatches a cached delegate method after the original `UIScrollViewDelegate` has been deallocated. See [#2942][].
7+
- [IMPROVEMENT] Add `trackScrollAndSwipeActions` feature flag in RUM configuration to opt out of automatic scroll and swipe action tracking. See [#2944][].
8+
39
# 3.11.0 / 12-05-2026
410

511
- [IMPROVEMENT] Add support for `maui` source for cross-platform RUM events from .NET MAUI applications. See [#2891][]
@@ -1144,6 +1150,9 @@ Release `2.0` introduces breaking changes. Follow the [Migration Guide](MIGRATIO
11441150
[#2856]: https://github.com/DataDog/dd-sdk-ios/pull/2856
11451151
[#2866]: https://github.com/DataDog/dd-sdk-ios/pull/2866
11461152
[#2891]: https://github.com/DataDog/dd-sdk-ios/pull/2891
1153+
[#2941]: https://github.com/DataDog/dd-sdk-ios/pull/2941
1154+
[#2942]: https://github.com/DataDog/dd-sdk-ios/pull/2942
1155+
[#2944]: https://github.com/DataDog/dd-sdk-ios/pull/2944
11471156

11481157
[@00fa9a]: https://github.com/00FA9A
11491158
[@britton-earnin]: https://github.com/Britton-Earnin

Datadog/Datadog.xcodeproj/project.pbxproj

Lines changed: 35 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -401,8 +401,6 @@
401401
61054E8D2A6EE10A00AAA894 /* RUMContextReceiver.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61054E3E2A6EE10A00AAA894 /* RUMContextReceiver.swift */; };
402402
61054E8E2A6EE10A00AAA894 /* SRContextPublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61054E3F2A6EE10A00AAA894 /* SRContextPublisher.swift */; };
403403
61054E8F2A6EE10A00AAA894 /* SegmentRequestBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61054E412A6EE10A00AAA894 /* SegmentRequestBuilder.swift */; };
404-
6AF71E3149694FD0972B41C5 /* RecordingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D0DE1D82F8B4F7FA24BD2C9 /* RecordingController.swift */; };
405-
B5B633BD7EC649AC9F29F246 /* RecordingComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 333D0D8EAED64F559835F384 /* RecordingComponents.swift */; };
406404
61054E942A6EE10A00AAA894 /* TextObfuscator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61054E4A2A6EE10A00AAA894 /* TextObfuscator.swift */; };
407405
61054E952A6EE10A00AAA894 /* SnapshotProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61054E4B2A6EE10A00AAA894 /* SnapshotProcessor.swift */; };
408406
61054E962A6EE10A00AAA894 /* Diff+SRWireframes.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61054E4D2A6EE10A00AAA894 /* Diff+SRWireframes.swift */; };
@@ -678,6 +676,7 @@
678676
61F930CB2BA213AC005F0EE2 /* AppHang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61F930CA2BA213AC005F0EE2 /* AppHang.swift */; };
679677
61FC5F3525CC1898006BB4DE /* CrashContextProviderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61FC5F3425CC1898006BB4DE /* CrashContextProviderTests.swift */; };
680678
6482FB0E2EE885C60042234B /* FlagsClientInternal.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6482FB0D2EE885C20042234B /* FlagsClientInternal.swift */; };
679+
6AF71E3149694FD0972B41C5 /* RecordingController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7D0DE1D82F8B4F7FA24BD2C9 /* RecordingController.swift */; };
681680
770E0BF093842AF7D350E888 /* EvaluationLoggingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDC44AD2847746ED69201F65 /* EvaluationLoggingTests.swift */; };
682681
86092FDE2DEDC6830075D63B /* AccessibilityValuesMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 86092FDC2DEDC6830075D63B /* AccessibilityValuesMock.swift */; };
683682
861FD6862DF2EAED00F59823 /* LocaleInfoPublisherTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 861FD6842DF2EAED00F59823 /* LocaleInfoPublisherTests.swift */; };
@@ -729,6 +728,9 @@
729728
9678E2772E55CD200094B106 /* RUMFeatureOperationManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9678E2752E55CD200094B106 /* RUMFeatureOperationManagerTests.swift */; };
730729
96867B992D08826B004AE0BC /* TextReflectionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96867B982D08826B004AE0BC /* TextReflectionTests.swift */; };
731730
96867B9B2D0883DD004AE0BC /* ColorReflectionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96867B9A2D0883DD004AE0BC /* ColorReflectionTests.swift */; };
731+
968A6CA02FBF2EBD00B87826 /* DDForwardingProxyBase.m in Sources */ = {isa = PBXBuildFile; fileRef = 968A6C9F2FBF2EBD00B87826 /* DDForwardingProxyBase.m */; };
732+
968A6CAB2FBF2FB100B87826 /* DDForwardingProxyBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 968A6CA92FBF2FB100B87826 /* DDForwardingProxyBase.h */; settings = {ATTRIBUTES = (Public, ); }; };
733+
968A6CAD2FBF3DEF00B87826 /* DatadogRUM.h in Headers */ = {isa = PBXBuildFile; fileRef = 968A6CAC2FBF3DEF00B87826 /* DatadogRUM.h */; settings = {ATTRIBUTES = (Public, ); }; };
732734
969B3B212C33F80500D62400 /* UIActivityIndicatorRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = 969B3B202C33F80500D62400 /* UIActivityIndicatorRecorder.swift */; };
733735
969B3B232C33F81E00D62400 /* UIActivityIndicatorRecorderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 969B3B222C33F81E00D62400 /* UIActivityIndicatorRecorderTests.swift */; };
734736
96CD20652ED4808900B4686E /* URLSessionTaskStateSwizzler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96CD20632ED4808900B4686E /* URLSessionTaskStateSwizzler.swift */; };
@@ -792,6 +794,7 @@
792794
B202DBC9FC73EEF0D237D306 /* HeatmapIdentifierComputationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 42F610A698379D300D06E515 /* HeatmapIdentifierComputationTests.swift */; };
793795
B3E46CAB2D91B3AD00BABF66 /* NetworkContextProvider.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3E46CAA2D91B3A400BABF66 /* NetworkContextProvider.swift */; };
794796
B3E46CAE2D91B40000BABF66 /* NetworkContext.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3E46CAD2D91B3FC00BABF66 /* NetworkContext.swift */; };
797+
B5B633BD7EC649AC9F29F246 /* RecordingComponents.swift in Sources */ = {isa = PBXBuildFile; fileRef = 333D0D8EAED64F559835F384 /* RecordingComponents.swift */; };
795798
CD91654B77EEEB08CD20B3B0 /* HeatmapIdentifierStoreTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDC78B982F5C5B87E754DF44 /* HeatmapIdentifierStoreTests.swift */; };
796799
D2056C212BBFE05A0085BC76 /* WireframesBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D2056C202BBFE05A0085BC76 /* WireframesBuilderTests.swift */; };
797800
D20605A3287464F40047275C /* ContextValuePublisher.swift in Sources */ = {isa = PBXBuildFile; fileRef = D20605A2287464F40047275C /* ContextValuePublisher.swift */; };
@@ -1939,6 +1942,7 @@
19391942
269035A12E41F93F00F1A830 /* UserConfigurationContextMocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UserConfigurationContextMocks.swift; sourceTree = "<group>"; };
19401943
269035A42E41FAA500F1A830 /* AccountConfigurationContextMocks.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccountConfigurationContextMocks.swift; sourceTree = "<group>"; };
19411944
2B6A3B154836FEB32C07EB50 /* EvaluationAggregator.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = EvaluationAggregator.swift; sourceTree = "<group>"; };
1945+
333D0D8EAED64F559835F384 /* RecordingComponents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecordingComponents.swift; sourceTree = "<group>"; };
19421946
3C08F9CF2C2D652D002B0FF2 /* Storage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Storage.swift; sourceTree = "<group>"; };
19431947
3C0CB3442C19A1ED003B0E9B /* WatchdogTerminationReporter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WatchdogTerminationReporter.swift; sourceTree = "<group>"; };
19441948
3C0D5DD62A543B3B00446CF9 /* Event.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Event.swift; sourceTree = "<group>"; };
@@ -2103,8 +2107,6 @@
21032107
61054E382A6EE10A00AAA894 /* ViewTreeRecordingContext.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewTreeRecordingContext.swift; sourceTree = "<group>"; };
21042108
61054E392A6EE10A00AAA894 /* NodeIDGenerator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NodeIDGenerator.swift; sourceTree = "<group>"; };
21052109
61054E3A2A6EE10A00AAA894 /* WindowViewTreeSnapshotProducer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WindowViewTreeSnapshotProducer.swift; sourceTree = "<group>"; };
2106-
333D0D8EAED64F559835F384 /* RecordingComponents.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecordingComponents.swift; sourceTree = "<group>"; };
2107-
7D0DE1D82F8B4F7FA24BD2C9 /* RecordingController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecordingController.swift; sourceTree = "<group>"; };
21082110
61054E3C2A6EE10A00AAA894 /* SessionReplayFeature.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SessionReplayFeature.swift; sourceTree = "<group>"; };
21092111
61054E3E2A6EE10A00AAA894 /* RUMContextReceiver.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RUMContextReceiver.swift; sourceTree = "<group>"; };
21102112
61054E3F2A6EE10A00AAA894 /* SRContextPublisher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SRContextPublisher.swift; sourceTree = "<group>"; };
@@ -2511,6 +2513,7 @@
25112513
61FF9A4425AC5DEA001058CC /* ViewIdentifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewIdentifier.swift; sourceTree = "<group>"; };
25122514
6482FB0D2EE885C20042234B /* FlagsClientInternal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FlagsClientInternal.swift; sourceTree = "<group>"; };
25132515
6FE4202BC457504AC37A51D6 /* HeatmapIdentifier.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeatmapIdentifier.swift; sourceTree = "<group>"; };
2516+
7D0DE1D82F8B4F7FA24BD2C9 /* RecordingController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RecordingController.swift; sourceTree = "<group>"; };
25142517
86092FDC2DEDC6830075D63B /* AccessibilityValuesMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AccessibilityValuesMock.swift; sourceTree = "<group>"; };
25152518
861FD6842DF2EAED00F59823 /* LocaleInfoPublisherTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocaleInfoPublisherTests.swift; sourceTree = "<group>"; };
25162519
861FD6872DF3366400F59823 /* LocaleInfo.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocaleInfo.swift; sourceTree = "<group>"; };
@@ -2560,6 +2563,9 @@
25602563
9678E2752E55CD200094B106 /* RUMFeatureOperationManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RUMFeatureOperationManagerTests.swift; sourceTree = "<group>"; };
25612564
96867B982D08826B004AE0BC /* TextReflectionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TextReflectionTests.swift; sourceTree = "<group>"; };
25622565
96867B9A2D0883DD004AE0BC /* ColorReflectionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ColorReflectionTests.swift; sourceTree = "<group>"; };
2566+
968A6C9F2FBF2EBD00B87826 /* DDForwardingProxyBase.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DDForwardingProxyBase.m; sourceTree = "<group>"; };
2567+
968A6CA92FBF2FB100B87826 /* DDForwardingProxyBase.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DDForwardingProxyBase.h; sourceTree = "<group>"; };
2568+
968A6CAC2FBF3DEF00B87826 /* DatadogRUM.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = DatadogRUM.h; path = TargetSupport/DatadogRUM/DatadogRUM.h; sourceTree = SOURCE_ROOT; };
25632569
969B3B202C33F80500D62400 /* UIActivityIndicatorRecorder.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIActivityIndicatorRecorder.swift; sourceTree = "<group>"; };
25642570
969B3B222C33F81E00D62400 /* UIActivityIndicatorRecorderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIActivityIndicatorRecorderTests.swift; sourceTree = "<group>"; };
25652571
96CD20632ED4808900B4686E /* URLSessionTaskStateSwizzler.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = URLSessionTaskStateSwizzler.swift; sourceTree = "<group>"; };
@@ -3495,7 +3501,6 @@
34953501
isa = PBXGroup;
34963502
children = (
34973503
11A2F2482E70CC08006EDC52 /* FrameInfoProvider.swift */,
3498-
11A2F2492E70CC08006EDC52 /* MediaTimeProvider.swift */,
34993504
);
35003505
path = Providers;
35013506
sourceTree = "<group>";
@@ -4351,6 +4356,7 @@
43514356
61133B78242393DE00786299 = {
43524357
isa = PBXGroup;
43534358
children = (
4359+
968A6C9E2FBF2E5700B87826 /* DatadogRUMPrivate */,
43544360
61133B9C2423979B00786299 /* DatadogCore */,
43554361
9E68FB52244707FD0013A8AA /* DatadogPrivate */,
43564362
61133C122423990D00786299 /* DatadogCoreTests */,
@@ -5691,6 +5697,25 @@
56915697
path = Resources;
56925698
sourceTree = "<group>";
56935699
};
5700+
968A6C9E2FBF2E5700B87826 /* DatadogRUMPrivate */ = {
5701+
isa = PBXGroup;
5702+
children = (
5703+
968A6CAA2FBF2FB100B87826 /* include */,
5704+
968A6C9F2FBF2EBD00B87826 /* DDForwardingProxyBase.m */,
5705+
);
5706+
name = DatadogRUMPrivate;
5707+
path = ../DatadogRUM/Private;
5708+
sourceTree = "<group>";
5709+
};
5710+
968A6CAA2FBF2FB100B87826 /* include */ = {
5711+
isa = PBXGroup;
5712+
children = (
5713+
968A6CAC2FBF3DEF00B87826 /* DatadogRUM.h */,
5714+
968A6CA92FBF2FB100B87826 /* DDForwardingProxyBase.h */,
5715+
);
5716+
path = include;
5717+
sourceTree = "<group>";
5718+
};
56945719
9E06058F26EF904200F5F935 /* LongTasks */ = {
56955720
isa = PBXGroup;
56965721
children = (
@@ -6065,6 +6090,7 @@
60656090
D23039BC298D5235001A1FA3 /* DeviceInfo.swift */,
60666091
D23039BE298D5235001A1FA3 /* LaunchInfo.swift */,
60676092
861FD6872DF3366400F59823 /* LocaleInfo.swift */,
6093+
11A2F2492E70CC08006EDC52 /* MediaTimeProvider.swift */,
60686094
D23039B9298D5235001A1FA3 /* NetworkConnectionInfo.swift */,
60696095
11B5439E2DE9C40B006F6C0A /* OperatingSystem+Utils.swift */,
60706096
D23039B8298D5235001A1FA3 /* Sysctl.swift */,
@@ -6831,6 +6857,8 @@
68316857
isa = PBXHeadersBuildPhase;
68326858
buildActionMask = 2147483647;
68336859
files = (
6860+
968A6CAD2FBF3DEF00B87826 /* DatadogRUM.h in Headers */,
6861+
968A6CAB2FBF2FB100B87826 /* DDForwardingProxyBase.h in Headers */,
68346862
);
68356863
runOnlyForDeploymentPostprocessing = 0;
68366864
};
@@ -8526,6 +8554,7 @@
85268554
D22F06D729DAFD500026CC3C /* FixedWidthInteger+Convenience.swift in Sources */,
85278555
3C08F9D02C2D652D002B0FF2 /* Storage.swift in Sources */,
85288556
D23039E5298D5236001A1FA3 /* DateProvider.swift in Sources */,
8557+
11A2F24B2E70CC08006EDC52 /* MediaTimeProvider.swift in Sources */,
85298558
861FD6892DF3366400F59823 /* LocaleInfo.swift in Sources */,
85308559
D23039E0298D5235001A1FA3 /* DatadogCoreProtocol.swift in Sources */,
85318560
D27465812E7B1C4D00C47FE2 /* ProfilingMessages.swift in Sources */,
@@ -8850,6 +8879,7 @@
88508879
D29A9F5C29DD85BB005C54A4 /* RUMSessionScope.swift in Sources */,
88518880
A7E6EA822D3146AD00997201 /* AnonymousIdentifierManager.swift in Sources */,
88528881
D29A9F6629DD85BB005C54A4 /* RUMUser.swift in Sources */,
8882+
968A6CA02FBF2EBD00B87826 /* DDForwardingProxyBase.m in Sources */,
88538883
D29A9F8229DD85BB005C54A4 /* UIKitRUMUserActionsPredicate.swift in Sources */,
88548884
3C5CD8CD2C3ECB9400B12303 /* MemoryWarningReporter.swift in Sources */,
88558885
D29A9F8E29DD8665005C54A4 /* SwiftUIExtensions.swift in Sources */,
@@ -8867,7 +8897,6 @@
88678897
AA0001012A000002000B0001 /* UIScrollViewDelegateProxy.swift in Sources */,
88688898
AA0001012A000001000B0001 /* RUMScrollHandler.swift in Sources */,
88698899
11A2F24A2E70CC08006EDC52 /* FrameInfoProvider.swift in Sources */,
8870-
11A2F24B2E70CC08006EDC52 /* MediaTimeProvider.swift in Sources */,
88718900
D29A9F5229DD85BB005C54A4 /* RUMUUIDGenerator.swift in Sources */,
88728901
61DCC84E2C071DCD00CB59E5 /* TelemetryInterceptor.swift in Sources */,
88738902
4062CCAEB02C9EEF6761F4F8 /* HeatmapIdentifierStore.swift in Sources */,
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/*
2+
* Unless explicitly stated otherwise all files in this repository are licensed under the Apache License Version 2.0.
3+
* This product includes software developed at Datadog (https://www.datadoghq.com/).
4+
* Copyright 2019-Present Datadog, Inc.
5+
*/
6+
7+
#import <Foundation/Foundation.h>
8+
9+
//! Project version number for DatadogRUM.
10+
FOUNDATION_EXPORT double DatadogRUMVersionNumber;
11+
12+
//! Project version string for DatadogRUM.
13+
FOUNDATION_EXPORT const unsigned char DatadogRUMVersionString[];
14+
15+
#import "DDForwardingProxyBase.h"

DatadogCore.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "DatadogCore"
3-
s.version = "3.11.0"
3+
s.version = "3.11.1"
44
s.summary = "Official Datadog Swift SDK for iOS."
55

66
s.homepage = "https://www.datadoghq.com"
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
// GENERATED FILE: Do not edit directly
22

3-
internal let __sdkVersion = "3.11.0"
3+
internal let __sdkVersion = "3.11.1"

DatadogCrashReporting.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "DatadogCrashReporting"
3-
s.version = "3.11.0"
3+
s.version = "3.11.1"
44
s.summary = "Official Datadog Crash Reporting SDK for iOS."
55

66
s.homepage = "https://www.datadoghq.com"

DatadogFlags.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "DatadogFlags"
3-
s.version = "3.11.0"
3+
s.version = "3.11.1"
44
s.summary = "Official Datadog Feature Flags module of the Swift SDK."
55

66
s.homepage = "https://www.datadoghq.com"

DatadogInternal.podspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
Pod::Spec.new do |s|
22
s.name = "DatadogInternal"
3-
s.version = "3.11.0"
3+
s.version = "3.11.1"
44
s.summary = "Datadog Internal Package. This module is not for public use."
55

66
s.homepage = "https://www.datadoghq.com"

DatadogRUM/Sources/RUMVitals/RenderLoop/Providers/MediaTimeProvider.swift renamed to DatadogInternal/Sources/Context/MediaTimeProvider.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ import QuartzCore
1010
#endif
1111

1212
/// Provides current media uptime.
13+
/// Media uptime is a monotonic clock value, expressed in seconds, that is **not** affected by
14+
/// wall-clock corrections (NTP, DST, manual changes). Only deltas between two readings carry
15+
/// meaning — the absolute value is implementation-defined. Use this provider in combination
16+
/// with a `DateProvider` whenever you need a duration that must be `>= 0` regardless of
17+
/// wall-clock adjustments.
1318
public protocol CACurrentMediaTimeProvider: Sendable {
1419
/// Current media uptime.
1520
var current: CFTimeInterval { get }

0 commit comments

Comments
 (0)