Skip to content

3.15.0.1

Latest

Choose a tag to compare

@github-actions github-actions released this 21 Aug 10:37

What's changed

Native upgrade: the packages now bind
dd-sdk-ios 3.15.0, up from 3.14.0.

Package versions are <dd-sdk-ios version>.<binding revision>. 3.15.0.1 is dd-sdk-ios
3.15.0, binding revision 1. The fourth component belongs to this repository and advances when
the bindings or packaging change while the native binaries stay put.

The bound Objective-C surface moved by exactly one member, so this is close to a version bump —
but not quite one, because that member is a new datacenter and an app on it could not have been
configured before.

DDSite.Uk1() — the UK1 datacenter

Datadog's UK1 site is now reachable:

var configuration = new DDConfiguration(clientToken: "<CLIENT_TOKEN>", env: "production")
{
    Site = DDSite.Uk1(),
};

DDSite is a class of static factory methods, so it is DDSite.Uk1(), not a constant. The full
set is now Us1(), Us3(), Us5(), Eu1(), Ap1(), Ap2(), Uk1(), Us1_fed(),
Us2_fed().

Everything else upstream changed, without changing the API

None of these needed a binding change — they are behaviour inside the native binaries the
packages carry, so an app gets them by moving to 3.15.0.1:

  • Session Replay captures more faithfully — visual effects, embedded content and gradients.
  • KSCrash is bumped to 2.5.1 inside DatadogCrashReporting.
  • WebView tracing no longer drops early requests. onSessionStart now fires only once the
    sampling information WebView Tracking depends on is in place.
  • onSessionStart no longer crashes in Swift 6 projects — not reachable from C#, but it is in
    the same binary.
  • WebView RUM ddtags are merged by key, so duplicate keys stop appearing.

Upstream's own notes are the reference:
3.14.0…3.15.0.

How the surface was checked

./build/DiffSwiftHeaders.sh against the 3.14.0 headers reports one framework changed
(DatadogCore) and one added line in it — + (DDSite * _Nonnull)uk1. The other nine frameworks
that ship a generated Objective-C header are byte-identical in it, so their committed
ApiDefinitions.cs files are still exact. OpenTelemetryApi is outside that comparison — it
ships no -Swift.h — and is unmoved anyway: 3.15.0 pins the same OpenTelemetryApi release 3.14.0
did.

./build/GenerateDeviceClassAliases.sh was re-run against the 3.15.0 binaries, as the upgrade
checklist requires. It finds the same 41 classes, under the same Swift mangled names, so
build/device-class-aliases/ is unchanged and the device-link repair from 3.14.0.5 carries over
untouched.

Upgrading from 3.14.0.5

-<PackageReference Include="DatadogNet.RUM.iOS" Version="3.14.0.5" />
+<PackageReference Include="DatadogNet.RUM.iOS" Version="3.15.0.1" />

Nothing else to change. No type moved, nothing was removed or renamed, and the package set is the
same; all packages move together as they depend on each other at an exact version.

Full changelog: v3.14.0.5...v3.15.0.1

Packages

Bound against dd-sdk-ios 3.15.0, targeting net8.0-ios18.0, net9.0-ios18.0 and net10.0-ios26.0.

The first three components of 3.15.0.1 are the dd-sdk-ios version; the fourth is this
repository's binding revision, which advances when the bindings or packaging change while
the native binaries stay put.

Package Wraps NuGet
DatadogNet.Core.iOS DatadogCore 3.15.0.1
DatadogNet.RUM.iOS DatadogRUM 3.15.0.1
DatadogNet.Logs.iOS DatadogLogs 3.15.0.1
DatadogNet.Trace.iOS DatadogTrace 3.15.0.1
DatadogNet.SessionReplay.iOS DatadogSessionReplay 3.15.0.1
DatadogNet.WebViewTracking.iOS DatadogWebViewTracking 3.15.0.1
DatadogNet.CrashReporting.iOS DatadogCrashReporting 3.15.0.1
DatadogNet.Flags.iOS DatadogFlags 3.15.0.1
DatadogNet.Profiling.iOS DatadogProfiling 3.15.0.1
DatadogNet.Internal.iOS DatadogInternal 3.15.0.1
DatadogNet.OpenTelemetryApi.iOS OpenTelemetryApi 3.15.0.1
DatadogNet.Objc.iOS (compatibility meta-package) 3.15.0.1
dotnet add package DatadogNet.Core.iOS --version 3.15.0.1
dotnet add package DatadogNet.RUM.iOS --version 3.15.0.1

Licensing

The binding code is MIT; the bundled native binaries are Apache-2.0, as built and
published by Datadog. Each package ships both texts under licenses/.