Loading

Elastic APM PHP Agent release notes

Review the changes, fixes, and more in each version of Elastic APM PHP Agent.

To check for security updates, go to Security announcements for the Elastic stack.

Release date: January 17, 2025

  • Add php 8.4 compatibility #1255
  • Added warning log for Xdebug incompatibility #1256 and #1257

Release date: January 5, 2025

  • Fixed calling post hook if instrumented functions throws #1223

Release date: August 28, 2024

  • Experimental support for ARM64 architecture
  • Fixed issue causing forked process to hang or crash #1213

Release date: August 20, 2024

  • FSet various PHP engine hooks only when the relevant feature is enabled #1211

Release date: July 23, 2024

  • Fixed memory leak in exception handling #1174
  • Changed exprerimental part of WordPress instrumentation that is measuring latency impact by plugin to be disabled by default #1181

Release date: January 31, 2024

  • Added support for PHP 8.3 #1127
  • Fixed resetting state for forks #1125

Release date: January 15, 2024

  • Removed limitation that required to reinstall the agent after PHP upgrade #1115
  • Fixed "malformed UTF-8 characters" issue #1120

Release date: January 4, 2024

  • Debug option to collect diagnostic information from PHP worker process #1065
  • Enable background (non-blocking) communication with APM Server for any SAPI by default #1079
  • Sending metadata.system.architecture and platform #1083
  • Improved packaging script to support other architectures and fixed package naming for x86-64 architecture #1067
  • Fixed exception handling by improving memory allocation and proper exception object copy #1076
  • Fixed building of APM server connection string #1080
  • Allow using environment variables passed via FastCGI for agent configuration #1113

Release date: September 12, 2023

  • Detection and logging if agent source code doesn’t comply open_basedir limitation #1044

Release date: July 6, 2023

  • Added configuration option: GLOBAL_LABELS #1007
  • Introduced new C++ build environment #985
  • Suppress errors and warnings when internally calling opcache_get_status #1013

Release date: June 22, 2023

  • Added container ID detection #966
  • Extended span compression support to spans without service target #944
  • Added auto-instrumentation for capturing WordPress filters/actions callbacks and the active theme #948
  • Added configuration option STACK_TRACE_LIMIT #995
  • Added SPAN_STACK_TRACE_MIN_DURATION configuration option #996
  • Implemented backoff on failure in communication to APM Server #999

Release date: May 17, 2023

  • Fixed deadlock caused by use of pthread_atfork #964
  • Fixed verify_server_cert=false not disabling all the checks related to HTTPS certificate #965
  • Fixed not joining background sender thread if there was fork after module init #959

Release date: April 21, 2023

  • Fixed issue with missing transaction details on some setups #916

Release date: April 12, 2023

  • Fixed agent issue causing PHP to crash when opcache preload feature was enabled #913

Release date: March 9, 2023

  • Fix for the agent causing very high CPU usage because it’s creating frequent connections to Elastic APM Server #877

Release date: February 27, 2023

  • Added support for PHP 8.2 #868

Release date: February 24, 2023

  • Fixed: case when process fork happens during request processing #857

Release date: January 16, 2023

  • Fixed: php apm segfaults on a zend error/php warning #834

Release date: October 13, 2022

  • Added support for automatically capturing MySQLi: #688
  • Fixed: Inferred spans when used with Laravel: #796
  • Fixed: CustomErrorData not found issue: #797

Release date: November 17, 2022

  • Backported support for automatically capturing MySQLi: #688

Release date: September 12, 2022

  • Fixed: Current implementation for Improved Granularity for SQL Databases doesn’t account for SQL USE statement: #759

Release date: August 22, 2022

  • Added inferred spans to automatically detect slow functions (as an experimental feature disabled by default): #731
  • Improved granularity for SQL databases: #732
  • Implemented default type for transactions and spans: #733
  • Implemented support for Dependencies table: #748
  • Improved transaction name for Laravel’s artisan command - now includes the first argument: #714

Release date: June 20, 2022

  • Fixed bug: Agent destroys error code for curl calls: #707

Release date: May 30, 2022

  • Fixed bug: Forked process runs indefinitely: #691

Release date: March 29, 2022

  • Added support for PHP 8.1: #604

Release date: February 17, 2022

Release date: February 14, 2022

  • Fixed error events not being created for PHP errors: #619

Release date: January 10, 2022

  • Background (non-blocking) communication with APM Server: #584

Release date: October 18, 2021

  • DISABLE_SEND configuration option: #559
  • DISABLE_INSTRUMENTATIONS configuration option: #565
  • DEV_INTERNAL configuration option: #566

Release date: September 1, 2021

  • SERVICE_NODE_NAME configuration option: #458
  • URL_GROUPS configuration option: #537

Release date: June 29, 2021

  • Collecting data for Error rate chart: #441
  • HOSTNAME configuration option: #440
  • Collecting data for Time spent by span type chart: #436
  • ensureParentId() API: #431
  • Fixed missing subtype and action for DB spans and DB not showing on Service Map: #443

Release date: June 1, 2021

  • Support for PHP 8.0: #365
  • Support for Central (AKA Remote) Agents Configuration #134

Release date: April 1, 2021

  • Fixed missing query string: #390
  • Fixed $_SERVER not set when auto_globals_jit = On: #392

Release date: March 23, 2021

  • Added support for distributed tracing: #283
  • Added Error events: #282
  • Add support for TRANSACTION_MAX_SPANS configuration option : #260
  • Added SERVER_TIMEOUT configuration option: #245
  • Automatically capture stack trace for spans: #232
  • Added VERIFY_SERVER_CERT configuration option: #225
  • Implemented sampling (TRANSACTION_SAMPLE_RATE): #216
  • Small fixes to examples in docs: #355
  • Exclude query string from a transaction name: #285
  • Added check that the corresponding extension is loaded before instrumenting it: #228