Version 1.673

Released: 2025-01-??

Added max_file_uploads option in php settings list new

Added option to set the maximum number of files allowed to be uploaded simultaneously in PHP.

Different theme colors for different access levels evolution new

Evolution 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:

Access level color change

This feature can be useful for users who used the no longer supported Hybrid layout just to get visual hints on access level change.

Installer flag to skip trying to acquire automatic TLS certificate new

The 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.

Layout header update, unified domain selector evolution improved

The 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:

Standard layout header

Sidebar layout:

Sidebar layout header

Icons Grid layout:

Icons Grid layout header

Refreshed layout:

Refreshed layout header

Easier color copying in Color Customization page evolution improved

The 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.

Color Customization Inputs

The Refreshed theme shows unread messages number evolution improved

The Refreshed layout will show the number of unread messages under the link to the messages page.

Refreshed layout messages page link

Simpler language selector in Refreshed layout evolution improved

The 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.

Refreshed layout language selector

Updated E-mail Accounts page evolution improved

The 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.

Updated IP management details tab evolution improved

The details tab (found in admin level -> Server Manager -> IP Management -> click any IP address within table) has been visually updated.

Updated Redis page evolution improved

Redis page (found in user level -> Advanced Features -> Redis) has been visually updated.

Faster phpMyAdmin SSO access improved

Action 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.

Clean-up old MySQL and MariaDB installations custombuild improved

The CustomBuild script is updated to automatically remove old (no longer used) installations of MySQL or MariaDB on the Debian and RHEL 9 systems.

Disable PHP OPcache API access by default custombuild improved

The 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.

Updated ModSecurity v2 install script custombuild improved

The 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.

Software version changes custombuild improved

  • apache2.4 updated from 2.4.62 to 2.4.63
  • composer updated from 2.8.3 to 2.8.5
  • dovecot-fts-xapian updated from 1.8 to 1.8.6
  • imagemagick updated from 7.1.1-41 to 7.1.1-43
  • litespeed updated from 6.3.1-6 to 6.3.1-8
  • modsecurity_owasp_rules updated from 4.9.0 to 4.10.0
  • modsecurity updated from 2.9.7 to 2.9.8
  • MySQL 8.0 updated from 8.0.40 to 8.0.41
  • MySQL 8.4 updated from 8.4.3 to 8.4.4
  • openlitespeed updated from 1.8.2 to 1.8.2.1
  • PHP 8.2 updated from 8.2.26 to 8.2.27
  • PHP 8.3 updated from 8.3.14 to 8.3.16
  • PHP 8.4 updated from 8.4.1 to 8.4.3
  • phpmyadmin updated from 5.2.1 to 5.2.2
  • proftpd updated from 1.3.8b to 1.3.8c
  • unit updated from 1.33.0 to 1.34.1
  • modsecurity3_apache removed

Calls to dnssec-signdomain are now single threaded fixed

The 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.

Relaxed user suspension details validation fixed

User suspension details can now contain special characters like newlines and spaces.

Passing custom hook variables to session_create_pre.sh hook fixed

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.

Proper parent child page structure evolution fixed

Fixed 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.

Allow setting daily send limit for email accounts without a limit evolution fixed

Under 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).

When 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.

File Manager create new folder with Enter key evolution fixed

The 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.

New Design for File Manager's File Edit Modal evolution fixed

The 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.

Incorrect required field error for system message options evolution fixed

The "E-mail a copy of all messages" text input no longer shows a "Required Field" input error when it shouldn't.

Missing translations ids in dictionary evolution fixed

There were a few strings not getting extracted to dictionary, which made it impossible to translate them. This has been fixed.

Removed scripts/base64_encode.php script removed

The script scripts/base64_encode.php used to be called to perform base64 encoding when:

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.

Removed obsolete configuration options from directadmin.conf removed

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 and request_timeout - no longer configurable, a 30 second timeout is used.
  • check_task_queue - no longer needed, periodic tasks are executed by the main directadmin service.
  • passwd - no longer used, directadmin service will search for passwd tool in the directories listed in the PATH environment variable.
  • internal_lang - no longer used, because the legacy translation system is not supported anymore.

Removed support for installing Netdata service custombuild removed

CustomBuild 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.

Removed CMD_JSON_LANG endpoint 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
Last Updated: