• Dear community,

    WARNING - Before updating your i-MSCP installation, don't forget to read the errata file WARNING

    We are pleased to announce the immediate availability of i-MSCP version 1.4.4 that is a bugfixes release for the 1.4.x Serie.

    This new version addresses the following issues:


    • Added: Event listener priority queue; Allows to set priority for event listeners in range [-1000 .. 1000]
    • Added: iMSCP::Dir::clear() method - Allows to clear full or specific content of a directory
    • Added: Modules::ServerIP module (replace both Modules::Ips and Modules::NetworkInterfaces modules)
    • Enhancement: Objects can now be registered as event listener (iMSCP::EventManager)
    • Fixed: Can't use an undefined value as a HASH reference; DBI::selectrow_hashref() return undef on empty results
    • Fixed: Fallback to INADDR_ANY address IP if a domain IP is not found in database
    • Fixed: Make use of Full Stop unicode character to encode dots in database names (iMSCP::Database::mysql::dumpdb)
    • Fixed: Make use of SOLIDUS unicode character to encode slashes in database names (iMSCP::Database::mysql::dumpdb)
    • Fixed: Ownership and permissions not set (iMSCP::Dir::make)
    • Removed: Modules::Ips and Modules::NetworkInterfaces modules
    • Removed: Support for systemd older than 204-3 (iMSCP::Provider::Service::Debian::Systemd)
    • Removed: Support for sysv-rc older than 2.88 (iMSCP::Provider::Service::Debian::Sysvinit)


    • Added: `BIND_DB_FORMAT' configuration parameter (Bind9)
    • Added: `BIND_DB_MASTER_DIR' configuration parameter (Bind9)
    • Added: `BIND_DB_SLAVE_DIR' configuration parameter (Bind9)
    • Added: 'CMD_SYSCTL` and 'SYSCTL_CONF_DIR` parameters for sysctl(8) (master)
    • Added: `PluginApi' configuration parameter (master)
    • Fixed: Debian httpredir.debian.org service is discontinued (See https://wiki.debian.org/DebianGeoMirror)
    • Fixed: Make sure that the root directory is marked as shared in regards to mount propagation (at least for i-MSCP mounts)
    • Fixed: Prevent upgrade of Percona server while processing disttribution upgrade (all distributions; APT pinning)
    • Merged: Nginx site configuration files (FrontEnd)
    • Removed: *.old.data configuration files (servers/packages)
    • Removed: `BIND_DB_DIR' configuration parameter (replaced by `BIND_DB_MASTER_DIR' and `BIND_DB_SLAVE_DIR' configuration parameters)
    • Renamed: All Nginx configuration template files (changed extension from .conf to .nginx for IDE syntax highlighting) (FrontEnd)


    • Updated: domain_dns.domain_dns_status column length (VARCHAR to TEXT)


    • Fixed: Cron tasks for traffic accounting are never executed due to wrong command in /etc/cron.d/imscp cron file


    • Added: Support for Devuan jessie 1.0 - See https://devuan.org/
    • Added: Support for MariaDB 10.2 (all distributions)
    • Changed: Install nginx-full package instead of nginx-light package (Nginx)
    • Fixed: invoke-rc.d: action rotate is unknown, but proceeding anyway. (See Debian bug report #728682)
    • Fixed: Wrong GPG key for MariaDB repository (Ubuntu 16.04)


    • Added: 502 (Bad Gateway) error page
    • Added: Include directive for loading of dynamic modules (Nginx)
    • Fixed: Allow auto-completion for login form (regression fix)
    • Fixed: Allow lower value than `post_max_size' for `memory_limit' (PHP Editor)
    • Fixed: Couldn't redirect full domains, subdomains to non-standard port
    • Fixed: Creation of mailboxes for Postfix canonical domains through the control panel must be prohibited
    • Fixed: Integrity constraint violation: 1052 Column 'fname' in WHERE clause is ambiguous when searching user by name
    • Fixed: mail_users.po_active database column must be set to 'no' for forward only and catch-all accounts
    • Fixed: Many location blocks match unwanted resources (eg: /pma will also matches with /pmailman and that is unwanted) (Nginx)
    • Fixed: Non well formed numeric value encountered in utils_getPhpValueInBytes() function
    • Fixed: Nginx is now able to determines number of available CPU cores (Nginx)
    • Fixed: Stop matching process as soon as possible (Nginx)
    • Removed: Check for CNAME conflict (Custom DNS records)


    • Added: 10_backup_storage_outsourcing.pl: Allows storage of customer backup directories elsewhere on the file system
    • Added: 10_proftpd_auth_unix.pl listener file: Enable unix authentication
    • Added: 10_proftpd_serverident.pl file: Set custom server identification message (replace 10_proftpd_tuning.pl)
    • Added: 10_proftpd_tls.pl file: Enforce TLS (replace 10_proftpd_tuning.pl)
    • Fixed: 10_named_override_default_rr.pl: Cannot override default www CNAME record
    • Fixed: 20_named_dualstack.pl listener file: Missing DNS records for subdomains
    • Fixed: Listeners from listener files that listen on the `afterMtaBuildConf' event must be registered with low priority
    • Updated: 10_nginx_hsts.pl listener file: Nginx configuration template filenames were updated +++
    • Updated: 10_named_slave_provisioning.pl listener file: Nginx configuration template filenames were renamed +++
    • Updated: 70_postfix_submission_tls.pl file: Fully redefines submission service and disable SSLv3


    • Added: `None' option as possible choice for server primary IP address. Fixes networking issues on Scaleway and Amazon EC2 servers
    • Added: Routine to setup kernel (loading of kernel parameters from imscp.conf sysctl configuration file)
    • Fixed: Don't check for source archive when binary archive has not been found for a specific section (APT repositories)
    • Fixed: Usage of ZG-POLICY-RC.D(8) to provide local policy-rc.d and avoid violation of Debian policy (Debian/Ubuntu)
    • Fixed: SQL server must be restarted prior cron, ftp, http, mail and panel services
    • Removed: `beforeInstallPreRequiredPackages' event (Event cannot be triggered before installation of pre-required packages)


    • Fixed: Cron tasks are added too early (AWStats, Chkrootkit, Rkhunter)
    • Fixed: Don't instantiate packages when not really needed
    • Fixed: RainLoop entries are not removed from database when a mail account is deleted (RainLoop)
    • Updated: PhpMyAdmin package installer for use of PhpMyAdmin 4.7.0
    • Updated: RainLoop package installer for use of RainLoop


    • Added: iMSCP::Plugins::getClass() method for easy plugin loading and class retrieval (backend)
    • Changed: Plugin errors, outside those raised by the Modules::Plugins, are no longer returned to the caller (backend)
    • Fixed: Avoid to instantiate plugins twice when an action involve a sub-action (backend Modules::Plugin)
    • Fixed: Plugin API version not available in plugin package instances (backend)
    • Fixed: Wrong default value for the `plugin_lockers' database field
    • Fixed: Wrong status set for un-installable plugins after their uninstallation (`uninstalled' while `disabled' is expected)
    • Removed: PLUGIN_API_VERSION constant from iMSCP_Plugin_Manager class (replaced by master `PluginApi' configuration parameter)
    • Updated: API version to 1.4.1


    • Fixed: Don't automatically mount file systems that have the `noauto' option (imscp-mountall)
    • Rewritten: imscp-backup-all backup script
    • Rewritten: imscp-dsk-quota quota script
    • Rewritten: imscp-vrl-traff traffic accounting script


    • Added: Explicite IMAP/POP3 log format (Dovecot)
    • Added: In/Out bytes variables in POP3 logs for better traffic accounting (Dovecot)
    • Changed: Directory for master zone files moved from /var/cache/bind to /var/cache/bind/imscp/master (Bind9)
    • Changed: Directory for slave zone files moved from /var/cache/bind/slave to /var/cache/bind/imscp/slave (Bind9)
    • Changed: Make use of relative paths for zone files instead of absolute paths in named.conf.local file (Bind9)
    • Changed: Zone files are now dumped in binary format for rapid loading by named (Bind9)
    • Fixed: Argument "" isn't numeric in addition (+)... in getTraffic() method of all servers implementing it
    • Fixed: Don't instantiate servers when that is not necessary
    • Fixed: Don't POSTMAP(1) when not necessary (Postfix)
    • Fixed: Error: quota: Unknown namespace: Trash (Dovecot/IMAP)
    • Fixed: Maildir not removed when turning normal mail account into forward only mail account (Postfix)
    • Fixed: Make use of pristine suexec for better performances (Apache2/Suexec)
    • Fixed: Recipient address rejected: User unknown in local recipient table (Postfix)
    • Fixed: Skip write operation in Servers::Postfix::deleteMapEntry() when not necessary (Postfix)
    • Fixed: Unwanted directory listings (Apache2 - Regression fix)
    • Fixed: warning: do not list domain xxxxxx in BOTH `mydestination' and `virtual_mailbox_domains' (Postfix)
    • Fixed: Wrong POP3 traffic accounting (Dovecot)
    • Removed: Backup and working directories (Cron)
    • Removed: `beforeHttpdAddIps' and `afterHttpdAddIps' events (Httpd server impl.)
    • Removed: Useless addIps() routine; The `NameVirtualHost' directive is no longer needed with Apache 2.4 (Httpd server impl.)
    • Rewritten: getTraffic() routine for all servers that implement it


    • Fixed: Set swapiness to lower value (10) than default (60) for better memory management


    • Updated: maillogconvert.pl script to version 1.2 (revision 20140126)


    • IP-1698 Restoring a backup causes domain status "unexpected error"
    • IP-1715 Changing directory in protected area results in obsolete .htaccess file in old directory
    • IP-1716 PHP editor - Caret is jumping to the end of the input field each time validation is triggered
    • IP-1717 Wrong GPG key for MariaDB repository (Ubuntu 16.04)
    • IP-1721 Couldn't backup databases named with slashes


    • New features or minor changes/bugfixes
    • Changes that can affect 3rd-party components (plugins, listener files...)
    • Major changes or important bugfixes


    You can download this new version at:

    Thank you for choosing i-MSCP.


  • People that use Ubuntu 16.04 and MariaDB SQL server must also read: Ubuntu Xenial 16.04 - Cannot upgrade to i-MSCP version 1.4.4 when using MariaDB