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

Node.js agent release notesRSS

May 14, 2020
Node.js agent v6.7.1

Fixes

  • Added synthetics headers to transaction event intrinsics for Distributed Tracing
  • Fixed stale comment documentation with regards to segment recording

May 7, 2020
Node.js agent v6.7.0

New Features

  • Added a configurable-length span queue to Infinite Tracing: infinite_tracing.span_events.queue_size.

    The queue length can be modified to balance the needs of keeping full traces against trade-off of memory usage and CPU overhead in a high-throughput application.

Improvements

  • Updated remaining /api unit tests to use tap API.
  • Updated @grpc/grpc-js to v1.0.3.

Fixes

  • Fixed issue where API.instrumentLoadedModule could throw an exception when it failed.

    Error details will now be caught and logged.

  • Resolved non-proxy minimist security warnings by bumping dependencies.

    These updates only impact development dependencies. Thank you to @devfreddy for the contribution.

    • Updated minimist sub-deps to resolve most related security warnings.
    • Updated tap to resolve remaining tap security warnings.
    • Updated @newrelic/proxy.

April 20, 2020
Node.js agent v6.6.0

New Features

  • Added support for Infinite Tracing on New Relic Edge.

    Infinite Tracing observes 100% of your distributed traces and provides visualizations for the most actionable data so you have the examples of errors and long-running traces so you can better diagnose and troubleshoot your systems.

    You configure your agent to send traces to a trace observer in New Relic Edge. You view your distributed traces through the New Relic’s UI. There is no need to install a collector on your network.

    Infinite Tracing is currently available on a sign-up basis. If you would like to participate, please contact your sales representative.

Improvements

  • Added function_version to lambda metadata payload.

    This is pulled from an invocation's context.functionVersion value.

March 19, 2020
Node.js agent v6.5.0

Improvements

  • Added error attributes to spans.

    • The public api method noticeError() now attaches exception details to the currently executing span. Spans with error details are now highlighted red in the Distributed Tracing UI. Also, the attributes error.class and error.message are added to the span. If multiple errors are recorded for a single span, only the final error's attributes will be added to the span.
    • Added ID of the span in which an error occurred to the corresponding transaction error event.
  • Added new public API methods addCustomSpanAttribute and addCustomSpanAttributes to add attributes to the currently executing span.

  • Added new attributes to http outbound spans: http.statusCode and http.statusText.

  • Updated W3C Trace Context "Known Issues and Workaround" notes with latest accurate consideration.

  • Converted unit tests to run via tap. Removes mocha dependency.

Fixes

  • Fixed route naming when hapi's pre route handlers share functions.
  • Fixed child_process instrumentation so that handlers can be effectively removed when attached via .once() or manually removed via removeListener().

February 27, 2020
Node.js agent v6.4.2

Improvements

  • Support new http[s] get/request function signature in Node v10+

  • Added the following Span attributes:

    • http.statusCode
    • http.statusText

    The above attributes will be replacing the following deprecated attributes:

    • httpResponseCode
    • response.status
    • response.statusMessage

    The deprecated attributes will be removed with the next major release of the agent.

  • Updates version check to be in alignment with our stated support policy and the version constraints in package.json

  • Redacts individual certificate configuration values before sending to server settings. When configured, these values will now appear like: {certificates.0: ****}.

Known issues and workarounds

  • If a .NET agent is initiating distributed traces as the root service, you must update that .NET agent to version 8.24 or later before upgrading your downstream New Relic Node agents to this agent release.

February 20, 2020
Node.js agent v6.4.1

Improvements

  • Removed calls to OutgoingMessage.prototype._headers in favor of using public getHeaders API (thanks to @adityasabnis for bringing this to our attention).

  • Removed engine upper-bound to enable easier experimentation of newer Node versions with the agent for customers.

    Please see https://docs.newrelic.com/docs/agents/nodejs-agent/getting-started/compa... for officially supported versions. Incompatibilities are expected for odd-numbered releases, which are not supported, and even-numbered releases before "official" support has been released.

  • Reduced "... Aggregator data send." log messages to debug level to reduce noise of default logs.

  • Prevented passing CI with .only() in mocha tests.

  • Removed CI restriction for Node 12.15. Node shipped a fix for the 12.16 breakage in 12.16.1.

  • Reduced logging level of raw x-queue-start or x-request-start header values to avoid logging very large values at default logging levels.

Fixes

Known issues and workarounds

  • If a .NET agent is initiating distributed traces as the root service, you must update that .NET agent to version 8.24 or later before upgrading your downstream New Relic Node agents to this agent release.

February 12, 2020
Node.js agent v6.4.0

New Features

  • Added support for W3C Trace Context, with easy upgrade from New Relic trace context.

    • Distributed tracing now supports W3C Trace Context headers for HTTP protocols when distributed tracing is enabled. Our implementation can accept and emit both the W3C trace header format and the New Relic trace header format. This simplifies agent upgrades, allowing trace context to be propagated between services with older and newer releases of New Relic agents. W3C trace header format will always be accepted and emitted. New Relic trace header format will be accepted, and you can optionally disable emission of the New Relic trace header format.

    • When distributed tracing is enabled with distributed_tracing.enabled: true, the Node agent will now accept W3C's traceparent and tracestate headers when calling TransactionHandle#acceptDistributedTraceHeaders or automatically via http instrumentation. When calling Transaction#insertDistributedTraceHeaders, or automatically via http instrumentation, the Node agent will include the W3C headers along with the New Relic distributed tracing header, unless the New Relic trace header format is disabled using distributed_tracing.exclude_newrelic_header:true.

    • Added TransactionHandle#acceptDistributedTraceHeaders API for accepting both New Relic and W3C Trace Context distributed traces.

      Deprecated TransactionHandle#acceptDistributedTracePayload which will be removed in a future major release.

    • Added TransactionHandle#insertDistributedTraceHeaders API for adding outbound distributed trace headers. Both W3C Trace Context and New Relic formats will be included unless distributed_tracing.exclude_newrelic_header: true.

      Deprecated TransactionHandle#createDistributedTracePayload which will be removed in a future major release.

    Known issues and workarounds

    • If a .NET agent is initiating distributed traces as the root service, you must update that .NET agent to version 8.24 or later before upgrading your downstream Node New Relic agents to this agent release.

Improvements

  • Improved transaction and trace ID generation.

  • AWS Lambda

    • Added collection of additional AWS Lambda event source meta data.
    • Added event type detection for Lambda invocation events.
    • Expanded ARN harvest to include ALB and CloudWatch.

Fixes

  • Fixed issue where Lambda invocation errors were not noticed in Node 10 or Node 12 environments.
  • Pins Node 12 CI/testing version to v12.15 to avoid breakages with v12.16.0 until cause(s) resolved.
  • Updated publish-docs script to use npm run instead of make.

Known issues and workarounds

  • If a .NET agent is initiating distributed traces as the root service, you must update that .NET agent to version 8.24 or later before upgrading your downstream New Relic Node agents to this agent release.

January 27, 2020
Node.js agent v6.3.0

Improvements

  • Bumped @newrelic/aws-sdk to v1.1.1 from v1.0.0. https://github.com/newrelic/node-newrelic-aws-sdk/blob/master/CHANGELOG.md Notable improvements include:

    • Added official support for API promise calls, fixing two critical bugs.
    • Added check before applying instrumentation to avoid breaking for very old versions.
  • Added bindPromise() to Shim prototype for direct usage by instrumentation. Previously, _bindPromise() was a private function in the Shim module.

  • Updated language in agent to be in line with New Relic Standards.

Fixes

  • Fixed spelling in configuration error. Thank you to David Ray (@daaray) for the contribution.
  • Fixed long-log truncation issue in Serverless mode.

November 25, 2019
Node.js agent v6.2.0

New Features

  • Added getLinkingMetadata() method to the API.

    This new method can be used to retrieve the identifying information for the agent and current active span and trace. Please consult the documentation for more information.

  • Added getTraceMetadata() to the agent API.

    This new method can be used to retrieve the current active Distributed Tracing span and trace ids. Please consult the documentation for more information.

  • Added an isSampled() method to Transaction and TransactionHandle.

    This new method can be used to retrieve the sampling decision made for a given transaction. Please consult the documentation for more information.

Fixes

  • Upgraded tap to resolve handlebars audit warnings.

November 5, 2019
Node.js agent v6.1.0

New Features

  • Added @newrelic/aws-sdk module to agent for auto-include on install.
  • Added splitting of application name using semicolons in the env var.
  • Instrumented connection.execute for mysql2.

Improvements

  • @newrelic/native-metrics module is defaulted to disabled in serverless mode.

    This can reduce lambda cold-start times by up to 170ms. The native-metrics module can rarely load in serverless environments due to differences from build environment to deployed environment and offers little value in a serverless environment.

  • Added env var NEW_RELIC_NATIVE_METRICS_ENABLED to enable/disable the native-metrics module

  • Added a test for querying poolCluster.of()

  • Added HTTP method to segment attributes for external requests.

  • Updated the bin/ssl.sh such that it uses verbose output, will exit on first error code, and will refuse to proceed with LibreSSL (which can't generate certs).

  • Added a clear sub-command to bin/ssl.sh that will allow developers to quickly remove generated ssl/cert files and regenerate (useful is switch between platforms via containers/docker and certs needs to be regenerated)

Fixes

  • Removed unused mysql bootstrap test code.
  • Increased timeout for index-bad-version test to reduce flickers on Node 12.
  • Changed file modification to leverage writeFile for watchFile test. This triggers the watcher in a reasonable amount of time much more consistently.
  • Removed testing of Bluebird 3.7 on Node v10 until they fix the segfault issue.

Copyright © 2024 New Relic Inc.

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