Version 1.655

Released: 2023-10-24

User Profile page evolution new

The password change page has been replaced with the user profile page. The new page allows you to change your password and view/manage active sessions.

New session management section shows a list of active sessions, has an option to destroy a single session, or destroy all sessions except currently used session.

User Profile Page

Maintenance task to cleanup nonfunctional databases privileges new

A new maintenance task is available which detects databases privileges for database users that no longer exist. Such privileges are nonfunctional due to database user not existing and are safe to be removed.

Installer no longer disables AppArmor profiles improved

On Debian systems DirectAdmin installer used to disable all installed AppArmor profiles. It is no longer needed and installer will not be disabling AppArmor profiles.

Email subject encoding in auto-reply messages improved

Exim configuration is updated to keep original RFC2047 encoded words in email subject line when responding with auto-responded or vacation message.

This will more reliably preserve original subject for email clients not fully supporting RFC6532.

Software version changes custombuild improved

  • composer updated from 2.6.4 to 2.6.5
  • redis updated from 7.2.1 to 7.2.2
  • apache2.4 updated from 2.4.57 to 2.4.58
  • imagemagick updated from 7.1.1-19 to 7.1.1-20
  • unit updated from 1.31.0 to 1.31.1
  • roundcubemail updated from 1.6.3 to 1.6.4
  • exim updated from 4.96.1-7-g79877b70e to 4.96.2-12-g29d01ae2a

Install script for rspamd custombuild improved


  • Support ARM architecture when installing on Debian systems.
  • Keep original logrotate script that comes from official packages.

Install script for exim custombuild improved


  • Default exim Makefile (compile configuration) is updated to minimize the amount of changes to configuration by CustomBuild script.
  • Exim sources will be compiled in temporary directory.
  • Downloaded exim sources will be cached locally and reused when rebuilding same exim version.
  • Debian system on ARM architecture will get da-exim dummy package, it used to work only on x86 systems.
  • Exim will be built with iconv() support and will use UTF-8 as default charset.

Back button in Refreshed layout evolution improved

The refreshed layout was lacking the 'Back' action. Now, the refreshed layout works just like other layouts and has a button that can be used to navigate to the previous page.

Back btn

Toggle password visibility on disabled input evolution improved

If the password field was disabled, the user was unable to trigger the show/hide password action. This has been changed so that if the field is disabled, any input is forbidden, but the visibility of the password can be toggled.

Customize Widgets

API Documentation dark mode evolution improved

API Documentation Page (User level Support & Help > Live API Documentation) styling is improved to have better contrast in dark mode.

API Docs

Error Messages evolution improved

More accurate error messages are added to the following pages:

  • E-Mail Summary
  • Licensing
  • Updates
  • E-Mail Tracking
  • Vacation Messages
  • Login History
  • Login Keys
  • WordPress Manager

These pages will now recognize more error types and show appropriate messages for them.

Date range picker for vacation messages evolution improved

Start and end date inputs on pages "Create Vacation Message" and "Modify Vacation Message" are replaced with a single date range picker.

This will make it easier to enter desired date range.

Date Range Picker

Backup restoration files select evolution improved

Using "Select All" button in the backup restore page used to select disabled entries as well. Now "Select All" button will skip disabled entries.

Button "Select All" will be disabled if there are no entries to select.

Failed login hook error evolution improved

Previously, when a login attempt failed because or exited with a non-zero exit code, there was no indication given on the login page about the reason for the failure.

Now users will see an error message explaining why log-in operation failed.

Subdomain Management Page reload evolution improved

Page "Subdomain Management" will automatically reload the subdomains table after adding or removing subdomain.

Reset Suspension Message evolution improved

Resetting the suspension message will now reload the message and subject inputs to their default values.

Backups Restore Page evolution improved

Previously, only the user level backup restoration page displayed a message indicating that there were no backups to be restored. With this change, the reseller and admin level backup pages will display a "No backups available" message on the last step of the restoration process. They also include a button that redirects to the appropriate backup creation page.

No Backups Message

In file selection, it is now possible to filter out dangerous/safe files.

File filter

Empty translation strings breaks GUI evolution fixed

Empty Evolution translations can cause whole GUI to stop working. This problem appeared in version 1.654 because of translations library upgrade.

Normally translation files does not contain empty strings, but it is easy to add them when using custom translation files.

This release updates the new translation library to ignore empty translation messages.

Selected domain exposed to plugins and plugin widgets evolution fixed

When using Evolution skin plugins and plugin widgets will get accurate currently selected domain with SESSION_SELECTED_DOMAIN environment variable.

This variable was working correctly in legacy skins like Enhanced, but was empty when using Evolution skin.

Automatic DNS record value expansion for @ directive fixed

Starting version 1.652 DNS zone values are automatically expanded to full form.

This release add support for records that use @ directive in the value field.

In earlier versions records with @ value would get expanded to instead of

Infinite reload loop when using login-as after password change fixed

Changing password and using login-as feature could lead to infinite reload loop.

This issue was partially fixed in 1.653 but the problem could still be triggered when used in combination with login-as feature. This is no longer the case in this release.

Allow changing spamassassin config if it is not running fixed

Spamassassin configuration was only allowed to be changed if spamassassin is detected to be running. This is changed so it is no longer required for it to be running in order to change its configuration. But it is required to have it enabled in CustomBuild.

# /usr/local/directadmin/custombuild/options.conf
spamd=rspamd # has to be not `no` for configuration page to be active

Prevent editing own feature set evolution fixed

Resellers were able to change their own feature sets, which allowed them to effectively downgrade themselves to user-only features, with no way to revert the changes. Feature sets configuration is no longer displayed when a reseller is editing his own user account.

Widget customization levels evolution fixed

Evolution skin customization, widgets section is simplified. When accessed by a reseller it will only allow customizing user level widgets.

Forwarder filter cancellation evolution fixed

Close button in email forwarders page is fixed.

File Manager styling evolution fixed

Recent migration to Vue3 introduced a set of minor styling issues across the app: font colors, backgrounds, and tooltip styling for light/dark mode. These issues have been resolved.

Plugin Allow/Deny filter input evolution fixed

Fixed UI glitch in the "Create User Package" page. Section "Plugins Allow/Deny" had visibility problems depending on the browser window size.

Trash icon in File Manager evolution fixed

Added missing trash icon in File Manager.

Root Authentication Modal in File Editor evolution fixed

Fixed "Close" button on prompt asking for root password in the "File Editor" page.

DNS Records table

Previously, the loading of DNS records for selected pointers wasn't working properly, causing some issues that displayed incorrect results for the DNS records. This issue has been fixed. Now, after selecting the pointer on the DNS management page, the results will be shown corresponding to the selected pointer.

Legacy MX records format removed

Starting this version directadmin.conf option full_mx_records is removed and assumed to always be true. This option was used to enable legacy MX records mode where MX record value was reported as record key when returning zone data to GUI or via API.

New mode (which is a default for the last 10 years) returns MX records value as all other types of DNS records.

This change also makes DNS management API requests to ignore full_mx_records query parameter. This parameter would allow toggling between modes without changing configured value in directadmin.conf.

Breaking changes:

  • Hook used to receive MX records in old format in MX environment variable and new format MX records in MX_FULL environment variable. In this version both environment variables MX and MX_FULL will be in the new (full) format. Users of this hook and old MX variable are should check if they are compatible with new format. Scripts using MX_FULL variable can be updated to use MX variable instead.
  • Template file for DNS records templates/dns_mx.conf is updated to have MX records in new format. Old template was mail=10, new template is |DOMAIN|.=10 mail. Anyone using custom templates (file templates/custom/dns_mx.conf) needs to update the customized template to use new MX records format.
Last Updated: