AWS instance metadata service (IMDS) feature now allows AWS IMDSv2 by @robertprast
Added support for 64-bit PHP 8.1! (#177). Compatibility note: Support for PHP 8.1 does not include Fibers
Added a Docker development environment. It's now possible for contributors to both develop and test (unit tests and integration tests) without setting up a specific environment on their own system. Pl…
Fixed instances where the agent's mysqli_commit instrumentation returned a NULL instead of a boolean. Fixed an issue where parameters were not passed by reference in the agent's pdo instrumentation. T…
This will be the last release in which ZTS builds are supported. In the future, ZTS builds may not be provided, and support may be completely pulled from the codebase. New Relic no longer supports PHP…
The Drupal instrumentation now guards against rare conditions that led to PHP processes exiting with an allocation error. Additionally, the allocation routines now log stack traces when they fail. Whe…
Support for PHP 5.3 and PHP 5.4 in the New Relic PHP Agent is deprecated and will be removed in a future version. New Relic highly encourages upgrading to a supported version of PHP - 7.3 or higher as…
The PHP agent is now open source!
Support has been added for Slim Framework 4.x. Support has been added for Laravel 7.x
With the addition of attributes on spans, the PHP agent now fully supports Infinite Tracing on New Relic Edge.Infinite Tracing observes 100% of your distributed traces and provides visualizations for …
Added support for New Relic Infinite Tracing. the PHP agent does not yet support attributes on spans. This will be available in the next minor release. Added the following Infinite Tracing configurat…
In some cases, instrumenting Laravel queue applications while having distributed tracing turned on could potentially lead to a segfault. This has been fixed
In some rare cases where requests to cloud provider metadata endpoints are blocked via certain methods, the PHP Daemon logged panics from the underlying Go HTTP library. This scenario is now accounted…
Under some circumstances, Drupal 8 transactions were named after generic controllers. These names were not useful for troubleshooting.Drupal 8 transaction naming is now improved and hooks into Symfony…
Distributed Tracing now supports W3C Trace Context headers for HTTP protocols when distributed tracing is enabled. Our implementation can accept and emit both W3C trace header format and New Relic tra…
The configuration settings newrelic.transaction_tracer.max_segments_cli and newrelic.transaction_tracer.max_segments_web were added. These settings can be used to limit the number of segments the PHP …
In 9.6.0, custom outbound headers added to curl requests could be silently removed if both newrelic.cross_application_tracer.enabled and newrelic.distributed_tracing_enabled are disabled. This has bee…
Previously, curl_multi_exec requests appeared as one segment with one total time. Now, we expose the individual segments of a curl_multi_exec request that include individual times and host details. Th…
Event data is now sent to New Relic every five seconds, instead of every minute. As a result, transaction, error, and custom events will now be available in New Relic One and Insights dashboards in ne…
A potential segfault when using PHP 7.4 in connection with framework instrumentation has been fixed
See description and recommendations under in the PHP 9.0.0.242 release notes
See description and recommendations under in the PHP 9.0.0.242 release notes
The PHP daemon and agent no longer have to reside on the same host and can now communicate over a IPv4 or IPv6 TCP socket. This can be configured via the newrelic.daemon.address setting in the agent a…
Web transactions that use the Symfony 4 framework will now be automatically named based on the route or controller name
A bug that could result in segfaults when transactions were restarted (either directly through newrelic_start_transaction() or indirectly through newrelic_set_appname()) was fixed.This also affected c…
This release includes a refactor of segment storage to allow the agent to sort and apply different prioritization of segments that are used for transaction traces instead of distributed tracing. The P…
Transaction globals are now cleanly separated from request globals. This fixes crashes related to the initialization of multiple transactions during one request (mostly triggered by newrelic_set_appna…
Requests for Laravel's built-in automatic handling of CORS HTTP OPTIONS requests will now be given the transaction name _CORS_OPTIONS
Keeping up with the latest and greatest from the PHP Core team, the New Relic PHP Agent now supports PHP 7.3. The PHP Agent's Distributed Tracing support (introduced in version 8.4 of the PHP Agent) n…
Distributed tracing lets you see the path that a request takes as it travels through your distributed system. By showing the distributed activity through a unified view, you can troubleshoot and under…
In rare cases, during a reset of the apache web server, the agent and mod_php would hang with 100% CPU utilization. This has been fixed
Fixed an entire category of bugs where a Drupal hook whose hook name matched its module name resulted in the generation of empty metric names
The PHP Agent API call newrelic_set_appname has been updated with security improvements in anticipation of future releases
The newrelic.daemon.ssl ini setting has been removed to increase security. Transport Layer Security (TLS) will now always be used in communication with the New Relic collector. Laravel Queue support h…
Support for PHP 7.2 has been added
Internal functions can now be instrumented by enabling the newrelic.transaction_tracer.internal_functions_enabled configuration setting. When enabled, internal functions will appear in transaction tra…
A new API function for timing datastore functions that the PHP agent doesn't natively instrument has been added: newrelic_record_datastore_segment(). Documentation and usage examples can be found on t…
On the first request served by a PHP process, a Drupal 6 or 7 hook that was invoked with module_invoke() before it had been invoked by module_invoke_all() could have its module name reported as an emp…
Users of Guzzle 4 or 5 may have seen crashes in version 7.3.0 of the PHP agent due to a bug in the agent's request shutdown instrumentation for that library. This has been fixed
Laravel Queue instrumentation has been updated to better interoperate with other New Relic APM features. It is possible that messages sent from PHP installs running version 7.3 (or later) of the PHP a…
Users of the newrelic-php5 Debian package with PHP 5.2: due to discontinued support of PHP 5.2, upgrading to version 7.x of the PHP agent may result in your applications no longer reporting to New Rel…
Added support for the MongoDB libraryThe PHP agent now supports the MongoDB userland library, which is the recommended interface to the mongodb extension. Users of this library will see new metrics in…
The New Relic PHP agent no longer supports PHP 5.2. New Relic highly encourages upgrading to a supported version of PHP - 5.6 or higher. If you would like to continue running the New Relic PHP agent w…
Support for PHP 5.2 in the New Relic PHP agent is deprecated and will be removed in a future version. New Relic highly encourages upgrading to a supported version of PHP - 5.6 or higher. If you would …
Support for PHP 5.2 in the New Relic PHP agent is deprecated and will be removed in a future version. New Relic highly encourages upgrading to a supported version of PHP - 5.6 or higher. If you would …
PHPUnit test eventsSupport has been added for the popular unit test library PHPUnit (versions 3.7 to 5.5, inclusive). When enabled, the agent reports test results as custom Insights events. Test suite…
When using version 6.6.0 of the PHP agent, instantiating a PDO object with options set could result in PHP crashing at the end of handling a request. This has been fixed
Support has been added for Laravel 5.3. Experimental Laravel Queue support.Experimental support for the Laravel Queue component has been added. This supports all versions of Laravel from 4.0 to 5.3, i…
Support has been added for Zend Framework 3
Ignore ErrorsA new newrelic.error_collector.ignore_errors setting has been added. When configured, this setting can be used to prevent errors, such as E_WARNING, from being reported to New Relic. This…
Support for Postgres prepared statements has been added when the pg_prepare and pg_execute functions are used. The agent will now report Datastore metrics as well as capture slow queries
We're proud to announce initial support for Alpine Linux 3.1 and newer. Currently, manual installation is required
The PHP agent now has support for Doctrine 2 DQL Queries. When running a DQL query, it will appear alongside the SQL in both Slow SQLs and Transaction Traces
Support has been added for Magento 2
Fixed a bug that could cause segfaults on PHP 7.0 when a __call() method was invoked and was slow enough to generate a trace node
Support has been added for PHP 7.0
The agent will now gather more information about the host system, including whether the system is running on Docker or AWS. This will be used to support upcoming features
Experimental support for instrumenting Guzzle has been added.We are very pleased to announce that we've added experimental support for instrumenting Guzzle 3, 4, 5, and 6. Requests made using Guzzle w…
WordPress tab in the New Relic UIWe're pleased to announce a new UI tab just for WordPress-specific data! WordPress applications now show information about their hooks, plugins, and themes.For more in…
On Linux, abstract sockets are now supported for agent to daemon communication. An abstract socket can be created by prefixing the value of the port setting in your newrelic.ini file (e.g. newrelic.da…
With this release, the agent reports TransactionError events. These new events power the beta feature Advanced Analytics for APM Errors (apply here to participate). The error events are also available…
To easily distinguish dynamically assigned hosts, users can now assign a display name to a host with the setting newrelic.process_host.display_name. The New Relic PHP Agent now supports the latest Pro…
Users can now delete applications from the UI after 20 minutes of inactivity. Previously, this required a restart of the New Relic PHP daemon
A memory leak that could occur when a large number of PDO or mysqli statements were prepared and executed has been fixed
This release fixes a rare bug where applications that had the ionCube loader enabled and called set_exception_handler() repeatedly could crash
Under certain circumstances, version 4.23.0 of the PHP agent could crash when newrelic_set_appname() or newrelic_end_transaction() were called and a custom exception handler had been installed via set…
Exceptions that are uncaught and handled only by a last resort exception handler installed via set_exception_handler() will now generate errors that can be viewed in the APM UI. Previously they would …
The PHP agent now supports the Predis library. Users of this library will see new metrics in the Database tab, nodes in transaction traces, and breakdown metrics on individual transaction pages. Pipel…
Support has been added for naming transactions automatically based on ZF2 route names. Transaction naming will work with routes set in module.config.php, or anything else using the setMatchedRouteName…
Support for mixed Laravel 4 and 5 environments has been improved.Web servers serving both Laravel 4 and Laravel 5 applications from the same process pool could see autoloader errors in the Laravel 4 a…
MySQLi segfaults fixed.Version 4.20.0 could cause the PHP agent to segfault when certain types of parameters were bound to mysqli_stmt objects. This has been fixed
Due to a bug in this release related to the new explain plan support for MySQLi, we have decided to remove it from our download servers. Instead, we recommend installing version 4.20.1, which includes…
The agent will now provide a breakdown of SQL operations according to the database product being used. This is in addition to the existing breakdown of SQL statements and operations. For NoSQL data st…
Support for New Relic Synthetics.The PHP agent now gives you additional information for requests from New Relic Synthetics when the newrelic.synthetics.enabled setting is enabled. The agent records mo…
Fix a memory leak affecting newrelic_add_custom_parameter API function
The agent now uses the route pattern as the transaction name for unnamed, closure-based routes under Laravel. For example, the following route will now be named instead of
The daemon now uses openssl 1.0.1j, rather than 1.0.1h. Support for generating explain plans for SELECT queries issued using the PDO MySQL driver has been added.When the newrelic.transaction_tracer.ex…
Support for agent-side configuration of application labels using the newrelic.labels INI setting has been added. New Relic enables you to label and organize your apps so they "roll up" into an unlimit…
Fix an edge case segfault that could occur in situations where the daemon failed to initialize
Added support for the PHP Agent on HerokuWe now support running PHP Applications on Heroku using the add-on.For more information, see PHP agent and Heroku and the Heroku Dev Center documentation
Added two new attributes to transaction events: errorMessage and errorType. These attributes allow for the tracking of errors within the Insights product. As a result, error messages will no longer be…
<div id="watermark">End of Life</div>
Our long-awaited support for Joomla 2.x and 3.x have been added. The PHP agent now instruments and names Joomla transactions without the need for additional plugins
Fixed an issue whereby Debian and Ubuntu users running the daemon via the init script may have been unable to start the daemon after upgrading to 4.10.0. This has been fixed by reverting back to the i…
The MacOSX/Darwin agent and daemon are now compiled only for Mac OS X 10.6 or higher
Added new local setting to enable high security mode. newrelic.high_security = falseThis setting is false by default. When set to true, this setting has the following effects:Data will not be sent to …
Upgraded to cURL version 7.35 from 7.30. Upgraded to OpenSSL 1.0.1g from 1.0.1e
Support for custom SSL trust storesIt is now possible to configure the agent to use a custom SSL trust store to authenticate New Relic's servers. In most cases this should not be necessary. The agent …
This release no longer supports BSD (either 32-bit or 64-bit) or the 32-bit variant of Mac OS X
We're happy to announce the availability of version 4.5.5.38 of the New Relic PHP Agent, featuring Drupal 8 instrumentation. More details below.
This release of the New Relic PHP Agent improves real user monitoring and adds support for custom parameters in transaction analytics events. These changes were made to create a solid foundation for f…
This release of the PHP agent automatically marks Drupal cron requests as background tasks, improves the categorization of PHP errors within the New Relic UI, and fixes several bugs. Additionally, the…
Fix a segfault that could occur when the daemon was unable to bind to its listening socket during startup. The watcher process would then attempt to spawn a new daemon process leading to another segfa…
We've added support for Symfony 2. Symfony 2 controller names will now show up in the web transactions view. This is an intermediate step leading up towards future Drupal 8 support. We have improved Z…
Transaction traces containing many consecutive calls to curl_multi_exec will now show the cumulative time as a single node. Previously the transaction trace would show one node for each call. We fixed…
Support for histograms and percentiles. PHP 5.5 support added. PHP 5.1 deprecated. Various bug fixes and stability improvements
Support for two additional external calls has been added to cross application tracing.
Preliminary support for Cross Application Tracing has been added. The following external calls are supported.curl_exec(). file_get_contents(). httprequest::send(). Communication between the agent and …
Magento transaction naming has been refined. MySQL errors will now be recorded properly under PHP 5.1. Request queue timing can be specified with X-Request-Start as well as HTTP_X_REQUEST_START. Other…
Data uploads to the New Relic collectors now default to SSL. SSL can be disabled through the configuration file. The agent now carries its own SSL certificate bundle, improving portability across plat…
Patch release to fix an occasional segmentation fault when using Drupal
Drupal module instrumentation has been enhanced. The agent can now instrument Drupal hooks and view execution. The agent now reports the 50 most frequently called functions and the 50 slowest function…
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…
The previous fix for the daemon spin was incomplete. This release correctly fixes the problem we identified
Fixed a bug that was causing the daemon to spin and consume 100% of a CPU. Removed the 45 application limit
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…
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 applicati…
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…
Correctly destroy a thread mutex that was sometimes not being destroyed. Correctly obey newrelic.capture_params INI setting in regards to URL get parameters
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
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 i…
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:
This release of the New Relic PHP agent adds two major new features, and includes several important bug fixes and stability improvements. The new features are:
This release marks the start of a brand new series of PHP agent releases. This represents many months of performance tuning, stability improvements and additional new features. All existing users are …
This is a very minor patch release to the 2.9 series of PHP agent. It contains only 1 small fix which only affects customers who use more than 1024 Apache worker processes:
Added support as an external service for HttpRequest::Send. Added limited support for curl_multi_exec. This will now show up as an external services call but will not provide insight as to how many or…
Considerably more detailed transaction traces, reducing to almost nil the amount of "uninstrumented time" in TT graphs. Detailed TT's (the so-called "top100" feature) are now enabled by default. Reduc…
Updated to work with Apache 2.4. The auto-RUM buffer is now erasable, but doing so will obviously prevent auto-RUM from inserting the RUM header and/or footer. Fixed a problem where WordPress blogs wo…
Support for PHP 5.4RC8 or higher. Please note that versions prior to RC8 will not work correctly, especially not with auto-RUM. Also please heed the advice that the PHP developers themselves give abou…
Fixed an issue where using file_get_contents() could end up being mis-interpreted as an SQL node and cause a core-dump. This would only happen when Slow-SQL traces were enabled
Fixed several issues that would cause Apache to core-dump. Not all users would see these faults, but a few did and those bugs have been fixed. Removed support for the PHP-only MediaWiki memcached clie…
There is an outstanding issue with the Zend View component where it kills the output buffer that auto-RUM relies on, so for this environment you will need to disable auto-RUM by setting newrelic.brows…
The apt repository is now digitally signed, and in order to update the agent from this repository for Ubuntu or other Debian-like systems you will need to import the new GPG key using the following co…
New feature: slow SQL. This is very similar to transaction traces but instead records the 10 slowest SQL statements, along with a stack trace of where the SQL was executed from in your program. Fixed …
Very minor change to change the KB URL paths in error messages and to correct the LICENSE.txt file to include the full copyright and permissions notices for various open source components used withing…
Very minor change to the daemon to remove a pause on startup if the daemon happened to start within 30 seconds of the top of the minute
Fixed several coredump issues related to Drupal Modules. Updated SQL parser to ignore C-style comments in SQL. Added OpenSolaris x64 support. Now possible to instrument internal PHP functions but only…
Version number change. Starting with this release version numbers only use 2 segments, as in 2.3. The remaining bits simply reflect the build level. Naming web transactions for several new frameworks …
Fixed up not detecting background jobs when run from cpanel. Corrected url path problems resulting in 500 errors for web transactions when on CakePHP
Fixed a SIGSEGV that happened when Zend Guard encoded files were encountered. Corrected the way we were determining the domain names of external services that was causing a Transaction Traces display …
Fixes up a problem in our SQL parser that was causing Magento app segfaults when accessing admin pages
QDrupal support. SQL parsing fixes. Framework auto-detection when multiple frameworks in use is working now
We now support reporting to multiple applications simultaneously. We had a bug where a large data string could cause a segmentation fault. A few bug fixes around Wordpress RUM, CakePHP transaction nam…
RUM and Web Transaction data is available a lot earlier. You no longer need to drive specific amounts of load to get RUM data to appear and early WT's are now recorded. Thread safety in the agent has …
There was a bug in the newrelic-install script that under some circumstances would cause the script to use 100% of the CPU when installed via aptyum. This has been fixed. The particular User-Agent tha…
Previously, auto-RUM did not work when certain Drupal modules were used (for example the ajax module). All fixed up now
Versions 2.0.0 and 2.0.1 had an error in the spec file that will cause problems for Redhat and CentOS users. After doing an upgrade, the daemon will not be running, and the agent will not be installed…