• /
  • EnglishEspañolFrançais日本語한국어Português
  • EntrarComeçar agora

Node.js agent release notesRSS

March 14, 2018
Node.js agent v3.2.0

New features

Improvements

  • Refactored instrumentation hooks to work with modules.

    With this change it is now possible to link against external instrumentation modules.

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

  • Added instrumentation support for MongoDB version 3.

    Version 3 of mongodb is now supported. Previously datastore host information (instance metrics) was incorrectly captured by the agent with mongodb v3. This has been fixed and all features should be functional now.

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

Novo recurso

  • Adicionada a filtragem de atributo de agente por meio de regras de inclusão e exclusão.

    Os atributos do agente agora podem ser controlados usando regras refinadas de inclusão e exclusão. Essas regras, descritas abaixo, substituem capture_params e ignored_params. Quaisquer atributos listados em ignored_params serão migrados para attributes.exclude internamente, a menos que attributes.exclude seja definido explicitamente.

    Três novas propriedades de configuração foram adicionadas à configuração raiz e a cada destino (mais sobre destinos adiante). Essas novas configurações são:

    • attributes.enabled - Permite a coleta de atributos para o destino.
    • attributes.include - Uma lista de atributos ou regras de curinga para incluir.
    • attributes.exclude - Uma lista de atributos ou regras de curinga para excluir.

    As regras de inclusão e exclusão podem ser regras exatas (por exemplo, request.headers.contentLength) ou regras curinga que correspondem apenas ao início das chaves de atributo (por exemplo, request.headers.* corresponderia a qualquer cabeçalho de requisição).

    Essas regras podem ser especificadas globalmente na raiz da configuração, ou para destinos específicos. Esses destinos são:

    • transaction_tracer - Controla os atributos de trace da transação.
    • transaction_events - Controla atributos de evento de transação.
    • error_collector - Controla os atributos de evento de erro.
    • browser_monitoring - Controla atributos de transação de navegador/RUM.
  • addCustomParameter renomeado para addCustomAttribute.

    O método addCustomParameter agora está descontinuado e será removido em uma versão futura do agente. O método addCustomAttribute é um substituto direto para ele.

  • Adicionado cache à filtragem de atributo do agente.

    Para minimizar a sobrecarga de aplicação de regras de atributo, o agente armazena em cache os resultados da filtragem de chaves de atributo e destinos específicos. O cache é limitado a 1.000 pares de destino-chave por padrão, mas pode ser configurado com attributes.filter_cache_limit. Esse cache oferece uma melhoria de 10x na aplicação de regras de filtro para ocorrências no cache.

  • Adicionado allow_all_headers às opções de configuração e atualizada a instrumentação de http.

    Quando definido como true, o agente coletará todos os cabeçalhos de solicitação. Essa coleta respeita as regras de inclusão e exclusão de atributo do agente. Um conjunto padrão de regras de exclusão é fornecido em newrelic.js. Essas regras excluem todos os cookies e cabeçalhos de autenticação.

  • Os segmentos agora podem ser sinalizados como opacos, fazendo com que os segmentos internos sejam omitidos do trace da transação.

Melhorias

  • Foram adicionados limites para atributos de agente para manter a sobrecarga de monitoramento baixa.

    As chaves e os valores de atributo são limitados a 255 bytes cada. Chaves que são maiores que 255 bytes são descartadas, e uma mensagem de aviso é registrada. Valores maiores que 255 bytes são truncados para 255 bytes, respeitando a codificação UTF-8 multibyte. Atributos personalizados estão limitados a 64 por transação. Atributos além do 64º são ignorados silenciosamente.

  • Erro adicionado à mensagem do log de falha de conexão do coletor.

  • Atributo request_uri renomeado para request.uri.

    Isso alinha o nome do atributo com todos os outros atributos de solicitação.

  • Dependência https-proxy-agent atualizada de ^0.3.5 para ^0.3.6.

  • Testes versionados atualizados, quando aplicável, para garantir que a maioria das versões menores dos módulos instrumentados funcione conforme o esperado.

  • Corrigido o teste travado para a linha v1 do driver do Mongo.

  • Adicionados testes para verificar se as transações 404 do Hapi resultam em métricas nomeadas corretamente.

    A instrumentação do Hapi estava fazendo o correto, mas não havia testes para este caso específico.

Correções de bugs

  • O agente não travará mais quando crypto.DEFAULT_ENCODING for alterado.

    Anteriormente, o agente assumia que o resultado de hash.digest() era uma instância de um Buffer. Se crypto.DEFAULT_ENCODING for alterado, hash.digest() retornará uma string e o agente travaria. O agente agora garante que o valor seja uma instância de Buffer antes de prosseguir.

  • Corrigido erro se process.config.variables.node_prefix estiver ausente.

    Se process.config.variables.node_prefix for falso (o que pode acontecer ao usar o electron, levando a este problema https://support.newrelic.com/s/hubtopic/aAX8W0000008ZMO/new-relic-on-electron-nodejs) a função getGlobalPackages em lib/environment.js dará um erro quando não deveria.

    Agradecemos a Jarred Filmer (@BrighTide) pela correção!

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.

Copyright © 2026 New Relic Inc.

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