Known issues and workarounds
Potential memory exhaustion for long running transactions
- See description and recommendations under Known issues and workarounds in the PHP 9.0.0.242 release notes.
New features in 9.4
Added support for PHP 7.4
- The PHP agent can detect libraries and frameworks that were preloaded via the opcache.preloadsetting.- You can disable this feature by using the following configuration setting: newrelic.preload_framework_library_detection = false.
 
- You can disable this feature by using the following configuration setting: 
Request URI attribute is now captured
- We now capture the request.uriattribute. The request URI appears in transaction queries in New Relic Insights.- You can disable this attribute by using the following configuration setting: newrelic.attributes.exclude = "request.uri".
 
- You can disable this attribute by using the following configuration setting: 
Upgrade Notices
- For cross agent conformance, the agent attributes request.headers.User-AgentandhttpResponseCodeare renamed torequest.headers.userAgentandresponse.statusCode. The valueresponse.StatusCodeis changed to an integer.- Attributes are reported with both the new and the legacy attribute names.
- Support for legacy attribute names will be removed in future agent versions.
 
Bug Fixes
- Since 9.0, transaction traces and span events were not created when - newrelic_end_transactionwas called inside a PHP function.- newrelic_end_transactionnow creates transaction traces and span events in any case. It reports all traces and span events for segments that weren't ended at the time of its invocation as- unknown.
- Since 9.0, Predis calls weren't instrumented when the Predis client was loaded from a path ending in - Predis/Client.php. This has been fixed.
- For inbound distributed tracing payloads with invalid or missing values for - pr(priority) and/or- sa(sampled) the agent used to assign a default priority of -1 and/or a default sampled value of- falseto the transaction.- This has been fixed, the agent now keeps initial priority and sampled values if the respective values in the inbound distributed tracing payload are missing or invalid.
 
- The daemon used to erroneously send - SIGUSR1signals to its parent process group in case one of the flags- --foregroundor- --watchdog-foregroundwas given. This has been fixed.