As most of you probably know, we released 11.25 to our RELEASE branch this week.  This is a major change to cPanel/WHM which presents some issues with integration.  I have been trying to track as many integration support requests as possible so that I can get an idea of what common issues have arisen.  Here is a summary of the issues and what we are doing about them.

Hooks Do Not Execute
We have added a feature to 11.25.0 that keeps track of what hooks are in use.  This new mechanism greatly improves speed within cPanel/WHM as it no longer has to check to see if a hook exists every time an API call is made.  Unfortunately the hooks.db file was unreadable by any user other than root.  If you notice that hooks are not executing on your server, please run chmod 644 /var/cpanel/hooks.db.  This issue will be fixed in the next update.

The setresellerlimits XML API call does not work with certain reseller accounts.
The setresellerlimits XML API call does not work with reseller accounts that did not previously have reseller limits.  This is because the hash in /var/cpanel/reseller-limits.yaml is not being properly created.  This issue will be resolved in the next update.

API call changes that affect hook/CustomEventHandlers
We are moving toward making most of cPanel use API2 calls for executing events.  This provides a much more flexible system.  However, a major drawback to doing so is that some hooks will break.  For example, we changed Email::addpop to an API2 call in the interface.  When the addpop hook is executed, it is passed a hash rather than an array, making the hook unusable.  We have updated the following interfaces to use API2:

  • Email Accounts
  • Cron
  • Change MX Record

Please be aware of this change if you use hooks.  If you need assistance, please post in the developer discussions forum and we will try to assist you as best we can.

XML-API Authentication
The XML-API no longer prompts for HTTP authentication.  Most of the time this is not an issue.  In some cases we have encountered HTTP libraries (wget) that wait for HTTP authentication requests before sending headers.  You will now need to send headers with the initial request.

You can track new releases at and compare your build number and the time of the build vs. what you have in /usr/local/capnel/version.