• /
  • EnglishEspañol日本語한국어Português
  • Log inStart now

PHP agent release notesRSS

July 31, 2014
PHP agent v4.11.0

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.

New Features

  • 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.

Bug Fixes

  • Prevent injection of page load timing JavaScript when the Content-Type is first set to text/html then changed to something else, such as application/json.
  • Fix Zend Framework transaction naming when exit() is called during request processing. Previously, it was possible to exit before the agent set the transaction name. This caused the transaction to be reported as index.php, an issue that most commonly occurs with the Redirect action helper. The agent now correctly names these transactions.
  • Fix segfault triggered by JSON encoding when strings to be encoded are marked as UTF-8, yet contain invalid UTF-8 byte sequences.

July 1, 2014
PHP agent v4.10.1.62

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

Bug Fixes

  • 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 init script used in 4.9.0 and earlier versions.

June 30, 2014
PHP agent v4.10.0.60

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

End of Life Notices

  • The MacOSX/Darwin agent and daemon are now compiled only for Mac OS X 10.6 or higher.

New Features

  • Changed the daemon to use openssl 1.0.1h, rather than 1.0.1g.
  • Logging to stdout and stderr is now supported when running the daemon in the foreground.
  • Created new installer for Ubuntu/Debian systems. If the application name is not present, the installation process will ask for one. Also, Debian/Ubuntu users do not have to run the newrelic-install script.

Upgrade Notices

  • The agent now supports PHP 5.6beta4.

Bug Fixes

  • Zend externals could be double counted when the cURL adapter was used. In previous versions of the agent, using Zend_Http_Client::setAdapter() with an instance of Zend_Http_Client_Adapter_Curl caused the agent to double count the external call. This has been fixed.
  • Prevent real user monitoring javascript injection when a Content-Type header has not been set and the default mimetype is not text/html.

May 20, 2014
PHP agent v4.9.0.54

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

New Features

  • Added new local setting to enable high-security mode. newrelic.high_security = false

    This setting is false by default. When set to true, this setting has the following effects:

    • Data will not be sent to New Relic unless the newrelic-daemon is using SSL.
    • Raw SQL strings will never be gathered, regardless of the value of newrelic.transaction_tracer.record_sql.
    • Request parameters will never be captured, regardless of the value of newrelic.capture_params.
    • The following API functions will have no effect, and will return false: newrelic_add_custom_parameter newrelic_set_user_attributes

    If you change this setting, you must also change the RPM UI security setting. If the two settings do not match, then no data will be collected.

  • Introduce new attribute configuration scheme.

    All parameters captured by the agent and created by the newrelic_add_custom_parameter API call are now considered attributes and have a new set of INI configuration options. As a result, the newrelic.capture_params and newrelic.ignored_params configuration options have been deprecated. The newrelic.ignored_params comparison will now be case-sensitive.

    For full information, please see the documentation.

Bug Fixes

  • The Laravel 4.0 framework is now supported in a manner analogous to the existing support for Laravel 4.1. (The portion of the routing code that is instrument changed the function names and arguments slightly going from Laravel 4.0 to Laravel 4.1.)
  • Fix potential metric grouping issue with Kohana transaction naming. Previously, the agent would treat the first two segments of the request URI as the controller and action when no route was found. Now the agent will use 'unknown' as the transaction name when no route is found. This is consistent with the behavior for other frameworks.

April 24, 2014
PHP agent v4.8.0.47

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

New Features

  • Upgraded to cURL version 7.35 from 7.30.
  • Upgraded to OpenSSL 1.0.1g from 1.0.1e.

Bug Fixes

  • Fixed an issue that would cause New Relic cross application tracing headers to accumulate during multiple curl_exec() calls.

  • Fixed an issue with the installer when the path includes spaces. When newrelic-install.sh was run from a path that included spaces, such as /tmp/new relic/newrelic-php5-4.6.5.40-linux, the installation would fail. This has been corrected.

  • Fixed an issue where not all Drupal 8 hooks were instrumented.

    While most Drupal 8 hooks are executed via ModuleHandlerInterface::invoke() and ModuleHandlerInterface::invokeAll(), a handful such as page_build are executed via variable functions by Drupal 8 as they require their arguments to be passed by reference. These hooks are now instrumented correctly.

April 1, 2014
PHP agent v4.7.5.43

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

New Features

  • Support for custom SSL trust stores

    It 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 ships with the necessary certificates and will use them unless configured not to do so. Caution should be used with these settings. If the trust store does not contain the necessary certificates, the agent will be unable to report data to New Relic. See the documentation for more details.

Bug Fixes

  • drupal_http_request responses that redirect are no longer double counted

    External metrics created when drupal_http_request received a HTTP response that was a redirect, such as a 302 Found response, would have their execution time counted and call count incremented twice. The double counting has been removed, and the entire external time will be counted including any redirects.

  • Fixed potential OpenSUSE 11.4 segmentation fault during Apache graceful restart

February 27, 2014
PHP agent v4.6.5.40

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

End of Life Notices

  • This release no longer supports BSD (either 32-bit or 64-bit) or the 32-bit variant of Mac OS X.

New Features

Bug Fixes

  • Improved real user monitoring Javascript insertion.

    The real user monitoring Javascript loader will now be injected after any meta charset tag, ensuring that the meta charset tag is close to the beginning of the page.

    The real user monitoring Javascript footer will no longer be inserted into HTML comments or nested HTML iframes.

  • Properly observe newrelic.ignored_params when capturing the request's URL.

    If newrelic.capture_params is true then the agent will capture the values within the $_REQUEST parameter and the full raw URL of the request. The contents of newrelic.ignored_params are used to selectively ignore values from $_REQUEST. The presence of newrelic.ignored_params will now also prevent the capturing of query parameters in the request URL.

  • Fix transaction naming when newrelic.webtransaction.name.functions is present.

    When newrelic.webtransaction.name.functions had a non-empty value, the URL was being used as the default web transaction name instead of the PHP filename.

  • Print backtrace to log file in the event of a segmentation fault.

    This functionality has been missing since release 4.4.

February 13, 2014
PHP agent v4.5.5.38

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

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.

End of Life Notices

  • This release no longer supports any backdoor exceptions to run threaded Apache MPM. PHP itself is unstable in this environment.
  • This is the last release of the PHP agent for BSD (either 32-bit or 64-bit.)
  • This is the last release for the 32-bit variants of Mac OSX. 64-bit Mac OSX will still be supported.
  • This release no longer ships with any backdoor support for PHP 5.1.

New Features

  • Experimental Drupal 8 support

    Drupal 8 is now supported by the PHP agent's framework detection code. This support should be considered "experimental" given the pre-release nature of Drupal 8. Drupal 8 applications will have their transactions named correctly, and will also generate the same module, hook and view metrics as Drupal 6 and 7 applications. This support can be forced by setting the newrelic.framework configuration setting to drupal8 if auto-detection fails.

Upgrade Notices

  • All customers running on old x86 hardware that does not support the SSE3 instruction set (such as early releases of the AMD Opteron) should upgrade to this release as soon as possible. Prior to this release, the daemon inadvertently contained SSE3 instructions which would cause an illegal instruction on such hardware. The only way the SSE3 instructions were executed was when we changed the choice and priority of SSL cipher algorithms at our data center, and we would like to change those priorities by the end of 2Q2014.

Bug Fixes

  • Fixed a bug with file_get_contents instrumentation.

    Fixed a bug which would cause the default context to be ignored by file_get_contents when a context parameter was not provided. This issue was causing customer API calls to fail in certain situations. The previous remedy was to disable cross-application tracing to work around the issue. This is now fixed.

January 8, 2014
PHP agent v4.4.5.35

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

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 future enhancements. Additionally, an emphasis was placed on reducing the download size of the agent. As a result, the download size has been reduced by 75%.

New Features

  • Improve Real User Monitoring

    The PHP agent's code for both automatic and manual injection of Real User Monitoring scripts has been improved. No application changes are required, but the new injection logic is simpler, faster, more robust, and paves the way for future improvements to Real User Monitoring.

  • Attach custom parameters to analytics events

    Custom parameters given to the agent through the API functions newrelic_add_custom_parameter and newrelic_set_user_attributes can now be automatically attached to transaction and page view analytics events. By default custom parameters will be attached to traces, errors, and transaction analytics events. Optionally, custom parameters can also be included in the JavaScript injected for Real User Monitoring. This allows custom parameters to be attached to page view analytics events.

    The behavior of custom parameters can be controlled through the following configuration settings, which are shown with their default values.

    newrelic.transaction_tracer.capture_attributes = true newrelic.error_collector.capture_attributes = true newrelic.analytics_events.capture_attributes = true newrelic.browser_monitoring.capture_attributes = false

December 11, 2013
PHP agent v4.3.5.33

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

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 internals of the agent have been significantly refactored to improve the stability and performance of the agent.

New Features

  • Treat Drupal cron requests as background tasks

    Drupal cron requests (identified by calls to drupal_cron_run()) will now be counted as background tasks (not web transactions) regardless of how they are started. Previously, it was necessary to use the newrelic_background_job() API to explicitly mark Drupal cron requests as background tasks.

  • Use the exception class as the category for errors

    Errors created using the newrelic_notice_error() API function with an exception will be grouped according to the exception's class. Previously, all errors were grouped under 'NoticedError'.

    See https://docs.newrelic.com/docs/php/the-php-api#api-notice-error

  • Limit the maximum number of nested PHP function calls

    The agent will now limit the maximum number of nested function calls within PHP applications. This is to provide protection against stack overflows due to infinite recursion. Previously, this would result in a segmentation fault. The agent will now log an error and terminate the process by raising a fatal PHP error. By default, this limit is set to a very high value of 500. Exceeding this limit should be extremely rare.

  • Improve the stability and performance of the agent

    The internals of the agent and its background daemon process have been significantly refactored to improve interprocess communication, stability and performance. The maximum number of connections to the background daemon process has been doubled to 4096.

Bug Fixes

  • Fix for installing on Ubuntu 13.10 when using PHP-FPM

    Previously the installer would fail to install a newrelic.ini file in the configuration directory for PHP-FPM (/etc/php5/fpm/conf.d), if one was present. This has been fixed, and the installer will correctly install a newrelic.ini for CLI, DSO and FPM configuration directories.

  • Fix for drupal_http_request() always returning NULL under PHP 5.5

    Version 3.9.5.13 added support for external calls made using drupal_http_request(). Due to the way the agent instruments this function under PHP 5.5, this function would always return NULL instead of the correct return value. This has been fixed.

  • Fix for real user monitoring when a Content-Length response header is present.

    When automatic real user monitoring is enabled, the agent will only perform JavaScript injection into HTML pages when a Content-Length header is not already present in the response. In some cases, this check was not working correctly leading to the value in the Content-Length header not matching the actual number of bytes sent to the client.

  • Fixed a segmentation fault when Zend Thread Safety is enabled.

    Attempts to use the agent under Apache using a threaded MPM (e.g. worker or event) and mod_php would result in segmentation faults. This has been fixed, but New Relic does not recommend using the agent in these circumstances.

  • Fixed high CPU usage under heavy load

    Under very high loads with thousands of PHP processes, the background daemon process could consume 100% CPU when the per-process file descriptor limit was exceeded. This has been fixed. The agent will now throttle the number of new connections accepted when per-process file descriptor limit is reached. A message is also printed to the log file.

Copyright © 2024 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.