Search K
Appearance
Appearance
Released: 2026-06-01
This release of DirectAdmin starts supporting the latest Ubuntu 26.04 LTS systems.
The Exim configuration is updated to use a more secure email delivery mode for outgoing emails. When outgoing email is being routed, Exim will check the MX records for the destination domain even if this domain is configured as local on the server. If MX records point back to the server, the local mail delivery will be performed. If MX records point to an external server, then email will be delivered over SMTP.
Key benefits of this change:
gmail.com or proton.me as his own domain, he will not be able to hijack outgoing emails for these domains that are being sent by other users on the same server.This new feature is controlled with the FORCED_MX_DNS_CHECK macro. It is enabled by default but can be disabled by setting this macro to the value no.
Examples:
# Disable strict MX checking (insecure):
sed -i '/^FORCED_MX_DNS_CHECK /d' /etc/exim.variables.conf.custom
echo 'FORCED_MX_DNS_CHECK = no' >> /etc/exim.variables.conf.custom
da build exim_conf
# Restore strict MX checking
sed -i '/^FORCED_MX_DNS_CHECK /d' /etc/exim.variables.conf.custom
da build exim_confdirectadmin.conf fields new The following new fields have been added to directadmin.conf:
acme_disable_after_failures - Controls how many times to retry TLS certificate issuance/renewal before disabling it. Zero value means retry indefinitely. Deprecates
letsencrypt_disable_renew_after_renew_failure&letsencrypt_renewal_failure_notice_after_attempt
notify_admins_on_user_acme_failures - Notify the admins when user's TLS certificate fails to issue or renew. Deprecates
letsencrypt_renewal_notice_to_admins
notify_reseller_on_user_acme_failures - Notify the reseller when user's TLS certificate fails to issue or renew. Deprecates
letsencrypt_renewal_notice_to_admins
The System Info & Files -> Resource usage page on the user level is replaced with a new page that shows historical resource usage information.
The same resource usage information is also available for the administrator and reseller access levels in the My Users -> {username} -> Resource usage.
Resource usage data is collected every minute. It is stored for up to 30 days.

Search results now return domain pointers.
The SSL Certificates page now includes a dedicated certificate management section. Users can view all installed certificates with their status, DNS names, and expiry dates. Certificates can be viewed, downloaded, replaced, or deleted individually.

2.9.8 to 2.10.04.99.3 to 4.99.410.11.17 to 10.11.1810.6.26 to 10.6.2711.4.11 to 11.4.1211.8.7 to 11.8.812.3.1 to 12.3.28.6.3 to 8.8.0Starting with DirectAdmin version 1.702, the Exim mail server configuration is updated to count all emails (including emails delivered locally) into the email send limit.
This release adds a new Exim configuration macro SEND_LIMIT_COUNT_RECIPIENTS, that allows selecting which recipients are counted in the email send limit and which are not. This option allows restoring the old Exim behaviour of not counting emails that will be delivered to the same server.
Default macro definition is SEND_LIMIT_COUNT_RECIPIENTS = $recipients_list. This means all recipients must be counted. Examples for different behaviour:
# Do not count emails where sender and recipient address is from the same
# domain:
sed -i '/^SEND_LIMIT_COUNT_RECIPIENTS /d' /etc/exim.variables.conf.custom
echo 'SEND_LIMIT_COUNT_RECIPIENTS = ${filter{$recipients_list}{ !eq{${domain:$item}}{$sender_address_domain} }}' >> /etc/exim.variables.conf.custom
da build exim_conf
# Backwards compatibility mode, do not count mails that will be delivered
# locally:
sed -i '/^SEND_LIMIT_COUNT_RECIPIENTS /d' /etc/exim.variables.conf.custom
echo 'SEND_LIMIT_COUNT_RECIPIENTS = ${filter{$recipients_list}{ !match_domain{${domain:$item}}{+local_domains} }}' >> /etc/exim.variables.conf.custom
da build exim_confPreviously, errors were shown as toast notifications which disappeared after a few seconds. After this update, errors will be shown within the page until user dismisses the error.
After a successful migration, users will be redirected to IMAPSync migrations page without a success toast notification.
The "Start migration" button within IMAPSync import and export pages now gets disabled and shows a spinner when a request is already a progress.
Resource usage page were refactored to use updated api, improve user experience for viewing historical data for CPU, memory, tasks & disk usage.
A new "Resource usage" sub-page has been added to user info.
Impersonating yourself and user you're already impersonating no longer allowed.
The Admin SSL Settings dialog now includes a refreshed layout, updated and grouped options.
Changes include:
admin_ssl_replace_all_expired_invalid in directadmin.conf update Drop value 2 for admin_ssl_replace_all_expired_invalid as it is unused.
It may be either enabled or disabled.
Within the "API Documentation" page, when trying out a POST/PATCH/PUT API request, the text inside apparent textarea was indistinguishable from the background.
When editing a route in Nginx Unit, clicking "Save" now automatically closes the dialog.
Fixed the following problems with validation in IMAPSync import and export pages:
When editing a system file, saving with root password confirmation no longer resets your changes. Changes are now saved immediately after successful root password confirmation.
Response for GET /api/search/resources now supports unicode characters.
FTP management page was updated to display unicode characters within table's "account" column.
HTML is no longer shown in plugin manager error output and characters such as quotation marks now appear as they should rather than appear as "
The "Custom Error Pages" page (found in user level, under the "Advanced Features" category) was removed.
/docs/swagger.json redirect to /static/swagger.json was removed.
The CMD_MOVE_USERS endpoint no longer uses the move_user_to_reseller.sh and custom/move_user_to_reseller.sh scripts.
Any custom user transfer logic in custom/move_user_to_reseller.sh will need to be moved to move_user_to_reseller_(pre|post) hooks.
The "move_user_to_reseller.sh" script has been updated to use the "POST /api/change-user-creator" endpoint.
directadmin.conf fields removal The following fields have been removed from directadmin.conf:
letsencrypt_disable_renew_after_renew_failure - superseded by acme_disable_after_failuresletsencrypt_renewal_failure_notice_after_attempt - superseded by acme_disable_after_failuresletsencrypt_renewal_notice_to_admins - superseded by notify_admins_on_user_acme_failures & notify_reseller_on_user_acme_failures