Important
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 agent can now write an audit log that shows an unencrypted stream of all information sent to New Relic’s servers. The audit log can potentially use up a lot of disk space, so it’s best to use this on an as-needed basis.
- In addition to wall-clock time, CPU time (a.k.a. “burn”) is included at the top of transaction traces in the New Relic user interface.
- SSL connections to New Relic collectors are now kept alive for the entire application data harvest, rather than re-negotiated for each application during the harvest.
- The agent will attempt to auto-detect client SSL certificates on FreeBSD.
- This agent release also includes various bug fixes, including ones concerning obfuscated SQL processing and cross-application data leakage.
Important
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 previous fix for the daemon spin was incomplete. This release correctly fixes the problem we identified.
Important
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 that was causing the daemon to spin and consume 100% of a CPU
- Removed the 45 application limit
Important
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
- Increase visibility into errors by adding error type (eg E_WARNING) to captured errors.
- Refactor changes to local daemon to increase simplicity and stability.
- Prevent duplicate log file descriptors on Apache restart.
Important
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
- Prevent potential memory leak by daemon when connecting applications.
- Ensure that the agent will not block when attempting to connect to the daemon.
- Fix potential locking bug during daemon's application harvest cycle.
Important
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
- Show full URL of external calls in transaction trace nodes. Username, password, and query parameters are stripped from the URL.
- Fixed a bug causing time spent in background CLI tasks to be included in main overview graph.
- Fixed a bug causing incorrect custom tracer metrics in the event of out of order clock times.
- Look for and respond to 'X-NewRelic-ID' header in all incoming http requests. This change helps improve the correlation of performance between services in a service-oriented architecture for a forthcoming feature. In the meantime, if you wish to disable the header, set 'newrelic.cross_process.enabled=0' in your .ini file.
Important
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.
Bugfixes
- Correctly destroy a thread mutex that was sometimes not being destroyed.
- Correctly obey newrelic.capture_params INI setting in regards to URL get parameters.
Important
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.
Bugfixes
- Fixed an issue where massive log files were created if the agent received a SIGSEGV.
- Fixed an issue that occasionally caused SIGSEGV's when using RUM2.
Important
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
- Revert to using a UNIX-domain socket for agent to daemon communication. This is the same mechanism used in the 2.x and 1.x series of agents. This was done for speed purposes. The default socket path is the same as it was for the older versions of the agent:
/tmp/.newrelic.sock
. Thenewrelic.daemon.port
option in the INI file and theport
option in the daemon configuration file (newrelic.cfg) can now take either a path to a UNIX-domain socket, or an integer in the range 1-65534. If you use a path, then a UNIX-doman socket will be used. If you use an integer, then a TCP socket will be used on the specified port. - Correct the "banner" displayed in the log file to show the version of the running PHP. Previously it was incorrectly showing the version that we had compiled with.
- On platforms that support it, now attempt to display a stack dump in the unlikely event that the agent receives a SIGSEGV signal due to a bug. Displaying this stack is not always possible but when it works it is a big help for technical support to diagnose the exact cause of the problem. This feature existed in the 2.x series of agent but was not working correctly in the 3.x series until now.
- Fixed a problem where a communications failure between the agent and daemon when sending a transaction trace would result in a core dump (rare).
- Fixed a problem with Memcache metrics using the wrong metric name.
- Fixed a coredump that would occur when sending SQL tracers that were both un-obfuscated and contained lots of UNICODE characters (very rare).
- If a SIGSEGV signal is ever received make sure the daemon exits completely so that it can be respawned. Under certain conditions it could become "stuck" which would slow down the agent and stop all data from being sent to New Relic.
Important
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.
Bugfixes
This release is a bug-fix release only and adds no new features to the agent. The following bugs introduced in 3.0/3.1 have been fixed:
- Fixed two segmentation violations that would occur after calling the
newrelic_set_appname()
API call. One had the potential to affect all users, the other was restricted to customers who used prepared SQL statements both before and after the call tonewrelic_set_appname()
. - Fixed a problem with the Solaris init scripts which made the incorrect assumption about the process ID of init.
- Fixed a small memory leak that affected CodeIgniter, CakePHP and Drupal applications.