Version 1.650

Released: 2023-05-31

Dark mode background image for login page evolution new

It is now possible to customize login page background image for light and dark mode separately.

Instead of using color overlay Evolution uses separate images for light and dark modes. This should make customizing login page easier.

Login page images

CustomBuild reports system package upgrades custombuild new

In the available software updates list CustomBuild will start showing if system package updates are available.

A new command for upgrading system packages is introduced:

da build update_system

Layout Options

Note: Updating all software components with command ./build update_versions or da build update_versions will not upgrade system packages to stay compatible with the old CustomBuild behaviour. This also means clicking Update All button in GUI will update all components except system packages, which needs to be perfomed by clicking Update button for this specific action.

DirectAdmin missing license mode new

DirectAdmin used to fail to startup if license file was missing or was malformed in any way on the system. This change allows DirectAdmin to successfully startup with a missing license in a missing license mode, where explicit license error is shown to the end user with instructions on how to change the license for system administrators.

Missing license key error

Old licenses format migration new

On startup, if DirectAdmin detects a license file using old format, license file gets migrated to the recent license format.

Maintenance task for migrating old Evolution customizations to new format new

Older Evolution versions used to store all customizations in a single config.json file. Starting DirectAdmin 1.640 Evolutions would split out customizations into multiple JSON files.

Migration from a single file to multiple files are performed automatically when Admin or Reseller user signs in into evolution.

However if Admin or Reseller accounts with legacy customizations are never used they might still have customizations in old format.

Starting this release Evolution will not perform automatic conversion on user log-in. Instead there is a new maintenance task that finds all such users on the system and performs conversion for everyone in one go.

One-Time-Login URLs improved

Login URLs are upgraded to be shorter and use API endpoint while retaining same security guarantees.

Login URLs created before this change are still valid but it is a good idea to not have long-living unused Login URLs laying around.

Future updates may require for all Login URLs to be re-created.

CustomBuild updates API returns all software components improved

API endpoint /api/custombuild/updates that returns available software components for update is changed to always return all software components not just components that can be updated.

This makes this API endpoint suitable as a replacement for old CustomBuild command ./build versions_json.

Since the results now include all software components the response object now have extra field available which indicates if this component can be updated or not.

Scheduled backups handling improved

Scheduled backups crontab used to work in an "insert/delete" mode where entries were added to or removed from crontab one by one. This allowed for system admins to add their own entries to diradmin user's crontab but also made scheduled backups handling error prone to updates, leading to possible discrepancies between data/admin/backup_crons.list config file and actual crontab which gets executed.

This change makes diradmin user's crontab fully managed by DirectAdmin, fully regenerating it each time backups schedule gets edited.

While this change disables possibility for system admins to add their own entries to diradmin user's crontab, this change brings much better guarantees of seamless DirectAdmin work.

# crontab -lu diradmin
# Auto generated by DirectAdmin v1.650.
# Any changes made here will be overwritten.
0 3 1 * * umask 0077; echo "action=backup&id=1" >> '/usr/local/directadmin/data/task.queue.da'
0 4 1 * * umask 0077; echo "action=backup&id=2" >> '/usr/local/directadmin/data/task.queue.da'

Git feature errors improved

Git API is updated to report all git command related errors to the user instead of logging them only for admins to see.

This change should clear out the guess work why some git actions might have failed.

Maintenance tasks' details improved

Maintenance tasks got updated to use a more unified and user friendly formatting across currently existing tasks.

Maintenance tasks' details

Removing menu entries in Evolution due to backwards compatibility was not supported. We improved the menu customization components to support deletion of entries and categories. Now, instead of controlling the appearance of entries with Enabled property, users could delete categories / entries completely and restore them later if needed.

Network error banner evolution improved

Improved the design of network error state. Instead of covering application with an overlay it would show nice bottom banner with info and block interaction with app while DirectAdmin service is unreachable.

Also, network error state now would be triggered not only by failed requests, but by system level offline network connection state as well.

Offline Mode

Backend reload banner evolution improved

Improved the way Evolution handles backend reload. Instead of failing into network error state due to failed requests it would wait for server to be back online with proper message to the user.

Version 1.649 completely removed the switch between private_html symlink mode and separate directory mode. This caused inconvenience for user wanting to migrate to the symlink mode.

In this version same option is introduced but only available for domains which are still using the private_html directory mode. And allows only migrating to symlink mode. It is not possible to migrate back.

Setup private_html

Note: Migration to symlink mode completely removes all the files in the private_html directory!

CustomBuild logs shows executed command arguments evolution improved

Checking CustomBuild logs in Evolution skin now shows what command was executed.

CustomBuild Logs

Updated modsecurity3 install script custombuild improved

Install script for installing modsecurity3 (with NGINX) is updated:

  • It ensures modsecurity will have support for libgeoip or libmaxminddb.
  • Caches modsecurity sources to make reinstalls faster.
  • Downloads modsecurity directly from github, rather than CustomBuild mirror servers.

Without this change on systems without libgeoip or libmaxminddb using default CWAF modsecurity rules might lead to nginx start failure:

nginx: [emerg] "modsecurity_rules_file" directive Rules error. File: /etc/modsecurity.d/REQUEST-910-IP-REPUTATION.conf. Line: 77. Column: 22. This version of ModSecurity was not compiled with GeoIP or MaxMind support.  in /etc/nginx/nginx-modsecurity-enable.conf:2

Software version updates custombuild improved

  • MariaDB 10.4 updated from 10.4.28 to 10.4.29
  • MariaDB 10.5 updated from 10.5.19 to 10.5.20
  • MariaDB 10.6 updated from 10.6.12 to 10.6.13
  • MariaDB 10.3 updated from 10.3.38 to 10.3.39
  • modsecurity3 updated from 3.0.8 to 3.0.9

Jailshell environment in PHP fastcgi mode custombuild fixed

PHP in FastCGI mode had a separate script that takes care to create a jailed user environment when jailshell script is being used.

Over-time jailed environment for PHP and jailed user login shell have diverged. With this release jailed users will use same jailshell script that is used for jailed users login shell environment. It also ensures any further changes to jailshell script will be automatically applied to PHP in fastcgi mode.

This change also fixes email sending from PHP fastcgi mode for RHEL 9 systems.

Update notification for ionCube PHP extension custombuild fixed

Using default PHP version which does not support ionCube extension would always incorrectly show that ionCube update is available.

In this release PHP extension ionCube install script was updated to work with each supported PHP version separately. When ionCube update is available it will be shown as separate updates for each PHP version.

Silent backup failures when user home directory has too many files fixed

Creating a backup for user account which has too many files in the home dir would create a backup without user files and would not report any errors.

Issue is fixed and backup operation will terminate if backup must include user home directory files, but there was error creating files archive.

Feature set email_only gets access to vacation message fixed

The built-in feature set email_only gets access to the vacation message management page. In previous versions versions access to vacation message management would not be allowed.

Bind service restart on Debian 10 systems fixed

Restarting bind service on Debian 10 systems (where main service file has name bind9.service) via GUI used to fail while restarting via dataksq used to work fine. This release fixes the issue for service restarts using GUI.

The problem and fix affects only Debian 10 systems (or systems where named_service_override config option was used).

Login keys not sending messages fixed

In the new Login keys management API, creation and update actions did not account for login_keys_notify_on_creation in directadmin.conf, and system messages were not being sent.

New Login keys API is fixed to send system messages according to this value.

User level login history order fixed

Depending on the login method, user level login history would get appended to the top or the bottom of the list, leading to inconsistent log.

Issue is fixed so login history is always appended and trimmed correctly based on login time.

Modsecurity comments fixed

Current method of DirectAdmin saving comments ƒor modsecurity rules didn't work well with all versions and all web servers.

Issue is fixed by changing comment location from being on the same line to being one line above the rule.


SecRuleRemoveById 942100 # comment


# comment
SecRuleRemoveById 942100

Auto-patch CSF bug that leads to licensing errors on server reboot fixed

Full server reboot on systems with functional IPv6 stack could lead to licensing error on start. This issue is caused by CSF freezing already opened IPv6 connections at the time CSF starts.

DirectAdmin service restart fixes the issue since all connections opened after CSF is fully loaded works fine.

This issue does not affect IPv4 connections. With this release DA installer and updater will auto-patch CSF to work correctly with IPv6 as well (same as IPv4).

More details about the issue available on the CSF forumsopen in new window.

Fixed page buttons layout in mobile view evolution fixed

Page action buttons in mobile mode was arranged horizontally and was cutted by the viewport. The fix changes the way page links and buttons shown to match the viewport and always being shown correctly.

RTL Design fixes evolution fixed

Fixed various style issues in Refreshed layout: in right to left languges some elements were incorrectly placed.

Refresh timer dropdown evolution fixed

Fixed refresh timer dropdown in tables; in case another dropdown was open when refresh timer dropdown was active, first dropdown was never removed from dom.

Options default_private_html_link is removed, starting this release private_html will always be created as symlink to public_html.

Last Updated: