Version 1.654
Released: 2023-10-??
evolution new
GUI framework upgrade from vue.js 2 to vue.js 3With this release Evolution skin is finally upgraded to use lastest vue.js version 3 framework.
Previous versions used vue.js 2 which is bound to become EOL at the end of 2023. Upgrade to the next major vue.js version means it will continue receiving updates and improvements.
This upgrade required a lot of internal Evolution skin changes and even changing or updating other 3rd party libraries. This also helped us find and fix some long standing bugs.
In the end Evolution is now faster, more robust and easier to add new or improve existing features.
evolution new
Fixed Light/Dark mode global optionNew global customization option were added in the login page customization section (Admin level Admin Tools > Customize Evolution Skin > Login Page > Styles) which allows to disable Evolution Light/Dark mode selector.
There are thee possible value for this option:
- User selected - Dark/Light mode selector is visible and user can pick which ever mode he prefers (default option).
- Light - Evolution always loads in light mode, the Dark/Light mode selector is not visible for the users.
- Dark - Evolution always loads in dark mode, the Dark/Light mode selector is not visible for the users.
This option affects both login page and rest of the application after login.
custombuild improved
Software version changesPHP 8.1
updated from8.1.23
to8.1.24
PHP 8.2
updated from8.2.10
to8.2.11
snuffleupagus
updated from0.9.0
to0.10.0
imagemagick
updated from7.1.1-15
to7.1.1-18
composer
updated from2.6.3
to2.6.4
Note: IMAP library for PHP extension was renamed from imap
to wu-imap
in the versions.txt
.
improved
cpanel_to_da: Use pigz for the compressionCpanel import tool used only a single threaded gzip for a backup compression during the conversion phase. This change adds pigz support to the compression part to utilise multiple threads and speed up the import.
improved
User deletion: users.list race conditionFor very large user.list files, deletion of a User could result in a race condition if other process try to add a User near the same time causing missing data.
- Improved the re-read efficiency greatly so the process is exponentionally faster.
- Should any re-read issues occur, push a
task.queue
call to rebuild all lists from scratch. - Suppress the
users.list has been written to after this process read it. Not going to overwrite it.
warnings.
id
field in plugin.conf
improved
Plugins no longer need to specify Plugin configuration file plugin.conf
used to have mandatory field id
with the plugin name. Starting this release this field is ignored (and can be omitted from plugin.conf
file). Plugin ID will always be the name of plugin directory inside the /usr/local/directadmin/plugins
.
custombuild improved
More resilient PowerTools repo name detection on RHEL systemsBuilding 3rd party software requires some packages from the PowerTools repository, which is not enabled on RHEL based systems by default.
This repository has different names depending on linux distribution (for example powertools
, PowerTools
, cloudlinux-PowerTools
, ...) so CB performs automatic repo name detection by searching the contents of /etc/yum.repos.d
directory.
Previous version used to check all the files, however there could be some stray files that are not actually used by yum
and mislead the automatic repo name detector.
New version only considers files that has *.repo
suffix making sure we ignore any other files in the directory.
custombuild improved
CustomBuild cron updates syncs with DirectAdmin auto-updatesCustomBuild can enable automatic software upgrades using cron=yes
and updates=yes
in custombuild/options.conf
file.
Because DirectAdmin updates are reported by CustomBuild periodic cron updates was updating DirectAdmin as well. Hoever update to DirectAdmin can cause new CustomBuild software components to be available for updates again. This created a circular updates dependency. Furthermore this bypassed DA internal gradual roll out logic and on systems with CB cron enabled made all DA instances to upgrade at the same time.
With this release CustomBuild will not automatically update DirectAdmin as part of its periodic updates routine, but DirectAdmin will detect if CustomBuild cron updates are enabled and if they are will enable internal DA auto updates mechanism.
So setting cron=yes
and updates=yes
in custombuild/options.conf
file will automatically set autoupdate=1
and autopatch=1
in directadmin.conf
file.
This will allow CustomBuild updates and DirectAdmin updates to work independently and not interfere with one another.
custombuild improved
Updated CustomBuild PHP extensions build scriptsCustomBuild scripts that update, compile and install PHP extensions were updated. Key changes:
- Extension sources will be downloaded from upstream rather than DirectAdmin files server. This allows using a wider range of PHP extension versions.
- Extension source packages will be cached and reused locally when rebuild.
- All extensions will report available updates for each PHP version separately. In previous versions only default PHP version was being checked for extensions updates.
- Extension can be rebuilt for a single PHP version by adding extra PHP version parameter. For example
da build php_bz2
would rebuildbz2
extension for all PHP versions, whileda build php_bz2 8.1
would only rebuild it for PHP 8.1.
evolution improved
Date picker inputsDue to framework version change we have been forced to change the date-picker components. This was an opportunity to improve overall look and feel of date pickers and keep consistent component looks across the project.
evolution improved
Domain name in DNSSEC page headerDNSSEC page used to have no indication of currently selected domain. It made it hard for admins and resellers see what domain is actually being modified.
The DNSSEC page was updated to include the currently active domain in the page header.
evolution improved
Stepper component prevents navigation pass uncompleted stepsMulti step pages (for example restore backup) used to allow navigating to any step, even if previous steps contained data validation errors.
Such pages were improved in a way that if one of the steps is not finished, navigation to the next steps would be prevented.
evolution improved
Search resultsMenu search results used to have no indication of access level they belong to. This lead to poor experience when searching for the pages available present in more than one access level.
It was changed by adding access level next to the page name.
Internationalized domain entries in search results are now displayed in unicode.
evolution improved
Active request indicator colorActive request indicator (narrow line at the top of the page when some data is being fetched) was improved to support customizable colors. From now on, it will use primary
color for it's background (blue by default). Customising primary color will change the request indicator color as well.
evolution improved
Tooltips styleSometimes tooltips could have been initialized without correct styling making them look like a transparent block.
Issue was fixed making sure correct styling is always used.
evolution improved
Remote users in "Show all users"If remote server has "Show all users" option enabled with within the "Multi-Server Setup" page, the "Show All Users" (/admin/users
) page would display a list of all users on both the local and remote server.
The behaviour of this list was changed. Clicking on remote server user link would open new tab with user info page on remote server.
evolution improved
On-submit validationValidation strategy has been improved. Submit button now would be enabled event when there is faulty values entered in the form, but before running an action, it would check the validated form for the errors and prevent submission in case there are such.
In this case, submit button would become disabled until all the errors would be cleared out.
This allowed to fix some places that were forced to validate data pro-actively, before any user interaction.
evolution improved
Validation messagesValidation messages used to be placed in tooltips shown when user focused the input. This lead to inability to recognise the error without direct interaction with the elements.
With this release, validation messages would appear right beneath the input and would be visible without any additional efforts.
evolution improved
Dialogs improvements- Dialogs now correctly handling focus trap, allowing for better keyboard navigation inside the dialog box.
- Click outside of the dialog box would close it, making it easier to dissmiss.
evolution improved
Code editor component upgradeCode editor component was updated to latest version and now supports editing large files.
Code editor no longer supports theming but it would adjust styles depending on dark or light mode being active.
evolution improved
Password change pageWhen password change request fails it used to clear out entered data forcing user to fill the form from the scratch again.
Page was updated to handle such cases better.
ldap
extension on PHP 5.6 and 7.0 custombuild fixed
Compilation errors on Debian based systems for PHP Older Debian 10/11 and Ubuntu 18/20 systems with old PHP versions 5.6/7.0 failed to compile ldap
PHP extension with error:
configure: error: Cannot find ldap libraries in /usr/lib.
This release provides patches to compile extensions without issues.
custombuild fixed
Missing cagefs reload/remount actions after full system upgradeUpgrading all software components with CustomBuild da build update_versions
command would not execute /usr/sbin/cagefsctl --force-update
and cagefsctl --remount-all
on CloudLinux systems with cagefs enabled.
This version fixes the issue.
fixed
Database deletion on old systemsDirectAdmin using older DBMS such as MySQL 5.7 used to have an issue where database deletion was incomplete, leaving leftover data, causing database re-creation with the same name to fail.
This release resolves the issue so database deletion cleans up the data it previously used to leave.
fixed
Apache restart errors from letsencrypt.sh scriptOn some systems restarting apache from letsencrypt.sh
script might fail with error message in errortaskq.log
:
2023:01:02-03:04:05: Error gracefuling service httpd : uid 0 gid 0 : /usr/bin/systemctl graceful httpd.service >/dev/null 2>/dev/null : returned 1
All supported distros now uses systemd and supports reload operation for apache service. This release simplifies letsencrypt.sh
logic for apache restart mode and always uses reload
action.
evolution fixed
Unicode DNS recordsIn DNS Records tables, the Name column was showing domain names in ASCII encoding. It was changed to show values in Unicode.
evolution fixed
Header in mobile with large resolutionWhen using phone or tablet with high resolution header was missing making it hard to navigate between pages.
It was fixed and mobile mode header should be always visible.
evolution fixed
Inputs in "Multi-Server Setup" on mobilesText inputs in the page were too small when user accessed the page with mobile device. User could type only a couple of characters before input would get overflown.
New the inputs will be responsive to device size to improve the experience.
evolution fixed
IP actions in Brute Force Monitor pageIP related actions that were visible when hovering on the IP column could get cut off by the table making them hard to access.
Page was updated to show IP actions on mouse-click.
evolution fixed
Unit route default app nameFixed default nginx unit app name in Standard layout.
evolution fixed
Persistent table sortingAfter performing some table action (removing/modifying row) table would get reloaded.
Sorting logic was updated to make initial sorting and re-sorting after action use the same sorting rules.
evolution fixed
Customizing classic shade colorsOverride shade dialog were using incorrect name for classic
layouts (Standard, Grid, Sidebar) causing errors, when trying to modify. Issue is fixed now.
evolution fixed
SSH Key edit options"Add Option" input field was not working correctly on the SSH key edit page, when trying to add custom options like environment
or command
.
Page was fixed to correctly add key options.
evolution fixed
Multiple plugin widgets showing same contentsAdding multiple plugin widgets in the Refreshed layout showed data only from last added plugin.
Issue is fixed to allow multiple plugin widgets to work independently.
evolution fixed
Pluggable menu categories in Refreshed layout missing expand iconPluggable menus (ones provided by plugins) were not showing expand icon in Refreshed layout.
Issue is fixed, and plugged categories would look the same as built-ins.
evolution fixed
Language selector on mobilesOn mobile devices language selector width could be too small when expanded. This can make it hard to see the language names and select appropriate language.
Language selector is improved to always be fixed width.
evolution fixed
Spamassassin page validationIn the spamassassin configuration page, failed validation used to not show a red border around inputs used in "Whitelisted E-mails" and "Blacklisted E-mails".
evolution fixed
Admin DNS/Reseller DNS navigationIf admin was trying to edit DNS Records for some domain returning back to the domain list and selecting different domain could lead to error That is not your domain
.
It was caused by navigation mismatch between admin level DNS management page and reseller level DNS management page.
There should be no such errors anymore.
graceful_restarts
option from directadmin.conf
removed
Removed This option is always true on all DA supported systems. To make configuration file simpler it is completely removed.