From 1c01148548820364f89fd4321798d9625ddb378b Mon Sep 17 00:00:00 2001 From: Attila Szegedi Date: Thu, 12 Feb 2026 18:19:09 +0100 Subject: [PATCH 1/4] Add CODEOWNERS (#64) * Add CODEOWNERS, with dd-trace-js and libdatadog teams --- .github/CODEOWNERS | 1 + test/wasm/library_config/index.js | 2 ++ 2 files changed, 3 insertions(+) create mode 100644 .github/CODEOWNERS diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..dc8bb6a --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @DataDog/dd-trace-js @DataDog/libdatadog diff --git a/test/wasm/library_config/index.js b/test/wasm/library_config/index.js index 71aaac1..02c0343 100644 --- a/test/wasm/library_config/index.js +++ b/test/wasm/library_config/index.js @@ -40,6 +40,8 @@ function test_service_selector() { }); assert.strictEqual(values.length, 2) + // We can't rely on ordering, so sort it by name to make it deterministic + values.sort((a, b) => a.name.localeCompare(b.name)) assert.strictEqual(values[0].name, 'DD_RUNTIME_METRICS_ENABLED') assert.strictEqual(values[0].value, 'true') assert.strictEqual(values[0].source, 'local_stable_config') From cdbda0507f17d12915ae15de49dec8d262772241 Mon Sep 17 00:00:00 2001 From: Attila Szegedi Date: Thu, 12 Feb 2026 18:19:28 +0100 Subject: [PATCH 2/4] Enable releasing through OIDC (#65) --- .github/workflows/release.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eb820ee..c6b9ea6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -35,9 +35,8 @@ jobs: needs: build environment: npm permissions: + id-token: write # Required for OIDC contents: write - env: - NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} outputs: pkgjson: ${{ steps.pkg.outputs.json }} steps: @@ -45,6 +44,7 @@ jobs: - uses: actions/download-artifact@v4 - uses: actions/setup-node@v4 with: + node-version: '24' registry-url: 'https://registry.npmjs.org' - run: chmod -R +x ./prebuilds - run: npm publish From 6ef87497816bff1bfbb08c2b4eb2c6233b542b82 Mon Sep 17 00:00:00 2001 From: Gyuheon Oh <102937919+gyuheon0h@users.noreply.github.com> Date: Thu, 12 Feb 2026 14:14:47 -0500 Subject: [PATCH 3/4] Bump libdd-crashtracker to v27.0.0 (#66) --- Cargo.lock | 238 +++++++++++++++++++++++++++++++-- crates/crashtracker/Cargo.toml | 2 +- test/crashtracker/index.js | 8 +- 3 files changed, 229 insertions(+), 19 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 39df17d..09fab51 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -146,6 +146,15 @@ dependencies = [ "rustc-demangle", ] +[[package]] +name = "block2" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cdeb9d870516001442e364c5220d3574d2da8dc765554b4a617230d33fa58ef5" +dependencies = [ + "objc2", +] + [[package]] name = "bumpalo" version = "3.17.0" @@ -206,7 +215,7 @@ dependencies = [ "iana-time-zone", "num-traits", "serde", - "windows-link", + "windows-link 0.1.1", ] [[package]] @@ -346,6 +355,16 @@ dependencies = [ "uuid", ] +[[package]] +name = "dispatch2" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "89a09f22a6c6069a18470eb92d2298acf25463f14256d24778e1230d789a2aec" +dependencies = [ + "bitflags", + "objc2", +] + [[package]] name = "dunce" version = "1.0.5" @@ -754,7 +773,7 @@ checksum = "bcc35a38544a891a5f7c865aca548a982ccb3b8650a5b06d0fd33a10283c56fc" [[package]] name = "libdd-common" version = "1.1.0" -source = "git+https://github.com/DataDog/libdatadog.git?tag=v26.0.0#9aa79d219d0fa74ce667c4013005008f69052786" +source = "git+https://github.com/DataDog/libdatadog.git?tag=v27.0.0#72e56a3dcf9189a92db1f177c4c9d844725079f7" dependencies = [ "anyhow", "cc", @@ -770,7 +789,7 @@ dependencies = [ "hyper-rustls", "hyper-util", "libc", - "nix", + "nix 0.29.0", "pin-project", "regex", "rustls", @@ -787,7 +806,7 @@ dependencies = [ [[package]] name = "libdd-crashtracker" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog.git?tag=v26.0.0#9aa79d219d0fa74ce667c4013005008f69052786" +source = "git+https://github.com/DataDog/libdatadog.git?tag=v27.0.0#72e56a3dcf9189a92db1f177c4c9d844725079f7" dependencies = [ "anyhow", "backtrace", @@ -798,7 +817,7 @@ dependencies = [ "libc", "libdd-common", "libdd-telemetry", - "nix", + "nix 0.29.0", "num-derive", "num-traits", "os_info", @@ -819,7 +838,7 @@ dependencies = [ [[package]] name = "libdd-ddsketch" version = "1.0.0" -source = "git+https://github.com/DataDog/libdatadog.git?tag=v26.0.0#9aa79d219d0fa74ce667c4013005008f69052786" +source = "git+https://github.com/DataDog/libdatadog.git?tag=v27.0.0#72e56a3dcf9189a92db1f177c4c9d844725079f7" dependencies = [ "prost", ] @@ -827,7 +846,7 @@ dependencies = [ [[package]] name = "libdd-telemetry" version = "2.0.0" -source = "git+https://github.com/DataDog/libdatadog.git?tag=v26.0.0#9aa79d219d0fa74ce667c4013005008f69052786" +source = "git+https://github.com/DataDog/libdatadog.git?tag=v27.0.0#72e56a3dcf9189a92db1f177c4c9d844725079f7" dependencies = [ "anyhow", "base64", @@ -1029,6 +1048,18 @@ dependencies = [ "memoffset", ] +[[package]] +name = "nix" +version = "0.30.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "74523f3a35e05aba87a1d978330aef40f67b0304ac79c1c00b294c9830543db6" +dependencies = [ + "bitflags", + "cfg-if", + "cfg_aliases", + "libc", +] + [[package]] name = "nom" version = "7.1.3" @@ -1059,6 +1090,165 @@ dependencies = [ "autocfg", ] +[[package]] +name = "objc2" +version = "0.6.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b7c2599ce0ec54857b29ce62166b0ed9b4f6f1a70ccc9a71165b6154caca8c05" +dependencies = [ + "objc2-encode", +] + +[[package]] +name = "objc2-cloud-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "73ad74d880bb43877038da939b7427bba67e9dd42004a18b809ba7d87cee241c" +dependencies = [ + "bitflags", + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-data" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b402a653efbb5e82ce4df10683b6b28027616a2715e90009947d50b8dd298fa" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2a180dd8642fa45cdb7dd721cd4c11b1cadd4929ce112ebd8b9f5803cc79d536" +dependencies = [ + "bitflags", + "dispatch2", + "objc2", +] + +[[package]] +name = "objc2-core-graphics" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e022c9d066895efa1345f8e33e584b9f958da2fd4cd116792e15e07e4720a807" +dependencies = [ + "bitflags", + "dispatch2", + "objc2", + "objc2-core-foundation", + "objc2-io-surface", +] + +[[package]] +name = "objc2-core-image" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5d563b38d2b97209f8e861173de434bd0214cf020e3423a52624cd1d989f006" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-location" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ca347214e24bc973fc025fd0d36ebb179ff30536ed1f80252706db19ee452009" +dependencies = [ + "objc2", + "objc2-foundation", +] + +[[package]] +name = "objc2-core-text" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cde0dfb48d25d2b4862161a4d5fcc0e3c24367869ad306b0c9ec0073bfed92d" +dependencies = [ + "bitflags", + "objc2", + "objc2-core-foundation", + "objc2-core-graphics", +] + +[[package]] +name = "objc2-encode" +version = "4.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ef25abbcd74fb2609453eb695bd2f860d389e457f67dc17cafc8b8cbc89d0c33" + +[[package]] +name = "objc2-foundation" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e3e0adef53c21f888deb4fa59fc59f7eb17404926ee8a6f59f5df0fd7f9f3272" +dependencies = [ + "bitflags", + "block2", + "libc", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-io-surface" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "180788110936d59bab6bd83b6060ffdfffb3b922ba1396b312ae795e1de9d81d" +dependencies = [ + "bitflags", + "objc2", + "objc2-core-foundation", +] + +[[package]] +name = "objc2-quartz-core" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "96c1358452b371bf9f104e21ec536d37a650eb10f7ee379fff67d2e08d537f1f" +dependencies = [ + "bitflags", + "objc2", + "objc2-core-foundation", + "objc2-foundation", +] + +[[package]] +name = "objc2-ui-kit" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d87d638e33c06f577498cbcc50491496a3ed4246998a7fbba7ccb98b1e7eab22" +dependencies = [ + "bitflags", + "block2", + "objc2", + "objc2-cloud-kit", + "objc2-core-data", + "objc2-core-foundation", + "objc2-core-graphics", + "objc2-core-image", + "objc2-core-location", + "objc2-core-text", + "objc2-foundation", + "objc2-quartz-core", + "objc2-user-notifications", +] + +[[package]] +name = "objc2-user-notifications" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9df9128cbbfef73cda168416ccf7f837b62737d748333bfe9ab71c245d76613e" +dependencies = [ + "objc2", + "objc2-foundation", +] + [[package]] name = "object" version = "0.36.7" @@ -1082,13 +1272,18 @@ checksum = "d05e27ee213611ffe7d6348b942e8f942b37114c00cc03cec254295a4a17852e" [[package]] name = "os_info" -version = "3.11.0" +version = "3.14.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "41fc863e2ca13dc2d5c34fb22ea4a588248ac14db929616ba65c45f21744b1e9" +checksum = "e4022a17595a00d6a369236fdae483f0de7f0a339960a53118b818238e132224" dependencies = [ + "android_system_properties", "log", + "nix 0.30.1", + "objc2", + "objc2-foundation", + "objc2-ui-kit", "serde", - "windows-sys 0.52.0", + "windows-sys 0.61.2", ] [[package]] @@ -2007,7 +2202,7 @@ checksum = "c0fdd3ddb90610c7638aa2b3a3ab2904fb9e5cdbecc643ddb3647212781c4ae3" dependencies = [ "windows-implement 0.60.0", "windows-interface", - "windows-link", + "windows-link 0.1.1", "windows-result", "windows-strings 0.4.2", ] @@ -2051,13 +2246,19 @@ version = "0.1.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "76840935b766e1b0a05c0066835fb9ec80071d4c09a16f6bd5f7e655e3c14c38" +[[package]] +name = "windows-link" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0805222e57f7521d6a62e36fa9163bc891acd422f971defe97d64e70d0a4fe5" + [[package]] name = "windows-result" version = "0.3.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56f42bd332cc6c8eac5af113fc0c1fd6a8fd2aa08a0119358686e5160d0586c6" dependencies = [ - "windows-link", + "windows-link 0.1.1", ] [[package]] @@ -2066,7 +2267,7 @@ version = "0.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "87fa48cc5d406560701792be122a10132491cff9d0aeb23583cc2dcafc847319" dependencies = [ - "windows-link", + "windows-link 0.1.1", ] [[package]] @@ -2075,7 +2276,7 @@ version = "0.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "56e6c93f3a0c3b36176cb1327a4958a0353d5d166c2a35cb268ace15e91d3b57" dependencies = [ - "windows-link", + "windows-link 0.1.1", ] [[package]] @@ -2096,6 +2297,15 @@ dependencies = [ "windows-targets 0.52.6", ] +[[package]] +name = "windows-sys" +version = "0.61.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae137229bcbd6cdf0f7b80a31df61766145077ddf49416a728b02cb3921ff3fc" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-targets" version = "0.48.5" diff --git a/crates/crashtracker/Cargo.toml b/crates/crashtracker/Cargo.toml index c1f7002..85c806b 100644 --- a/crates/crashtracker/Cargo.toml +++ b/crates/crashtracker/Cargo.toml @@ -14,7 +14,7 @@ path = "src/bin/receiver.rs" [dependencies] anyhow = "1" -libdd-crashtracker = { git = "https://github.com/DataDog/libdatadog.git", tag = "v26.0.0" } +libdd-crashtracker = { git = "https://github.com/DataDog/libdatadog.git", tag = "v27.0.0" } napi = { version = "2", features = ["serde-json"] } napi-derive = { version = "2", default-features = false } rustls = { version = "*", default-features = false, features = ["aws-lc-rs"] } diff --git a/test/crashtracker/index.js b/test/crashtracker/index.js index 958ad97..92454d8 100644 --- a/test/crashtracker/index.js +++ b/test/crashtracker/index.js @@ -33,18 +33,18 @@ app.use(bodyParser.json()) app.post('/telemetry/proxy/api/v2/apmtelemetry', (req, res) => { res.status(200).send() - const payload = req.body.payload[0] - const tags = payload.tags ? payload.tags.split(',') : [] + const logPayload = req.body.payload.logs[0] + const tags = logPayload.tags ? logPayload.tags.split(',') : [] // Only process crash reports (not pings) - if (!tags.some(tag => tag === 'is_crash:true')) { + if (!logPayload.is_crash) { return } clearTimeout(timeout) server.close(() => { - const stackTrace = JSON.parse(payload.message).error.stack.frames + const stackTrace = JSON.parse(logPayload.message).error.stack.frames const boomFrame = stackTrace.find(frame => frame.function?.toLowerCase().includes('segfaultify')) From f17e02f6b04a84e6491ab8ec84545b34eac6ba09 Mon Sep 17 00:00:00 2001 From: Gyuheon Oh Date: Thu, 12 Feb 2026 14:19:09 -0500 Subject: [PATCH 4/4] v0.8.1 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 35c2ecb..65105ec 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@datadog/libdatadog", - "version": "0.8.0", + "version": "0.8.1", "description": "Node.js binding for libdatadog", "main": "index.js", "scripts": {