February 1, 2014
Node.js agent v1.3.1
- Always cast ignored status codes to numbers so that people using environment-variable configuration or strings in config still get error status ignored properly.
- If you disabled server-side configuration, the server was still able to set the value of apdex_t for your app. This was an oversight, and has been corrected.
- Before, if you had request renaming rules, if the end result was the same as the match pattern (mapping
/path), they would be silently ignored. This has been fixed.
- MySQL instrumentation handles callback more consistently, so the transaction tracer doesn't get confused and stop tracking transactions with MySQL calls in them.
January 18, 2014
Node.js agent v1.3.0
- Support for Spumko's Hapi! This support works with both Hapi 1.x and 2.0.0, and like our Express and Restify instrumentation will automatically name transactions after Hapi paths (get it) and time how long it takes to render views.
- Before, transaction naming and ignoring rules didn't work with Express and Restify routes. This has been addressed and the documentation has been clarified. Much gratitude to everyone who helped us figure out how to get this right, and for dealing with the previous, unclear documentation.
- Parameters in the ignored params list weren't being ignored in all cases.
- A very annoyingly chatty log message had its priority level dropped several levels.
December 7, 2013
Node.js agent v1.2.0
- Before, there were certain circumstances under which an application would crash without New Relic installed, but wouldn't crash with it. This has been fixed, and applications with New Relic installed now crash consistently. The error tracer is now also considerably simpler.
- Added a security policy. See the new section in README.md or read SECURITY.md.
- Future-proofed the MongoDB instrumentation and prevented the module from breaking GridFS.
- Made a small tweak that should reduce the amount of blocking file I/O done by the module.
- The module's instrumentation and harvest cycle will now not hold the process open in Node 0.9+. This should make it easier for processes to shut themselves down cleanly with New Relic running.
- The environment information gatherer will no longer crash if it tries to read a directory where it's expecting a file.
- Errors thrown during the execution of Express routes or Connect middlewares that were attached to requests that ended in HTTP status codes configured to be ignored by default will now be ignored correctly.
- Made the module play nicer with Node's REPL. It no longer assumes that an application necessarily has a main module.
- A few tweaks were made to support the CoolBeans dependency injection framework.
- Several log messages were demoted to a less chatty level.
November 9, 2013
Node.js agent v1.1.1
- Added support for key transactions and New Relic's new alerting policies.
- The agent no longer renames transactions for requests that end in error to the gnomic and unhelpful '400/*' (or whatever the final HTTP status code ends up being). This should make the traced errors tab considerably more useful.
- Improved instrumentation for legacy
http.Clientclient methods. A few modules still use these legacy API calls, and the old instrumentation was just plain wrong.
- Changed how the error tracer deals with certain kinds of errors to deal with differences between Node versions 0.8 and 0.10. It should now convert throws into fatal errors less frequently.
- Removed useless fs.readDir instrumentation, which generated a lot of metrics but which New Relic was unable to display in any useful form. Maybe it will come back someday in a more useful incarnation.
November 6, 2013
Node.js agent v1.1.0
- Added a new call to the API,
.noticeError. See the docs for details, but unlike the other calls on the API, you can use this to pass off errors anywhere in your app, not just from within web requests.
- Ignoring slow (or polling) requests was only being applied to slow transaction traces. It now applies to metrics and transactions that end in errors.
- MongoDB, Redis and Memcached now honor the
- New Relic for Node.js, like New Relic's other agents, has a sophisticated system for repeatedly trying to connect to New Relic's servers when the first attempt results in failure. This had been broken since (roughly) January. It works again now.
- The built-in debugging for the transaction tracer was out of date with respect to the production tracer. This is fixed, and you're welcome to satisfy your curiosity by enabling it, but it's really not going to be useful to you unless you feel like taking the time to understand what the tracer is doing at a low level. Do not ever enable it in production, as it degrades the tracer's performance and generates a huge pile of objects per transaction.
October 30, 2013
Node.js agent v1.0.1
- Added a new setIgnoreTransaction call to the exported API to allow explicit control over whether transactions should be ignored or not. Mark those polling routes to be ignored! Pull your crazy custom favicon.ico renderer out of the ignore list!
- The module will no longer pollute MongoDB queries with New Relic-only parameters. Thanks to Alon Salant for identifying this issue, and all apologies to him for the trouble it caused him.
- The instrumentation for MongoDB, memcached, Redis, and Express will now honor the setting of the
capture_paramsconfiguration flag. Before the module always captured query parameters.
- Fixed a problem that would cause New Relic for Node to fail on versions of Node between 0.8.0 and 0.8.3.
- Upgraded to the newest version of
continuation-local-storage, which has many fixes for dealing with monkeypatched EventEmitters.
October 24, 2013
Node.js agent v1.0.0
- General Availability release of the Node.js agent.
- Please review the news.md at the root of the project for all prior release notes.
- If you are using an older BETA version of the Node.js agent, please upgrade to the current version.