Skip to content

Releases: newrelic/node-newrelic

v11.0.0

28 Aug 20:00
7d53728
Compare
Choose a tag to compare

v11.0.0 (2023-08-28)

⚠ BREAKING CHANGES

  • Removed support for Node 14.
  • Replaced ESM loader with import-in-the-middle to fix instrumentation firing for both CommonJS and ESM.
    • You must load both the ESM loader and agent as follows: node --experimental-loader newrelic/esm-loader.mjs -r newrelic path/to/app.js.
    • Removed config.esm.custom_instrumentation_entrypoint to register ESM instrumentation. You can now just call the newrelic.instrument* APIs but you must pass in an object and specify isEsm: true. See example.
  • Updated agent to use require-in-the-middle to register CommonJS instrumentation. You can no longer use an onResolved hook to register custom instrumentation.
  • Updated the default context manager to be AsyncLocalContextManager.
  • Renamed shim.handleCATHeaders to shim.handleMqTracingHeaders.
  • Updated agent to only run in the main thread. This is because running in a worker thread does not completely function out of the box. This will reduce the overhead for customers that are naively trying to load this into worker threads.

Features

  • Added support for Node 20.
  • Renamed shim.handleCATHeaders to shim.handleMqTracingHeaders (#1735) (6788f9e)
    • If you have calls to shim.handleCATHeaders, the signature is identical and a function name change is only necessary.
    • Note: The agent will be removing CAT functionality in an upcoming release.
  • Updated the default context manager to be AsyncLocalContextManager (#1731) (25f2bd8)
    • To restore functionality of legacy context manager you can set config.feature_flag.legacy_context_manager to true or `NEW_RELIC_FEATURE_FLAG_LEGACY_CONTEXT_MANAGER=true
    • Please note this legacy context manager will be removed in future major releases. If you have any issues, please raise with New Relic support or on the issues of the agent.

Bug Fixes

  • Replaced esm loader with import-in-the-middle to fix instrumentation firing for both commonjs and esm (#1760) (4452354), closes 1646
    • Breaking Change: Updated ESM loader that now requires to use both a loader and -r.
      • node --experimental-loader newrelic/esm-loader.mjs -r newrelic path/to/app.js
    • Breaking Change: Removed config.esm.custom_instrumentation_entrypoint to register ESM instrumentation.
      • You can now just call the newrelic.instrument* APIs but you must pass in an object and specify isEsm: true.
  • Updated prisma instrumentation to parse prisma datamodel with internal package (#1765) (48079b3)

Code Refactoring

  • Updated agent to use require-in-the-middle to register CommonJS instrumentation (#1758) (d4b4f11)
    • Removed onResolved hook. If you're using custom instrumentation with an onResolved hook, you must update to use onRequire
    • You can no longer instrument files that are not within a node_module unless you provide an absolute path to the file when registering the instrumentation.
    • You cannot instrument both the base module and a sub module.

Miscellaneous Chores

  • Remove support for Node 14 (#1756) (0ff9912)
  • Updated the bundled packages to the latest @newrelic/superagent, @newrelic/aws-sdk, @newrelic/koa, @newrelic/native-metrics, and @newrelic/test-utilities (#1766) (8f6e15b)
  • Updated the aws-sdk external branch to be main now that the code is in there (#1761) (d34d0fe)

Tests

  • update smoke tests versioned matrix in CI to 16, 18, and 20. (#1762) (c82b517)

Support statement:

We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)

See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)

v10.6.2

07 Aug 18:15
7ff102d
Compare
Choose a tag to compare

v10.6.2 (2023-08-07)

Bug Fixes

  • added defensive code around JSON.parse in formatting pino log lines because pino can return invalid json (#1750) (8f2e11a)

Miscellaneous Chores

Tests

  • Added a full suite of unit tests for the collector/http-agents (#1748) (9d4201b)

Support statement:

We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)

See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)

v10.6.1

01 Aug 13:45
8c549f7
Compare
Choose a tag to compare

Security Improvements

  • updated ESM loader to track instrumentation by url in a map instead of in url to avoid remote code execution. (#1741) (c8dc779)

Support statement:

We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)

See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)

v10.6.0

26 Jul 21:09
2b56763
Compare
Choose a tag to compare

Miscellaneous Chores

  • deps: Updated @newrelic/security-agent to v0.2.0 (#1737) (9bf2a01)
  • restored engines to >=14 until we actually drop support for Node 14 (#1738) (8d66123)

Continuous Integration

Support statement:

We recommend updating to the latest agent version as soon as it's available. If you can't upgrade to the latest version, update your agents to a version no more than 90 days old. Read more about keeping agents up to date. (https://docs.newrelic.com/docs/new-relic-solutions/new-relic-one/install-configure/update-new-relic-agent/)

See the New Relic Node.js agent EOL policy for information about agent releases and support dates. (https://docs.newrelic.com/docs/apm/agents/nodejs-agent/getting-started/nodejs-agent-eol-policy/)

v10.5.0

20 Jul 17:28
82b8f90
Compare
Choose a tag to compare

Features

Bug Fixes

  • prevent ESM loader from loading instrumentation multiple times (#1729) (962d172)

Miscellaneous Chores

  • deps-dev: bump word-wrap from 1.2.3 to 1.2.4 (#1730) (500a69e)

Support statement:

  • New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.

v10.4.2

13 Jul 15:00
9be2139
Compare
Choose a tag to compare

v10.4.2 (2023-07-13)

Bug Fixes

  • Dropped query params from request.uri attribute when obfuscating (#1719) (76112a6)

Miscellaneous Chores

Tests

  • Pinned prisma to < 5 when running on node 14 (#1717) (b000d7b)

Support statement:

  • New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.

v10.4.1

10 Jul 21:11
9fba7cd
Compare
Choose a tag to compare

Security Improvements

  • deps: bump protobufjs from 7.2.3 to 7.2.4 (#1713) (5fb4606)

Miscellaneous Chores

  • test: Converted adaptive-sampler.test.js to tap (#1709) (bb42249)
  • test: converted environment.test.js to tap (#1705) (53b4376)
  • test: Replaced t.equals with t.equal (#1711) (a0b255e)

Support statement:

  • New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.

v10.4.0

30 Jun 17:07
a2ef0bf
Compare
Choose a tag to compare

Miscellaneous Chores

  • test: Converted 'errors/expected.test.js' to tap-style (#1695) (86025de)
  • test: Converted server-config.test.js to tap-style (#1702) (2c6906d)

Continuous Integration

  • skip running test suite when merging releases (#1704) (f78b981)

Build System

  • updated @newrelic/aws-sdk to latest to get the instrumentation fixes for 3.363.0 (#1707) (a2cca08)

Support statement:

  • New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.

v10.3.2

26 Jun 21:57
eb1f840
Compare
Choose a tag to compare

v10.3.2 (2023-06-26)

Bug Fixes

  • prisma: check for query args in string property (#1684) (8d9b176)

Security Improvements

Miscellaneous Chores

  • test: Added t.end() to trace unit test (#1698) (254c9c0)
  • test: convert error-trace-aggregator.test.js to tap-style (#1690) (44b17ab)
  • test: convert trace unit test to tap style (#1692) (727c17f)
  • test: Fixed tap end/autoend calls in trace unit test (#1700) (b4a4948)

Support statement:

  • New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.

v10.3.1

22 Jun 20:35
2a89153
Compare
Choose a tag to compare

v10.3.1 (2023-06-22)

Security

  • deps: Updated semver to v7.5.2, also in native-metrics and test utils (#1685) (e207a6b)

Miscellaneous Chores

  • Added test for getRedisParams (#1670) (e9f8556)
  • temporarily limit prisma tests to non-breaking version (#1680) (76d3ade)
  • testing: convert query-test-aggregator tests to tap style (#1676) (d2e45ad)
  • testing: Converted error-event-aggregator.test.js to tap (#1683) (9f1d66f)

Support statement:

  • New Relic recommends that you upgrade the agent regularly to ensure that you're getting the latest features and performance benefits. Additionally, older releases will no longer be supported when they reach end-of-life.