Version 1.673
Released: 2025-01-??
new
Added max_file_uploads option in php settings listAdded option to set the maximum number of files allowed to be uploaded simultaneously in PHP.
evolution new
Different theme colors for different access levelsEvolution skin now supports using different theme colors for different access levels (normal user or admin/reseller). This provides additional visual hints when access level is changed.
In the color customization section, each layout could have a custom color for admin or reseller level.
An example of how it looks in the Icons Grid layout, configured to use red color for the admin access level and default blue for the user access level:
This feature can be useful for users who used the no longer supported Hybrid layout just to get visual hints on access level change.
new
Installer flag to skip trying to acquire automatic TLS certificateThe installer script has a new flag DA_SKIP_AUTO_TLS_CERT
. If this environment variable is set to non-empty value, the installer script setup.sh
will not try to automatically get a TLS certificate for the server host name as part of the install procedure.
evolution improved
Layout header update, unified domain selectorThe header part of all layouts received an update. Key changes:
- The language selector in classic layouts (Standard, Sidebar, and Icons Grid) is moved from the bottom of the page to the header.
- In the Sidebar layout, breadcrumbs are added to all the pages. Breadcrumbs are links above the page header showing the page location and parent pages.
- The domain selector in classic layouts is placed in the same place as in the Refreshed layout, in the same line as page breadcrumbs.
Standard layout:
Sidebar layout:
Icons Grid layout:
Refreshed layout:
evolution improved
Easier color copying in Color Customization pageThe Evolution skin color customization page uses new color input elements. New input elements make it easier to copy and paste color codes without opening the browser color picker. The color picker can be opened by clicking on the color button.
evolution improved
The Refreshed theme shows unread messages numberThe Refreshed layout will show the number of unread messages under the link to the messages page.
evolution improved
Simpler language selector in Refreshed layoutThe language selector in the Refreshed layout no longer needs extra action after a language change to show the menu again.
In the previous releases, the language selector used the menu area to show the language list. This required an extra action after the language was changed to bring back menu in the sidebar area.
In this release, the language selector is closed immediately after a new language is selected.
evolution improved
Updated E-mail Accounts pageThe look of the "E-mail Accounts" page (located under user level -> E-mail Manager) has been updated. The functionality is the same as before but the page itself should now be faster as a whole.
evolution improved
Updated IP management details tabThe details tab (found in admin level -> Server Manager -> IP Management -> click any IP address within table) has been visually updated.
evolution improved
Updated Redis pageRedis page (found in user level -> Advanced Features -> Redis) has been visually updated.
improved
Faster phpMyAdmin SSO accessAction to create a temporary database user account (it is used in phpMyAdmin SSO implementation) is optimized to work faster for users with a high number of databases.
custombuild improved
Clean-up old MySQL and MariaDB installationsThe CustomBuild script is updated to automatically remove old (no longer used) installations of MySQL or MariaDB on the Debian and RHEL 9 systems.
custombuild improved
Disable PHP OPcache API access by defaultThe default PHP OPcache configuration (in custombuild/configure/opcache/opcache.ini
) is updated to prevent PHP scripts from using OPcache API functions.
OPcache API is not normally used by the applications. It is desirable to restrict this API access to prevent access to opcache_get_status()
, which can leak the filenames of cached PHP scripts on the system.
custombuild improved
Updated ModSecurity v2 install scriptThe CustomBuild script to install or upgrade ModSecurity v2 (used with the Apache web server) is updated. Notable changes:
- Sources will be downloaded directly from GitHub.
- Source packages will be cached and reused between builds.
custombuild improved
Software version changesapache2.4
updated from2.4.62
to2.4.63
composer
updated from2.8.3
to2.8.5
dovecot-fts-xapian
updated from1.8
to1.8.6
imagemagick
updated from7.1.1-41
to7.1.1-43
litespeed
updated from6.3.1-6
to6.3.1-8
modsecurity_owasp_rules
updated from4.9.0
to4.10.0
modsecurity
updated from2.9.7
to2.9.8
MySQL 8.0
updated from8.0.40
to8.0.41
MySQL 8.4
updated from8.4.3
to8.4.4
openlitespeed
updated from1.8.2
to1.8.2.1
PHP 8.2
updated from8.2.26
to8.2.27
PHP 8.3
updated from8.3.14
to8.3.16
PHP 8.4
updated from8.4.1
to8.4.3
phpmyadmin
updated from5.2.1
to5.2.2
proftpd
updated from1.3.8b
to1.3.8c
unit
updated from1.33.0
to1.34.1
modsecurity3_apache
removed
fixed
Calls to dnssec-signdomain are now single threadedThe tool dnssec-signzone
by default uses a threads count depending on the amount of cpu on the server.
This was an issue with systems that have unusually high cpu count (>100).
During our tests:
- The more threads were used - the slower the signing was observed
- Despite having more threads - it never used more than 1 cpu
- Older named versions even had timeout and oom kills
The dnssec-signzone tool is now called using one thread.
fixed
Relaxed user suspension details validationUser suspension details can now contain special characters like newlines and spaces.
session_create_pre.sh
hook fixed
Passing custom hook variables to Custom hook variables in the legacy /CMD_LOGIN
endpoint were not being passed to the session_create_pre.sh
hook. The issue is fixed in this release.
evolution fixed
Proper parent child page structureFixed an issue where when a menu entry was disabled, its child pages were still accessible via the url.
As a result of the change, other less notable changes include:
- there were previously a few pages that had displayed breadcrumbs incorrectly which is now fixed.
- some pages had their url changed to represent the parent child relationship between the current and previous pages
- child pages that had an incorrect parent child relation now show up in the results when searching for that page.
evolution fixed
Allow setting daily send limit for email accounts without a limitUnder certain conditions it was impossible to set the "Daily Send Limit" for a mailbox int the "E-mail accounts" page (located in user level -> E-mail Manager -> E-mail Accounts -> and opening up the "Change Limits" dialog).
evolution fixed
Accessing E-mail Accounts page through searchWhen accessing the E-mail Accounts page via backend search results, the table contents are now narrowed down to a single table item (the one that was displayed in search results). Where as before, the page took a long time to load and displayed all table items.
evolution fixed
File Manager create new folder with Enter keyThe File Manager's "Create Folder" dialog has been refactored. The previous error that prevented creating a new folder by pressing Enter, even when the folder name did not already exist, has now been resolved.
evolution fixed
New Design for File Manager's File Edit ModalThe File Manager's file edit modal has been redesigned. While maintaining the original layout structure, the new design significantly improves responsiveness. This update resolves previous user experience issues encountered when editing files on mobile devices.
evolution fixed
Incorrect required field error for system message optionsThe "E-mail a copy of all messages" text input no longer shows a "Required Field" input error when it shouldn't.
evolution fixed
Missing translations ids in dictionaryThere were a few strings not getting extracted to dictionary, which made it impossible to translate them. This has been fixed.
scripts/base64_encode.php
script removed
Removed The script scripts/base64_encode.php
used to be called to perform base64 encoding when:
- Exporting user or reseller packages.
- Using UTF-8 encoding in email headers (RFC2047).
The internal base64 encoding function is now used instead of calling an external script. This makes the encoding operation faster and avoids problems when PHP is not installed on the system or is installed but non functional.
The script scripts/base64_encode.php
is removed.
directadmin.conf
removed
Removed obsolete configuration options from The following directadmin.conf
options are no longer used:
database_extended_user_privileges
- extended user privileges are always supported.db_grant_escape_db
- the new database management engine auto-detects the correct GRANT statement escape rules.handshake_timeout
andrequest_timeout
- no longer configurable, a 30 second timeout is used.check_task_queue
- no longer needed, periodic tasks are executed by the maindirectadmin
service.passwd
- no longer used,directadmin
service will search forpasswd
tool in the directories listed in thePATH
environment variable.internal_lang
- no longer used, because the legacy translation system is not supported anymore.
custombuild removed
Removed support for installing Netdata serviceCustomBuild no longer supports installing the Netdata service. The motivation for discontinued Netdata support:
- It started as a simple stand-alone metrics dashboard but ended up being a cloud SaaS product.
- It puts heavy strain on the server. There are reports that Netdata causes significant load increase on the server just to collect metrics.
- The installer script is outdated, and the CustomBuild installer no longer works on all supported distros.
Nothing changes for existing Netdata users. This service can still be installed and used manually. The CustomBuild will no longer support installing it.
CMD_JSON_LANG
endpoint removed
Removed The internal API endpoint CMD_JSON_LANG
is removed. This endpoint was designed for the Evolution skin to load translations and over time was extended to include other information.
Evolution is not using this endpoint. The same information can be retrieved from the new API endpoints:
GET /api/skin-legacy-translation
GET /api/session
GET /api/message