September 2023September 28, 2023ZendPHP 8.1.24ZendPHP Changes- Added litespeed packageCommunity Fixes- Core: . Fixed bug GH-11937 (Constant ASTs containing objects). . Fixed bug GH-11790 (On riscv64 require libatomic if actually needed). . Fixed bug GH-12073 (Segfault when freeing incompletely initialized closures). . Fixed bug GH-12060 (Internal iterator rewind handler is called twice). . Fixed bug GH-12102 (Incorrect compile error when using array access on TMP value in function call).- DOM: . Fix memory leak when setting an invalid DOMDocument encoding.- Iconv: . Fixed build for NetBSD which still uses the old iconv signature.- Intl: . Fixed bug GH-12020 (intl_get_error_message() broken after MessageFormatter::formatMessage() fails).- MySQLnd: . Fixed bug GH-10270 (Invalid error message when connection via SSL fails: "trying to connect via (null)").- ODBC: . Fixed memory leak with failed SQLPrepare. . Fixed persistent procedural ODBC connections not getting closed.- SimpleXML: . Fixed bug #52751 (XPath processing-instruction() function is not supported).- SPL: . Fixed bug GH-11972 (RecursiveCallbackFilterIterator regression in 8.1.18).- SQLite3: . Fixed bug GH-11878 (SQLite3 callback functions cause a memory leak with a callable array). ZendPHP 8.2.11:ZendPHP Changes- Added litespeed packageCommunity Fixes- Core: . Fixed bug GH-11937 (Constant ASTs containing objects). . Fixed bug GH-11790 (On riscv64 require libatomic if actually needed). . Fixed bug GH-11876: ini_parse_quantity() accepts invalid quantities. . Fixed bug GH-12073 (Segfault when freeing incompletely initialized closures). . Fixed bug GH-12060 (Internal iterator rewind handler is called twice). . Fixed bug GH-12102 (Incorrect compile error when using array access on TMP value in function call).- DOM: . Fix memory leak when setting an invalid DOMDocument encoding.- Iconv: . Fixed build for NetBSD which still uses the old iconv signature.- Intl: . Fixed bug GH-12020 (intl_get_error_message() broken after MessageFormatter::formatMessage() fails).- MySQLnd: . Fixed bug GH-10270 (Invalid error message when connection via SSL fails: "trying to connect via (null)").- ODBC: . Fixed memory leak with failed SQLPrepare. . Fixed persistent procedural ODBC connections not getting closed.- SimpleXML: . Fixed bug #52751 (XPath processing-instruction() function is not supported).- SPL: . Fixed bug GH-11972 (RecursiveCallbackFilterIterator regression in 8.1.18).- SQLite3: . Fixed bug GH-11878 (SQLite3 callback functions cause a memory leak with a callable array).September 18, 2023ZendHQ 1.4.0New FeaturesAdded Z-Ray SQL queries handler for the PHP PDO class.The following directives were added to the ZendHQ PHP extension:zendhq.zray.collect_sql = 1zendhq.zray.collect_backtrace.sql_queries = 1zendhq.zray.max_bound_value_size = 1Added Z-Ray SQL queries to the database.Added tables for storing SQL queries, database connections and transactions.Moved stack trace frames into a separate table and updated existing tables toreference stack trace frames in the new table.Z-Ray database schema version is now 1.1. Existing databases are upgradedto the version 1.1 without a loss of data.Added Z-Ray SQL queries to the JSON RPCImplemented and documented the zray.SQL_QUERIES JSON RPC notification event.The JSON RPC zray namespace version number is now 1.5 .The JSON RPC session namespace version number is now 1.4 .ZendHQ documentation is now installed to the ${INSTALL_PREFIX}/doc directoryAdded preliminary support for the upcoming PHP 8.3 versionBug FixesFixed setting the node name value in the ZendHQ PHP extension.The node name value is now initialized when PHP processes the first request, whichallows changing the value for PHP FPM pools with the php_value[zendhq.node_name]directive.Fixed Job Queue that kept running recurring jobs even if the license expired.All the queues are now suspended if the license is expired, missing, or invalid.Fixed retrieving scheduled Job Queue jobs using the PHP APIIf a running task had a name, then it was not added to the list of scheduledjobs when requested without a name filter.Internal Changes and FixesAdded Z-Ray SQL queries to the 0MQ messages.Implemented new 0MQ messages ZRAY_SQL_TRANSACTIONS and ZRAY_SQL_QUERIES , whichcarry all the information about Z-Ray SQL queries.The zend::protobuf::ZendPHP::StackTraceFrame protobuf message can now optionallyinclude function call arguments.Added zend::protobuf::ZendPHP::StackTrace protobuf message for stack tracesthat contains zero to many zend::protbuf::ZendPHP::StackTraceFframe messages.0MQ messaging protocol API version is now 20230621 .The ZendPHP::ExecHandler now has call-backs for the case when the PHP stack tracebecomes empty (like when exiting the {main} function).The ZendPHP::ExecHandler now optionally supports returning the current call-stackwith all the function arguments.The ZendPHP unique_zval_ptr is now using efree() to release the zval pointerand the pointer MUST be allocated with emalloc() . A helper function new_zval()was added that allocates a new zval using emalloc() .Switched to the C++17 standardSwitched default linking option to visibility=hidden and implemented necessarychanges to make exported symbols visible.Build and Packaging ChangesAdded zendhq-doc package. Currently contains JSON-RPC documentation.Located in /opt/zend/zendphp/doc as .md files.Updated dependency libraries versions:qt5 v5.15.14protobuf 3.21.12re2 2023.08.01, built with statically linked abseil 20230802.0ZendHQ binaries (incl. PHP extension) built using static linking to re2, protobuf andzeromq dependency libraries.Formerly needed dependency packages are not needed anymore and may be removed afterzendhq upgrade:Debian, Ubuntu distros: libprotobuf28-zendphplibzmq5-zendphplibre2-*Alpine distros: libprotobuf-zendphplibzmq-zendphplibre2RHEL compatible distros: protobuf-zendphpzeromq-zendphpre2These obsolete packages mentioned above are currently not removed automatically.Please pay attention on re2 libraries when removing - these were installed from OS distributionrepositories and may be required for other installed packages. yum autoremove andapt autoremove should be safe to use for removing unneeded packages.On Alpine apk update [<packages>] will automatically remove unused packages.