We have a new documentation site for cPanel & WHM! You can find our new documentation site at docs.cpanel.net.
We will continue to maintain our API documentation on this server.
This page was last updated on:
Earlier this year, we implemented a blocker that requires you to upgrade your MySQL server to version 5.5 or later before you can upgrade your cPanel & WHM server to version 11.44.
We are removing the blocker from cPanel & WHM versions 11.40 and later for MySQL versions 5.0 and 5.1 so that you can use the new and improved MySQL update tool in cPanel & WHM version 11.44.
To upgrade MySQL on your server, use WHM's MySQL Upgrade interface (Home >> Software >> MySQL Upgrade).
Version 184.108.40.206 introduces the Staging Directory. The system notifies you if there is insufficient space available to complete the upgrade and allows you to select a new location for the Staging Directory.
When your server upgrades to cPanel & WHM version 220.127.116.11 or higher, the system will automatically attempt to remove unused FrontPage installations.
The new Configuration Cluster interface (Home >> Clusters >> Configuration Cluster) introduces the ability to create a configuration cluster, which consists of a master server and one or more additional configuration cluster servers. You can then choose to copy specific server configuration settings from the master server to the configuration cluster's servers.
You can use this feature with the following interface:
We plan to add this feature to more interfaces in the near future. If you want to see us integrate a specific interface with the Configuration Cluster feature, tell us where.
In cPanel & WHM version 11.44, Paper Lantern has a completely new look and feel compared to 11.42. Fully converted to the Template Toolkit framework and deeply adopting Twitter Bootstrap has given Paper Lantern more flexibility. For more details on the changes included in this release, read our Paper Lantern 11.44 Release Notes.
To prevent the problems that an absent file or absent settings can cause, logic has been added to the
The upgrade to cPanel & WHM version 11.44 will force the validation of the
cpanel.config file. Because previous versions of cPanel & WHM did not require a fully populated
cpanel.config file, you should expect to receive one of the notifications that are described below when you upgrade.
If one or more keys are not found in the
/var/cpanel/cpanel.config file, the server will attempt to generate them from the following sources:
key=valuepair will be copied from the default value in the
key=valuepair will be copied from the
cpanel.config.cachefile, the server will calculate an appropriate value.
If the entire
/var/cpanel/cpanel.config file is not present, your server will perform the following steps:
/usr/local/cpanel/etc/cpanel.configdefault file and save it as
For more information about the
/var/cpanel/cpanel.config file's validation and values, read our The cpanel.config File documentation.
When server configuration values are updated in this way, you will receive a notification. To change your settings for these notifications, modify the cPanel Configuration Checks setting in WHM's Contact Manager interface (Home >> Server Contacts >> Contact Manager).
WHM's Tweak Settings interface (Home >> Server Configuration >> Tweak Settings) will display a warning icon immediately before the setting label to indicate that a setting has changed in this way.
The following variables are deprecated. We plan to remove them from the
/var/cpanel/cpanel.config file in a future version of cPanel & WHM:
If you use any of these variables in customizations of your cPanel & WHM server, we recommend that you update that code soon to prepare for this change.
WHM's Remote Access Key interface now displays the Access Key Signature, which includes the first 32 characters of the remote access key.
Email notifications that your system sends through the Contact Manager interface settings now fully support UTF-8 encoding in both the Subject header and message bodies.
When you terminate an account, your system will now automatically clear that account's VirtFS mounts.
WHM's Uninstall FrontPage Extensions interface (Home >> FrontPage >> Uninstall FrontPage Extensions) now includes an option to remove the FrontPage RPM from your server and remove FrontPage from all of your server's user accounts.
The following parts of WHM have new names in cPanel & WHM version 11.44:
In cPanel & WHM version 11.44, the previous location of the package restore script (
/scripts/restorepkg) now redirects to the
For more information, read our Restore Package Script documentation.
We have improved the user interfaces for all restoration options. It is easier to select a backup file from your server to restore, and you may now select a file from your local computer to upload to the server to restore.
The Copy an Account from Another Server with Account Password interface and Copy Multiple Accounts/Packages from Another Server interface have been merged into the single Transfer Tool (Home >> Transfers >> Transfer Tool) interface.
The Review Copied Accounts interface has been renamed as Review Transfers and Restores (Home >> Transfers >> Review Transfers and Restores).
We improved the selection interface for the Transfer Tool interface to allow the system administrator to select accounts and portions of the backup file. (For example, databases, reseller privileges, home directories, bandwidth data, etc.)
The Account Transfer interface provides live status updates during a transfer as well as a summary report for accounts after a transfer. If there are any warnings, alerts, or skipped files, they will appear in this interface with links to the relevant log files.
In cPanel & WHM version 11.44, you can select Low Priority to use the ionice process to limit the amount of CPU and IO that the packaging and transfer processes use on the remote server. This will reduce the impact to performance on the remote server, but increase the length of the transfer session. For more information, read our Tweak Settings documentation.
In cPanel & WHM version 11.44, you can select Use custom account packaging modules from /var/cpanel/lib/Whostmgr/Pkgacct to use packaging scripts located in that directory.
Prior to 11.44, custom account transfer modules could be created in
/var/cpanel/lib. To prevent any problem or confusion, we changed the module location to
/var/cpanel/perl since the changes made are incompatible with older versions.
/var/cpanel/perl/Whostmgr/Transfers/Systemswill always be preferred over the cPanel-provided modules in
In cPanel & WHM version 11.44, the restore system will attempt to extract the package information from the cpmove file. If the package does not already exist on the target system, the system will create the package and assign it to the account. If the system cannot create the package, the system will assign the default package to the account.
If the feature list that is associated with the account exists on the target system, the system will assign it to the account. If the feature list does not exist, the system will assign the default feature list to the account.
We have increased the transfer timeout to 500 seconds.
|Database Prefixing||System account length||Database Name Maximum Length||Database Username Maximum Length|
|Enabled||16, and the first eight must be unique on the system.||63, which includes the first eight characters of the username and an underscore character.||64, which includes the first eight characters of the username and an underscore character.||63, which includes the first eight characters of the username and an underscore character.||16, which includes the first eight characters of the username and an underscore character.|
|Disabled||16, and the first eight must be unique on the system.||63||64||63||16|
A “database prefix” consists of the username, or the first eight characters of the username if it exceeds eight characters, plus a trailing underscore (_).
In cPanel & WHM version 11.44, you can now change database usernames.
Because PostgreSQL user passwords are generated with a hash of username and password, if there is a conflict with a username when you restore a PostgreSQL user, you must set the password again for that username. The next time the user manages a database with the phpPgAdmin program, the user's privileges will be refreshed and access will be restored.
The maximum username length for new system accounts is 16 characters. The first 8 characters must be unique to the system.
In cPanel & WHM version 11.44, we have increased the maximum length of database names.
You can now create:
If Database Prefixing is enabled, the first eight characters of the username and an underscore character are included in the database name and database username.
In cPanel & WHM 11.44, database names and usernames may now contain underscores. However, the database name may not end in an underscore.
In cPanel & WHM 11.44, we fixed the behavior of MySQL and PostgreSQL when the account username is changed.
Before cPanel & WHM 11.44, if you renamed a system account, the system did not migrate the DEFINER of stored procedures, functions, triggers, and views in MySQL. Now, all of the existing databases and database usernames will remain unchanged. Only new databases and database usernames will use the new system account name if database prefixing is enabled.
Before cPanel & WHM 11.44, if you renamed a system account, the associated PostgreSQL user was not renamed. This has been corrected.
Because PostgreSQL applies the username to the internal password hash, the cPanel user must load the PostgreSQL page in cPanel after an account rename. This will allow the database user that is associated with the system account user to access to PostgreSQL again.
In cPanel & WHM version 11.44, we have moved the Database Prefixing option from WHM (Home >> SQL Services >> Disable Database Prefix) to Require a username prefix on names of new databases and database users under Tweak Settings (Home >> Settings >> Tweak Settings). Also, database prefixing may now be disabled and re-enabled through WHM. This setting is enabled by default.
If you have database prefixing enabled, new databases that you or your users create through the cPanel interface will automatically include a username prefix, but databases that you create through UAPI function calls will not include the prefix.
If you transfer or restore an account that uses database prefixing to a server with database prefixing disabled, the prefixes will not be removed. This ensures that you do not need to change the usernames, database names, or your users' applications.
Also, databases that are created by cPAddons, such as the WordPress® addon, will continue to include a username prefix, even if database prefixing is disabled (For example,
In cPanel & WHM version 11.44, we allow users to rename MySQL and PostgreSQL databases.
You can also rename a database after an account transfer.
In cPanel & WHM version 11.44, we upgraded Mailman to version 2.1.7.
In cPanel & WHM version 11.44, the names of new Feature Lists may contain multibyte UTF-8 characters and the following 7-bit ASCII characters:
In cPanel & WHM version 11.44, the current password of a database user is no longer required to change the password.
In cPanel & WHM 11.44, we have improved the Setup Remote MySQL Server interface in WHM (Home >> SQL Services >> Setup Remote MySQL Server).
PostgreSQL support now has
AutoInactiveDestroy to avoid
SIGPIPE error responses on
We have added support for the MySQL
cPanel & WHM version 11.44 will now honor the configuration of backups for migrated accounts in the same way new accounts do.
In cPanel & WHM version 11.44, IPv6 addresses are easier to manage. IPv6 addresses will receive an
99. This will make it more difficult for newly bound addresses to become the source address for email on the server. When you assign IPv6 addresses in WHM, the system will skip any address with a reserved range in the reclamation pool.
cPanel & WHM version 11.44 improves the way remote backups are logged. The output is more verbose and shows information such as the method and path used to connect.
The remote backup logs are now stored as
cpbackup_transporter.1234567890.log in the
/usr/local/cpanel/logs/cpbackup_transporter directory. Replace
1234567890 with your own ten digit representation of epoch time, unique to the time the transport was run. The system will keep the ten most recent logs.
In cPanel & WHM version 18.104.22.168, we now allow you to create a user account name that matches an existing MySQL database name. However, you may not create a user account name that matches an existing PostgreSQL database name.
In cPanel & WHM version 22.214.171.124, you now have the option to defer the rebuild of Apache and PHP until after the MySQL upgrade process completes. For more information, read our MySQL Upgrade documentation.
In cPanel & WHM version 11.44, the account termination (
killacct) process will not kill reserved usernames or databases that are specified within a user's database
.yaml file (located in the
/var/cpanel/databases/ directory in
The following usernames are reserved:
The following database names are reserved:
In cPanel & WHM version 126.96.36.199 and later, if you have the Tweak Setting Use pre-4.1-style MySQL® passwords enabled and then update MySQL to 5.6 or later, you will see a warning similar to the following:
In cPanel & WHM version 11.44, we renamed the cPanel x3 theme’s Configure Language interface (Home >> Preferences >> Change Language) the Change Language interface. This change corrected a user interface inconsistency between the icon’s label on the Home interface and the title of the actual interface.
In cPanel & WHM version 11.44, we removed the DBOWNER parameter from cPanel accounts. This parameter allowed the system to separate the primary MySQL user from the cPanel user, but that functionality was deprecated and removed in an earlier version of cPanel & WHM to simplify the administration of accounts.
In cPanel & WHM version 11.44, we removed the legacy fallback system for pre-11.18 transfers from the Copy an Account from Another Server with Account Password interface in WHM (Home >> Transfers >> Copy an Account From Another Server with Account Password).
The use of A6 records are now discouraged in the Edit DNS Zone interface. The interface will allow you to edit existing A6 records but will not allow the creation new A6 records.
cPanel & WHM 11.44 includes the following third-party applications. This section lists the applications' version numbers and the minor build of cPanel & WHM that corresponds to each version.
|Third-party application||Version||Corresponding cPanel & WHM minor version|
New UAPI Calls
Locale::get_attributes— This function retrieves a user's various settings that are associated with their selected locale.
Mysql::create_database— This function creates a MySQL database.
Mysql::create_user— This function creates a MySQL database user with a specified password.
Mysql::get_privileges_on_database— This function lists the privileges that a specified user has on a MySQL database.
Mysql::get_restrictions— This function lists the MySQL database name and database username length restrictions on databases.
Mysql::rename_database— This function renames a MySQL database.
Mysql::rename_user— This function renames a MySQL database user.
Mysql::revoke_access_to_database— This function revokes access from a specified user to a MySQL database.
Mysql::set_password— This function sets the password for a specified MySQL database user.
Mysql::set_privileges_on_database— This function sets a list of permissions for a specified user on a MySQL database.
Postgresql::create_database— This function creates a PostgreSQL database.
Postgresql::create_user— This function creates a PostgreSQL database user with a specified password.
Postgresql::get_restrictions— This function lists the PostgreSQL database name and database username length restrictions on databases.
Postgresql::rename_database— This function renames a PostgreSQL database.
Postgresql::rename_user— This function renames a PostgreSQL database user and sets a specified password for the user.
Postgresql::rename_user_no_password— This function renames a PostgreSQL database user.
Postgresql::set_password— This function set the password for a specified PostgreSQL database user.
New WHM API 1 Calls
add_configclusterserver) — This function adds a server to your master server's list of configuration cluster servers.
delete_configclusterserver) — This function deletes a server from your master server's list of configuration cluster servers.
list_configclusterservers) — This function lists the server names for all of your master server's configuration cluster servers.
update_configclusterserver) — This function updates a configuration cluster server's remote access key or username.
update_updateconf) — This function updates the specified settings from the Update Preferences interface to all configuration cluster servers.
remote_basic_credential_check) — This function performs a basic check of the SSH credentials that you wish to use to connect to a remote server before you transfer accounts.
create_remote_root_transfer_session) — This function creates a transfer session to the specified server as the
analyze_transfer_session_remote) — This function analyzes the specified transfer session.
start_transfer_session) — This function starts the specified transfer session.
get_transfer_session_state) — This function displays information about the specified transfer session.
pause_transfer_session) — This function pauses the specified transfer session.
validate_system_user) — This function validates the specified system username.
available_transfer_modules) — This function displays a list of the transfer modules that are available on your server.
create_remote_user_transfer_session) — This function creates a transfer session to a remote server that will use a standard user account.
enqueue_transfer_item) — This function adds a transfer session to a specified transfer queue.
fetch_transfer_session_log) — This function displays the log file of a specified transfer session.
retrieve_transfer_session_remote_analysis) — This function analyzes a specified transfer session.
transfer_module_schema) — This function displays the key structure of a specified transfer module.
list_databases) — This function lists all of the databases on your server.
list_database_users) — This function lists all of the database users on your server.
rename_mysql_user) — This function renames a MySQL user.
rename_postgresql_user) — This function renames a PostgreSQL user.
rename_mysql_user) — This function renames a MySQL database.
rename_postgresql_database) – This function renames a PostgreSQL database.
set_mysql_password) — This function changes a MySQL user's password.
set_postgres) — This function changes a PostgreSQL user's password.
abort_transfer_session) — This function cancels a transfer session.
New cPanel API Calls
MysqlFE::authorizehost— This function authorizes a host for remote access to the account's MySQL databases.
MysqlFE::changedbuserpassword— This function changes the password for a specified MySQL database user.
MysqlFE::createdb— This function creates a MySQL database.
MysqlFE::createdbuser— This function creates a MySQL database user, and sets a password for that user.
MysqlFE::dbuserexists— This function checks whether a MySQL database username exists.
MysqlFE::deauthorizehost— This function removes authorization from a specified remote host.
MysqlFE::deletedbuser— This function deletes a MySQL database username from the account.
MysqlFE::getalldbsinfo— This function retrieves information about all of the MySQL databases on the account.
MysqlFE::getalldbusersanddbs— This function retrieves a list of the database users and the databases that they are allowed to access.
MysqlFE::getdbuserprivileges— This function retrieves a list of the privileges for a username on a specified MySQL database.
MysqlFE::getdbusers— This function retrieves a list of MySQL database users that are allowed to access the specified database.
MysqlFE::gethosts— This function retrieves a list of remote hosts that are authorized to access this account's MySQL databases.
MysqlFE::getmysqlprivileges— This function retrieves a list of privileges in MySQL that this account may access.
MysqlFE::getmysqlserverprivileges— This function retrieves a full list of privileges available on the MySQL server.
MysqlFE::has_mycnf_for_cpuser— This function checks whether there is a valid
.my.cnffile in the home directory of the account.
MysqlFE::listusersindb— This function retrieves a list of MySQL databases that belong to a specific account.
MysqlFE::revokedbuserprivileges— This function revokes database user privileges for the specified username on the specified MySQL database.
MysqlFE::setdbuserprivileges— This function grants privileges to a specified user on a MySQL database.
Modified API Calls
create_user_session) - The
serviceparameter now allows
whostmgrdas a value.
modifyaccount) - The DBOWNER parameter has been removed.
set_tweaksettings) — This function now includes the
update) — This cPanel API module allows you to install modules for various scripting languages.