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.

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 update
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 update
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 update
composerupdated from2.6.4to2.6.5redisupdated from7.2.1to7.2.2apache2.4updated from2.4.57to2.4.58imagemagickupdated from7.1.1-19to7.1.1-20unitupdated from1.31.0to1.31.1roundcubemailupdated from1.6.3to1.6.4eximupdated from4.96.1-7-g79877b70eto4.96.2-12-g29d01ae2a
Install script for rspamd custombuild update
Changes:
- Support ARM architecture when installing on Debian systems.
- Keep original logrotate script that comes from official packages.
Install script for exim custombuild update
Changes:
- 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-eximdummy package, it used to work only on x86 systems. - Exim will be built with
iconv()support and will useUTF-8as default charset.
Back button in Refreshed layout evolution update
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.

Toggle password visibility on disabled input evolution update
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.

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

Error Messages evolution update
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 update
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.

Backup restoration files select evolution update
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 update
Previously, when a login attempt failed because session_create_pre.sh or login_pre.sh 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 update
Page "Subdomain Management" will automatically reload the subdomains table after adding or removing subdomain.
Reset Suspension Message evolution update
Resetting the suspension message will now reload the message and subject inputs to their default values.
Backups Restore Page evolution update
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.

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

Empty translation strings breaks GUI evolution fix
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 fix
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 fix
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 @.example.com. instead of example.com..
Infinite reload loop when using login-as after password change fix
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 fix
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 fix
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 fix
Evolution skin customization, widgets section is simplified. When accessed by a reseller it will only allow customizing user level widgets.
Forwarder filter cancellation evolution fix
Close button in email forwarders page is fixed.
File Manager styling evolution fix
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 fix
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 fix
Added missing trash icon in File Manager.
Root Authentication Modal in File Editor evolution fix
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 removal
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
dns_write_post.shused to receive MX records in old format inMXenvironment variable and new format MX records inMX_FULLenvironment variable. In this version both environment variablesMXandMX_FULLwill be in the new (full) format. Users of this hook and oldMXvariable are should check if they are compatible with new format. Scripts usingMX_FULLvariable can be updated to useMXvariable instead. - Template file for DNS records
templates/dns_mx.confis updated to have MX records in new format. Old template wasmail=10, new template is|DOMAIN|.=10 mail. Anyone using custom templates (filetemplates/custom/dns_mx.conf) needs to update the customized template to use new MX records format.