Importante
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.
Bug Fixes
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.
Importante
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.
Release Unavailable
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 a fix for this bug.
New Features
Support for Laravel 5.0.
We are pleased to announce support for the latest Laravel release: Laravel 5. Sites and applications using Laravel 5.0 are now automatically detected and named in the same way as Laravel 4 applications.
Support for explain plans with MySQLi.
The existing support for generating explain plans for slow SELECT queries with the PDO MySQL driver has been extended to MySQLi. Explain plans are controlled by the newrelic.transaction_tracer.explain_enabled and newrelic.transaction_tracer.explain_threshold settings. These plans can be seen in the query analysis section of the slow SQL trace page in APM.
Explain plans will be generated for queries issued through
mysqli_query
,mysqli_real_query
, andmysqli_stmt_execute
, as well as their OO equivalentsmysqli::query
,mysqli::real_query
, andmysqli_stmt::execute
.Please note that the
mysqli_multi_query
API is not currently supported, and that explain plans are not generated for multiple (semicolon separated) queries.Added Memcache connection monitoring.
The
connect
andpconnect
functions (and their OO counterparts) of the Memcache extension are now instrumented, and will generate metrics. As a result, if there is a problem with calling those functions, it will now be visible within New Relic.
Bug Fixes
Laravel 4 App::after() filters are no longer overridden.
In certain circumstances, the improved Laravel transaction naming code in version 4.19 of the PHP agent could result in filters registered using Laravel 4's App::after() method no longer being executed. This has been fixed.
Upgrade Notices
- The daemon now uses openssl 1.0.1m, rather than 1.0.1l.
- The daemon now uses curl 7.41.0 rather than 7.40.0.
Importante
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.
New Features
- Unified view for SQL database and NoSQL data stores
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 stores, the agent will now provide a similar breakdown of the operations performed. - Memcached and Redis time reported separately
Previously, the agent grouped Memcached and Redis operations into a single Memcached category. This is no longer the case. Time spent performing Memcached or Redis operations are separate.
Bug Fixes
- Laravel transaction naming improvements
Prior to this version, Laravel applications that had replaced the default router service could find that, in some circumstances, their transactions would be named as "unknown" rather than being correctly named from the route. This has been improved: replacement router services will now get appropriate transaction naming provided that they either implement filtering or ensure that the same events are fired as the default Laravel router.
Importante
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.
New Features
Support for synthetic monitoring.
The PHP agent now gives you additional information for requests from synthetic monitors when the
newrelic.synthetics.enabled
setting is enabled. The agent records more transaction traces and events for synthetic-originated requests to give you a clearer look into how your application is performing around the world.For more details, see https://docs.newrelic.com/docs/synthetics/new-relic-synthetics/getting-s...
Add a new
newrelic_record_custom_event
API function.This API function allows you to add custom events to New Relic's Insights product. For more information, please see: https://docs.newrelic.com/docs/insights/new-relic-insights/adding-queryi...
The daemon now uses openssl 1.0.1k, rather than 1.0.1j.
Bug Fixes
- The agent properly recognizes prepared statements constructed with
mysqli_stmt::__construct()
. - The
newrelic-install
script has been fixed to once again work for users with customextension_dir
settings.
Notes
- The ability to set the appname to a string like:
%{FOO}
and haveFOO
expand into the environment variable was removed.
Importante
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.
Bug Fixes
- Fix a memory leak affecting
newrelic_add_custom_parameter
API function.
Importante
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.
Bug Fixes
- 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 hello/{name} instead of GET/index.php.
Route::get('hello/{name}', function($name) { return "Hello ${name}!"; });
- Previously the agent could fail to detect the Laravel framework when
artisan optimize
was used. This has been fixed. - When the agent cannot determine a transaction name for the Laravel framework, the name "unknown" will be used instead of "laravel-routing-error". The latter implied the cause of the failure may have originated within Laravel itself rather than solely within the agent's instrumentation.
Importante
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.
New Features
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.explain_enabled setting is enabled and a SELECT query is issued through a PDO connection to MySQL that takes longer than newrelic.transaction_tracer.explain_threshold, an explain plan will be generated and will appear within the query analysis section of the slow SQL trace.
Bug Fixes
- Fix an issue that could cause some background task metrics to be attributed to web transactions and some web transaction metrics to be attributed to background tasks. This could affect Drupal customers whose applications use
drupal_cron_run
. - This release changes the handling of HTTP Referer headers to always strip query parameters before reporting to New Relic. Previously, any query parameters present in a Referer header would be reported to New Relic by the PHP agent.
- Fix an issue where urls using the file: protocol scheme with
curl_exec()
would cause the agent to record external metrics. This has been corrected and the agent will no longer treat file urls as external services.
Importante
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.
New Features
- 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 unlimited number of meaningful categories. You can also easily sort, filter, and page through all the applications on your account's Applications list. See the New Relic APM documentation and the PHP agent (newrelic.ini) settings documentation for more details.
Bug Fixes
- Fixed issue that could prevent capturing database table name for prepared statements on PHP 5.6.
Importante
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.
Bug Fixes
- Fix an edge case segfault that could occur in situations where the daemon failed to initialize.
Importante
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.
New Features
Added support for the PHP Agent on Heroku
We now support running PHP Applications on Heroku using the New Relic for Web Apps add-on.
For more information, see PHP agent and Heroku and the Heroku Dev Center documentation.