Skip to content

3.14.0.6

Latest

Choose a tag to compare

@github-actions github-actions released this 30 Jul 07:24
a64d1d7

3.14.0.6

A re-pin release: no managed code changes, same API, same native SDKs (dd-sdk-ios 3.14.0,
dd-sdk-android 3.12.1). Both Apple binding pins move to releases that fix defects found by
running the samples on real hardware rather than simulators — one per platform, both invisible
to every simulator/emulator check that had ever run. Android is unchanged
(DatadogNet.Android 3.12.1.3).

iOS apps can build for a real iPhone again

DatadogNet.iOS moves 3.14.0.33.14.0.5. Building any consuming app for a physical device
(ios-arm64) failed at the native link with a wall of
Undefined symbols for architecture arm64: "_OBJC_CLASS_$_DDConfiguration" … while the same
build ran fine on the simulator. The defect is upstream: dd-sdk-ios's prebuilt device slices are
built with a 12.0 deployment target, below which Swift withholds static Objective-C registration
for 41 of the bound classes — every prebuilt archive checked (2.30.2 through 3.14.0) has it, so
every earlier package release fails device links. The binding packages now repair it internally
(generated linker aliases to the classes' exported Swift metadata, plus a pre-main initializer
that realizes them before the registrar can message them), verified end-to-end on a physical
iPhone. Nothing to change in apps; the full story is
docs/device-arm64-missing-objc-class-symbols.md
and the binding release's own notes.

Mac Catalyst apps no longer crash on first Datadog use

DatadogNet.Mac moves 3.14.0.23.14.0.4. Under MAUI's default TrimMode=partial, the
managed-static registrar (.NET 9+'s Catalyst default) silently fails to weave its
__Registrar__ lookup type into some binding assemblies
(dotnet/macios#21636), and the first touch of
an affected assembly died with
Could not find the type 'ObjCRuntime.__Registrar__' in the assembly 'DatadogNet.Logs.Mac'.
The Mac packages now default consuming apps to the classic static registrar — only when the app
has not chosen a Registrar itself — which sidesteps the weaving entirely. Verified on a real
Mac.

Documentation

The device-link investigation write-up joins docs/, and the README's troubleshooting section
gained entries for both crashes above, so the error texts are searchable straight to their
fixes.

Upgrading from 3.14.0.5

-<PackageReference Include="DatadogNet" Version="3.14.0.5" />
+<PackageReference Include="DatadogNet" Version="3.14.0.6" />

Nothing to change beyond the version — the fixes live inside the binding packages the façade
pins. If you had added a direct reference to a newer binding package to get one of these fixes
early, it can come out again: the pins have caught up.

Full changelog: v3.14.0.5...v3.14.0.6

Packages

Built against DatadogNet.iOS 3.14.0.5, DatadogNet.Android 3.12.1.3 and DatadogNet.Mac 3.14.0.4 — dd-sdk-ios 3.14.0 (iOS and, built from source, Mac Catalyst) and dd-sdk-android 3.12.1.

The version names the iOS line, because the 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, net8.0-maccatalyst18.0, net9.0, net9.0-android35.0, net9.0-ios18.0, net9.0-maccatalyst18.0, net10.0, net10.0-android36.0, net10.0-ios26.0, net10.0-maccatalyst26.0 3.14.0.6
DatadogNet.Extensions.DependencyInjection net8.0, net8.0-android34.0, net8.0-ios18.0, net8.0-maccatalyst18.0, net9.0, net9.0-android35.0, net9.0-ios18.0, net9.0-maccatalyst18.0, net10.0, net10.0-android36.0, net10.0-ios26.0, net10.0-maccatalyst26.0 3.14.0.6
DatadogNet.Extensions.Diagnostics net8.0, net8.0-android34.0, net8.0-ios18.0, net8.0-maccatalyst18.0, net9.0, net9.0-android35.0, net9.0-ios18.0, net9.0-maccatalyst18.0, net10.0, net10.0-android36.0, net10.0-ios26.0, net10.0-maccatalyst26.0 3.14.0.6
DatadogNet.CrashReporting net8.0, net8.0-android34.0, net8.0-ios18.0, net8.0-maccatalyst18.0, net9.0, net9.0-android35.0, net9.0-ios18.0, net9.0-maccatalyst18.0, net10.0, net10.0-android36.0, net10.0-ios26.0, net10.0-maccatalyst26.0 3.14.0.6
DatadogNet.WebView net8.0, net8.0-android34.0, net8.0-ios18.0, net8.0-maccatalyst18.0, net9.0, net9.0-android35.0, net9.0-ios18.0, net9.0-maccatalyst18.0, net10.0, net10.0-android36.0, net10.0-ios26.0, net10.0-maccatalyst26.0 3.14.0.6
DatadogNet.Maui net8.0-android34.0, net8.0-ios18.0, net8.0-maccatalyst18.0, net8.0-windows10.0.19041, net9.0-android35.0, net9.0-ios18.0, net9.0-maccatalyst18.0, net9.0-windows10.0.19041, net10.0-android36.0, net10.0-ios26.0, net10.0-maccatalyst26.0, net10.0-windows10.0.19041 3.14.0.6
dotnet add package DatadogNet.Maui --version 3.14.0.6

Licensing

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