Node.js release notes

Node.js agent release notes

Friday, December 5, 2014 - 14:27 Download

Fixes

  • Fixed a bug that caused some outbound http requests to show up in the New Relic UI as requests to localhost rather than the specified domain.

  • The agent no longer reports errors from outbound http requests if they were handled by the user's application

Tuesday, November 25, 2014 - 11:59
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

  • The node agent now instruments connections to Oracle Databases using the oracle driver. This patch was contributed by ryanwilliamquinn

  • Fixed an issue that would break kraken apps when the node agent was enabled. This patch was contributed by Lenny Markus

Thursday, November 20, 2014 - 17:02
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

Added support for the the aggregate method on mongodb collections. This patch was contributed by taxilian

Thursday, November 13, 2014 - 17:06
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

  • Fixed a bug in Cross Application Tracing where the agent would sometimes attempt to set a header after headers had already been sent.

  • Replaced the logger with one that is handles file writes properly lowering overall resource usage.

    This is a small change with a large impact. fs.createWriteStream returns whether data was queued or not. If it is queued it is recommended to wait on a drain event but this isn't mandatory. Most loggers we've found ignore this event which leads to many writes getting buffered and a rapid increase in native heap size as well as lowering the process's ability to respond to requests.

Thursday, November 6, 2014 - 13:53
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

  • Updated support for hapi 7.2 or higher.

    Hapi refactored how the server is instantiated and caused the agent to not be able to get transaction names. This release accounts for the update and enables full instrumentation.

Thursday, November 6, 2014 - 12:19
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

  • This release was unpublished from npm due to a bad merge
Friday, October 31, 2014 - 11:47
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

  • Added support for Custom Metrics

    Custom metrics provides a way to send additional metrics up to New Relic APM, which can be viewed with Custom Dashboards. We have two APIs for this, recordMetric(name, value) and incrementMetric(name[, value]). Read more about Node.js custom metrics.

  • Fixed a bug in deeply nested transactions.

    Previously we allowed transactions to be nested to any depth. We've found in some cases this causes stack depth problems and are now limiting to 900 segments per transaction. We will still collect metrics on all segments, but transaction traces will only show the first 900.

  • Fixed a bug where custom tracers would show 0 time if the transaction ended n them.

    This may change the times you see for other types of tracers by a small amount. The change will reflect slightly more accurate timing.

Thursday, October 23, 2014 - 16:17
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

  • Fixed a bug that would cause the application to crash on outbound connections when using node 0.8.
  • Fixed a bug that could sometimes cause the application to crash while parsing MySQL queries.
Thursday, October 16, 2014 - 14:59
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

  • Added support for Label Categories

    The agent now supports setting Labels for your application on a per instance level, using either an environment variable, or a config file setting. https://docs.newrelic.com/docs/apm/new-relic-apm/maintenance/categories-...

  • Improved transaction names for express 4

    express 4 added the ability to mount apps and routers at specific urls. The node agent would previously use only the portion of the route that was the last router or app matched as the transaction name. Transaction names will now include the entire matched route.

  • Added detection for uninstrumented instances of modules that should be instrumented

    The agent will now detect if an application has required a module before require('newrelic') .If this occurs, the agent will add a warning in the log file and display a warning banner in the UI.

  • Added more logging to custom instrumentation APIs at debug level.

    The logging was improved for the benefit of people using the following APIs: createTracer, createWebTransaction, createBackgroundTransaction, and endTransaction. It will log when transactions are created and when transactions are ended. It will also log when it can't create a tracer due to there being no active transaction.

  • Fixed a bug in PostgreSQL instrumentation where the event emitter from query could not chain .on calls. This patch was contributed by sebastianhoitz.

  • Fixed a bug in createBackgroundTransaction where if the agent was disabled it didn't take a group argument. This patch was contributed by nullvariable.

  • Fixed a bug in our URL parsing where in Node v0.11.14 url.parse returns a differently shaped object than expected. This patch was contributed by atomantic

    Note: Node v0.11.x is not officially supported, but Node v0.12 will be and this patch helps us get ready for that.

Friday, October 10, 2014 - 11:23
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

  • Added support for Cross Application Tracing

    The agent now supports Cross Application Tracing, which allows the New Relic APM UI to display traces that span multiple applications.

  • Fixed a bug that would cause application to crash on request when using the kraken framework.

  • Loosened the restrictions on the app_name setting. Application names may now include any Unicode characters.

Monday, October 6, 2014 - 18:32
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Fixes

  • Fixed a type error while checking payload size before reporting to New Relic.

    When this occurred the agent would fail to send the payload to New Relic. This was more likely to occur in high throughput applications.

Friday, October 3, 2014 - 13:32
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

  • Fixed a bug where mutibyte characters would cause an error when sending data to the New Relic servers.
Friday, September 26, 2014 - 14:57
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

  • Updated hapi instrumentation to support the recently released v6.9.

  • Fixed a bug where an invalid package.json could cause the agent to crash while it recursed through node_modules gathering version details.

  • Properly name other SQL queries.

    Previously when the agent failed to parse SQL it would create a metric stating the database type, query type, and query table were all unknown. This has been changed to keep track of database type and create an appropriate other operation metric like other agents.

Friday, September 19, 2014 - 11:44
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

  • Custom Instrumentation functions now pass through the return value of their passed in callback.

  • Multiple improvements to PostgreSQL instrumentation

    When no callback was detected in the query functions, we were inserting our own. The insertion itself caused a crash. Adding a callback also modified the behavior of the pg module. Instead, we now listen for error or end events to finish segments.

    We now generate metrics for statement type/table combinations. Look for these in the database tab your APM Account!

Thursday, September 11, 2014 - 16:00
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Fixes

  • Improved MongoDB find instrumentation.

    The mongo driver provides many ways to invoke its API and find documents. In previous releases, some API invocations would create transaction trace segments that would not end properly, leading to inaccurately large segment times. This release ensures the agent always instruments finding and iterating through documents, ensuring segment times are accurate.

Friday, September 5, 2014 - 11:23
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Improvements

  • PostgreSQL support via the `pg` driver.

    The Node.js agent now records the amount of time spent in transactions with PostgreSQL databases. This timing can be viewed in the Transactions page within individual transactions and their traces.

    The agent supports all of the following `pg` usage scenarios:

    • Using the pure javascript API exposed directly from `pg`
    • Using the "native" API exposed from `pg.native`
    • Using the "native" API exposed directly from `pg` when the `NODE_PG_FORCE_NATIVE` environment variable is set
    • Using the pure javascript API from the `pg.js` module
Thursday, August 28, 2014 - 18:11
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Fixes

  • Removed a preemptive DNS lookup of the New Relic servers that could cause errors when behind a proxy.
Monday, August 25, 2014 - 12:06
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Fixes

  • Fix to prevent proxy credentials transmission

    This update prevents proxy credentials set in the agent config file from being transmitted to New Relic.

Friday, August 22, 2014 - 15:37
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Improvements

  • MySQL Pooling Support

    Better support for mysql pooling, including connections that use createPoolCluster and createPool. Previously connections obtained through a pool could potentially be uninstrumented.

Friday, August 15, 2014 - 20:25
End of Life

The end-of-life date for this agent version is July 29, 2019. To update to the latest agent version, see Update the agent. For more information, see End-of-life policy.

Notes

  • Custom instrumentation

    The agent now allows you to annotate your application code to provide customized instrumentation. This includes the ability to time both web and background transactions, and add tracers to measure activity within transactions like querying a database. For more information, see custom instrumentation

Pages