December 15, 2022

ZendPHP Release of PHP 8.2.0 (2022-12-15)

ZendPHP now supplies PHP 8.2; see the community changelog for full details on the PHP 8.2 release.

ZendPHP 7.4 Is Now Under Long Term Support 

ZendPHP 7.4 versions are now under Long Term Support until December 2026. All ZendPHP LTS editions require a ZendPHP subscription. See the Long Term Support page for more details.

December 8, 2022

ZendHQ 1.2.0

Changes:

  • Added support for Code Tracing
    • Implemented the zedhq_codetracing ZendHQ daemon module that implements Code Tracing support in the daemon.
    • Implemented Code Tracing support in the PHP ZendHQ extension.
    • Added the cttool command line tool that can be used to inspect and convert binary Code Tracing dump files.
  • Monitoring rules now support the "codetrace" action, which triggers the Code Tracing trace collection.
    • Monitoring rule actions can now be clued to a specific condition. These actions are executed only if the specific condition is met.
  • Fixed a memory leak and exit crash in PHP caused by internal functions that are not cached.
    • The PDO PHP extension creates and destroys some methods at runtime. This caused a conflict in the ZendHQ extension that assumed that all the PHP internal functions and methods are persistent.
    • Now all the PHP internal functions and methods marked with the ZEND_ACC_NEVER_CACHE are stored together with PHP user functions and released at the end of the request.
  • Fixed a PHP crash caused by some internal PHP functions.
    • PHP internal functions marked with ZEND_ACC_CALL_VIA_TRAMPOLINE are now ignored.
    • Their zend_function pointer becomes NULL in the function handler and we are not able to process function return nor leave events.
  • Added support for querying Monitoring issues and events by the request ID value
    • The mon.get_issues JSON RPC method now accepts the request_id optional parameter that can be used to filter all the Monitoring issues with events from the specified request.
    • The mon.get_events JSON RPC method now accepts the request_id parameter that can be used to filter all the Monitoring events from the specified request. This can be combined with the issue_id parameter, which will filter all the Monitoring events with the specified issue ID value AND request ID values.
  • Added optional execution time and memory usage to monitoring events and issues
    • JSON RPC methods mon.get_issue and mon.get_event now report the actual execution time in milliseconds in the exec_time_msec member for monitoring event types function-slow-exec and request-slow-exec.
    • JSON RPC methods mon.get_issue and mon.get_event now report the actual memory usage in bytes in the memory_usage_bytes member for the monitoring event type request-high-mem-usage.
  • mon.issue JSON RPC notification events are now sent out also when Code Tracing status changes.
  • Rewrote RSA decryption for ZendHQ license file so that it works also with OpenSSL3 on Ubuntu 22.04.
  • Fixed ZendHQ PHP extension request processing in case of a PHP fatal error
    • If PHP encounters a unrecoverable fatal error during the request, it bails out meaning that none of the function calls in the call stack return. The ZendHQ PHP extension now recovers from this situation and ensures that all the information collected so far is still properly stored.
  • Added PHP 8.2 support.
  • Added git hash to the version information.
    • The hash is extracted automatically from the source repository or can be given on the CMake command line with -DZENDHQ_GIT_HASH=<hash> parameter.

ZendPHP 8.1.13

  • CLI:
    •   Fixed bug GH-9709 (Null pointer dereference with -w/-s options). (Adam Saponara)
  • Core:
    •   Fixed bug GH-9752 (Generator crashes when interrupted during argument evaluation with extra named params).
    •   Fixed bug GH-9801 (Generator crashes when memory limit is exceeded during initialization). 
    •   Fixed potential NULL pointer dereference Windows shm*() functions.
    •   Fixed bug GH-9750 (Generator memory leak when interrupted during argument evaluation.
  • Date:
    •   Fixed bug GH-9763 (DateTimeZone ctr mishandles input and adds null byte if the argument is an offset larger than 100*60 minutes). 
  • FPM:
    •   Fixed bug GH-9754 (SaltStack (using Python subprocess) hangs when running
    •   php-fpm 8.1.11).
  • mysqli:
    •   Fixed bug GH-9841 (mysqli_query throws warning despite using silenced error mode).
  • MySQLnd:
    •   Fixed potential heap corruption due to alignment mismatch.
  • OpenSSL:
    •   Fixed bug GH-8430 (OpenSSL compiled with no-md2, no-md4 or no-rmd160 does not build). 
  • SOAP:
    •   Fixed GH-9720 (Null pointer dereference while serializing the response).

ZendPHP 8.0.26

  • CLI:
    •   Fixed bug GH-9709 (Null pointer dereference with -w/-s options). 
  • Core:
    •   .Fixed bug GH-9752 (Generator crashes when interrupted during argument evaluation with extra named params). 
    •   .Fixed bug GH-9801 (Generator crashes when memory limit is exceeded during initialization).
    •   .Fixed potential NULL pointer dereference in Windows shm*() functions.
    •   .Fixed bug GH-9750 (Generator memory leak when interrupted during argument evaluation.
  • Date:
    •   .Fixed bug GH-9763 (DateTimeZone ctr mishandles input and adds null byte if the argument is an offset larger than 100*60 minutes). 
  • FPM:
    •   Fixed bug GH-9754 (SaltStack (using Python subprocess) hangs when running php-fpm 8.1.11).
    •   Fixed bug GH-9959 (Solaris port event mechanism is still broken after bug #66694).
  • mysqli:
    •   Fixed bug GH-9841 (mysqli_query throws warning despite using silenced error mode). 
  • OpenSSL:
    •   Fixed bug GH-8430 (OpenSSL compiled with no-md2, no-md4 or no-rmd160 does not build). 
  • SOAP:
    •   Fixed GH-9720 (Null pointer dereference while serializing the response).