You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
## Summary of changes
Migrate native dependency from DataDog/libdatadog to
DataDog/libdatadog-dotnet v1.3.5.
## Reason for change
libdatadog-dotnet is a .NET-specific distribution of libdatadog with a
minimal feature preset tailored to the needs of the .NET tracer
(`profiling`, `crashtracker`, `symbolizer`, `library-config`), resulting
in smaller binaries and a more focused build. It drops the FFI modules
the tracer doesn't use (`data-pipeline`, `log`, `telemetry`, `ddsketch`,
`ffe`).
## Implementation details
- Updated build/cmake/FindLibdatadog.cmake: version, download URLs, and
SHA256 hashes for all 6 Linux/macOS platform variants
- Updated build/vcpkg_local_ports/libdatadog/portfile.cmake: download
URL and SHA512 hashes for both Windows variants (x64, x86)
- Updated build/vcpkg_local_ports/libdatadog/vcpkg.json: version string
to 1.3.5
All download URLs changed from github.com/DataDog/libdatadog to
github.com/DataDog/libdatadog-dotnet.
## Test coverage
No test changes — this is a dependency version/source update. Existing
CI builds and native profiler tests validate the binary compatibility.
The v1.3.5 artifacts were additionally verified against official
libdatadog v32.0.0 across all 8 platforms: identical package layout and
headers, and the exported symbol set is a strict subset (only the
intentionally-dropped feature symbols differ — no
profiling/crashtracker/library-config/common symbol is missing).
## Other details
<!-- Fixes #{issue} -->
<!-- ⚠️ Note:
Where possible, please obtain 2 approvals prior to merging. Unless
CODEOWNERS specifies otherwise, for external teams it is typically best
to have one review from a team member, and one review from apm-dotnet.
Trivial changes do not require 2 reviews.
MergeQueue is NOT enabled in this repository. If you have write access
to the repo, the PR has 1-2 approvals (see above), and all of the
required checks have passed, you can use the Squash and Merge button to
merge the PR. If you don't have write access, or you need help, reach
out in the #apm-dotnet channel in Slack.
-->
---------
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Where `<VERSION>` is without the `v` prefix (e.g. `33.0.0`).
83
+
Where `<VERSION>` is without the `v` prefix (e.g. `1.3.5`).
73
84
74
85
The release notes contain:
75
86
-**SHA256 checksums** section → for `FindLibdatadog.cmake` (6 Linux/macOS artifacts)
@@ -110,10 +121,16 @@ These don't contain version strings but may need refreshing after a bump if the
110
121
111
122
CI will fail if the symbol list changes — re-run the Alpine symbol validation step and accept the new snapshot.
112
123
124
+
Because libdatadog-dotnet ships a reduced feature set (no `data-pipeline`, `log`, `telemetry`,
125
+
`ddsketch`, or `ffe`), its exported symbols are a strict subset of upstream libdatadog — so these
126
+
snapshots reflect that smaller set. The glibc cap in `Build.Profiler.Steps.cs`
127
+
(`libdatadog_profiling` ≤ 2.15 on x64, ≤ 2.17 on arm64) still applies and is unchanged by the source
128
+
switch — libdatadog-dotnet x64 builds are capped at GLIBC 2.15, same as upstream.
129
+
113
130
## Optional Updates (doc-comment SHAs)
114
131
115
-
Several files under `tracer/src/Datadog.Trace/LibDatadog/` have XML doc comments linking to a specific libdatadog git SHA (e.g. `60583218a8de6768f67d04fcd5bc6443f67f516b`). These are informational only and can be updated for traceability:
Several files under `tracer/src/Datadog.Trace/LibDatadog/` have XML doc comments linking to a specific upstream libdatadog git SHA (e.g. `60583218a8de6768f67d04fcd5bc6443f67f516b`). These are informational only and can be updated for traceability (use the upstream SHA the libdatadog-dotnet release was built from):
## Related Files (no changes needed, but useful context)
@@ -127,7 +144,7 @@ Several files under `tracer/src/Datadog.Trace/LibDatadog/` have XML doc comments
127
144
128
145
## Important Notes
129
146
130
-
- The CMake file uses **SHA-256** hashes; the vcpkg portfile uses **SHA-512** hashes. Both are published in the GitHub release notes.
131
-
- The CMake version has a `v` prefix (`v32.0.0`); vcpkg does not (`30.0.0`).
147
+
- The CMake file uses **SHA-256** hashes; the vcpkg portfile uses **SHA-512** hashes. Both are published in the libdatadog-dotnet GitHub release notes (under `## Checksums`).
148
+
- The CMake version has a `v` prefix (`v1.3.5`); vcpkg does not (`1.3.5`).
132
149
- If a release doesn't have all platform artifacts, the bump may need to wait or be partial.
133
150
- After bumping, CI will validate the hashes on all platforms. Hash mismatches cause clear build failures.
0 commit comments