3.14.0.2
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_MACCATALYSTand 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". DatadogOtelVersionis checked, not trusted. The second manually-maintained pin must match
the OpenTelemetryApi version the checked-out dd-sdk-ios tag records in itsCartfile.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'sbinding-driftjob 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>.mdis 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, theselect-xcodeaction,
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.2are 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/.