ZendHQ GUI 1.5.4
Fixed
- Fixes date and time validation when creating a new job.
Added LDAP authentication and authorization support to the ZendHQ daemon.
ZendHQ daemon can now be configured to use a LDAP server, like ActiveDirectory or an OpenLDAP server, to authenticate and authorize ZendHQ users.
LDAP authentication is performed asynchronously and JsonRpc clients cannot send other requests before authentication is finished and a response sent to the client.
Added Z-Ray SQL queries support for the PHP sqlsrv
extension.
Support for the sqlsrv extension was already added in the previous 1.6.0 version, but now it is enabled for the public use.
The ZendHQ PHP extension's zeromq PUB/SUB socket endpoint is now configurable
The zendhq.daemon_pub_uri
ZendHQ PHP extension's directive can now be used to set the daemon's zeromq PUB/SUB socket uri manually. The default is to leave this directive undefined and use the uri provided by the daemon.
The Z-Ray token cookie max-age
attribute is now configurable
When Z-Ray is requested using the zraytok
request parameter, then the ZendHQ PHP extension responds with the Set-Cookie: zraytok= max-age=
response header. Consequent requests with the zraytok
cookie will trigger additional Z-Ray requests without providing the zraytok
request parameter.
The value of the max-age
attribute of the cookie is now configurable in the ini file and can be set to the number of seconds before the cookie expires.
Setting this value to a value = 0
disables setting the zraytok
cookie.
Default value is 60 seconds.
Optimized ZendHQ PHP extension tracing functionality
Now the ZendHQ PHP extension becomes globally disabled if all the individual tracing functions (like Z-Ray, Monitoring and Code Tracing) are disabled.
It is still possible to use the Job Queue PHP API.
Optimized Code Tracing in the ZendHQ PHP extension.
Code Tracing is now active only when requested manually or when at least one monitoring rule requires it. If Code Tracing is not requested or there are no monitoring rules with a Code Trace action, then Code Tracing stays inactive in order to improve PHP performance.
Fixed a bug in the ZendHQ PHP extension that prevented Apache2 to reload.
ZendHQ PHP extension has a limited number of global resources. The number of in-use resources was not reset when the PHP extension was re-initialized.
In addition, a bug in zeromq caused worker processes to hang indefinitely in MSHUTDOWN
.
Fixes a crash when triggering a browser refresh
Adds an MSI installer for Windows
Added support for IBM i. The ZendHQ PHP extension and the ZendHQ daemon both run natively in IBM i Series machines and OS.
Added Windows support for the ZendHQ PHP extension.
Added the zendhq.cache_dir
directive to the ZendHQ PHP extension's
configuration file with the default value ${PREFIX}/var/cache
.
Updated icon and logo.
Updated copyright year to 2024.
Updated WebSocket usage, closing connection before exiting.
Updated logging so all errors and warnings are now written to a log file.
Replaced Mac binary in the package, improved update logic.
Implemented user permissions handling.
Added username input field to connection page. Implemented user permissions processing for all pages.
ZRay plugin view now can use the view templates passed as metadata from server side.
Implemented the local RBAC. Local RBAC uses the user.db
database to store usernames, password hashes, groups (roles) and permissions.
A default user admin
and default group admin
are automatically created with full permissions to access all the services. The zendhqctl
command-line tool can be used to manage the ZendHQ local RBAC database. The tool allows adding, removing and querying users, groups, services and permissions.
The Z-Ray activation token is now checked on the ZendHQ PHP extension for appropriate permissions before activating Z-Ray requests.
The ZendHQ daemon application can now be started with the --init_only|-I
command-line argument. The application will initialize itself and then quit immediately. This command-line argument is useful when there is a need to create or upgrade ZendHQ databases without running the daemon.
Added Z-Ray SQL queries support for the PHP sqlsrv
and oci8
modules.
Job Queue functionality in the ZendHQ PHP extension is now enabled also in the PHP CLI mode.
IUserManager
interfaceThe IUserManager interface is used to authenticate users and authorize their access to ZendHQ. All the ZendHQ JSON-RPC handlers now use the IUserManager
interface to check that the user is authorized to use these services.
session
namespace handlerThe JSON-RPC session
namespace handler now accepts an username when creating or restoring the session. The username field can be left empty and defaults to admin
.
The JSON-RPC session.namespaces
method now returns permissions for the currently logged in user to use available JSON-RPC namespaces.
The session ID value now embeds Z-Ray access information and only users with appropriate permissions receive session ID values that can be used to activate Z-Ray requests.
JSON-RPC session
namespace API version is now 1.5
.
ZendHQ daemon extension interface API version is now 20231205
.
This bug happened when ZendHQ daemon and PHP extension versions did not match and daemon refused to talk to the extension or daemon was not running at all.
zray.RAW_POST_DATA
JSON-RPC event now contains Content-Type
and Content-Length
HTTP request headers. The data member is a base64-encoded string.zrayh.get_request
JSON-RPC method response raw_post_data
member now contains a JSON object with the same content of the zray.RAW_POST_DATA
event instead of a string.zray.SQL_QUERIES
JSON-RPC message.
ok
, error
, or undef
."async": true
, indicating PostgreSQL asynchronous queries.zray
namespace API version is now 1.6.zrayh
namespace API version is now 1.2.RPC
ct` namespace API version is now 1.1.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.