Skip to content

Latest 2.30.2 version update - #2

Merged
sbokatuk merged 4 commits into
mainfrom
latest-2-update
Jul 22, 2026
Merged

sbokatuk merged 4 commits into
mainfrom
latest-2-update

Conversation

@sbokatuk

Copy link
Copy Markdown
Owner

No description provided.

sbokatuk and others added 4 commits July 22, 2026 19:10
Moves the native SDK from 2.17.0 to 2.30.2, the last release of the 2.x
line, and binds everything upstream added across those thirteen minor
versions: 29 new types, 17 new enums and 133 new members.

The delta was derived by parsing the -Swift.h header each xcframework
ships and diffing it against 2.17.0's. Objective Sharpie 3.5.116 cannot
be used - its bundled clang fails to parse the module maps in recent iOS
SDKs, and it refuses to bind a framework whose recorded DTSDKName is not
installed. GenerateBindings.sh documents both and now honours $SHARPIE.

Breaking, all upstream:

  * DDSessionReplay and DDSessionReplayConfiguration no longer exist in
    the DatadogObjc namespace; Session Replay lives only in
    DatadogSessionReplay. This also removes the ambiguity that used to
    require an alias when both namespaces were imported.
  * Session Replay privacy is three required settings rather than one
    optional defaultPrivacyLevel. The old form stays bound, deprecated.
  * DDRUMVitalEventVital.details is replaced by four fields.

Fixed: the Session Replay classes switched from SWIFT_CLASS to
SWIFT_CLASS_NAMED in 2.19.0, so their Objective-C runtime name is now
the plain @interface name rather than the mangled Swift symbol - the
binary exports _OBJC_CLASS_$_DDSessionReplay. Carrying the old
[BaseType (Name = ...)] over would have compiled and then failed at
runtime with "the native class hasn't been loaded".

Added, among others: fine-grained Session Replay masking with per-view
overrides and deferred recording, account information, SwiftUI
auto-tracking predicates, DDSite.Ap2, RUM addAttributes/removeAttributes,
backgroundTasksEnabled, trackAnonymousUser, the new RUM view metrics, and
PLCrashReporterConfig.maxReportBytes.

run-simulator-tests.sh now clears the device app's obj/ and bin/. The
native payload is extracted into obj/ and copied into the .app, and
neither step re-runs when the package version is unchanged - so
re-packing a version left the previous build's xcframeworks in the app.
That surfaced here as frameworks loading fine while every Objective-C
class lookup missed.

Verified: 123 package tests, and 20 on-simulator checks against the
packed packages on both net9.0-ios18.0 and net10.0-ios26.0.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@sbokatuk
sbokatuk merged commit c6798e2 into main Jul 22, 2026
5 checks passed
@sbokatuk
sbokatuk deleted the latest-2-update branch July 22, 2026 21:02

This branch was previously deployed

1 inactive deployment
nuget.org — 92c32e05 Deployed Jul 22, 2026 by sbokatuk via publish beta to nuget.org #4
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant