with one click
bump-libdatadog
// Update/bump the libdatadog native library version in dd-trace-dotnet. Use when the user asks to bump, update, or upgrade libdatadog, or mentions a new libdatadog release version.
// Update/bump the libdatadog native library version in dd-trace-dotnet. Use when the user asks to bump, update, or upgrade libdatadog, or mentions a new libdatadog release version.
Dev/test workflow for tracer engineers working on the Datadog .NET tracer — build a local Datadog.AzureFunctions NuGet package, deploy it to a test Azure Function App, trigger it, and analyze traces/logs to verify instrumentation behavior. Use this skill whenever the user is working on Azure Functions instrumentation: building or testing the Datadog.AzureFunctions NuGet package, deploying to a test Function App, analyzing instrumentation logs or spans from an Azure Functions app, or configuring Datadog environment variables on Azure — even if they don't explicitly invoke /azure-functions.
Analyze Azure DevOps CI build failures in dd-trace-dotnet pipeline. This skill should be used when the user mentions a failing CI build, PR checks failing, Azure DevOps pipeline failures, test failures in CI, or when they share a build ID or PR number and want to understand what went wrong. Analyzes build failures, categorizes them (infrastructure/flaky/real), and provides actionable recommendations.
Error Stack Trace Analysis for dd-trace-dotnet
Stack Trace Crash Analysis for dd-trace-dotnet
Perform a review on a GitHub PR, leaving comments on the PR
| name | bump-libdatadog |
| description | Update/bump the libdatadog native library version in dd-trace-dotnet. Use when the user asks to bump, update, or upgrade libdatadog, or mentions a new libdatadog release version. |
libdatadog is consumed as prebuilt native binaries from GitHub releases. There are two independent version pins that may need updating:
| Platform | File | Hash type | Version format |
|---|---|---|---|
| Linux/macOS | build/cmake/FindLibdatadog.cmake | SHA-256 | v<MAJOR>.<MINOR>.<PATCH> |
| Windows | build/vcpkg_local_ports/libdatadog/vcpkg.json + portfile.cmake | SHA-512 | <MAJOR>.<MINOR>.<PATCH> (no v prefix) |
These versions can differ (Windows may lag behind Linux/macOS). Confirm with the user which platforms to update.
build/cmake/FindLibdatadog.cmakeUpdate these values:
LIBDATADOG_VERSION — the version tag (e.g. "v32.0.0")SHA256_LIBDATADOG_ARM64 — macOS arm64 hashSHA256_LIBDATADOG_X86_64 — macOS x86_64 hashSHA256_LIBDATADOG (aarch64 gnu) — Linux aarch64 glibc hashSHA256_LIBDATADOG (aarch64 musl) — Linux aarch64 Alpine hashSHA256_LIBDATADOG (x86_64 musl) — Linux x86_64 Alpine hashSHA256_LIBDATADOG (x86_64 gnu) — Linux x86_64 glibc hashArtifact filenames (from GitHub releases):
libdatadog-aarch64-apple-darwin.tar.gzlibdatadog-x86_64-apple-darwin.tar.gzlibdatadog-aarch64-unknown-linux-gnu.tar.gzlibdatadog-aarch64-alpine-linux-musl.tar.gzlibdatadog-x86_64-alpine-linux-musl.tar.gz (note: uses ${CMAKE_SYSTEM_PROCESSOR} in filename)libdatadog-x86_64-unknown-linux-gnu.tar.gz (note: uses ${CMAKE_SYSTEM_PROCESSOR} in filename)build/vcpkg_local_ports/libdatadog/Two files:
vcpkg.json — update "version-string" (no v prefix)portfile.cmake — update SHA-512 hashes for x64 and x86 Windows zipsArtifact filenames:
libdatadog-x64-windows.ziplibdatadog-x86-windows.zipAsk the user for the target version, or check the latest release:
https://github.com/DataDog/libdatadog/releases
SHA-256 and SHA-512 checksums are published directly in the GitHub release notes. Either:
https://github.com/DataDog/libdatadog/releases/tag/v<VERSION> and copy from the checksums sections, orbash .claude/skills/bump-libdatadog/scripts/fetch-release-hashes.sh <VERSION>
Where <VERSION> is without the v prefix (e.g. 33.0.0).
The release notes contain:
FindLibdatadog.cmake (6 Linux/macOS artifacts)portfile.cmake (2 Windows artifacts)build/cmake/FindLibdatadog.cmakeLIBDATADOG_VERSION to "v<VERSION>"SHA256_LIBDATADOG* value with the new SHA-256 hash from the script outputbuild/vcpkg_local_ports/libdatadog/vcpkg.jsonUpdate "version-string" to the new version (no v prefix).
build/vcpkg_local_ports/libdatadog/portfile.cmakeReplace the SHA-512 hashes for x64 and x86 Windows builds.
# Linux — validates CMake SHA-256 hashes during configure
./tracer/build.sh CompileProfilerNativeSrc
# Windows — validates vcpkg SHA-512 hashes during install
.\tracer\build.cmd CompileProfilerNativeSrc
These don't contain version strings but may need refreshing after a bump if the exported symbol set or glibc requirements change:
tracer/build/_build/NativeValidation/native-libdatadog-symbols-alpine-x64.verified.txttracer/build/_build/NativeValidation/native-libdatadog-symbols-alpine-arm64.verified.txtCI will fail if the symbol list changes — re-run the Alpine symbol validation step and accept the new snapshot.
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:
VecU8.cs, ByteSlice.cs, CharSlice.cs, Error.csServiceDiscovery/ResultTag.cs, ServiceDiscovery/TracerMemfdHandleResult.csprofiler/Directory.Build.targets — Windows link dependencies for libdatadogtracer/build/_build/Build.Steps.cs — copies libdatadog binary to monitoring hometracer/build/_build/Build.Profiler.Steps.cs — profiler build steps; glibc version expectations for Alpine.gitlab/one-pipeline.locked.yml — CI pipeline (auto-generated, don't edit manually)vcpkg.json (root) — declares dependency on libdatadog (no version pin here)vcpkg-configuration.json — overlay ports configv prefix (v32.0.0); vcpkg does not (30.0.0).