Skip to content

2.30.2.1

Choose a tag to compare

@github-actions github-actions released this 23 Jul 09:44

DatadogNet 2.30.2.1

First release. One cross-platform Datadog API for .NET MAUI, over
DatadogNet.iOS and
DatadogNet.Android.

builder
    .UseMauiApp<App>()
    .UseDatadog(new DatadogConfiguration
    {
        ClientToken     = "…",
        Env             = "production",
        Service         = "my-app",
        TrackingConsent = TrackingConsent.Granted,
        Rum             = new RumOptions { ApplicationId = "…" },
        Logs            = new LogsOptions(),
    });

What is in it

  • RUM — views, actions, resources, errors, custom timings, feature flags, session-wide
    attributes, session control.
  • Logs — six levels, exceptions folded into Datadog's reserved error.* attributes,
    per-logger attributes and tags.
  • Trace — spans, tags, errors, activation scopes, and header injection in the Datadog, B3,
    B3-multi and W3C Trace Context formats.
  • Session Replay — the three privacy levels, defaulting to the most private of each, with the
    Material extension registered automatically on Android.
  • Consent, user and account — including Pending as the default, so an app that has not yet
    asked its user uploads nothing.
  • DatadogNet.CrashReporting and DatadogNet.WebView as opt-in packages.

What DatadogNet.Maui adds

  • RUM views from page navigation, which neither native SDK can do — a MAUI page is not a
    UIViewController and not an Activity.
  • An ILogger provider, so an app that already logs through ILogger<T> needs no call-site changes.
  • Unhandled exceptions and unobserved task exceptions reported as RUM errors while they still have
    their .NET type and managed frames.
  • AddDatadogTracking() on an IHttpClientBuilder, which is how an HttpClient's traffic reaches
    RUM at all.
  • Dependency-injection registrations for every interface, so a view-model can be tested with a
    substitute.

Notes

The version names the iOS line. Datadog releases the two SDKs on separate cadences and their
version numbers have never matched: 2.30.2.1 is dd-sdk-ios 2.30.2 and dd-sdk-android
2.26.3.

Windows and Mac Catalyst restore and no-op. DatadogNet ships platform-neutral net9.0 and
net10.0 assets whose every member is a documented no-op, so a multi-headed MAUI app needs no
conditionals in its code. DatadogNet.Maui is the exception and is mobile-only — see the README.

net8, net9 and net10 — nine target frameworks per package, six for DatadogNet.Maui. The device
checks run against net8 and net10 on both platforms.

net8 does not work for MAUI apps, only for plain .NET Android and .NET iOS ones. A net8 MAUI app
fails during Java callable wrapper generation — XA4204 on
AndroidX.Navigation.NavController/IOnDestinationChangedListener — because MAUI 8 resolves as the
original 8.0.100 and its AndroidX generation does not line up with the Datadog bindings'. MAUI 8 has
also been out of support since 14 May 2025. Target net9 or net10 for MAUI; see the README.

This is the 2.x line of both SDKs. Tracing is OpenTracing-shaped on both platforms, which 3.0
removed; dd-sdk-ios 3.0 additionally deleted the DatadogObjc façade the iOS head is written
against.

The Android floor is 23, not the 21 the .aars declareandroidx.savedstate in the AndroidX
generation they depend on raises it, and the manifest merger takes the maximum. So the usual
argument for staying on 2.x over 3.0 does not hold; the other reasons still do.

Packages

Built against DatadogNet.iOS 2.30.2.2 and DatadogNet.Android 2.26.3.1 — dd-sdk-ios 2.30.2 and dd-sdk-android 2.26.3.

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 2.30.2.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 2.30.2.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 2.30.2.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 2.30.2.1
dotnet add package DatadogNet.Maui --version 2.30.2.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/.