ZendHQ Changelog

Bookmark the full changelog at zend.com/release-notes/zendphp.

 

November 2023

ZendHQ 1.5.0 (2023-11-23)

New features:

  • ZendHQ PHP extension is now enabled for the cgi-fcgi PHP SAPI.

  • Added Z-Ray SQL queries support for the PHP pgsql, mysqli, sqlite3 modules.

    The cgi-fcgi SAPI is used by Apache fcgi module on IBM i.

Fixes:

  • Added missing Z-Ray database indexes.

    The Z-Ray database was missing indexes for stack traces, which made retrieving and deleting Z-Ray SQL queries from the database extremely slow.

  • Fixed Code Trace dump file processing

  • Introduced the incomplete flag for checkpoints that require both the start and end (e.g. function calls). Incomplete checkpoints are output to the JSON document with the incomplete member set to the JSON true value.

    The CT_FULL flag is now properly set in the dump file header if the Code Trace buffer becomes full.

ZendHQ User Interface 1.4.41 (2023-11-13)

Changes:

  • Implemented manual application update. Whenever the user starts the application and a new version is available, we show a notification and offer to update the application. If users skip the notification message, they can update the application from the 'About' page.

  • Fixed: When attempting to resize the drawer below its minimum width, dragging the mouse no longer selects text inside the drawer.

ZendHQ User Interface 1.4.40 (2023-11-08)

Changes:

  • Added changelog to the About page

  • Fixed: The post data in the 'Request' tab on the ZRay request page is now represented as plain text

October 2023

ZendHQ User Interface 1.4.39 (2023-10-24)

  • Implemented drawer resizing

ZendHQ User Interface 1.4.38 (2023-10-12)

  • Implemented a notification for valid non-trial licenses expiring in 14 days

  • Implemented the data loading spinner for the ZRay History page

  • Implemented data sorting for the ZRay Live page table

  • Implemented data sorting for the ZRay History page table

  • Implemented data sorting for the Monitoring Event Log page table

  • Implemented data sorting for the Monitoring Configuration page table

  • Implemented data sorting for the Code Tracing page table

  • Implemented data sorting for the Job Queues page table

  • Implemented data sorting for the Job tab table of the Job Queue page

  • Implemented data sorting for the Job History tab table of the Job Queue page

ZendHQ User Interface 1.4.37 (2023-10-09)

  • Updated the design of the Error tab on the ZRay request page

  • Updated the design of the Query tab on the ZRay request page

  • Fixed a problem with incorrect fonts usage

  • Implemented tooltips for ZRay

  • Implemented tooltips for Code Tracing

  • Implemented tooltips for Job Queue

  • Removed the footer from the Job queue history details drawer

  • Changed the format of backtrace data in the drawer for Code Tracing

  • Changed the format of backtrace data in the Functions tab for ZRay

ZendHQ User Interface 1.4.36 (2023-10-03)

  • Updated the design of the Info tab on the ZRay request page

  • Updated the design of the Request tab on the ZRay request page

  • Updated the design of the Response tab on the ZRay request page

  • Updated the design of the Functions tab on the ZRay request page

September 2023

ZendHQ 1.4.0 (2023-09-18)

New features

  • Added a Z-Ray SQL queries handler for the PHP PDO class.

    The following directives were added to the ZendHQ PHP extension:

    • zendhq.zray.collect_sql = 1

    • zendhq.zray.collect_backtrace.sql_queries = 1

    • zendhq.zray.max_bound_value_size = 1

  • Added 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 to reference stack trace frames in the new table.

    The Z-Ray database schema version is now 1.1. Existing databases are upgraded to version 1.1 without a loss of data.

  • Added Z-Ray SQL queries to the JSON RPC

    Implemented 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 in the ${INSTALL_PREFIX}/doc directory.

  • Added preliminary support for the upcoming PHP version 8.3.

Bug fixes

  • Fixed setting the node name value in the ZendHQ PHP extension. The node name value is now initialized when PHP processes the first request, which allows changing the value for PHP FPM pools with the php_value[zendhq.node_name] directive.

  • If the license is expired, missing, or invalid, all queues are now suspended.

  • Fixed the problem that the Job Queue kept running recurring jobs even after the license expired.

  • Fixed retrieving scheduled Job Queue jobs using the PHP API

  • Fixed: If a running task had a name, then it was not added to the list of scheduled jobs when requested without a name filter.

ZendHQ User Interface 1.4.35 (2023-09-13)

  • Added detail view to ZRay Queries page

  • Added some tooltips

  • Added copying of the query backtrace data

  • Added jobqueue name on details page

  • Updated SQL highlighting

  • Updated sql query table sorting

  • Mac build update

  • Fixes storing Config data

  • Other small fixes

July 2023

ZendHQ User Interface 1.4.24 (2023-07-31)

  • Updated ZRay Live and ZRay History design

  • Added foundation for future support of ZRay SQL Queries

ZendHQ User Interface 1.4.21 (2023-07-12)

  • Updated Neutralino binary to 4.12.0

  • Updated Neutralino client to 3.10.0

  • Updated content wording

  • Fixed menu items highlighting

May 2023

ZendHQ User Interface 1.4.16 (2023-06-07)

  • Fixed job priority filtering: added missing priority option 'Urgent'

  • Fixed job history filtering

  • Fixed authentication check and removed default login token value

  • Fixed automatic reconnection issues

  • Updated license status notifications

ZendHQ 1.3.1 (2023-05-30)

  • Fixed retrieving scheduled Job Queue jobs
    If a running task had a name, then it was not added to the list of scheduled jobs when requested without a name filter.

ZendHQ User Interface 1.4.9 (2023-05-29)

  • Fixed Login token check

ZendHQ User Interface 1.4.8 (2023-05-23)

  • JobQueue feature added. Includes Queues, Jobs, and Job History.

  • Monitoring updated with JobQueue events support

  • CI: Test, build and release pipelines

  • Fixes for ZRay Plugins Tree component

  • Fixes for Codetrace component

ZendHQ 1.3.0 (2023-05-23)

  • Implemented the ZendHQ Job Queue component and corresponding jq JSON RPC API and PHP API.

    • The Monitoring component was changed to support the Job Queue monitoring events jq-exec-failure and jq-exec-delay.

    • The mon.issue JSON RPC event and mon.get_issues and mon.get_events methods now contain the optional job member with Job Queue job information.

  • Changed 0MQ messaging protocol to include API version in the message header in addition to the protocol version. ZendHQ daemon now refuses to talk to PHP nodes that report a different API version.

    • Implemented proper ACK and NACK messages for the 0MQ messaging protocol. The NACK message carries a reason.

    • 0MQ messages that do not require a request ID value now do not contain the ID value.

    • The 0MQ low level protocol version is now 3.

  • Changed ZendHQ daemon extension interfaces to include an API version. ZendHQ daemon now refuses to load extensions that report a different API version.

  • Added support for the \SensitiveParameter attribute

    • Starting with PHP 8.2, function call parameters can have the \SensitiveParameter attribute, which indicates that the value of the parameter is sensitive and should not be revealed in PHP backtraces.

    • The ZendHQ PHP extension now obeys the \SensitiveParameter attribute and hides sensitive values also in Monitoring events, Code Tracing dump files, and Z-Ray plugins. Sensitive values are reported as ZendHQSensitiveValue class instances to indicate that the sensitive value was hidden.

  • Added the session.namespaces JSON RPC method

    • The session.namespaces JSON RPC method returns a list of all the namespaces available for the current session.

  • Added the session.version JSON RPC method

    • The session.version JSON RPC method returns the current session namespace API version number.

  • Added trace_size member to the Code Tracing JSON RPC,

    • The trace_size member contains the total size of the Code Tracing trace files on the disk.

  • Updated copyright year to 2023

December 2022

ZendHQ User Interface v1.3.2 (2023-01-23)

  • Fixed crashing in Code Trace detail view when function call has an empty string as a parameter.

ZendHQ User Interface v1.3.1 (2022-12-19)

  • Fixed showing stack trace in Monitoring Events.

ZendHQ User Interface v1.3.0 (2022-12-06)

  • Added support for Code Tracing
  • Monitoring rules UI now has 'Actions when triggered' option.

ZendHQ v1.2.0 (2022-12-08)

  • 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 '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 issues with events from the specified request.
  • 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 events 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 as well when Code Tracing status changes.
  • Rewrote RSA decryption for ZendHQ license file so that it works 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 of 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 the -DZENDHQ_GIT_HASH=<hash> parameter.

June 2022

ZendHQ v1.1.0 (2022-06-21)

  • The ZendHQ PHP extension is now loaded as a Zend extension, and not a PHP module.

Note: When upgrading from an earlier version, change extension=zendhq.so to zend_extension=zendhq.so in the zendhq.ini file.

This fixes a PHP exit crash on some platforms where shutting down the PHP module completely removed the ZendHQ PHP extension from the memory, and crashed when the Zend extension part was shut down.

It also fixes opcache warnings caused by ZendHQ RINIT method that activated opcache too early. You must ensure that ZendHQ is loaded after opcache; this is only possible when ZendHQ is loaded as a Zend extension.

ZendHQ v1.0.1 (2022-06-08)

  • Fixed potential Apache2 worker crash with php_module when Monitoring rules were changed, and ZendHQ PHP extension needed to re-initialize PHP user function filters.