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

Node.js agent release notesRSS

March 30, 2017
Node.js agent v1.38.2

Bug fixes

  • When.js hooks similar to Promise.onPotentiallyUnhandledRejection now function as intended.

    Previously, hooks like Promise.onPotentiallyUnhandledRejection would not work due to the way the agent wraps the promise constructor. When.js expects these handles to be assigned directly onto the promise constructor, and our wrapper was intercepting the assignment. The wrapper will now properly proxy these values and assign them onto the original constructor, restoring the proper behavior.

  • Express route parameters will now be properly attached to the corresponding transaction.

    Previously, our express instrumentation would read the route parameters and place them on the segment responsible for matching the parameters. This behavior did not place the parameters on the transaction that the segments belonged to, causing the parameters to not show up properly on transaction traces and transaction events.

March 17, 2017
Node.js agent v1.38.1

Bug fixes

  • Fixed issue with when.js instrumentation not preserving all properties on wrapped Promise constructor.

    Previously, the when.js instrumentation would cause an unhandled exception when private methods on the Promise constructor were called (e.g. when adapting functions that do not use promises).

March 16, 2017
Node.js agent v1.38.0

Improvements

  • We're excited to announce the addition of a new Node VMs page to the UI that provides a curated view of the cpu, memory, garbage collection, and event loop metrics that we have added over the past several releases of the node agent and native-metrics module.

    For more information, see our documentation.

  • Added instrumentation of When.js promise library.

    Previously, the transaction state could get lost when multiple promises resolved close to each other.

  • Fixed name of environment variable in error message when configuration file cannot be found. Thanks to @Maubic for the contribution!

  • Updated tests to work with the latest version of Node 7.

February 22, 2017
Node.js agent v2.5.0-beta

New Features

  • Added support for recording interfaces that return promises instead of taking callbacks. See RecorderSpec.promise for more details.

    Thanks to Gert Sallaerts (@Gertt) for this contribution.

Improvements

  • Incorporated fixes and features from 1.36.2, 1.37.0, and 1.37.1.

  • Domains are no longer preemptively instrumented, thus applications that do not use domains will not load the domain module.

    Including the domain module causes a small amount of extra overhead in other core libraries that must keep the domain state set correctly.

February 16, 2017
Node.js agent v1.37.2

Notes

This release is the same as v1.37.1 except it has been re-published to npm due to an issue with shrinkwrapping the previously published package.

Node.js agent v1.37.1

Notes

Important

This release has been re-published to npm as 1.37.2. Please use version 1.37.2 or higher.

Improvements

  • Agent now wraps emit on http request/response objects instead of relying on listeners.

  • Improved documentation for newrelic.noticeError() and ignore_status_codes configuration.

    The documentation now makes it clear that errors recorded using noticeError() do not obey the ignore_status_codes configuration value.

  • Removed unused yakaa dependency.

Bug fixes

  • Fixed a bug in normalization rules when replacements do not maintain initial /.
  • Better de-duplication of errors when the same error instance is used multiple times.
  • Server-side naming rules are now applied even when user defined ones have matched.
  • Errors reported outside of a transaction now include their stack trace on the error analytics page.
  • A potential stack overflow in trace serialization has been removed.
  • Fixed an issue with our Express and domain instrumentation related to a loss of transaction state that could result in incorrect transaction names, traces, and events.
  • Nested background transactions now report the correct number of metrics.

February 9, 2017
Node.js agent v1.37.0

New features

  • The agent now reports event loop metrics on supported platforms.

    The agent will now record the number of event loop ticks per minute and CPU time spent in each tick. This feature requires v2.1.0 or higher of the optional @newrelic/native-metrics module, and is supported on Node versions 0.12, 4, 6, and 7.
    You can read more about it on our docs site!

Bug fixes

  • The agent no longer creates a segment for each row returned from a PG query when the pg-query-stream module is used.
  • Internal properties used in our promise instrumentation are now non-enumerable to prevent unexpected keys showing up for clients.
  • Agent now uses safe stringification when encoding payloads in order to prevent an issue with circular references.
  • Fixed issue with the agent holding the process open when retrying to connect to the collector.

Improvements

  • Removed io.js from our test suite, since it has not been supported for some time.
  • Quieted a log message warning users about their own settings.
  • Fixed typo in a log message. Thanks to Dave Bobak (@davebobak) for the contribution.

January 26, 2017
Node.js agent v1.36.2

Bug fixes

  • Fixed issue with timing Redis operations when called without a callback.

    Previously these operations would continue to be timed until the transaction ended, and as a result reported incorrect times.

  • Transactions that result in a 404 HTTP error are now named "(not found)".

    Previously these transactions were reported with no name (e.g. get /).

  • When the newrelic.js configuration file is not present, the agent now logs a message to the console and no longer prevents the app from starting up.

January 25, 2017
Node.js agent v2.4.0-beta

Improvements

  • Rewrote the cassandra-cql and memcached instrumentations using the DatastoreShim.

  • Improved instrumentation matching.

    Previously, the agent would determine which instrumentation would run for a given module being loaded using the basename of the file path. This lead to false positives (e.g. myapp/lib/express.js would trigger the express instrumentation) which we previously just ignored. Matches are now determined using the string passed to require. This means you can now match local relative paths (./lib/something) as well as package-relative paths (amqplib/callback_api).

January 12, 2017
Node.js agent v1.36.1

Bug fixes

  • Stop collecting URL parameters from the HTTP referer header

    The Node agent collects the request headers during an error trace to help determine the root cause of problems. The referer header is the URI that identifies the address of the webpage that linked to the resource being requested. It is possible that the referer URI may contain sensitive information in the request query parameters. New Relic has found that the query parameters are not properly stripped during the error trace. This update fixes this by stripping the query parameters from the referer in the request header before sending this data to New Relic.

    This release fixes New Relic Security Bulletin NR17-01.

Improvements

  • Improved logging of modules that did not get instrumented.

Copyright © 2024 New Relic Inc.

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