New Features
- 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.
Notes
- The agent now includes attributes for HTTP response headers in web transactions:
response.headers.contentType
response.headers.contentLength
Bug Fixes
- newrelic.transaction_events.enabled wasn't being observed. This has been fixed.
- The PHP in SUSE and OpenSUSE Linux was incompatible with some of the agent's features, including RUM and CAT. This issue has been fixed.
New Features
- Support has been added for Magento 2.
Bug Fixes
- Support for Laravel 5.2 has been added. Previously, Laravel 5.2 applications would fail to start with a
BadMethodCallException
. This was due to the agent's attempted use of a route filter for automatic transaction naming. Automatic transaction naming for Laravel 5.2 no longer relies on a route filter preventing the error. Automatic transaction naming for older versions of Laravel is unaffected. - Calling
phpversion("newrelic")
could return"unreleased"
instead of the actual version number. In turn, this causedcomposer show --platform
to report a version of 0. This has been fixed. The version number reported byphpinfo()
was not affected by this bug. - Fixed a potential segfault when using
Zend_Http_Client
under PHP 5.5 or 5.6 with OPcache enabled.
Bug Fixes
- 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.
New Features
- Support has been added for PHP 7.0.
New Features
- 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.
Notes
- We've changed the timestamp source for error events, which drive the Error Analytics page. Previously, the event's timestamp was the transaction's start time. It is now the time when the error occurred.
New 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 will now show up as externals in the same way as requests made using other instrumented libraries, like curl,
drupal_http_request()
, andfile_get_contents()
.To enable the experimental support, you will need to add a feature flag to your newrelic.ini:
newrelic.feature_flag = guzzle
. NOTE: We intend to enable the Guzzle support by default in a future release.More information can be found on our Guzzle documentation page.
New Features
WordPress tab in the New Relic UI
We'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 information, see WordPress-specific functionality.
New Features
- 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.daemon.port = "@newrelic-daemon"
) or newrelic.cfg file (e.g.port = "@newrelic-daemon"
). - The daemon can now be passed a
--define <setting>=<value>
flag that allows setting arbitrary parameters from your newrelic.cfg file. These parameters will take precedence over settings from that file. - Drupal 8 requests that are successful full page cache hits for anonymous users (handled by Drupal\page_cache\StackMiddleware\PageCache) are now given the name WebTransaction/Action/page_cache.
- Support for automatically naming transactions has been added for Symfony 2.8 and 3.0.
- Support for automatically naming transactions has been added for MediaWiki 1.18.0 and newer.
Upgrade Notices
- It is now possible to disable reporting of errors for exceptions that are handled by an exception handler installed with
set_exception_handler()
by enabling thenewrelic.error_collector.ignore_user_exception_handler
setting. - Calls to newrelic_notice_error with improper parameters will no longer record an error with the message "?". Instead, no error will be recorded. newrelic_notice_error will now return true if an error is saved, null if the arguments are invalid, and false otherwise. If newrelic_notice_error is called with two parameters and the second parameter is not a valid exception, no error will be recorded: The first parameter is now entirely unused.
Bug Fixes
- On Redhat Enterprise Linux 7 and related systems such as CentOS and Fedora, the
systemctl start|stop newrelic-daemon
commands were not working due to a bug in the newrelic-daemon init script when executed by systemd. This has been fixed. - On some Linux systems, an SELinux policy could prevent the newrelic-daemon from determining the correct hostname. Affected systems were unable to report data because a valid hostname is required by New Relic. This has been fixed. This issue could also prevent the newrelic-daemon from determining the correct hostname when running in a chrooted environment, or any environment in which access to the /proc filesystem is limited.
- Detection of Zend Framework 2.5 and later was unreliable when the framework was installed via Composer. This has been fixed.
- Detection of Laravel 5.1 and later was unreliable when
artisan optimize
was used. This has been fixed. - The agent now sends the attribute
request.headers.contentLength
as an integer rather than a string.
New Features
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 through New Relic Insights.
New Features
- 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 Production Release of 64-bit FreeBSD, which is currently at 10.2-RELEASE.
Upgrade Notices
- Transactions run under PHP's CLI Web server will now report as Web transactions instead of background transactions. If you want the agent to continue reporting them as background transactions, use the
newrelic_background_job()
API function to mark the transaction as a background job.
Notes
- The agent now collects the following information in web transactions (not yet shown in the New Relic UI): Accept, Host, Content-Length, and Content-Type HTTP request headers, and HTTP request method.