• /
  • EnglishEspañolFrançais日本語한국어Português
  • Inicia sesiónComenzar ahora

Node.js agent release notesRSS

March 13, 2018
Node.js agent v3.1.0

Improvements

  • Promise based web framework middleware instrumentation now supports callback based sequencing.

    Previously, a promise based middleware was assumed to continue to the next middleware once the promise it returned resolved. This assumption has been relaxed to allow for a callback to be supplied to the middleware to invoke the next middleware.

March 7, 2018
Node.js agent v3.0.0

Improvements

  • Removed the ssl configuration option.

    TLS is now always used in communication with New Relic Servers. The ssl configuration value and NEW_RELIC_USE_SSL environment value are no longer used. Setting either value to anything other than true will result in a warning.

  • Security bulletin NR18-05:

    Fixes issue introduced in 2.8.0 where the agent may have captured all transaction attributes, even with High-security mode enabled on the account. This may have included sensitive data attached to transactions.

  • All request parameters now prefixed with request.parameters..

    Previously request parameters such as route and query parameters were added as attributes without any name changes. For example /foo?bar=value would add the attribute bar to the transaction. Now this attribute would be named request.parameters.bar.

    Any Insights dashboards, alerts, or other NRQL queries using these attributes must be updated to use the new attribute names.

  • Adds support for EU Datacenter

March 5, 2018
Node.js agent v2.9.1

Bug fixes

  • Security bulletin NR18-06:

    Fixes issue introduced in 2.8.0 where the agent may have captured all transaction attributes, even with High-security mode enabled on the account. This may have included sensitive data attached to transactions.

  • Removed support for agent attributes include/exclude rules.

    These will be coming back in Node Agent v3.0.0. The fix for the above security bulletin required a backwards incompatible change to our attributes.

  • Fixed bug in Bluebird instrumentation.

    Some methods were not instrumented correctly. This would cause a problem if a function was passed to these methods.

    Special thanks to Andreas Lind (@papandreou) for helping us find this bug.

February 27, 2018
Node.js agent v2.9.0

Note

This release is deprecated due to an issue where the agent may capture transaction attributes regardless of agent settings. If you are using this release, upgrade your agent to agent version 2.9.1 or higher. For more information, see Security Bulletin NR18-06.

Improvements

  • Added the WebFrameworkShim#savePossibleTransactionName method.

    This method may be used to mark the current running middleware as a potential responder. savePossibleTransactionName should be used if a middleware can't be determined to be a terminal middleware while it executes, but may be responsible for responding after execution has finished.

  • Fixed dns.resolve results assertion.

  • Expanded async_hooks tests around maintain transaction context.

  • Added Koa to metric naming objects.

  • Added callback prop to middlewareWithPromiseRecorder return spec.

    While we aren't actually wrapping any callback, this is a workaround that gives us access to the active segment. This ensures that all segments inside Koa transaction traces are named correctly, particularly in cases when transaction context may be lost.

  • Updated after prop in middlewareWithPromiseRecorder return spec to set txInfo.errorHandled = true in cases when there is no error.

    Because Koa has no concept of errorware in the same sense as Express or Connect ((err, req, res, next)), the agent now assumes if a middleware resolves, any error that may have occurred can be marked as handled.

Fixes

  • Added check for parentSegment in async_hooks instrumentation, to help ensure that transaction context is maintained.

February 21, 2018
Node.js agent v2.8.0

Note

This release is deprecated due to an issue where the agent may capture transaction attributes regardless of agent settings. If you are using this release, upgrade your agent to agent version 2.9.1 or higher. For more information, see Security Bulletin NR18-06.

New features

Improvements

  • Updated documentation for apdex_t setting and removed environment variable.

    This was never configurable on client side and the documentation was misleading.

  • Documented environment variables for slow_sql configurations.

    Thanks to Olivier Tassinari (@oliviertassinari) for the update!

  • Updated hapi/hapi-pre-17/package.json to run errors.tap.js in more versions.

  • Added internal cache to unwrapped core modules for agent use.

  • Improved logging around environment facts gathering.

Bug fixes

  • Enable certain agent attributes when high-security mode is enabled.

    During the switch from the old capture_params/ignored_params to the new attribute include/exclude rules, high-security mode was over-zealous in what attributes it disallowed. This has been trimmed back to be in line with other agents.

February 7, 2018
Node.js agent v2.7.1

Notes

  • Changed attributes.enabled to true by default.

    In the previous version we defaulted this to false to maintain parity with capture_params which defaulted to false. However, this is a invalid parity because attribute.enabled controls more attributes than capture_params.

Improvements

  • Removed unnecessary checks around Timer.unref() calls.

    unref has been supported since Node v0.9, meaning it will always be present in timers set by the agent (with 0.10 being the earliest supported version).

  • Added a split in the node versions for the mysql2 and cassandra versioned tests.

    As of mysql2 v1.3.1 and cassandra v3.4.0 the minimum supported version of Node is 4.

  • Replaced as many instances of {} as possible with Object.create(null).

  • Removed extraneous logger arg in addCustomAttribute call.

Bug fixes

  • The agent will no longer generate browser data for ignored transactions.

  • Expanded Hapi instrumentation to support route pre handlers.

    This is a Hapi route config option that was previously uninstrumented, causing transaction names to become invalid. This expanded instrumentation ensures that all additional handlers are wrapped and associated with the main route.

February 1, 2018
Node.js agent v2.7.0

Nouvelles fonctionnalités

  • Ajout du filtrage des attributs de l'agent via des règles d'inclusion et d'exclusion.

    Les attributs de l’agent peuvent désormais être contrôlés à l’aide de règles d’inclusion et d’exclusion précises. Ces règles, décrites ci-dessous, remplacent capture_params et ignored_params. Tous les attributs listés dans ignored_params seront migrés vers attributes.exclude en interne, à moins que attributes.exclude ne soit explicitement défini.

    Trois nouvelles propriétés de configuration ont été ajoutées à la configuration racine et à chaque destination (plus d’informations sur les destinations plus tard). Ces nouvelles configurations sont :

    • attributes.enabled - Permet la collecte d’attributs pour la destination.
    • attributes.include - Une liste d’attributs ou de règles de caractères génériques à inclure.
    • attributes.exclude - Une liste d’attributs ou de règles génériques à exclure.

    Les règles d'inclusion et d'exclusion peuvent être des règles exactes (par exemple request.headers.contentLength), ou des règles avec caractères génériques qui correspondent uniquement au début des clés d'attribut (par exemple request.headers.* correspondrait à tout en-tête de requête).

    Ces règles peuvent être spécifiées globalement à la racine de la configuration, ou pour des destinations spécifiques. Ces destinations sont :

    • transaction_tracer - Contrôle les attributs de trace de transaction.
    • transaction_events - Contrôle les attributs d’événement de transaction.
    • error_collector - Contrôle les attributs des événements d’erreur.
    • browser_monitoring - Contrôle les attributs de transaction de navigateur/RUM.
  • addCustomParameter renommé en addCustomAttribute.

    La méthode addCustomParameter est désormais obsolète et sera supprimée dans une future sortie de l'agent. La méthode addCustomAttribute est un remplacement direct pour celle-ci.

  • Ajout d’un cache au filtrage des attributs de l’agent.

    Pour minimiser la surcharge liée à l’application des règles d’attribut, l’agent met en cache les résultats du filtrage des clés d’attribut et des destinations spécifiques. Le cache est limité à 1000 paires destination-clé par défaut, mais peut être configuré avec attributes.filter_cache_limit. Ce cache offre une amélioration de 10x pour l’application des règles de filtre pour le taux d’accès au cache.

  • Ajout de allow_all_headers aux options de configuration et mise à jour de l’instrumentation http.

    Lorsque la valeur est true, l’agent collectera tous les en-têtes de requête. Cette collecte respecte les règles d’inclusion et d’exclusion d’attribut de l’agent. Un ensemble par défaut de règles d’exclusion est fourni dans newrelic.js. Ces règles excluent tous les cookies, et les en-têtes d’authentification.

  • Les segments peuvent désormais être marqués comme opaques, ce qui entraîne l’omission des segments internes de la trace de transaction.

Améliorations

  • Ajout de limites pour les attributs de l’agent afin de maintenir la surcharge de monitoring à un niveau bas.

    Les clés et valeurs d’attribut sont limitées à 255 octets chacune. Les clés de plus de 255 octets sont supprimées, et un message d’avertissement est enregistré dans le log. Les valeurs de plus de 255 octets sont tronquées à 255 octets, en respectant l’encodage UTF-8 multi-octets. Les attributs personnalisés sont limités à 64 par transaction. Les attributs au-delà du 64e sont ignorés silencieusement.

  • Ajout de l'erreur au message de log d'échec de connexion au collecteur.

  • L’attribut request_uri a été renommé en request.uri.

    Cela aligne le nom de l’attribut avec tous les autres attributs de requête.

  • Dépendance https-proxy-agent mise à jour de ^0.3.5 à ^0.3.6.

  • Mise à jour des tests versionnés le cas échéant pour s’assurer que la plupart des versions mineures des modules instrumentés fonctionnent comme prévu.

  • Correction du test bloquant pour la ligne v1 du pilote Mongo.

  • Ajout de tests vérifiant que les transactions Hapi 404 génèrent des métriques correctement nommées.

    L’instrumentation Hapi fonctionnait correctement, mais nous n’avions pas de tests pour ce cas spécifique.

Débogage

  • L’agent ne plantera plus lorsque crypto.DEFAULT_ENCODING a été modifié.

    Auparavant, l’agent supposait que le résultat de hash.digest() était une instance de Buffer. Si crypto.DEFAULT_ENCODING est modifié, hash.digest() renverra une chaîne et l’agent plantera. L’agent s’assure désormais que la valeur est une instance de Buffer avant de continuer.

  • Correction de l’erreur si process.config.variables.node_prefix est manquant.

    Si process.config.variables.node_prefix est évalué à faux (ce qui peut arriver si vous utilisez electron, conduisant à ce problème https://support.newrelic.com/s/hubtopic/aAX8W0000008ZMO/new-relic-on-electron-nodejs) la fonction getGlobalPackages dans lib/environment.js donnera une erreur alors qu’elle ne le devrait pas.

    Merci à Jarred Filmer (@BrighTide) pour le correctif !

January 18, 2018
Node.js agent v2.6.1

Improvements

  • Added regression test for promise instrumentation and stack overflows.

Bug fixes

  • Fixed naming bug in Restify instrumentation regarding parameters to next.

    The instrumentation previously considered any truthy value passed to next to be an error. It is possible to pass a string or boolean to next in Restify to control further routing of the request. This would cause the middleware's mounting path to be erroneously appended to the transaction name.

  • Fixed access to bluebird.coroutine.addYieldHandler.

    This was accidentally not copied by our instrumentation making access to the function fail. This has been resolved and tests expanded to ensure no other properties were missed.

January 10, 2018
Node.js agent v2.6.0

New features

  • Added transaction_tracer.hide_internals configuration.

    This configuration controls the enumerability of the internal properties of the agent. Making these properties non-enumerable can have an impact on the performance of the agent. Disabling this option may decrease agent overhead.

Improvements

  • Refactored promise instrumentation.

    This new instrumentation is far more performant than the previous and maintains a more sensible trace structure under a wider range of sequences.

  • Added concurrent environment scanning, limited to 2 reads at a time.

    This improves the performance of dependency scanning at agent startup, allowing the agent to connect to our services more quickly.

  • Refactored instrumentation tests to run against wide range of module versions.

    Instrumentation tests will be run against all supported major versions of every instrumented module. For releases, we will test against every supported minor version of the modules. This vastly improves our test coverage and should reduce the instances of regressions for specific versions of modules.

  • Added tests for all of bluebird's promise methods.

    These tests ensure that we 100% instrument bluebird. Some gaps in instrumentation were found and fixed. Anyone using bluebird should upgrade.

Bug fixes

  • Fixed a crashing error in the hapi instrumentation.

    When recording the execution of an extension listening to a server event (for example, 'onPreStart') the agent would crash due to the lack of a raw property on the first argument passed to the extension handler. The agent now checks the event before wrapping the extension handler and checks for the existence of the raw property before attempting to dereference off of it.

  • Fixed an incompatibility with the npm module mimic-response.

    The agent's HTTP instrumentation previously did not play well with the way mimic-response copied properties from an http.IncomingMessage. This caused modules that relied on that process, such as got, to hang.

  • Fixed naming rule testing tool to use same url scrubbing as the agent itself.

Copyright © 2026 New Relic Inc.

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