Version: 1.7.52
1.7.47
Released on March 20, 2026
Newβ
- Import account from CyberPanel backup
- π·π΄ Romanian (RO)
opencli websites-secureandopencli user-block_ipcommands.
π Polishβ
- Added check on OpenPanel > MySQL > Databases if there are enough resources on the plan to start service.
- Added sorting to the table on OpenAdmin > Plans page.
- Added OpenAdmin > Security > Blacklist UserAgents page.
- The Cron service no longer starts automatically when opening the CronJobs page; it now starts only after a cron job is added, edited, or deleted.
- Changing PHP Version not showing error message if not enough resources to start the service #794
- For 'Forceful Server Reboot' on OpenAdmin > Advanced > Server Reboot page, the
reboot -fcommand is replaced withecho b > /proc/sysrq-trigger. - Updated log rotation:
opencli reportsdeleted after 7β―days,opencli updatelogs after 3β―months, and panel logs rotated exceptnotifications.log. - Example Python (flask) application
- Example NodeJS (express) application
- Added the ability to set a custom database username and password when creating a WordPress clone.
- Optimized domain suspend and unsuspend processes.
- Security Measures in WP Manager
opencli php-domainwill now stop previous PHP version IF not used by other domains AND not set as a default.- Caddy, BIND9, OpenPanel, MySQL services on new installations will now automatically inherit Timezone from the server.
- Added postfwd service and
max_hourly_emaillimit on hosting plans. - Improved regex email validation on all Emails pages in OpenPanel.
- Removed
shell=Truefrom all subprocess.run executed on OpenAdmin and OpenPanel. - Extended optional
--dry-runflag toopencli user-resourcescommand. - For new installations, custom CSS and JS code, HTML in header and footer, Custom section on dashbaord and How-to guides are no longer loaded on OpenPanel Community edition and can't be edited from OpenAdmin > Settings > Custom Code page.
π Bug Fixesβ
- E-mail passwords don't allow special chars #881
- Webmail Domain Setup Fails Silently for Existing Domain #888
- Fixed a bug in the WP Autoinstaller where, if the provided username or database name contained the table prefix, the installer would replace the prefix in them, causing database connection failures due to incorrect login data in the configuration file.
- Fixed bug on user delete that failed to remove mountpoint on master is user is created on slave server.
- disk usage % shown in OpenAdmin > SSE tab is showing average if multiple mounts #880
- Fixed an issue in the Redis, Elasticsearch, OpenSearch, and Memcached modules that allowed services to start even when doing so could exceed plan limits.
- Fixed error
Invalid command 'default_page.html', perhaps misspelled or defined by a module not included in the server configurationfor apache when adding a NodeJS/Python Application. - Fixed error
UnboundLocalError: cannot access local variable '_var_var_27' where it is not associated with a valuefor apache when deleting a NodeJS/Python Application. - Fixed bug checking if .js or .py file exists when adding path on NodeJS/Python Application Installer page.
- Fixed bug importing SSL certificates from cPanel backups in the Importer module.
- WP uninstall removes MySQL user, breaking original site if Cloned #879
- invalid literal for int() with base 10: '#' error in OpenPanel UI on /process-manager #878
- Fixed bug on adding custom SSL that reloaded caddy webserver twice.
- Fixed
Using a path in a site address is deprecated; please use the 'handle' directive instead","address":"http://localhost/check"}warning on caddy reload. - FileManager: Error renaming files with spaces in the name on versions <1.4.74 #885
- Fixed bug on OpenPanel > Emails > Manage that tried to set quota for email account on every action: password change, send/receive suspend..
- Fixed bug with activity page links showing on 'Login History' page when
activitymodule is disabled. - Fixed bug on OpenAdmin > Settings > General page that always updated dev_mode regardless of previous value.
- Fixed bug on OpenPanel > Emais > Import Addresses that caused entire import process to fail when a user with unlimited quota (
0) is parsed from the file.
Was this helpful?