Version 1.651
Released: 2023-07-12
new
Server Certificate Manager: paste server cert to all servicesNew endpoint for CMD_ADMIN_SSL allowing the ability to paste the server certificate to all service areas at the same time. At the time of this writing, the interface is currently only available for the Enhanced Skin (navigate to CMD_ADMIN_SSL), Evolution to follow. It will also allow to duplicate it to other services if it's already set correctly in one location. This is mainly useful for purchased certifiates, eg: wildcards for the hostname, where LetsEncrypt is not being used.
View Service Certificates
Enchanced html with tables: CMD_ADMIN_SSL?action=view_server_certs
JSON: CMD_ADMIN_SSL?action=view_server_certs&json=yes
Will show all services, including the data
, md5
, and filename
of the given file type: cert
, key
, ca
, combined
. The cert
and combined
types will also include sub-arrays of certificate_domains
and certificate_info
.
View one raw certificate file
View a file for the given type/service:
CMD_ADMIN_SSL
method: GET
action=view_cert
type=key|cert|ca|combined
service=directadmin|httpd|nginx|exim|etc.
Always returns text/plain
, unless error in which case you'll get error=1 or json{error:1} output if json=yes
in the request.
Paste a key/certificate/cacert to one/all services
CMD_ADMIN_SSL
method: POST
action=save_server_certs
key=
certificate=
cacert=
service=all|httpd|exim|directadmin|etc.
where the available list can be taken from the "services", plus "all".
Copy an existing cert from one service to another/all
Takes the existing cert/key/ca and applies it to the desired service. Note: Cannot take it from exim
as there is no single cert
and combined
is not parsed.
CMD_ADMIN_SSL
method: POST
action=copy
select0=<from service name> eg: httpd
service=<to service name | all>
evolution improved
Migration to Vue.js v3This release has a lot of infrastructure changes in Evolution skin, preparing it for major Vue.js framework upgrade from v2 to v3.
Vue.js v2 will reach its EOL time on December 31st, 2023
New framework version will provide better performance and new features.
evolution improved
Plugin entries in menuPlugins now able to add additional menu entries in plugins mounting category ("Extra Features" by default) next to the main plugin entry. This could be done by adding an object with "type": "plugin-entry"
into menu output.
Example menu json file with plugin entry
[
{
"type": "plugin-entry",
"name": "New Plugin Entry",
"icon": "https://example.com/icon.png";
"link": "/user/plugins/testplugin?path=test.html";
"newTab": false,
"updates": 0,
}
];
evolution improved
PHP Version selection in PHP SettingsPHP version now could be set not only on domain edit page ("User > Account Manager > Domain Setup > Edit Domain"), but on "User > Account Manager > PHP Settings" as well. This should make it easier to find where to change the php version for new users.
evolution improved
User mode syncUser Mode (user/reseller/admin), was not being preserved between sessions, which lead to user being assigned default one each time Evolution is loaded.
Starting this release, Evolution saves user mode on backend, preserving it between sessions and multiple devices.
evolution improved
User confirmation dialogUser confirmation dialog is reworked to be more accessible and have cleaner look with consistent styling across different contexts.
evolution improved
Mobile mode improvementsWhen using a small screen device, input fields would often go outside of viewport, making it hard to interact with. In addition to that, multiple tables could not display data properly on smaller screens.
For such scenarios, UI is improved to be more mobile friendly by proportionally resizing the content where possible and making big elements scrollable.
improved
Unit Proxy to use 127.0.0.1The local address to connect to Unit Proxy will now be 127.0.0.1
for all webserver types. Nginx used to use localhost
, and Apache used to use domain.com
. All are local, so will now use 127.0.0.1
to remove any dns lookups and prevent and confusion with regards to where they might resolve to, eg: domain.com might resolve to an external IP address which wouldn't work within a LAN. The ProxyPreserveHost On
and RequestHeader set Host "domain.com"
options were included in the change for the Apache templates to ensure that Unit receives the correct host header, matching to the correct Unit Route.
custombuild improved
OpenLiteSpeed for ARMStarting this release OpenLiteSpeed 1.7.17 can be used on ARM servers.
custombuild improved
Software version updatesPHP 8.1
updated from8.1.19
to8.1.21
PHP 8.0
updated from8.0.28
to8.0.29
PHP 8.2
updated from8.2.6
to8.2.8
MariaDB 10.4
updated from10.4.29
to10.4.30
MariaDB 10.5
updated from10.5.20
to10.5.21
MariaDB 10.6
updated from10.6.13
to10.6.14
openlitespeed
updated from1.7.16
to1.7.17
phalcon5
updated from5.2.1
to5.2.2
Roundcubemail
updated from1.6.1
to1.6.2
composer
updated from2.5.7
to2.5.8
nginx
updated from1.25.0
to1.25.1
mod_lsapi
updated from1.1-67
to1.1-68
redis
updated from7.0.11
to7.0.12
imagemagick
updated from7.1.1-11
to7.1.1-12
custombuild improved
Updated PHP htscanner extension build scriptPHP extension htscanner
can now be built separately for each PHP version.
Its build script is updated to avoid build failures when building it for multiple PHP versions at once.
Sources of htscanner will be cached and not downloaded again on rebuild.
fixed
Reload loop for IP restricted login URLsAccessing login URL which is IP restricted from a non valid IP, used to consume login URL and create infinite Evolution reload loop. This issue is fixed, login URLs from not allowed IPs are redirected to login page, and URL can still be used from valid IP.
fixed
Fix protectable paths permission errorDirectAdmin support for protecting overridden subdomain document roots used to perform checks with insufficient permissions which caused for errors and some missing data. This has been fixed by performing checks required as diradmin
user.
Add New
button in Email Accounts widget evolution fixed
Fixed the broken path for Add New
button in Email Accounts
widget. Previously it was pointing to non-existent page.
Associated Directory
column fix evolution fixed
Nginx Unit apps list Previously, the Associated Directory
column in the Nginx Unit Applications list for Python applications was sometimes shown as an empty field even when a path or paths were provided. This was fixed, and now it shows the correct paths for the Associated Directory
column.
evolution fixed
SpamAssassin blacklist/whitelist validationPreviosly, validation for new items in blacklist/whitelist was too strict, rejecting possible wildcard entries. The check was loosen up to allow pattern matching.
removed
Evolution plugins and widgets working in vue modeOlder DirectAdmin versions supported plugins to inject JS code into Evolution. This was controlled by vue=1
flag in the plugin.conf
file.
With this version vue plugin mode is ignored and all plugins will work in the same way for Evolution as they work for legacy skins.
Vue mode required deep knowledge on the internal Evolution application structure, and were extremely fragile. Any bigger change in Evolution JS code base would break all plugins working in vue mode. Removal of plugins in vue mode allows Evolution skin to be upgraded from Vue.js v2 to Vue.js v3.
With this change vue based widget support is also removed. It used to work by creating {level}/widgets/{name}/main.js
file. Starting this release main.js
files are ignored.
suspendedmysql
removed
Legacy DB suspension migration task On each DA upgrade an automatic migration from old DB user suspension mechanism to the new suspension mechanism was performed. Old mechanism is not used for more than 10 years now. This migration is no longer needed.
Migration code used to be triggered by dataskq
action action=convert&value=suspendedmysql
. This action is removed.