Skip to content

3.14.0.2

Choose a tag to compare

@github-actions github-actions released this 24 Jul 09:27
ddfde2b

3.14.0.2

Binding-only release. The native SDK is unchanged — still
dd-sdk-ios 3.14.0, built from source
for Mac Catalyst — and so are the package ids, namespaces and API. The fourth component advances
for the changes below, which came out of a full ergonomics review of the four DatadogNet
repositories.

dSYMs are no longer thrown away

The build always produced dSYMs and then lost them with the temporary directory — and for
Catalyst binaries that Datadog does not publish, they are the only symbolication data that will
ever exist. They now land in libs/dsyms, ride the CI cache with the frameworks, and every
release from this one on carries a dsyms-<version>.zip attachment. Upload it to Datadog to
symbolicate crash reports from apps on these packages.

The fragile seams now fail loudly

  • The pbxproj patches assert they applied. Building dd-sdk-ios for Catalyst requires patching
    SUPPORTS_MACCATALYST and the platform filters in an Xcode-generated project file. Each patch
    now verifies it changed something (or found the already-patched state) and fails naming the
    patch that missed — so an upstream project-file reformat breaks the patch step with a clear
    message instead of the archive step with "unable to resolve module dependency".
  • DatadogOtelVersion is checked, not trusted. The second manually-maintained pin must match
    the OpenTelemetryApi version the checked-out dd-sdk-ios tag records in its Cartfile.resolved;
    a bump that forgets it now fails the build instead of silently building the wrong OTEL.
  • The verbatim-copy invariant is enforced. The binding sources are copies of
    DatadogNet.iOS's; the sync script now records the exact iOS commit it copied from
    (build/ios-bindings-source.txt), and CI's binding-drift job re-runs the sync against that
    commit and fails on any difference — a direct edit here, or a forgotten re-sync, is a red
    build rather than a latent iOS/Catalyst behaviour split.

Synced binding improvements

Re-synced from DatadogNet.iOS (see its 3.14.0.3 notes for the detail): doc summaries on the
main entry types reach IntelliSense here too, the DDLogger null-attributes behaviour is
documented as deliberate — a [NullAllowed] would trade a managed exception for a native crash —
and the trim/AOT analyzers are on with the surface analysing clean.

Smaller improvements

  • nuget.org now shows these notes: docs/release-notes/<version>.md is packed into
    PackageReleaseNotes, with the releases page as fallback.
  • CI fails when the README's versions drift from Directory.Build.props.
  • The tooling copied from DatadogNet.iOS (merge-packages.py, the select-xcode action,
    BuildNugets.sh) no longer carries that repository's comments verbatim: each file now says
    what is true here and marks itself as a keep-in-sync copy.

net8 sunset

Stated policy, so the decision does not persist by inertia: the net8.0-maccatalyst18.0 head is
dropped in the first release after .NET 8 leaves support on 10 November 2026, in step with
DatadogNet.iOS.

Upgrading from 3.14.0.1

Nothing to change: same native SDK, same API.

Full changelog: v3.14.0.1...v3.14.0.2

Packages

Bound against dd-sdk-ios 3.14.0, built from source for Mac Catalyst, targeting net8.0-maccatalyst18.0, net9.0-maccatalyst18.0 and net10.0-maccatalyst26.0.

dsyms-3.14.0.2.zip below carries the dSYMs for these exact binaries - Datadog publishes
no Catalyst builds, so this release is the only place they exist. Upload them to Datadog for
crash symbolication.

The first three components of 3.14.0.2 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.Mac DatadogCore 3.14.0.2
DatadogNet.RUM.Mac DatadogRUM 3.14.0.2
DatadogNet.Logs.Mac DatadogLogs 3.14.0.2
DatadogNet.Trace.Mac DatadogTrace 3.14.0.2
DatadogNet.SessionReplay.Mac DatadogSessionReplay 3.14.0.2
DatadogNet.WebViewTracking.Mac DatadogWebViewTracking 3.14.0.2
DatadogNet.CrashReporting.Mac DatadogCrashReporting 3.14.0.2
DatadogNet.Flags.Mac DatadogFlags 3.14.0.2
DatadogNet.Profiling.Mac DatadogProfiling 3.14.0.2
DatadogNet.Internal.Mac DatadogInternal 3.14.0.2
DatadogNet.OpenTelemetryApi.Mac OpenTelemetryApi 3.14.0.2
dotnet add package DatadogNet.Core.Mac --version 3.14.0.2
dotnet add package DatadogNet.RUM.Mac --version 3.14.0.2

Licensing

The binding code is MIT; the bundled native binaries are Apache-2.0, built from Datadog's sources, and
each package ships both texts under licenses/.