• EnglishEspañol日本語한국어Português
  • Log inStart now

Node.js agent release notesRSS

March 29, 2021
Node.js agent v7.2.1

Improvements

  • Bumped @grpc/grpc-js to ^1.2.11.

  • Bumped @grpc/proto-loader to ^0.5.6.

Fixes

  • Fixed issue where capturing axios request errors could result in a memory leak.

    The agent now clears error references on transaction end, which are not used for later processing. Errors returned from 'axios' requests contain a reference to the request object which deeper down has a handle to a promise in handleRequestError. The TraceSegment associated with that promise has a handle to the transaction, which through the error capture ultimately kept the promise in memory and prevented it from being destroyed to free-up the TraceSegment from the segment map. This change also has the benefit of freeing up some memory early for transactions held onto for transaction traces.

  • Agent no longer propagates segments for promises via async-hooks when the transaction associated with the parentSegment has ended.

    This change reduces the amount of context tracking work needed for certain rare edge-case scenarios involving promises.

  • Added active transaction check to wrappedResEnd to prevent unecessary work for ended transactions in the case of multiple Response.prototype.end() invocations.

  • Dev-only sub-dependency bump of 'y18n' to clear npm audit warnings.

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.

March 23, 2021
Node.js agent v7.2.0

Improvements

  • The NEW_RELIC_NO_CONFIG_FILE environment variable is no longer needed to run the agent without a configuration file.

    • If a configuration file is used with agent configuration environment variables, the environment variables will override the corresponding configuration file settings.
  • Added feature flag to allow disabling of certificate bundle usage.

    Deprecation Warning: The certificate bundle included by New Relic will be disabled by default and then fully removed in later major versions. We recommend testing with the certificate_bundle feature flag set to false to determine if you will need to modify your environment or setup your own appropriate bundle. Example configuration: feature_flag: { certificate_bundle: false }.

  • Set distributed tracing to enabled in the newrelic.js template configuration file supplied with the agent.

  • Added module root to shim.require() logging to aid debugging.

  • Migrated from .npmignore to 'files' list in package.json to control which files are packaged.

    Thank you to @JamesPeiris for the initial nudge via PR to move in this direction.

  • Converted remaining collector unit tests to use tap API.

  • Added linting to scripts in /bin folder.

    Linting rules added are slightly more permissive than production rules and allow full ecma 8.

  • Added new developer documentation to /docs folder.

    This information is ported over from private GHE wiki used prior to going open source. S/O @astorm for original versions of the function wrapping and module instrumentation docs.

Fixes

  • Fixed bug where applications with multiple names on a dynamically named host (UUID like) would have instances consolidated, losing per-host breakdowns.

    Removed 'host' from agent 'identifier' override to prevent server safety mechanism from kicking in. Host will still be used to identify unique agent instances, so was unnecessary to include as part of the identifier. This also resulted in additional processing overhead on the backend. The identifier override is still kept in place with multiple application names to continue to allow uniquely identifying instances on the same host with multiple application names where the first name may be identical. For example app_name['myName', 'unique1'] and app_name['myName', 'unique2']. These names would consolidate down into a single instance on the same host without the identifier override.

  • Fixed bug where truncated http (external) or datastore segments would generate generic spans instead of appropriate http or datastore spans.

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.

March 9, 2021
Node.js agent v7.1.3

Improvements

  • Removed requirement to configure application name when running in AWS Lambda (serverless mode).

    Currently New Relic doesn't leverage the application name for Lambda invocations. The agent now defaults the application name in serverless mode to remove the requirement of end-user configuration while handling cases if it were to be leveraged in the future.

  • Improved clarity of logging between 'no log file' or disabled agent startup issues.

    • Logs no-config file error to initialized logger (stdout) in addition to existing console.error() logging.
    • Adds specific message to no config file separate from being disabled.
  • Stopped binding/propagating segments via setImmediate for ended transactions.

  • Bumped @grpc/grpc-js to ^1.2.7.

  • Added support metric to be able to track usage of cert bundle via usage of custom certificates.

Fixes

  • Fixed bug where agent would attempt to call the 'preconnect' endpoint on the redirect host returned by the previous 'preconnect' call when reconnecting to the New Relic servers.

    The 'preconnect' calls now always use the original agent configuration value. Subsequent endpoints (connect, harvest endpoints, etc.) will continue to leverage the new redirect host value returned by 'preconnect.' The original config values are no longer overridden.

  • Fixed issue where a call to transaction.acceptDistributedTraceHeaders would throw an error when the headers parameter is a string.

  • Removed index-bad-config test which tested a no-longer possible use-case.

  • Removed license-key test logic from serverless-harvest test.

    Serverless mode does not require a license key as data transfer is handled by the integration.

  • Removed aws-sdk versioned test filtering.

  • Removed unused Travis CI scripts.

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.

February 23, 2021
Node.js agent v7.1.2

Improvements

  • Bumped @newrelic/aws-sdk to ^3.1.0.

Fixes

  • Fixed bug where the agent failed to reconnect to Infinite Tracing gRPC streams on Status OK at higher log levels.

    • Node streams require all data be consumed for the end/status events to fire. We were only reading data at lower log levels where we'd use/log the data. This resulted in a failure to reconnect and 'ERR_STREAM_WRITE_AFTER_END' errors. The agent now always listens to the 'data' event, even if not logging, and will also reconnect (with 15 second delay) on any 'ERR_STREAM_WRITE_AFTER_END' error.
  • Removed initial harvest send() call on streaming span event aggregator to prevent warning in logs.

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.

February 1, 2021
Node.js agent v7.1.1

Improvements

  • Added workflow for publishing to npm when a v* tag is pushed to the repo.
  • Fixes resolveMx test by using example.com for a valid exchange.

Fixes

  • Upgrade @grpc/grpc-js to v1.2.5 to fix non-propagation of internal http2 errors Now allows minor and patch auto-updates.

January 5, 2021
Node.js agent v7.1.0

Improvements

  • Added Fastify v3 support.
  • Upgraded grpc version.

Fixes

  • Fixed SQL traces being generated with invalid ID.
  • Fixed log message for minimum supported Node.js version.
  • Fixed empty log message for Infinite Tracing connections.
  • Fixed bug that prevented users from changing Infinite Tracing queue size.

December 1, 2020
Node.js agent v7.0.2

Fixes

  • Fixes a bug where the http.statusCode attribute was not being captured for an async invoked lambda.
  • Fixed typos in code comments, documentation, and debugging logger messages. Thank you @TysonAndre for the contribution.

November 17, 2020
Node.js agent v7.0.1

Improvements

  • Fixed a bug where spans queued up during backpressure situations would be improperly formatted and ultimately dropped when sent to an Infinite Tracing trace observer.
  • Updated @grpc/grpc-js to version v1.2.0.
  • Updated tap to clear up npm audit issues around lodash sub-dependency.

November 9, 2020
Node.js agent v7.0.0

Improvements

  • Added official parity support for Node 14

  • Dropped Node v8.x support. For further information on our support policy, see: https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/compa....

    • Removed Node v8.x from CI
    • Adds check that minimum Node version is >=10 and warns if >=15
    • Sets Node engine to >=10
    • BREAKING Dropped support for Node v8.x HTTP get() function signature
    • Strictly uses global.URL class in http core instrumentation
    • Removes Nodejs 8.x - 9.x checks
    • Update New Relic Dependencies to versions with updated Node version support
    • @newrelic/aws-sdk v3.0.0
    • @newrelic/koa v5.0.0
    • @newrelic/native-metrics v6.0.0
    • @newrelic/superagent v4.0.0
    • @newrelic/test-utilities v5.0.0
  • BREAKING Removed deprecated setIgnoreTransaction API method

  • BREAKING Removed deprecated httpResponseCode, response.status and httpResponseMessage http response attributes

  • BREAKING Removed the api.custom_parameters_enabled configuration item and associated environment variable NEW_RELIC_API_CUSTOM_PARAMETERS. Please use api.custom_attributes_enabled instead

  • BREAKING Removed deprecated Distributed Tracing API methods, createDistributedTracePayload() and acceptDistributedTracePayload()

  • Finalized removal of ignored_params and capture_params

  • Added additional logging to W3C Trace Context header creation

October 28, 2020
Node.js agent v6.14.0

Important

We recommend updating to the latest agent version as soon as it's available. If your organization has established practices that prevent you from upgrading to the latest version, ensure that your agents are regularly updated to a version at most 90 days old. Read more about keeping your agent up to date.

Fixes

  • Fixed issue where gRPC connection used for infinite tracing could throw if the server shutdown during disconnect of an existing connection.
  • Fixed bug where errors would still be collected for transactions with ignored error status codes in certain situations.

Improvements

  • Added Node 14 to CI test coverage.

    Many thanks to @jgeurts for the contribution.

  • Bumped @grpc/grpc-js to 1.1.7.

  • Bumped @grpc/proto-loader to ^0.5.5.

  • Updated README for consistency.

  • Converted errors ignore unit tests to tap API.

  • Infinite tracing logging and support metric improvements.

    • Increased logging level of certain infinite tracing / gRPC errors.
    • Decreased logging interval of dropped span warning for infinite tracing.
    • Added additional support metrics and logging for infinite tracing.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.