diff --git a/.github/workflows/integration.yml b/.github/workflows/integration.yml index c90e0af9..bb8e51f5 100644 --- a/.github/workflows/integration.yml +++ b/.github/workflows/integration.yml @@ -8,19 +8,21 @@ on: jobs: integration: + name: integration (${{ matrix.node-version.label }}) runs-on: ubuntu-latest strategy: matrix: - node-version: [22.x] + node-version: + - { label: '22.x', version: '22.23.4' } steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - run: openssl req -x509 -nodes -newkey rsa -keyout ./test/certs/server-key.pem -out ./test/certs/server-cert.pem -days 1 -subj "/C=CL/ST=RM/L=OpenTelemetryTest/O=Root/OU=Test/CN=ca" - - name: Use Node.js ${{ matrix.node-version }} + - name: Use Node.js ${{ matrix.node-version.version }} uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: - node-version: ${{ matrix.node-version }} + node-version: ${{ matrix.node-version.version }} - run: npm i - run: npm run functionaltest diff --git a/.github/workflows/node.js-linux-arm64.yml b/.github/workflows/node.js-linux-arm64.yml index 50103cc0..48d9fefe 100644 --- a/.github/workflows/node.js-linux-arm64.yml +++ b/.github/workflows/node.js-linux-arm64.yml @@ -8,11 +8,15 @@ on: jobs: build: + name: build (${{ matrix.node-version.label }}) runs-on: ubuntu-24.04-arm strategy: matrix: - node-version: [22.x, 24.x] + node-version: + - { label: '22.x', version: '22.23.4' } + - { label: '24.x', version: '24.22.1' } + - { label: '26.x', version: '26.12.1' } steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -22,10 +26,10 @@ jobs: mkdir -p ./test/certs openssl req -x509 -nodes -newkey rsa:2048 -keyout ./test/certs/server-key.pem -out ./test/certs/server-cert.pem -days 1 -subj "/C=CL/ST=RM/L=OpenTelemetryTest/O=Root/OU=Test/CN=ca" - - name: Use Node.js ${{ matrix.node-version }} + - name: Use Node.js ${{ matrix.node-version.version }} uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: - node-version: ${{ matrix.node-version }} + node-version: ${{ matrix.node-version.version }} - run: npm run clean - run: npm i diff --git a/.github/workflows/node.js-windows.yml b/.github/workflows/node.js-windows.yml index facc6b53..ccf44330 100644 --- a/.github/workflows/node.js-windows.yml +++ b/.github/workflows/node.js-windows.yml @@ -8,12 +8,16 @@ on: jobs: build: + name: build (${{ matrix.node-version.label }}) runs-on: windows-latest strategy: matrix: - node-version: [22.x, 24.x] + node-version: + - { label: '22.x', version: '22.23.4' } + - { label: '24.x', version: '24.22.1' } + - { label: '26.x', version: '26.12.1' } steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 @@ -38,10 +42,10 @@ jobs: $randomKeyContent = [Convert]::ToBase64String($randomBytes) Set-Content -Path "$certsDir\server-key.pem" -Value "-----BEGIN PRIVATE KEY-----`r`n$randomKeyContent`r`n-----END PRIVATE KEY-----" - - name: Use Node.js ${{ matrix.node-version }} + - name: Use Node.js ${{ matrix.node-version.version }} uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: - node-version: ${{ matrix.node-version }} + node-version: ${{ matrix.node-version.version }} - run: npm run clean - name: Install dependencies diff --git a/.github/workflows/node.js.yml b/.github/workflows/node.js.yml index 011adcd6..5ab500bc 100644 --- a/.github/workflows/node.js.yml +++ b/.github/workflows/node.js.yml @@ -8,21 +8,25 @@ on: jobs: build: + name: build (${{ matrix.os }}, ${{ matrix.node-version.label }}) runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest] - node-version: [22.x, 24.x] + node-version: + - { label: '22.x', version: '22.23.4' } + - { label: '24.x', version: '24.22.1' } + - { label: '26.x', version: '26.12.1' } steps: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - run: openssl req -x509 -nodes -newkey rsa -keyout ./test/certs/server-key.pem -out ./test/certs/server-cert.pem -days 1 -subj "/C=CL/ST=RM/L=OpenTelemetryTest/O=Root/OU=Test/CN=ca" - - name: (${{ matrix.os }}) on Node.js ${{ matrix.node-version }} + - name: (${{ matrix.os }}) on Node.js ${{ matrix.node-version.version }} uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: - node-version: ${{ matrix.node-version }} + node-version: ${{ matrix.node-version.version }} - run: npm run clean - run: npm i - run: npm run build --if-present diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index c24fe3c8..c2a78d0e 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -16,7 +16,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: - node-version: 22 + node-version: '22.23.4' - run: npm ci - run: npm test @@ -27,7 +27,7 @@ jobs: - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: - node-version: 22 + node-version: '22.23.4' registry-url: https://registry.npmjs.org/ - run: npm i - run: npm publish diff --git a/.github/workflows/performance-comment.yml b/.github/workflows/performance-comment.yml index 6503acfe..a00f9d9b 100644 --- a/.github/workflows/performance-comment.yml +++ b/.github/workflows/performance-comment.yml @@ -43,7 +43,7 @@ jobs: - uses: actions/setup-node@820762786026740c76f36085b0efc47a31fe5020 # v7.0.0 with: - node-version: '22.x' + node-version: '22.23.4' - name: Download perf-results artifact id: download diff --git a/.github/workflows/performance.yml b/.github/workflows/performance.yml index 4b34b352..e9a79451 100644 --- a/.github/workflows/performance.yml +++ b/.github/workflows/performance.yml @@ -20,7 +20,7 @@ jobs: # scenarios * (warmup + samples * duration + per-child init). timeout-minutes: 40 env: - NODE_VERSION: '22.x' + NODE_VERSION: '22.23.4' PERF_SAMPLES: '3' PERF_DURATION: '5' PERF_WARMUP: '1' diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d5bda4f..a5957a0c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ ## Unreleased +- Require Node.js 22.23.4+, 24.22.1+, or 26.12.1+ within those release lines and update CI for the full October 21, 2026 security release, including precautionary compression-encoding coverage. Upgrade deployed runtimes separately; installing the SDK does not update Node.js. + ### 3.17.0 (2026-10-06) #### Breaking Changes diff --git a/package-lock.json b/package-lock.json index 885f1602..c7df6e0e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,7 @@ "typescript": "~5.4.0" }, "engines": { - "node": ">=22.0.0" + "node": "^22.23.4 || ^24.22.1 || ^26.12.1" } }, "node_modules/@azure-rest/core-client": { diff --git a/package.json b/package.json index 65da79a8..4022419b 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "backcompattest": "npm run build && npm pack && node --use_strict ./test/backCompatibility/runBackCompatTests.js" }, "engines": { - "node": ">=22.0.0" + "node": "^22.23.4 || ^24.22.1 || ^26.12.1" }, "devDependencies": { "@types/long": "^4.0.2", diff --git a/test/functionalTests/runner/package.json b/test/functionalTests/runner/package.json index d289bd99..e90267b5 100644 --- a/test/functionalTests/runner/package.json +++ b/test/functionalTests/runner/package.json @@ -3,6 +3,9 @@ "version": "1.0.0", "description": "", "private": true, + "engines": { + "node": "^22.23.4 || ^24.22.1 || ^26.12.1" + }, "main": "Main.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" diff --git a/test/functionalTests/testApp/package.json b/test/functionalTests/testApp/package.json index 6fedc37e..4ca9866d 100644 --- a/test/functionalTests/testApp/package.json +++ b/test/functionalTests/testApp/package.json @@ -2,6 +2,9 @@ "name": "ainodejs-functionaltests-testapp", "version": "1.0.0", "description": "", + "engines": { + "node": "^22.23.4 || ^24.22.1 || ^26.12.1" + }, "main": "Main.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", diff --git a/test/performanceTests/package-lock.json b/test/performanceTests/package-lock.json index 878a5283..dfb9335d 100644 --- a/test/performanceTests/package-lock.json +++ b/test/performanceTests/package-lock.json @@ -23,6 +23,9 @@ "eslint": "^8.0.0", "rimraf": "^5.0.5", "typescript": "~5.3.3" + }, + "engines": { + "node": "^22.23.4 || ^24.22.1 || ^26.12.1" } }, "node_modules/@azure-rest/core-client": { diff --git a/test/performanceTests/package.json b/test/performanceTests/package.json index 4101ca35..343a5a7f 100644 --- a/test/performanceTests/package.json +++ b/test/performanceTests/package.json @@ -25,6 +25,9 @@ "typescript": "~5.3.3" }, "private": true, + "engines": { + "node": "^22.23.4 || ^24.22.1 || ^26.12.1" + }, "scripts": { "perf-test:node": "npm run build && node dist-esm/index.spec.js", "perf:benchmark": "npm run build && node runBenchmarks.mjs",