Node.js release notes 2024
Release date: June 27, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Fixed an issue where a deadzone bson require hook threw an error with bson 1.1.6. (NODE-3479)
Release date: June 21, 2024
Language versions currently supported: 16, 18, and 20 LTS
Important
This release now provides official support for HTTP/2.
New and improved:
Implemented HTTP/2 instrumentation for Reflected-XSS in Assess mode.
Implemented HTTP/2 instrumentation for the
spdy
library for Response Scanning rules.Fixed
node-require-hook
on Windows.
Bug fixes:
HTTP2 response-scanning instrumentation causes uncaught exceptions. (NODE-3468)
Blocking requests caused metrics to report that the request exceeded the duration. (NODE-3475)
MJS files loaded from the rewrite cache can break relative path file reading. (NODE-3485)
Reduced event listeners from
pg
arch-component instrumentation. (NODE-3489)crypto-analysis
did not ignore case when checking algorithms. (NODE-3495)npm
detection fails with a space in path. (NODE-3497)
Release date: June 21, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
Bug fixes:
npm
detection fails with a space in path (NODE-3497)
Release date: June 17, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
Bug fixes:
Fixed a new CVE associated with
@grpc/grpc-js
, which is a library used by the agent to communicate with the Contrast Service. (NODE-3487)
Release date: June 12, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Implemented HTTP/2 instrumentation for Reflected-XSS in Protect mode.
Implemented support for Restify 8, 9, 10, and 11 (Assess and Protect).
Installed modules should throw errors when needed and not accumulate in
_errors[]
.Implemented validation logic in the module where the validation is required to correctly function.
Updated security logger escaping to match updated CEF guide specification.
Implemented Framework reporting during route discovery (also known as Compatibility check for route coverage).
Bug fixes:
Fixed
URLSearchParams.toString()
. (NODE-3332)Added source map chaining. (NODE-3442)
Release date: May 31, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Deprecated Node 14 for v5.
The existing
@contrast/common
functions have been replaced with more performant and self-documenting functions.
Release date: May 22, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Teamserver associates all vulnerabilities with a single non-existent endpoint. (NODE-3457)
Release date: May 22, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
API keys are not redacted when the reporter throws an error. (NODE-3458)
Release date: May 21, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
The use of
inspect
during event creation was causing problems. (NODE-3451)Check if
isSafeContentType
is in allreflected-xss
sinks. (NODE-3452)
Release date: May 21, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Fixed express route observation bug. (NODE-3453)
Release date: May 20, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Express route coverage will handle middleware defined in an array.
Release date: May 15, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Removed effective configuration enable flag so that agent always reports it to Teamserver.
Added warning when the agent detects users attempting to set config file location with
-c
command line flag. Agent configuration via CLI flags has been deprecated in v5 agents.Implemented Restify route discovery and observation.
Adding initial support for programmatic deadzones to allow the agent to turn off instrumentation within restricted functions.
Release date: May 7, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Incoming message header handling is not correct. (NODE-3396)
Express route coverage does not discover routes defined by
app.use()
androuter.use()
. (NODE-3402)TypeError: undefined is not a function at
StacktraceFactory.makeFrame
. (NODE-3420)
Release date: May 1, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
Add
timer.unref()
tocode-events setCodeEventListener()
for v4.
Release date: April 29, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Support for Input and URL exclusions when running version 5.x agent.
Provided Protect specific CLI Rewriter option.
Bug fixes:
Route coverage error when express route registered with array of paths. (NODE-3380)
v5 agent does not properly handle archived apps. (NODE-3384)
Fix Fastify route coverage prefix bug. (NODE-3403)
Unwriting anonymous classes fails. (NODE-3406)
Release date: April 17, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
The rewriter can now be executed as a CLI command to allow rewriting of source code at container image creation. This lowers startup memory consumption and can speed up app start-up.
Release date: April 16, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Implement rewriter cache for ESM loader hooks.
Add additional rewrite-deadzones.
Release date: March 29, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Implemented improvements to
string.prototype.split()
tracking.
Release date: March 28, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
Resolves CVE-2024-24786 associated with the Contrast Service (updates to version 2.28.34).
Release date: March 26, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Fixes a bug with the rewriter cache and deprecates version 5.4.0. (NODE-3367)
Release date: March 25, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Initial support for application code rewrites caching for version 5.x agent.
Release date: March 20, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Added hapi 21 framework support for Assess and Protect.
Stopped reporting of the library manifest on application updates.
Componentized ESM hooks and have them follow normal compose/install patterns.
Updated agent README for modern Node versions.
Bug fixes:
Fixed "Cannot find module 'file:/...'" in Library Analysis. (NODE-3358)
Release date: March 6, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
JSON.parse
will throw exception if captured key/value indices are inaccurate. (NODE-3344)
Release date: March 5, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
URL parse propagator doesn't support
parseQueryString
flag. (NODE-3340)string.replace
not handling some special character replacements properly. (NODE-3341)Dot entrypoint syntax no longer works. (NODE-3343)
Release date: February 16, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Replaced
parent-package-json
in deps.
Bug fixes:
Some configuration fields not redacted in configuration logging. (NODE-3339)
Release date: February 13, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Updated logger's
cleanEnv
to account for--loader
in NODE_OPTIONS.
Bug fixes:
UI reporter v1 routes are not respecting proxy configuration. (NODE-3338)
Release date: February 8, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Reflected-XSS not reporting when
res.send
is called. (NODE-3334)
Release date: February 6, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Added
runner-tap
usability fixes.
Release date: February 2, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Setting the server or application name in a non-English language causes errors. (NODE-3333)
Release date: February 2, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Minimized new agent's ESM dual initialization costs.
Updated Axios client.
Bug fixes:
Fix to Juice Shop 16 not working with the new agent. (NODE-3323)
Release date: January 29, 2024
Language versions currently supported: 16, 18, and 20 LTS
Bug fixes:
Fixed a bug with the new agent’s ESM loader functionality. (NODE-3320)
Release date: January 23, 2024
Language versions currently supported: 16, 18, and 20 LTS
New and improved:
Removal of the Contrast Service (SpeedRacer).
Removal of command line options for configuring the agent. Only YAML and environment variables are supported to align with Python, Ruby, and Go agents.
Support for running Assess and Protect concurrently.
Ability to toggle the mode of Protect rules without a restart.
Toggling mode (Assess, Protect, Both) still requires an application/agent restart to take effect.
Library reporting with ECU/ELU when running Protect (library reporting in production).
Effective configuration reporting to ContrastUI.
devDependencies
not published to npm - reduced FP CVE findings.Structured logging using pino.
Ability to change the agent logging level from the ContrastUI without an application restart.
Log request latency (ns) at DEBUG level for every request.
Route observability/coverage with normalized URI for deduplication.
Faster rewrite at startup using SWC.
Supports SuperTest API Testing framework npm: supertest.
Supports Frisby API testing framework npm: frisby.
Support for
String.prototype.matchAll()
propagation.Observed routes are reported to ContrastUI on application startup without requiring exercising a route.
ESM applications supported. Support for loading/running the agent using:
node --loader @contrast/agent app.mjs
for Node.js 16LTSnode --import @contrast/agent app.mjs
for Node.js 18.9.0, 20.9.0 and later (LTS)node --require @contrast/agent app.js
for all versions not using ESM
The new
--import
directive is supported for all applications, both ESM and CJS, running on Node.js 18.9.0, 20.9.0 and later (LTS)node --import @contrast/agent app.js
See npm for more.
Release date: January 30, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
Updated Axios.
Tweaks for the build.
Release date: January 5, 2024
Language versions currently supported: 12, 14, 16, 18, and 20 LTS
New and improved:
Improved logging when there are npm failures.
Updated copywrite text in files to reflect the new year.
Bug fixes:
Express route-coverage utils throws exceptions when route has a missing stack. (NODE-3301)