Skip to content

DX | 10-08-2026 | Release - #252

Merged
cs-raj merged 392 commits into
mainfrom
development
Aug 11, 2026
Merged

DX | 10-08-2026 | Release#252
cs-raj merged 392 commits into
mainfrom
development

Conversation

@cs-raj

@cs-raj cs-raj commented Aug 11, 2026

Copy link
Copy Markdown
Contributor

New features

  • Added retry support for transient network-layer errors (ENOTFOUND, ENETUNREACH) in the JavaScript SDK, preventing build failures caused by brief DNS or connectivity outages

Enhancements

  • Hardened the HTTP layer in contentstack-js-core to eliminate intermittent UNKNOWN_ERROR (status: 0) failures during Next.js prerendering

Security

  • Resolved hardcoded credential and non-cryptographic secret vulnerabilities in contentstack-js-core via SAST remediation

harshitha-cstk and others added 30 commits January 17, 2025 13:36
…erage

improved code coverage by adding test case
DX -2025 License updated and version bump
fix: url change with host for live preview
DX | 24-01-2025 | Release | Hotfix
* Update node version to 22

* updated publish workflow file
reeshika-h and others added 19 commits July 31, 2026 11:04
Merging development (with the timeout classification fix) surfaced an
interaction: the classification test didn't set retryCondition, so it now
picks up the new default retryCondition (which retries ECONNABORTED),
taking the retry path instead of the classification path it was meant to
test. Same fix as already applied to the other pre-existing ECONNABORTED
test - explicitly disable retryCondition to isolate the behavior under test.

DX-9991
…rrors

fix: retry transient network errors by default
…ction-pooling

Default to keep-alive agents in Node environments for better performance
Bundles the three DX-9991 fixes: timeout classification, default retry
for transient network errors, and default keep-alive connection agents.

DX-9991
Three environments broke when keep-alive agents were introduced using
require('http') and require('https'):

1. Native ESM (ReferenceError: require is not defined)
   - Added typeof require === 'undefined' guard in createKeepAliveAgent()
   - Falls back to false (pre-1.5.0 behaviour) in ESM environments

2. Turbopack/webpack (expression is too dynamic)
   - Replaced require(moduleName) variable arg with static string literals
   - require('http') / require('https') are statically analysable by bundlers

3. UMD webpack build (Can't resolve 'http')
   - Added externals for http and https in config/webpack.config.js
   - UMD wrapper resolves them at runtime in Node; isNodeEnvironment guard
     prevents execution in browser where they are not available

Tests added:
- test/esm-compat.mjs: native ESM integration test (run after build)
- test/contentstack-core.node-agent.spec.ts: Jest wrapper spawning esm-compat.mjs
- test/esm-exports.spec.ts: static analysis asserting no dynamic require(variable)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
… fix

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
fix: Resolve require() incompatibility in ESM and UMD builds
chore: back-merge main into development
@cs-raj
cs-raj requested review from a team as code owners August 11, 2026 09:34
@snyk-io

snyk-io Bot commented Aug 11, 2026

Copy link
Copy Markdown

Snyk checks have passed. No issues have been found so far.

Status Scan Engine Critical High Medium Low Total (0)
Open Source Security 0 0 0 0 0 issues
Licenses 0 0 0 0 0 issues
Code Security 0 0 0 0 0 issues

💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse.

@github-actions

Copy link
Copy Markdown

🔒 Security Scan Results

ℹ️ Note: Only vulnerabilities with available fixes (upgrades or patches) are counted toward thresholds.

Check Type Count (with fixes) Without fixes Threshold Result
🔴 Critical Severity 0 0 10 ✅ Passed
🟠 High Severity 0 0 25 ✅ Passed
🟡 Medium Severity 0 0 500 ✅ Passed
🔵 Low Severity 0 0 1000 ✅ Passed

⏱️ SLA Breach Summary

✅ No SLA breaches detected. All vulnerabilities are within acceptable time thresholds.

Severity Breaches (with fixes) Breaches (no fixes) SLA Threshold (with/no fixes) Status
🔴 Critical 0 0 15 / 30 days ✅ Passed
🟠 High 0 0 30 / 120 days ✅ Passed
🟡 Medium 0 0 90 / 365 days ✅ Passed
🔵 Low 0 0 180 / 365 days ✅ Passed

✅ BUILD PASSED - All security checks passed

@github-actions

Copy link
Copy Markdown

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 99.23% 258/260
🟢 Branches 96.69% 146/151
🟢 Functions 100% 39/39
🟢 Lines 99.17% 239/241

Test suite run success

163 tests passing in 8 suites.

Report generated by 🧪jest coverage report action from c99f813

@github-actions

Copy link
Copy Markdown

Coverage report

St.
Category Percentage Covered / Total
🟢 Statements 99.23% 258/260
🟢 Branches 96.69% 146/151
🟢 Functions 100% 39/39
🟢 Lines 99.17% 239/241

Test suite run success

163 tests passing in 8 suites.

Report generated by 🧪jest coverage report action from c99f813

@cs-raj
cs-raj merged commit 52adf70 into main Aug 11, 2026
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants