Releases: DataDog/dd-sdk-ios
1.4.1
1.5.0-alpha1
IMPORTANT! This is an alpha version: public API is likely to change in the next versions
1.4.0
This release brings the Real User Monitoring for iOS apps.
Features
- Added RUM monitoring feature: manual and auto instrumentation for tracking user sessions, interactions, visited
UIViewControllers
, network resources and errors. - Added support for GovCloud endpoints (#235).
- Added single
.set(endpoint:)
API to configure all features at once (#322). - Added
span.setActive()
API for indirect referencingSpans
(#187). - Added
Global.sharedTracer.startRootSpan(...)
API (#236). - Added support for extra user attributes in
Datadog.setUserInfo(...)
(#315). - Added option for logging custom Swift
Errors
withLogger
(#303), solves #276 (thanks @sdejesusF)
Bug Fixes
- Fixed compilation issue for Mac Catalyst (#277), solves #274 (thanks @Hengyu).
- Fixed crash with
serviceName
containing space characters (#317), solves #316 (thanks @philtre). - Fixed issue with data being not uploaded when battery status was undefined (#320).
Improvements
- Tracing auto instrumentation now supports
URLSessionTasks
created with no completion handler (#262). - Extended the allowed characters set for the
environment
setting (#246). - Improved data upload performance (#249).
More in iOS RUM Collection.
1.4.0-beta1
This beta release brings the Real User Monitoring for iOS apps.
Features
- Added RUM monitoring feature: manual and auto instrumentation for tracking user sessions, interactions, visited
UIViewControllers
, network resources and errors. - Added support for GovCloud endpoints (#235).
- Added
span.setActive()
API for indirect referencingSpans
(#187). - Added
Global.sharedTracer.startRootSpan(...)
API (#236).
Bug Fixes
Improvements
- Tracing auto instrumentation now supports
URLSessionTasks
created with no completion handler (#262). - Extended the allowed characters set for the
environment
setting (#246). - Improved data upload performance (#249).
More in iOS RUM Collection guide.
1.3.1
1.3.0
This release brings Distributed Tracing for iOS 🚀.
Features
- By using a new
Tracer
API, it is now possible to send traces to Datadog.
// register the Tracer:
Global.sharedTracer = Tracer.initialize(configuration: configuration)
// start the Span:
let span = Global.sharedTracer.startSpan(operationName: "something I measure")
// finish it when the measured operation is done:
span.finish()
- If you use Datadog instrumentation on the backend, the trace can be propagated across the hosts.
Read more in iOS Trace Collection guide.
1.2.4
1.2.3
1.3.0-beta3
Features
• Auto-Instrumentation for Tracing 🤖
• Tracing for Objective-C 🧓
How to use auto-instrumentation:
Step 1: Set Datadog.Configuration.tracedHosts
to your domains
Step 2: Set tracingEnabled
Step 3: Set Global.sharedTracer
to a Datadog.Tracer
instance
🚀 Your network requests are automatically traced now!
IMPORTANT!
Auto-tracing is disabled by default
If auto-tracing is NOT enabled swizzling does not happen
Enabling auto-tracing by following the steps above results in swizzling URLSession.dataTaskWithURL:completion:
and URLSession.dataTaskWithRequest:completion:
methods.
You can look at how we swizzle methods here and/or what the new implementations of those methods are here and here.
1.3.0-beta2
This beta brings more to Distributed Tracing for iOS apps 🚀.
Features
- The
span.setBaggageItem(key:value:)
is now available (#144). This enables attributes propagation from parentspan
to its children.
Bug Fixes
Upgrade From 1.3.0-beta1
- Starting from
-beta2
, we embed the Open Tracing interfaces inDatadog
module (#154).DDTracer
is renamed toTracer
:
import Datadog
Global.sharedTracer = Tracer.initialize(...)
- This (#154) also means less hassle in
Podfile
as now it only requirespod DatadogSDK
.
More in iOS Trace Collection guide.