Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
9161340
add publish config to make package public (#20)
rochdev Sep 3, 2024
0c81664
add missing build step before release (#24)
rochdev Sep 3, 2024
96d5bb1
add write permission to publish job for git tagging (#22)
rochdev Sep 3, 2024
ac0a33d
fix invalid yaml for publish job permissions (#26)
rochdev Sep 4, 2024
cfe9709
fix concurrency deadlock in release job (#28)
rochdev Sep 4, 2024
5ff0387
add crash report test for the receiver (#30)
rochdev Sep 17, 2024
787c8c5
fix minimum node version for release ci job (#32)
rochdev Sep 18, 2024
2bcf2eb
update crashtracker and use new init function (#36)
rochdev Nov 11, 2024
97491c7
update libdatadog to 14.1.0 (#38)
rochdev Nov 12, 2024
763c4a1
fix release tag and environment (#39)
rochdev Nov 12, 2024
55dc3bc
update libdatadog to 14.3.1 (#42)
rochdev Dec 17, 2024
de95571
Add APIs for marking the crash as happened during profiler serializat…
szegedi Jan 14, 2025
ab8cdc0
upgrade(libdatadog-nodejs): Support library_config (#49)
BaptisteFoy Feb 18, 2025
7b2798c
Add a crate for wasm zstd implementation (#52)
szegedi May 28, 2025
83baa89
deps(library_config): bump to v18.1.0 (#51)
dmehala Jun 2, 2025
a7b36c9
feat: add bindings for process/service discovery (#53)
dmehala Jun 11, 2025
61df46e
deps(crashtracker) Update libdatadog for crashtracker to 16.0.3 (#54)
szegedi Jun 13, 2025
bd08cd1
Remove unused crates (#58)
szegedi Feb 5, 2026
b9305f5
[crashtracking]: upgrade libdatadog for crashtracking to 26.0.0 (#61)
gyuheon0h Feb 5, 2026
a99d229
Align with how library filenames are generated in Cargo 1.79+ (#63)
szegedi Feb 12, 2026
4f16966
Add CODEOWNERS (#64)
szegedi Feb 12, 2026
f8b339b
Enable releasing through OIDC (#65)
szegedi Feb 12, 2026
07d5259
Bump libdd-crashtracker to v27.0.0 (#66)
gyuheon0h Feb 12, 2026
4a8ecc2
chore(crashtracking): bump libdd-crashtracker to v28.0.1 (#72)
gyuheon0h Feb 25, 2026
ebcf8e0
feat(crashtracking): add unhandled exception libdatadog binding (#73)
gyuheon0h Mar 2, 2026
e28d6b3
Fix an unpleasant typo (#69)
szegedi Mar 3, 2026
4398e0d
refactor(test): run tests via shell script instead of test.js (#79)
watson Mar 3, 2026
1c0d40b
perf(load): defer findWASM until native binary is missing (#78)
watson Mar 3, 2026
2c55c22
fix(build): use Homebrew clang for wasm32 C build on macOS (#77)
watson Mar 3, 2026
e26b656
chore(ci): pin actions to SHAs, add Dependabot with cooldown and grou…
watson Mar 3, 2026
726cd26
chore: set minimum Node.js version to 18 (#85)
watson Mar 3, 2026
673d854
chore(test): remove npm lockfile from crashtracker test (#90)
watson Mar 3, 2026
8ea1cff
chore: add ESLint linting to the project (#84)
watson Mar 3, 2026
83fd325
test(crashtracker): improve reliability and debuggability of crash te…
watson Mar 3, 2026
c35f07a
Bump the gh-actions-packages group with 3 updates (#86)
dependabot[bot] Mar 4, 2026
549a68e
Bump libdatadog to v29 and use remote symbol resolution (#100)
gyuheon0h Mar 13, 2026
08eb48e
demangle crashes stack traces (#101)
rochdev Mar 16, 2026
45cefe4
feat(process-discovery): add process_tags and container_id to TracerM…
tlhunter Mar 19, 2026
5c2292d
chore(ci): switch prebuildify back to main (#107)
tlhunter Mar 23, 2026
ac523ac
Bump the gh-actions-packages group across 1 directory with 2 updates …
dependabot[bot] Mar 24, 2026
d7b1b6b
fix(ci): set explicit path for download-artifact in release workflow …
tlhunter Mar 24, 2026
08acdc1
chore: disable automated dependency updater config [incident-51602] (…
moezein0 Mar 25, 2026
2896b1d
chore(deps): bump to libdatadog v35 crashtracker (#130)
gyuheon0h Jun 4, 2026
0c3f048
chore: re-enable dependabot with 2-day cooldown (#118)
moezein0 Jun 22, 2026
2453a51
process_discovery: expose threadlocal_attribute_keys (#135)
szegedi Jun 22, 2026
333217d
fix: release tag push (#137)
szegedi Jun 22, 2026
a062914
chore: enable dependabot for npm and cargo dependencies (#138)
szegedi Jun 22, 2026
4392a3e
feat: native-spans wasm support (pipeline, capabilities, trace export…
bengl Jul 1, 2026
18b6f3f
PROF-15218: Update build-test-wasm composite action to Node.js 24 ver…
szegedi Jul 2, 2026
e23ce1a
feat!: expose ThreadLocalMetadata via process_discovery (#153)
szegedi Jul 2, 2026
e83305e
fix(pipeline): set exporter runtime-id from the tracer (#157)
bengl Jul 2, 2026
bf9865d
chore(deps): bump the gh-actions-packages group across 1 directory wi…
dependabot[bot] Jul 2, 2026
1c93727
chore(deps): bump libdd-crashtracker from v35.0.0 to v37.0.0 (#147)
dependabot[bot] Jul 2, 2026
ae5923c
chore(deps-dev): bump the minor-updates group across 1 directory with…
dependabot[bot] Jul 2, 2026
29b2676
chore(deps): bump express from 4.22.1 to 5.2.1 in /test/crashtracker …
dependabot[bot] Jul 3, 2026
2662b91
ADMS: vuln patch: brace-expansion, flatted, picomatch (#133)
gh-worker-campaigns-3e9aa4[bot] Jul 3, 2026
e97ba3e
fix(pipeline): stage one chunk per trace in a single request (#159)
bengl Jul 6, 2026
29dea8b
feat(pipeline): send Datadog-Client-Computed-Stats when enabled (#164)
bengl Jul 8, 2026
35702fc
feat(capabilities): inject container-id/entity-id/external-env header…
bengl Jul 9, 2026
fefe136
fix(native-spans): span-meta language, lazy transport requires, v0.6/…
bengl Jul 10, 2026
0e96992
fix(native-spans): Bun-compatible transport head + UDS client stats
bengl Jul 10, 2026
d99947f
fix(pipeline): set OTLP instrumentation scope (#173)
bengl Jul 15, 2026
de346d6
feat: added file capability [APMSP-3780] (#177)
Aaalibaba42 Jul 31, 2026
0db5cbc
feat: added env capability [APMSP-3780] (#176)
Aaalibaba42 Aug 6, 2026
6b1beff
feat: add DDSketch WASM bindings (#198)
IlyasShabi Aug 10, 2026
eceb755
build: simplify WASM build script (#199)
IlyasShabi Aug 10, 2026
c66c094
feat: Adopt TraceExporter's Telemetry stuff (#183)
Aaalibaba42 Aug 11, 2026
278bdf3
chore: bump libdatadog
Aaalibaba42 Aug 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/CODEOWNERS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
* @DataDog/dd-trace-js @DataDog/libdatadog
39 changes: 39 additions & 0 deletions .github/actions/build-test-wasm/action.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: 'Build/Test WASM'
description: 'A simple composite GitHub Action sets-up WASM; then test & build relevant crates'
inputs:
crate:
description: 'The crate name. Must be in ./crates'
required: true
runs:
using: 'composite'
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- name: Setup Node.js
uses: actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
- run: yarn install
shell: bash
- name: Install wasm-pack
run: curl https://rustwasm.github.io/wasm-pack/installer/init.sh -sSf | sh
shell: bash
- name: Build WASM
run: |
mkdir -p ./prebuilds/${{ inputs.crate }}
wasm-pack build --target nodejs ./crates/${{ inputs.crate }} --out-dir ../../prebuilds/${{ inputs.crate }}
shell: bash
- name: Test WASM
# The pipeline crate's tests are top-level node:test suites that need
# --test-force-exit (the wasm exporter keeps the event loop alive after
# a flush); the other wasm crates use plain test/wasm/<crate>/ scripts.
run: |
if [ "${{ inputs.crate }}" = "pipeline" ]; then
node --test --test-force-exit test/pipeline.js
else
node test-wasm.js ${{ inputs.crate }}
fi
shell: bash
- uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
with:
name: prebuilds-wasm-${{ inputs.crate }}
if-no-files-found: ignore
path: ./prebuilds/*
12 changes: 12 additions & 0 deletions .github/chainguard/self.github.release.push-tags.sts.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
issuer: https://token.actions.githubusercontent.com

subject: repo:DataDog/libdatadog-nodejs:environment:npm

claim_pattern:
event_name: push
job_workflow_ref: DataDog/libdatadog-nodejs/\.github/workflows/release\.yml@refs/heads/v[0-9]+\.x
ref: refs/heads/v[0-9]+\.x
repository: DataDog/libdatadog-nodejs

permissions:
contents: write
70 changes: 70 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
# Dependabot version updates
# https://docs.github.com/en/code-security/dependabot/dependabot-version-updates/configuration-options-for-the-dependabot.yml-file

version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"
cooldown:
default-days: 5
exclude:
- "@datadog/*"
groups:
gh-actions-packages:
patterns:
- "*"

- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "weekly"
versioning-strategy: "increase"
labels:
- dependabot
- dependencies
- javascript
- semver-patch
groups:
patch-updates:
update-types:
- "patch"
minor-updates:
update-types:
- "minor"

- package-ecosystem: "npm"
directory: "/test/crashtracker"
schedule:
interval: "weekly"
versioning-strategy: "increase"
labels:
- dependabot
- dependencies
- javascript
- semver-patch
groups:
patch-updates:
update-types:
- "patch"
minor-updates:
update-types:
- "minor"

- package-ecosystem: "cargo"
directory: "/"
schedule:
interval: "weekly"
labels:
- dependabot
- dependencies
- rust
- semver-patch
groups:
patch-updates:
update-types:
- "patch"
minor-updates:
update-types:
- "minor"
45 changes: 38 additions & 7 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,57 @@ on:
- main

jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: Setup Node.js
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- run: yarn install
- run: yarn install
working-directory: test/crashtracker
- run: yarn lint

build-test-wasm:
runs-on: ubuntu-latest
strategy:
matrix:
crate:
- library_config
- datadog-js-zstd
- pipeline
- sketches
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: 'Use composite action'
uses: ./.github/actions/build-test-wasm
with:
crate: '${{ matrix.crate }}'

build:
uses: Datadog/action-prebuildify/.github/workflows/build.yml@main
needs: build-test-wasm
with:
package-manager: 'npm'
package-manager: 'yarn'
cache: false
min-node-version: 14
min-node-version: 18
rust: true
only: linux-arm64,linux-x64,linuxmusl-arm64,linuxmusl-x64
only: darwin-arm64,darwin-x64,linux-arm64,linux-x64
# Need this, now that libdatadog packages libunwind as a submodule
prebuild: '(command -v apk >/dev/null && apk add autoconf automake libtool) || (command -v apt-get >/dev/null && apt-get update && apt-get install -y autoconf automake libtool) || true'

package-size:
runs-on: ubuntu-latest
needs: build
permissions:
issues: write
pull-requests: write
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
- name: Setup Node.js
uses: actions/setup-node@v4
- run: yarn
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
- run: yarn install
- name: Compute module size tree and report
uses: qard/heaviest-objects-in-the-universe@v1
with:
Expand Down
57 changes: 47 additions & 10 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,28 +5,65 @@ on:
branches:
- v0.x

concurrency:
group: ${{ github.workflow }}-${{ github.ref || github.run_id }}
cancel-in-progress: true

jobs:
build-test-wasm:
runs-on: ubuntu-latest
strategy:
matrix:
crate:
- library_config
- datadog-js-zstd
- pipeline
- sketches
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
- name: 'Use composite action'
uses: ./.github/actions/build-test-wasm
with:
crate: '${{ matrix.crate }}'

build:
uses: Datadog/action-prebuildify/.github/workflows/build.yml@main
needs: build-test-wasm
with:
package-manager: 'yarn'
cache: false
min-node-version: 18
rust: true
only: darwin-arm64,darwin-x64,linux-arm64,linux-x64

publish:
runs-on: ubuntu-latest
needs: build
environment: npm
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
permissions:
id-token: write # Required for OIDC
contents: read
outputs:
pkgjson: ${{ steps.pkg.outputs.json }}
steps:
- uses: actions/checkout@v2
- uses: actions/setup-node@v3
- uses: DataDog/dd-octo-sts-action@96a25462dbcb10ebf0bfd6e2ccc917d2ab235b9a # v1.0.4
id: octo-sts
with:
scope: DataDog/libdatadog-nodejs
policy: self.github.release.push-tags
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
persist-credentials: false # drop GITHUB_TOKEN so the dd-octo-sts token is used for the tag push
- uses: actions/download-artifact@3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c # v8.0.1
with:
name: prebuilds
path: prebuilds
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '24'
registry-url: 'https://registry.npmjs.org'
- run: chmod -R +x ./prebuilds
- run: npm publish
- id: pkg
run: |
content=`cat ./package.json | tr '\n' ' '`
echo "::set-output name=json::$content"
echo "json=$content" >> $GITHUB_OUTPUT
- run: |
git tag v${{ fromJson(steps.pkg.outputs.json).version }}
git push origin v${{ fromJson(steps.pkg.outputs.json).version }}
git push https://x-access-token:${{ steps.octo-sts.outputs.token }}@github.com/${{ github.repository }}.git v${{ fromJson(steps.pkg.outputs.json).version }}
1 change: 1 addition & 0 deletions .yarnrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
--ignore-engines true
Loading