Skip to content

3.14.0.1

Choose a tag to compare

@github-actions github-actions released this 23 Jul 10:15

DatadogNet 3.14.0.1

Moves to the 3.x line of both native SDKs — dd-sdk-ios 3.14.0 and dd-sdk-android 3.12.1.

Your code does not change. Datadog.Initialize, DatadogConfiguration and every options type,
IRumMonitor, IDatadogLogs, IDatadogLogger, IDatadogTracer, IDatadogSpan, ISessionReplay,
DatadogHttpMessageHandler and all of DatadogNet.Maui are unchanged. Upgrading from 2.30.2.1 is
a version bump.

That is the point of the façade, and this release is the first evidence of it: underneath, one SDK
replaced its entire tracing API and the other redistributed its whole Objective-C surface across ten
namespaces, and the same twenty device checks pass on both platforms without a line changing.

What moved underneath

Android — dd-sdk-android 3.0 removed OpenTracing and AndroidTracer. Tracing is now
DatadogTracing.NewTracerBuilder(core) and GlobalDatadogTracer, over DatadogSpan. The façade's
Android tracer was rewritten, and got better in the process:

  • DatadogSpan has real SetError, SetErrorMessage and LogErrorMessage, where
    io.opentracing.Span had none and the façade spelled out Datadog's four-log-field convention by
    hand.
  • Trace and span ids are typed and readable — a 128-bit DatadogTraceId and a long.
  • SetTag has typed overloads, so a numeric tag no longer needs a Java.Lang.Double.
  • Header injection still needs a shim, but for a new reason: the setter is a Kotlin
    (C, String, String) -> Unit, which C# cannot express as a lambda. In 2.x the trap was a carrier
    the marshaller copied. Both ended with a request going out untraced.

iOS — dd-sdk-ios 3.0 dissolved DatadogObjc. The DD* types moved into the module they belong
to, so the façade takes five package references and five using directives where it took one.
DDSite.Us1, DDTrackingConsent.Granted, DDRUMMonitor.Shared and OTSpan.SetActive became
methods; verbosity moved to DDDatadog.SetVerbosityLevel(DDCoreLoggerLevel). OpenTracing survives in
the Objective-C layer, so IDatadogSpan is still one interface over both platforms.

The crash engine is KSCrash rather than PLCrashReporter, and DatadogNet.CrashReporting no longer
carries a separate CrashReporter dependency.

Not exposed, and why

  • DatadogNet.Flags.iOS and DatadogNet.Profiling.iOS ship the frameworks but expose no
    callable API — upstream has not projected them into Objective-C. There is nothing to bind and
    nothing for the façade to call.
  • Feature operations (StartOperation, SucceedOperation, FailOperation) and
    TrackMemoryWarnings are iOS-only so far. Reachable through ConfigureNative.

Notes

docs/upgrade-to-3x.md is the full analysis — what moved, what the façade
gained, what each 2.x convenience shim is still doing and which upstream member would replace it.

Target frameworks are unchanged: net8, net9 and net10, each with its -android and -ios head, and
DatadogNet.Maui the six platform ones. The net8 caveats are unchanged too — see the README.

Android's minimum is API 23, now declared honestly by the .aar itself rather than being forced
up from 21 by the AndroidX graph.

Full changelog: v2.30.2.1...v3.14.0.1

Packages

Built against DatadogNet.iOS 3.14.0.1 and DatadogNet.Android 3.12.1.1 — dd-sdk-ios 3.14.0 and dd-sdk-android 3.12.1.

The version names the iOS line, because the two native SDKs are released on
separate cadences and never share a version number. The fourth component is this
repository's own revision.

Package Target frameworks NuGet
DatadogNet net8.0, net8.0-android34.0, net8.0-ios18.0, net9.0, net9.0-android35.0, net9.0-ios18.0, net10.0, net10.0-android36.0, net10.0-ios26.0 3.14.0.1
DatadogNet.CrashReporting net8.0, net8.0-android34.0, net8.0-ios18.0, net9.0, net9.0-android35.0, net9.0-ios18.0, net10.0, net10.0-android36.0, net10.0-ios26.0 3.14.0.1
DatadogNet.WebView net8.0, net8.0-android34.0, net8.0-ios18.0, net9.0, net9.0-android35.0, net9.0-ios18.0, net10.0, net10.0-android36.0, net10.0-ios26.0 3.14.0.1
DatadogNet.Maui net8.0-android34.0, net8.0-ios18.0, net9.0-android35.0, net9.0-ios18.0, net10.0-android36.0, net10.0-ios26.0 3.14.0.1
dotnet add package DatadogNet.Maui --version 3.14.0.1

Licensing

The code in this repository is MIT. It depends on DatadogNet.iOS and
DatadogNet.Android, whose packages ship native binaries built and published by
Datadog under Apache-2.0. Each package declares MIT AND Apache-2.0 and ships
both texts under licenses/.