Skip to content

[1.9.3] - 2026-10-22 ​

Release Overview ​

This release connects the server to Acronis Cyber Protect Cloud, where administrators recover accounts and the whole server and resellers and clients recover their own accounts, imports a cPanel account backup file into a new or an existing account, runs hosting accounts' mail on separate mail servers, scans websites in real time with ImunifyAV and keeps one malware history for every engine, adds Health > Security, where you see and choose the malware protection that guards the server and clients are told about threats in their accounts, and lets you give the admin, reseller, and client panels your own colour scheme, font, corner style, and sidebar width. General Settings gains the default language and timezone, a Security tab for the session lifetime, required two-factor authentication, and an admin IP allowlist, and a Support tab for the contacts your clients see, while DNS Settings, Redis instances, and Plan limits become pages of their own. Failing account backups raise alerts, System Updates can reboot the server, LiteSpeed Enterprise in Apache drop-in mode serves Node.js, Python, and Ruby applications, and the DNS cluster checks what every secondary serves and signs zone transfers with each node. The release also fixes certificates that are not renewed automatically, the server hostname's DNS and certificate, PHP version changes, CloudLinux conversions, MySQL Governor, and many account, domain, and client panel checks.

Acronis Cyber Protect Cloud ​

Backup file import ​

  • Import a backup file - administrators, resellers, and clients import a cPanel account backup file (.tar.gz or .tar) into a new or an existing account without access to the old server. Administrators open it with Import a backup file on the Migration page. An interrupted upload resumes where it stopped, and before anything is written a preview lists the domains, databases, mailboxes, DNS zones, cron jobs, certificates, and FTP accounts in the backup, checks them against the plan limits, and shows the planned action for each. Data in an existing account is kept unless you choose to overwrite or replace it, and replaced data is kept in a protection copy. The report gives the result of each item, and Try again prepares a new preview of what was not restored. Imports start once Allow backup imports is on in Import settings, and clients need the Backup import feature. The admin, reseller, and client REST APIs offer the same. (AB-1959)

Mail ​

  • Email Servers - hosting accounts' mail can run on a separate mail server. Settings > Infrastructure > Email Servers lists the local mail server and the mail servers you add, each with its status, checked regularly. Add Email Server connects a fresh AlmaLinux 9 server over SSH, and Deploy installs the mail stack on it. On a hub, Use Fleet Node turns a paired node into a mail server. View Logs shows a server's recent mail log. (AB-70)
  • Mail server of an account - administrators choose an account's Mail Server when they create it or in Edit Account: Default Mail Server, Local Mail Server, or a deployed mail server. Accounts on Default Mail Server follow the server set with Set as Default, and a reseller's Override Mail Server applies to its new accounts. When an account's mail server changes, its MX records that point at this panel's servers, its mail.<domain>, mail SRV, and DKIM records, and its mail autodiscovery point to the new server. External MX records, records added by hand, and existing mailboxes stay as they are. (AB-70)
  • Mail server guard - a mail server that accounts or resellers still use cannot be deleted, and a fleet node they use as their mail server cannot lose its mail role, be deleted, or be unpaired. Webmail on a hub signs in to mailboxes on mail servers. (AB-70)
  • System mailboxes in Roundcube - the Mailboxes tab of Email shows the panel's own system@ and admin@ mailboxes of the hostname, each with Open in Roundcube, which signs the administrator in with a single-use link. The tab no longer lists messages itself. The admin REST API offers the same sign-in under POST /api/system-mailboxes/{mailbox}/webmail-sso. (AB-1946)
  • System mail of the previous hostname - changing the server hostname switches off system@ and admin@ of the previous hostname once the new ones work, and keeps their stored mail. The update to 1.9.3 does the same for earlier changes. bolt-cli manage-system-email-account --action=remove --hostname=<previous hostname> and POST /api/system-mailboxes/previous-hostnames/remove remove the two accounts and move their mail to a dated backup folder. (AB-1948)
  • Mailbox API - a mailbox password set through the client or admin REST API follows the Edit form's rules and is applied to the mail server; when the mail server cannot be updated, the answer says so and gives the next step. Creating and updating a mailbox accepts the fields the panel's forms offer and refuses any other field with 422: an unsupported field is named with the list of accepted ones, and the fields that record a sending suspension are refused with their own reason. (AB-1739, AB-1971)
  • Who suspended sending - a sending suspension records who applied it: the sending limit, an administrator, or the client. The client panel shows it, and a client can lift only a suspension it set itself. Otherwise Restore Sending and Outgoing mail are disabled and say who suspended the mailbox and when sending returns. (AB-1971)
  • External MX records - issuing or disabling a domain certificate updates only the domain's MX records that point at the server, and leaves external MX records and MX records added by hand as they are. (AB-1904)

Malware protection and security ​

  • Real-time scanning and malware history - installing ImunifyAV also sets up bolt-livescan, and the update to 1.9.3 sets it up where ImunifyAV is already installed. Health > Security shows whether real-time scanning is active and how many websites it watches, with Set up bolt-livescan where it is missing. Health > Malware and the client Security > Malware page list every file a malware engine reports, once per account, and move it to quarantine, restore it, or delete it, one file at a time or in bulk. A file in an engine's own quarantine is deleted through that engine, not from these lists, and only cPGuard's are restored from them. The client page is a feature list item that the update turns on in existing lists, and deleting a hosting account removes its quarantined files. (AB-1764)
  • Health > Security - Health > Security shows which malware protection engine guards the server, whether it runs, its licence, and whether uploads are scanned in real time, and compares ImunifyAV, Imunify360, and cPGuard side by side. Install, Switch to this engine, and Upgrade to Imunify360 run one engine operation at a time, with a confirmation that names what is lost. The same controls are on the administrator REST API under /api/admin/security. The former Security Scan screen is removed. (AB-1766, AB-1683)
  • Threat notifications to clients - when the malware scanner flags files in an account, the client gets a notification in the client panel's new bell and, when the account has a Contact email, an email to it, with later detections gathered into one digest. An account cPGuard suspends is suspended in the panel, and administrators and the client are told why. (AB-1766)
  • Contact email - hosting accounts have a Contact email for security alerts and account notices, set by the administrator, the reseller, or the account owner, and over the REST API. (AB-1766)
  • cPGuard client plugin - with the plugin enabled, clients whose hosting plan includes CPGuard get cPGuard's own interface under Security > CPGuard, showing only their own account, and those clients can restore quarantined files with or without the plugin. (AB-1766)
  • cPGuard version, update, and licence - the CPGuard page shows the installed version and whether an update is available. Update CPGuard runs in the background, checks that the new version is really installed, and reports the result, with the next step when it fails. The same page restarts the scanner, adds or changes the licence key, and refreshes the licence data. (AB-2014, AB-1766)
  • cPGuard login protection - while cPGuard's login failure daemon runs, AdminBolt keeps its rules for panel, webmail, and FTP logins in place, and the CPGuard page and its Health row show their state and warn when the daemon is stopped. (AB-1651)
  • cPGuard scanning and login bans - cPGuard watches the document root of every domain, also after a domain rename and for imported accounts. The cpguard-lfd jail blocks the addresses cPGuard's login daemon bans, and a cPGuard install that ends without a working cPGuard is reported as failed. (AB-1765)
  • Imunify360 integration - an Imunify360 installed from the panel works with the web server, ModSecurity, Fail2Ban, and certificates; a failed install names its cause, and a failed first install is rolled back. Fail2Ban keeps running for mail, webmail, and panel logins, WebShield serves each site its own certificate, and ModSecurity Config shows what is in effect. Existing installs are repaired on upgrade. (AB-1674)
  • Mail login jails - the bolt-dovecot and bolt-roundcube Fail2Ban jails ban addresses after repeated failed IMAP, POP3, and webmail logins, and never ban the server's own addresses, its Network IPs, or the whitelist. On cloud servers behind NAT the jails pause while the public address is unknown, and the jails page and Health say how to add it. (AB-1951, AB-2011)
  • Webmail login jail log - the panel checks the webmail login log before the webmail jail loads; while the log cannot be used the jail stays off with the reason on the jails page, and it comes back by itself. (AB-2066)
  • ModSecurity by default - new installations load ModSecurity with the OWASP Core Rule Set 4.29.0 and its WordPress exclusions, so the block editor saves normally. Existing servers keep their setting. (AB-1960)

Panel design and preferences ​

  • Colour schemes - Branding offers eight colour schemes (AdminBolt, Ocean, Indigo, Violet, Forest, Teal, Rose, and Graphite), each with a light and a dark palette, and five colours per theme that you can adjust by hand, with a side-by-side preview. A scheme applies to the admin, reseller, and client panels as soon as you pick it. (AB-2081)
  • Corner style, font, and sidebar width - Branding > Appearance sets how round buttons, fields, and cards are, the typeface of all three panels from a list of ten, and the sidebar width of each panel, each applied as soon as you pick it. (AB-2081)
  • Logo and look - a logo set in Brand Logo URL is fitted into the sidebar whole instead of being cropped, the Reseller and Client badges sit beside it, and an empty dark mode logo falls back to the light one. The admin, reseller, and client panels share one look, with a neutral dark theme, and the client Home page fits a phone screen. (AB-2081)
  • Panel preferences - General Settings sets the default language and the timezone dates are shown in, and Branding sets the default theme, the favicon, a login page message, and the footer text for all three panels. The new Security tab sets the session lifetime, can require two-factor authentication for administrators, resellers, or clients, and can limit the admin panel to a list of IP addresses that must include your own. The new Support tab shows your support URL, email, phone, and Terms and Privacy links on the client login page and in the client panel footer. (AB-2121, AB-2122, AB-2123, AB-2124, AB-2125)
  • Settings regrouped - the nameservers and the default DMARC record are DNS Settings under Settings > DNS, the account Redis limits are Redis instances under Settings > Databases, Plan limits is the third tab of Hosting Packages, the MySQL page is called MySQL Settings, and the Networking tab of General Settings is Hostname & SSL. Health > DNS Domains Health is listed as DNS Domains. Old links to the former tabs open the new pages. (AB-2081)
  • Activity Log in Logs - Activity Log is the second tab of Logs instead of a second sidebar entry, so Logs is one sidebar button. The reseller panel keeps its Activity Log menu item. (AB-1817)
  • MySQL Health and PostgreSQL Health - Health > MySQL shows the state of the MariaDB or MySQL server, with its connections, average query rate, the slow queries and table lock waits counted since it started, and the size of each database. Health > PostgreSQL shows whether PostgreSQL runs, its version, where it listens, its port, and the size of each database. (AB-2081)
  • System Notifications audience - a Concerns column and filter say whose event it is (Admin, Reseller, Client, or Server), and Sent to them says whether that party receives it: the messages go only to the admin notification address and the webhooks. (AB-2081)
  • Administrator usernames - a new administrator's username is refused when it is a reserved system name, a hosting account's username, or an existing Linux user on the server, and when the server cannot be asked. (AB-2081)

Backups ​

  • Failing backup alerts - an account backup that keeps failing sends the critical Account backups keep failing notification by email, webhooks, and the bell of every administrator, naming the account, the destination, the failed runs in a row, the last successful backup, and the last error. A reminder follows after a number of failed runs or hours, whichever comes first, then every 7 days while the failures last; set both on System Notifications, 3 runs and 48 hours unless you change them, or over the admin REST API. Health lists each failing account backup until a backup succeeds, and the Backups overview shows Last successful backup and Failures since last success. Account backup failed is no longer sent for suspended accounts. (AB-1924)
  • Set up backups - while backups are not set up, the Backups overview shows a three-step checklist: add a destination, create a policy with All accounts (server-wide default) preselected, and wait for the first backup. Each step links to its form, and the guide notes that a Local path destination is not an off-site backup. (AB-1735)
  • Shared backup destinations - each server keeps the account repositories it creates in a folder of its own on the destination, and existing repositories keep their path. A repository this server cannot open stops the backup with a message that says to create a new destination for this server. (AB-1986)
  • Backup file browser - the client backup browser lists a large folder 200 entries at a time and reaches every file through Load more, and the file search shows the first 200 matches and says when there are more. (AB-1913)
  • Unreadable encrypted data - Health lists the stored passwords, tokens, and keys the panel cannot decrypt, grouped by kind with the number of records, the fix, and a link, also at GET /api/admin/health/encrypted-storage. A backup repository whose key cannot be read gets Start a new repository, which keeps the old repository. bolt-cli key-generate keeps the replaced key, --revoke-previous drops it after listing what only that key decrypts, and bolt-cli admin-two-factor-reset resets an administrator's authenticator app. (AB-1921)

System updates ​

  • Reboot server - System Updates > OS packages has a Reboot server action, highlighted while a reboot is due. You type reboot to confirm, the action is refused while an update or a package installation is running, and the page reconnects once the server is back. Every confirmed request is recorded in the Activity Log with its outcome, and the admin REST API offers it at POST /api/system-updates/reboot. (AB-1302)
  • Update that did not start - System Updates recognises an update that did not start or found another update running, says so, and shows the versions again. Clear the update status, bolt-cli clear-update-status, and POST /api/system-updates/clear-status reset what the page follows while no update runs. (AB-1838)
  • OS package list after updates - after an install of system updates, the OS packages tab reads the pending packages again on its own and updates when the new counts arrive. (AB-2015)
  • Upgrade database check - an upgrade stops with the reason, before anything changes, when the panel's database setting points at the development database file older packages shipped. (AB-1987)
  • Stats refresh interval - the stats refresh interval on the Scheduler tab can be Automatic, the new default, which picks the interval from the number of hosting accounts and shows the one in force. The refresh and the nightly usage snapshot no longer run at the same time, an interval chosen earlier other than the old 15-minute default carries over, and the admin REST API offers /api/usage-stats/refresh-interval. (AB-1789)

SSL and hostname ​

  • Replace with a free certificate - a certificate from another issuer, such as an imported, private, or self-signed one, can be swapped for a free one, one at a time or in bulk. This works from the admin and client SSL lists, the certificate page, and the admin and client APIs. The installed certificate stays in place until the new one is issued. (AB-1911)
  • Expiry reminders - certificates that are not renewed automatically get reminders 30, 14, 7, and 1 days before expiry and once they have expired. Administrators get them by the System Notifications channels and the bell, and the account owner gets them in the client panel bell, with a banner on the client SSL page. The expiry templates get a {{renewal_note}} variable that says why a certificate is not renewed automatically. (AB-1911)
  • Certificates after a domain rename - renaming a domain removes the mail settings of the previous name. A free certificate is reissued under the new name in the next nightly AutoSSL run, and mail.<new name> is offered as the mail host once a certificate covers it. The update to 1.9.3 cleans up after earlier renames. (AB-1915)
  • Hostname DNS check - the server hostname is checked in public DNS every hour, and Health warns with the resolved addresses, this server's addresses, and the next step when it does not resolve to this server. Saving a hostname runs the same check without blocking the save. The Hostname & SSL tab of General Settings shows the DNS, certificate, and reverse DNS state, with Check now. (AB-1923, AB-2081)
  • Hostname certificate - the nightly hostname certificate run replaces a self-signed certificate, and waits while no certificate authority can validate the hostname. A failed issuance appears in Health with its cause. The Certificate card shows the certificate in use, with a note when a new one is waiting to be applied. (AB-1923)
  • Hostname certificate history - installing a purchased hostname certificate and switching back to automatic SSL are recorded with their actual result, including a warning when the certificate is in place but a service did not reload. When the certificate authority cannot be reached or its certificate cannot be verified, the message says so, and the Executions list shows the cause of a failed row. (AB-1849)
  • Hostname DNS zone - changing the server hostname writes the DNS zone of the new hostname, and the update to 1.9.3 repairs servers whose hostname changed earlier while keeping records added by hand. The previous hostname's zone is kept, and bolt-cli dns-orphan-zones lists it. A domain named like the server hostname is refused on create and rename and skipped with a warning on import. (AB-1950)
  • Default myboltip.com hostname - the installation page explains the default <ip-with-dashes>.myboltip.com hostname, nameservers, and Contact Email, and the hostname change page explains what keeps the myboltip.com name after a change, and where to change the nameservers and Contact Email.

DNS ​

  • SOA primary nameserver - SOA settings on DNS Templates sets the primary nameserver in the SOA of new domain zones: the first NS record the template produces for the domain, or a fixed nameserver name. Apply Template or bolt-cli dns-rewrite-soa-mname applies it to existing zones, and the admin API offers the same under /api/dns/soa-settings and /api/dns/soa-mname/rewrite. The record form accepts the {{GENERAL_NS}}, {{DELEGATED_IP}}, and {{MAIL_HOST}} placeholders. (AB-1805)
  • Nameserver Selection - saving reports whether PowerDNS was started or stopped and, when it was not, gives the reason, the next step, and a correlation ID. When PowerDNS cannot start, the setting goes back to Disabled, and one nameserver change runs at a time. Admin Cron Jobs refuses a job for a system user that does not exist on the server and says why. (AB-1683)

DNS cluster ​

  • Secondary DNS checks - the hub regularly checks what each secondary DNS server serves for every zone: whether it answers, its SOA serial next to the hub's, and whether the records match. Secondary DNS Servers shows Zones served and Last check, Global DNS Zones shows the same on each secondary's row, a secondary that stops answering reads Not answering, and a zone that stays wrong appears on Health with the zone, the secondary, and the reason. (AB-1922)
  • Zones for new secondaries - a server that becomes a secondary DNS server gets every existing zone, however it joins. Resync DNS and Resync All Zones send the zones to every active secondary in the background, and Send zones on node and Secondary DNS Servers rows sends them on demand, also over the admin REST API. After each send the panel checks that the secondary serves every zone with the hub's serial and names each zone that did not arrive, with the reason. Connect Node to the address of an unpaired node takes that node back with its zones and roles instead of adding the server twice. When a secondary registers under a new address, the hub keeps only its current address. (AB-1833, AB-1868)
  • Per-zone sync status - for each node zone, Global DNS Zones shows the result and time of the hub's last sync attempt and whether the hub holds that version. The Zone sync window of a node lists all of its zones page by page, failed zones first, including zones that never reached the hub. (AB-1807)
  • Secondary DNS nodes follow the hub's catalog - a node with the Secondary DNS role follows the hub's catalog zone, so a domain deleted on the hub also leaves its nodes. The update registers every such node again and names any node still to convert, and Register again names what to upgrade. Upgrade steps that end with a warning are listed on System Updates with Dismiss, and under /api/system-updates/upgrade-step-warnings. (AB-1804)
  • Signed zone transfers with the nodes - zone transfers between the hub and each node with the Secondary DNS role are signed with a TSIG key for that pair, set up on pairing, when the role is turned on, and on Register again, and removed from both servers when the role is turned off or the node is unpaired. Transfer auth shows the key, or TSIG not provisioned while the node cannot use it yet. Existing clusters get keys on update. (AB-1806)
  • Secondary DNS turn-off - turning off the Secondary DNS role reports success once the node confirms it has finished. When it could not, the notification names each unfinished step and the zones left on the node, and the next save of the node tries again. (AB-1860)
  • Secondary DNS Servers and hub mode - every Settings page opens right after hub mode is turned on or off, and Secondary DNS Servers moves between Settings > DNS and Cluster > DNS Cluster at once, with old links leading to its current place. (AB-1840)

Cluster nodes, account migrations, and external migrations ​

  • Node services list - when a node answers the hub's health check but its services list does not arrive, Health shows its services state as unknown with the time the list was last received, and Check Health Now warns with the next step instead of reporting success. (AB-2003)
  • Node web server health - the hub checks a web node against the web server it serves with, Apache, LiteSpeed Enterprise, or OpenLiteSpeed, so a node on LiteSpeed reports as healthy. Fleet node role services recovered is sent once every role service runs again. (AB-1999)
  • Source node DNS after an account migration - after the DNS cutover of an account migration between AdminBolt nodes, the source node's copy of each moved zone points its A and AAAA records at the address the cluster serves, so the source node also answers with the new server. The previous records are put back when the cluster serves the source copy again, for example after the target account or node is removed. (AB-1832)
  • Stopped MariaDB on the target - for an account with MariaDB databases, the pre-check of an account migration between AdminBolt nodes fails when MariaDB is installed but not running on the target, and tells you to start it before you retry. (AB-1997)
  • Remote PostgreSQL access rules - an account migrated between AdminBolt nodes keeps its remote PostgreSQL access rules on the target. A rule the target cannot set up is named with the reason and the next step, and the account migration is shown as completed with warnings. (AB-1831)
  • Accounts with deleted domains - an account whose records still belong to a deleted domain moves between nodes: FTP accounts and Git repositories arrive without a domain, and the other such records are left out and named in the source server's panel log. (AB-1964)
  • Accounts with failed provisioning steps - an external migration run from cPanel or DirectAdmin ends as Completed with warnings when some of an account's parts could not be created, and the run page lists each such account with its failed steps. The DNS cutover leaves out the accounts whose site cannot be served unless you tick them, on the run page or through the API. The Activity panel shows the runner's messages in plain words with a log reference. (AB-1910)

Applications and PHP ​

  • Applications on the LiteSpeed Enterprise drop-in - LiteSpeed Enterprise in Apache drop-in mode serves Node.js, Python, and Ruby applications, each running as its account. Ruby needs ruby-lsapi and Python needs lswsgi, and on CloudLinux Set up LiteSpeed runners on Application Runtimes installs both for the CloudLinux runtimes. Applications carry over through a web server switch, a domain rename, and an account restore. Logs shows the web server errors and the application's own error output, read with the account's own permissions. An application whose last change the server did not confirm shows Needs attention with Apply again, also over the client API. (AB-1559, AB-2031)
  • Node.js over SSH - on CloudLinux, Edit Application of a Node.js application shows a command to copy. It opens the application folder with that version's node, npm, and npx in an SSH session or the SSH Terminal, and source ./activate in the application folder does the same. The client API returns it as application.ssh. (AB-1842)
  • PHP change verification - after a domain's PHP version changes, the panel checks that the site runs the exact build chosen, Remi PHP, alt-php, or LSPHP. When it does not, the panel rolls the change back, and the admin and client panels name the build the site still uses and the build that was requested. (AB-1861)
  • LSPHP extensions and PHP configuration - LSPHP extension switches take effect on the server. The page offers only the extensions installed for the version, and keeps an extension on while another one needs it. Switching an extension off keeps its settings for when it is switched on again. After an LSPHP or alt-php configuration is applied on LiteSpeed, PHP processes on the previous configuration are ended. OPcache Optimization Level takes a decimal or 0x hexadecimal value, and Switch to MyApache names the domains still on LSPHP and offers Open PHP Migration. (AB-1874)
  • PHP error display upgrade step - the upgrade step that switches Display Errors and Display Startup Errors off saves the new value for a PHP version only once the server runs it, so the configuration page matches what visitors get. A version the server cannot change keeps its setting, and the step runs again with the next update. (AB-1865)
  • PHP version on domain create over the API - creating a domain through the admin or client REST API with php_version_id sets the domain up on that PHP version and returns it in the response. (AB-1863)
  • PHP Selector for websites - a version a customer picks in the client PHP Selector also applies to the account's websites, which move to the matching alt-php version, and native leaves them as they are. The most recent change wins, from the PHP Selector or a main domain PHP change. Upgrading the panel switches no site. (AB-1957)
  • PHP Selector save confirmation - saving a version in the client PHP Selector reads it back to confirm it. When CloudLinux did not keep the choice, the panel applies it in the background and tells the customer. A failed change shows on the page with a correlation ID and sends PHP version change failed to the administrators and the account. Customers can pick only the versions offered to them. (AB-2020)
  • alt-php binary per domain - Softaculous installs and upgrades on a domain that runs a CloudLinux alt-php version use that domain's own alt-php build. (AB-1958)

CloudLinux and MySQL Governor ​

  • CloudLinux Apache modules - on CloudLinux with Apache, mod_lsapi and mod_hostinglimits load as soon as the conversion installs them, so PHP runs inside each account's LVE. They stay loaded when a MyApache profile is applied or MyApache Settings is saved. Servers converted earlier get both on upgrade, and Install mod_hostinglimits in the Isolation Report loads the module in the same click. (AB-1803)
  • CageFS Enable All - a CloudLinux conversion leaves CageFS in Enable All mode, so every hosting account runs inside CageFS, including accounts created later. The panel's service users and the administrators' login users stay outside CageFS and keep sudo, also on servers converted earlier. The Isolation Report lists Other users in CageFS and offers Retry the CageFS set-up for a set-up that did not finish. vacation and boltinstaller are reserved account names. (AB-1809)
  • CloudLinux conversion errors - a failed CloudLinux conversion shows its reason, such as the check that failed or the missing packages, on the installer page while you watch the run. Each failed run keeps one correlation ID. (AB-1736)
  • LVE Manager frame height - the admin LVE Manager and the client CloudLinux pages fit their frame to the window and scroll inside it. Wide tables in the admin LVE Manager scroll sideways. (AB-2016)
  • MySQL Governor install - on a server that already runs Governor, the MySQL Governor page shows MySQL Governor is installed and offers no install. A panel install that failed partway keeps Retry install. (AB-2000)
  • MySQL Governor install status - a MySQL Governor install that waits for another package operation shows as queued and names it. A failed install gives its cause and the next step, says whether the database server is running, and offers Retry install. (AB-2065)
  • MySQL Governor removal - Remove MySQL Governor shows each step of the removal. The database server keeps running until the database packages are replaced, and a separate card shows while it is down. A removal stops before changing anything when a package repository does not answer. A failed removal shows what it left installed, whether the data files were touched, and the package to put back, with Retry the removal. (AB-2017)
  • LiteSpeed and alt-php capacity - LiteSpeed Enterprise, OpenLiteSpeed, and the CloudLinux alt-php PHP-FPM services run with the higher open-file limit, including when LiteSpeed was installed later. The running web server gets the limit on upgrade, and when another setting on the server keeps the limit lower, the upgrade names it. (AB-1977, AB-1978)

Accounts and resellers ​

  • Addon domain count - the Addon Domains count of a hosting account no longer includes its main domain, so an account with only its main domain shows 0 addon domains, and a plan with Addon Domains set to N lets the client add N domains besides the main one. Existing plan values are not changed, so every existing plan with Addon Domains above 0 now allows one more domain than before, and a plan set to 0 stays unlimited. To keep a plan set above 1 at its previous limit, lower it by one; do not lower a plan set to 1 to 0, because 0 means unlimited. An account shows the new count after its next Refresh Data or scheduled stats refresh. (AB-1930)
  • Last known disk usage - when a home directory cannot be measured, the Disk Used column, the account page, Usage details, and the client dashboard show its last known size marked stale since a date, and the plan's disk limits use that size. When the home keeps failing to be measured, the mark reads cannot be measured since a date and every administrator gets a notification that names the account and what to check. (AB-1791)
  • Usage details - Usage details opens at once on the figures of the last refresh and says when they were taken, and Refresh Data measures now. A resource with nothing used shows 0%, and N/A marks a value that has not been measured. (AB-1791, AB-1931)
  • Disk Used and Quota sorting - the account list, in the admin and the reseller panel, sorts by Disk Used and Quota, with accounts without a figure last, and the DNS template editor sorts by its Name, Type, TTL, and Priority columns. (AB-1912)
  • Existing home folders - creating an account whose /home/<username> folder already exists is refused with the folder named, before anything is stored. Health warns about entries in /home that belong to no hosting account, and GET /api/admin/health/orphaned-homes lists them. (AB-2018)
  • Suspension - a website whose folder links outside the account's home directory is suspended at the web server, so a link cannot keep it online. Suspend and Unsuspend name any domain that needs attention, with the next step, and so do the suspend APIs. While an account is suspended, its own API keys are read only. (AB-2001)
  • Reseller LVE limits - an LVE limit changed to a value below the sum of the reseller's account plans is refused per resource, showing the current sum and the limit. A reseller already over a limit can still be saved with other changes, and its accounts can move to plans that raise no limit. After the upgrade, every administrator gets one notification for each reseller already over its LVE limit. (AB-1906)
  • Reseller hosting plans - in the reseller panel, Create Hosting Account and Edit Account offer and accept only the reseller's own hosting plans, and Edit Account also keeps the account's current plan. (AB-1937, AB-1908)
  • Extra open_basedir Paths - only administrators set Extra open_basedir Paths in Edit Account. The reseller panel no longer shows the field and ignores a value sent from it. (AB-1936)

Domains and websites ​

  • Served column - the Served column of the client Domains page shows whether each domain is served (Yes), waiting for the web server (Pending), or Not served yet. Hover the badge for the reason and the next step. The client and administrator domain APIs return served, not_served_reason, and not_served_next_step. When the web server cannot load a new account or domain, it is still created with a warning naming the reason and the next step. Creating accounts and domains reloads the web server once per run of changes, and bolt-ssh is a reserved account name. (AB-1689, AB-1973)
  • Domain plan limits - when the hosting plan stops a new addon domain, subdomain, or parked domain, the client panel and the client and administrator REST APIs name the limit reached. (AB-1862)
  • Managed .htaccess changes - Redirects, Error Pages, Indexes, IP Blockers, Hotlink Protection, and AI Bot Blocking refuse a change whose website folder or .htaccess file leads outside the account's home directory. Nothing is changed, and the message gives the reason and the next step. When an IP block or an AI bot blocking change is saved but its rules are not applied, it is reported as a warning with the next step, and the IP blocker APIs answer such a change with "status": "partial". (AB-2001)
  • Private Directories scope - Private Directories protects folders inside the account's own home directory, including a website folder that points to another folder in that home. On OpenLiteSpeed, a folder whose name contains spaces or braces is refused, with the reason and the next step. (AB-1998)
  • WordPress uninstall - Uninstall removes the WordPress core files, its folders, and wp-config.php, and keeps every other file in the folder, including .htaccess. The database is deleted unless another WordPress installation on the account may use it, and the confirmation names the folder and the database. (AB-1905)

Git and client panel access ​

  • Git SSH Keys menu entry - for plans that include Git Version Control, Git SSH Keys appears under Security in the client menu and in the menu search. The list shows the hosting account each key belongs to, and search matches the key name or that domain. (AB-1969, AB-1226)
  • Git Version Control account scope - Git Version Control and its History act only on the repositories and SSH keys of the hosting account you are signed in to. (AB-1981)
  • Client panel record access - client panel lists, searches, and row and bulk actions show and act only on the records of the signed-in account, also in a tab left open after an administrator leaves impersonation. Git pull and history, and the SSL status on Domains and the client dashboard, answer only for the account's own repositories and domains. (AB-1970)

Databases ​

  • Unique database names - a new MariaDB database is created only under a name no other database on the server uses. The panel, the Database Wizard, and both REST APIs check it, and the APIs answer 409 when the name is taken. Health lists a database shared by more than one account as a critical Databases finding. (AB-1982)
  • Table actions in pop-up windows - row actions of tables inside a pop-up window, such as Restore, Delete, Edit Privileges, and Detach from Database in the client Databases edit window, work every time it opens. (AB-1984)

Firewall ​

  • JetBackup access - Firewall Rules has a JetBackup access dialog that keeps the JetBackup port open, limits it to chosen networks, or closes it, also over /api/admin/firewall/jetbackup. Fix System Ports keeps the choice, and the upgrade carries over a source or block set by hand. (AB-1853)
  • Firewall rule ports - source and destination ports accept a port from 1 to 65535 or a range such as 2000-3000 and are checked on create and edit. A stored rule whose port cannot be read is left out of the firewall and listed until it is fixed. (AB-2008)
  • DHCPv6 on IPv6 - the firewall accepts DHCPv6 replies, and the upgrade removes the manual workaround rule. (AB-1798)
  • firewalld warning - Firewall Rules warns when firewalld runs next to the panel firewall, with the command that stops it. The panel never installs or starts firewalld. (AB-2004)

Server settings and services ​

  • Settings saved once applied - MySQL Settings, FTP settings, MyApache Settings, ModSecurity, LiteSpeed Settings, and the Fail2Ban settings and jails are saved only once the server runs them. A refused change saves nothing and shows the cause and a correlation ID, and the form keeps your edits for a retry. (AB-1864)
  • Unknown install or removal result - an install or removal the server stopped tracking, for example after an agent restart, is closed on Health > Manage services. The service's actions are offered again, with a note that the last result is unknown. (AB-1759)
  • Re-configure on the selected server - Re-configure on the Services page runs on the server chosen in the Server selector, like Restart, Install, and Remove, and its result names that server. A failed Re-configure also gives a correlation ID to look up in Logs. (AB-1852)
  • LSAPI Engine install - installing mod_proxy_lsapi is refused while LiteSpeed Enterprise or OpenLiteSpeed is the web server, and on CloudLinux, where the message points to the CloudLinux lsapi_module. After an install, the command-line tool reports whether Apache loads the module. (AB-1808)
  • Module install errors - a failed LiteSpeed Enterprise, OpenLiteSpeed, LSAPI Engine, or Phusion Passenger install gives its cause in the notification, the Provision Log, and Logs. A package that no enabled repository provides is named, with the advice to enable a repository that provides it or check that the server can reach its package repositories. (AB-1858)
  • Softaculous install check - installing Softaculous checks that the application itself is in place, and a missing application fails the install with the installer's explanation. Install repairs a server that has the package but not the application, and Softaculous counts as installed only when Open Softaculous can open it. (AB-1700)

Fixes and smaller changes ​

  • Health in your language - Health issues, the dashboard attention card, and the mail and web server dashboards follow each administrator's interface language. (AB-2010)
  • Logs, Metrics, and language list - the log tabs and the client Error Logs have a Refresh action, and the Module and text filters narrow the rows on every Logs tab. Metrics says when its module is not installed instead of loading forever, the client mailbox form selects the first domain by default, and the language list fits the window. (AB-1230, AB-1232, AB-1238, AB-1239, AB-1242, AB-1496)
  • Install report - with install telemetry on, a new installation reports once that its first setup finished, and the hub registration carries the installed panel version. (AB-2067)

[1.9.2] - 2026-10-07 ​

Release Overview ​

This release adds the Background Jobs page, where you see waiting, running, and failed background jobs and run failed ones again, also over the admin REST API. Servers with many sites get more room: the web servers keep serving as sites are added, AutoSSL works through large numbers of domains and shows its progress, and the hub DNS sync stays quick on hubs with thousands of zones. Every setting on the PHP version configuration page reaches the server. The release also fixes secondary DNS on the hub, LiteSpeed installs and removal, SSH Access and Resolver Configuration, WordPress installs, and the Web Server tabs, and removes the admin phpMyAdmin settings page.

Background jobs ​

  • Background Jobs page - Health > Background Jobs lists the jobs waiting or running and the failed jobs in plain words: the job, its queue, what went wrong, and when, with the technical details behind Details and sensitive values masked. A failed job can be run again or deleted one by one, Run all again runs the failed jobs again a batch at a time, and Delete broken jobs removes the jobs that can never run again. The same actions are available in the admin REST API under /api/background-jobs. The dashboard's system status and the Health finding open this page. Long tasks, such as the package check after a system package upgrade or a CloudLinux conversion, run to completion. (AB-1282, AB-1825)

Servers with many sites ​

  • Web server capacity - Apache, LiteSpeed, and PHP-FPM run with a higher open-file limit, so a server keeps serving reliably as more sites are added. Existing servers get the new limit on upgrade, without a restart of these services. (AB-1688)
  • AutoSSL at scale - AutoSSL keeps within the certificate authority's limits, carries on past a slow order, and runs one pass at a time. The AutoSSL tab shows its progress: domains done, issued, failed, skipped, and left for a later pass. (AB-1692)
  • Hub DNS sync at scale - the hub DNS sync updates only the node zones that changed, so it stays quick on hubs with thousands of zones. Resync DNS and the per-node Resync still push every zone. (AB-1843)

PHP ​

  • PHP version settings - every php.ini and extension setting on a version's configuration page reaches the server, including Implicit Flush, OPcache, and Imagick, and the page reports the configuration as applied only once the server runs it. Settings saved earlier carry over on the next save. (AB-1774, AB-1775)
  • alt-php extensions - on CloudLinux, every alt-php extension switch reaches the server, an alt-php version offers only the extensions it ships, and saving an alt-php configuration reloads the web server that serves it. (AB-1776, AB-1777)
  • PHP versions of different families - Remi PHP, alt-php, and LSPHP of the same release are separate versions: each lists, and checks before removal, only the websites that run it. Installing or removing a Remi PHP version leaves the LSPHP and alt-php builds of that release as they are, and the install and removal log names each step. (AB-1768, AB-1769, AB-1778)
  • PHP-FPM pool settings - the PHP-FPM Configuration tab of PHP Domain Assignment shows Environment Variables, Ping Path, Ping Response, and Terminate Timeout, and what you save there is written to the domain's pool. Settings that could not take effect are removed, and only administrators set these values. bolt-cli rebuild-php-fpm-pools reports each domain that failed and exits with an error when any did. (AB-1785, AB-1786)
  • PHP Migration on CloudLinux - on CloudLinux the Web Server tabs leave out PHP Migration; websites move to alt-php from Settings > CloudLinux > Isolation Report. (AB-1956)
  • Run PHP Script cron template - the client template uses the PHP version of the account's main domain and the account's home folder, and plain php on CloudLinux. The admin template uses the newest installed PHP. (AB-1961)

Web servers ​

  • Web Server tabs - the Web Server pages show only the tabs that apply to the server's web server, and the engine cards link only to pages that apply, with Install for an engine that is not installed. (AB-1814)
  • LiteSpeed install errors - a failed LiteSpeed Enterprise, OpenLiteSpeed, or LSAPI Engine install names the missing package and the next step. (AB-1760)
  • LiteSpeed Enterprise removal - uninstalling LiteSpeed Enterprise moves the files it left behind into a dated folder with a list of the moved files, so a later OpenLiteSpeed install starts clean. Nothing is deleted, and the logs and LSPHP builds stay in place. OpenLiteSpeed cannot be installed until the move has finished. (AB-1761)
  • LSPHP during a LiteSpeed install - installing LiteSpeed Enterprise, OpenLiteSpeed, or the LSAPI Engine sets up LSPHP for every installed Remi PHP version, including versions installed outside the panel. CloudLinux servers use alt-php and are not affected. (AB-1762)
  • Switch to MyApache - Switch to MyApache on the LiteSpeed page is hidden and refused while Apache is already the active web server. (AB-1767)
  • LiteSpeed in Manage services - the LiteSpeed row is LiteSpeed Enterprise only, and its actions act only on LiteSpeed Enterprise. (AB-1783)
  • Phusion Passenger on Apache - the Phusion Passenger is not installed warning and Install Passenger show when Apache serves applications without Passenger. (AB-1779)
  • Web server API - LSPHP versions stay listed and manageable when no web server uses them, with a note saying so. Web server API errors carry a correlation ID, and the Service status tile matches the Engines card. (AB-1855)
  • LSPHP after removing OpenLiteSpeed - removing OpenLiteSpeed keeps the LSPHP versions with all their extensions, and applying a LiteSpeed licence key leaves a stopped LiteSpeed stopped. (AB-1855)

DNS cluster ​

  • SRV records on the hub - SRV records of the zones the hub mirrors from its nodes, and from cPanel and Plesk sources, resolve on the hub and transfer to the cluster secondaries. (AB-1802)
  • Secondary DNS role - turning on the Secondary DNS role for a node checks that the node registered the hub and shows the node's reason when it did not, and the role is refused while the cluster's NS1 is empty. A node that is already a secondary keeps its zones, and Register again repairs its registration. (AB-1834)
  • NOTIFY and the TSIG key - the hub sends NOTIFY unsigned, so every secondary receives new zones, with or without a TSIG key. The upgrade pushes the updated configuration once, and the Secondary DNS Servers form explains that the key signs zone transfers. (AB-1890)

Server settings ​

Websites and applications ​

  • WordPress database limit - when the plan has no free database left, the WordPress installer says so before it changes anything. A failed install removes the database and database user it created and names the reason and the next step. (AB-1837)
  • WordPress Go to Admin - Go to Admin signs in to WordPress through single sign-on, also while an administrator impersonates the account, and opens /wp-admin when single sign-on fails. (AB-1952)
  • Install Dependencies for Node.js - Install Dependencies runs the npm of the Node.js version selected for the application and, when it fails, shows what the command printed. (AB-1841)
  • Git Version Control folders - Git Version Control clones into a new or empty folder, and a failed clone cleans up only what it created. The page opens for accounts whose plan includes the Git Version Control feature. (AB-1708)

Mail, databases, and backups ​

  • Autoresponder time zone - the autoresponder schedule names the time zone its dates and times are entered in, and a schedule that has already started can be saved unchanged. (AB-1900)
  • MariaDB database creation - creating a MariaDB database checks the account password first and, when it cannot be read, asks for the hosting account password to be reset before anything is created. (AB-1901)
  • Unreadable backup destinations - when the saved settings of a backup destination cannot be read, the backup stops with a message that names the destination and the fix, and the destination shows Settings unreadable. Entering its settings again and saving restores backups. (AB-1902)
  • Admin phpMyAdmin page removed - the admin phpMyAdmin settings page is removed. Administrators open the panel databases with Adminer, and customers keep phpMyAdmin. (AB-1682)

Fixes and smaller changes ​

  • Panel log access - the panel log folder and its files use restricted access controls. (AB-1966)

[1.9.1] - 2026-10-01 ​

Release Overview ​

This release moves hub accounts between nodes together with their website files, email, and databases, installs a purchased certificate for the panel hostname, and adds web server and PHP endpoints to the admin REST API. The Backups hub warns when scheduled backups fall behind, certificate renewal and certificates after a restore are fixed, mailing list subscribers stay with their own account, and Migration opens straight on the cPanel and DirectAdmin import.

Multi-server management ​

  • Hub account migration with data - migrating an account from one node to another copies its Website files, Email, and Databases along with its configuration, all ticked by default in the migrate dialog, with the progress shown on the migration's own page. With Suspend the account on this server afterwards ticked, the source account is suspended before a second pass that copies whatever changed during the first one. The account owner can turn off the copying of their data on the client Password & Security page, and a migration that copies data is then refused. A migration that fails leaves the copy on the target for a retry. A migration whose DNS switch or source suspension did not finish is shown as completed with warnings. The hub pages move to /admin/cluster/... addresses, Fleet Accounts is now Cluster Accounts, and the old addresses still open the new pages. (AB-1120)

SSL certificates ​

  • Purchased hostname certificate - the Networking tab of General Settings installs a purchased certificate for the panel hostname. A certificate the panel cannot use is refused before anything changes; otherwise it is applied to the panel, mail, FTP, and the web server, and the page shows the source, issuer, expiry, and coverage of the certificate in use. The automatic hostname renewal keeps a purchased certificate in place, and the panel warns 30, 14, 7, and 1 days before it expires and again once it has expired. Switching back to automatic SSL orders a new certificate first and keeps the purchased one if the order fails. (AB-1479)
  • Legacy certificate renewal - older Let's Encrypt and ZeroSSL certificates renew on the usual schedule. bolt-cli run-auto-ssl --list-unmanaged lists every domain AutoSSL does not renew and why. Uploaded certificates are stored with automatic renewal off. (AB-1535)
  • Certificates after a restore - after an in-place, whole-account, or JetBackup restore, the panel issues a new automatic certificate when the restored one can no longer be used. A certificate the customer uploaded stays as it is, and for an account with AutoSSL switched off the Issuance history says the restored certificate needs to be replaced. (AB-1712)
  • SSL alerts for every administrator - SSL, LVE fault, reseller limit, and stuck worker alerts reach the notification bell of every administrator. An SSL alert opens the page of its certificate, or the SSL Certificates list when it covers several, and the certificate page shows its Domain, Owner, Type, and Expiration. (AB-1525)

REST API ​

  • Web server and PHP API - the admin REST API gains /api/admin/web-server, which reports the configured web server, the one serving ports 80 and 443, and whether they differ, installs and removes Apache, LiteSpeed Enterprise, OpenLiteSpeed, Phusion Passenger, and the LSAPI Engine, re-configures Apache and LiteSpeed, and follows each job with its log. /api/admin/php-versions lists, installs, and removes PHP versions, shows what uses a version, and reads and changes its php.ini directives, extensions, and PHP-FPM settings. The API refuses what the panel pages refuse, with the reason, so a server can be set up end to end over the API. (AB-1758)

Backups ​

  • Backup lag warning - the Backups hub warns when scheduled backups fall behind, with the number of accounts behind and waiting, how long the oldest one has been due, and how many backup slots are in use. It says whether all slots are busy, with the ways to catch up, or whether slots are free and the panel scheduler needs checking. (AB-1794)
  • Backup slots - by default half of the server's CPUs run backups at once, at least one, and bolt-cli set-ini-settings BOLT_BACKUP_CONCURRENCY <n> sets a fixed number. Backup now says why a backup did not start. (AB-1792, AB-1793)

Mail and databases ​

  • Mailing list subscribers - subscribers belong to the account of the list they subscribe to, so each customer sees only their own subscriptions, and unsubscribe and moderator changes act on the right list. A list's archive is deleted together with the list, and deleting a hosting account removes its mailing lists, archives, and subscribers completely. The /api/mailing-lists endpoints act only on the lists of the API key's own account. (AB-1734)
  • Database user actions - on the client Databases page, Edit Privileges and Detach from Database each open their own dialog on the first click, the row actions look disabled while a request runs, and saving privileges confirms with Database user privileges updated successfully. (AB-1770)
  • Adminer access - Adminer opens for signed-in administrators and, for their PostgreSQL databases, for signed-in customers with an active account. The panel's own databases open for administrators only, and the admin database shortcuts sign in to Adminer directly. (AB-1811)
  • Email Filters page removed - the unused client Email Filters page is removed. Mail filters are managed in Roundcube. (AB-1236)

Panel pages ​

  • Migration page - Migration opens Migrate from cPanel or DirectAdmin directly, with a short How a migration works section and a Start a migration button. The old export and import pages are removed and their addresses lead to the migration page; hub migration, the REST API, bolt-cli, and JetBackup keep exporting and importing accounts. (AB-1816)
  • Plan limit messages - limit messages shown to customers say your hosting plan instead of the plan's internal name. On the client dashboard the Disk Usage banner and the files-and-databases banner are never shown together, and both are judged on exact sizes. (AB-1772)
  • Disk Usage locations - on the client Disk Usage page a folder opens in the File Manager in a new tab, Other files in the home directory opens the home directory, and the Databases row opens the Databases page. Folder names are shown as plain text. (AB-1139)
  • Execution details - a row on the Executions tab of Logs opens the details of that execution. (AB-1695)
  • SSH Terminal menu item - the SSH Terminal menu item is shown only to accounts with SSH access. (AB-1793)

Fixes and smaller changes ​

  • Passenger install - a finished Phusion Passenger install opens its page in Modules. (AB-1234)
  • Admin dashboard cards - the Updates card stays within its height and its buttons stay clear of Quick Actions, and Top Accounts shows each account's name and full row at every card width. (AB-1771, AB-1797)
  • Faster statistics refresh - account statistics refresh faster, and an account deleted during the refresh is skipped. (AB-1790)
  • Full-width settings pages - Domain Security, the Ticketing pages, and Secondary DNS Servers use the full Settings width. (AB-1684, AB-1822)

[1.9.0] - 2026-09-24 ​

Release Overview ​

This release enforces plan limits for disk space, inodes, and bandwidth, and adds whole-account restores, per-domain maintenance mode, operation hooks, secondary DNS servers, native LiteSpeed Enterprise with application support, the ImunifyAV module, a client CPGuard page, a blocked domains list, and an Integrations page. On CloudLinux servers it adds the Isolation Report with a guided move of websites to alt-php, reseller LVE limits, CageFS per account, and a set of conversion fixes.

Hosting plans and limits ​

  • Enforced plan allowances - hosting plans enforce Disk Space, a new Inodes limit, and Bandwidth, controlled from Settings > General Settings > Plan limits: Enforce disk and inode allowances with a Headroom above the plan (10% by default) and a Grace period (7 days by default), Act on accounts whose databases spend the disk allowance, and Act on accounts over their bandwidth allowance at a set share of the monthly allowance (Act at, 100% by default). An account over its limit can show visitors a notice page naming the limit, starting from the plan allowance or from the hard limit as you choose. Disk and inode enforcement is off on updated servers: bolt-cli manage-disk-quota --action=install switches it on (--action=status reports the state, --action=disable switches it off) and tells you when the server needs a reboot before limits apply. On fresh installations that support it, disk and inode limits apply from the first account, and otherwise the installer warns that they cannot be enforced. Database and bandwidth enforcement start off and are switched on in Plan limits. Mailing Lists plan limits are enforced, a plan change is judged on the account's real usage so an account that fits a larger plan can move to it, and a limit of 0 counts as unlimited for the disk, database disk, bandwidth, and inode warnings. (AB-1621, AB-1172)
  • Combined disk usage - the client dashboard shows one Disk Usage bar for files and databases together against the plan's Disk Space, with the databases as a labelled part, a warning at 80% and a critical state at 95% of the combined figure, and Unlimited when Disk Space is 0. The admin account page, the account list, and the admin, reseller, and client usage APIs report the same combined figure in the new combinedDiskUsage, diskUsagePercent, and diskUsageLevel fields. The client usage API returns the same shape as the admin one: sizes and counts as plain numbers, warnings as true/false, and an empty diskUsagePercent on an unlimited plan. (AB-1502)
  • Inode usage - the client Disk Usage page shows Files (inodes) with the count used, the limit, and the percentage, or unlimited, turning red with advice at 90% and warning when the limit is reached. Administrators get an inode column in the account list (hidden by default) and inode usage on the account page, and the usage-details API endpoints for admins, resellers, and clients return inodes, totalInodes (0 means unlimited), and inodeUsageWarning, which is true from 90%. (AB-1268)
  • Free temporary domain option - a Free temporary domains option on the Feature List decides whether clients see the free temporary domain on their dashboard, and Hide the free temporary domain from all customers under Settings > General Settings > Branding hides it for all customers. Existing Feature Lists keep the option ticked after the update. (AB-1660)

Backups ​

  • Whole-account restore - account backups include the account's mailboxes, databases, database users, and grants. A new Whole account (files, mailboxes, databases and users) restore mode puts the home directory back and recreates whatever is missing with its original passwords, importing the databases, while mailboxes and databases that still exist are left as they are. Restore to new account uses this mode when the original username is kept. Restore Jobs has a Report for each whole-account restore and the Backups page a Restore report for the latest one, listing each mailbox, database, database user, and grant as Recreated, Left as it was, Failed, or Not restored. Whole-account restore works from backups taken after the update to this release, and PostgreSQL databases are outside its scope. (AB-1667)
  • Client Backups page - the client Backups page is available whenever the plan includes Backups and explains why nothing runs when there is no policy, the policy is off, or the account opted out. The admin Backup Policies list and the plan form warn about plans that no policy covers, and in the reseller panel the plan form warning counts only that reseller's accounts and points to the server administrator. A reseller plan can use only a Feature List that reseller owns, in the panel and over the REST API, and clients restore from the snapshots the page lists. (AB-1664)

Domains and websites ​

  • Maintenance mode - clients put a domain into maintenance from the Maintenance mode action on the domain list, and the Maintenance column shows Off, On, or On until a set time. The dialog sets Retry-After (minutes) (60 by default), an optional Turn off automatically after (hours) of up to 720 hours, and the Page HTML, which falls back to a default page when left empty and takes up to 256 KB. Visitors see the maintenance page, certificates are issued as usual, and maintenance turns itself off at the deadline, on Apache, LiteSpeed Enterprise, and OpenLiteSpeed. (AB-1257)
  • Git commit history - each repository in Git Version Control gains a History action with the last 20 commits of the checked-out branch (commit, author, date, and message) and an empty list for a repository without commits. Repository Path takes a folder inside the home directory, such as my-site or projects/shop, and a folder the panel manages or cannot use is refused before anything runs. A failed clone or pull names the reason, such as failed authentication, a missing repository or branch, a folder that already holds a repository, an unreachable remote host, or local changes that would be overwritten. (AB-1147, AB-1620)
  • Existing WordPress installations - when an installation stops because WordPress is already installed in the chosen folder, Install WordPress shows WordPress is already installed in this directory with a Use the existing installation button as an alternative to Clean existing files before installation. It keeps the site's files and database, makes the folder serve WordPress again, keeps any other start page it finds there as index.php.landing, and confirms with Open site. (AB-1681)

DNS ​

  • Secondary DNS servers - Change Nameservers and the DNS section of General Settings hold an ordered list of nameservers that you extend with Add Nameserver and reorder, with at least two entries. The hostname zone gets one NS record per nameserver, and DNS templates gain {{GENERAL_NS}} for one record per nameserver plus {{GENERAL_NS3}} and higher. Settings > DNS > Secondary DNS Servers (under DNS Cluster when hub mode is on) adds external secondary DNS servers with an optional authentication key and ready-to-paste setup instructions for the secondary, and a secondary set up with these instructions picks up new and deleted domains automatically. Existing nameserver settings carry over on update. (AB-946, AB-455)
  • External DNS sources - external DNS sources sync and are removed in the background with progress and a Cancel action, Remove stops a running sync first, and each source has its own Sync every (minutes) setting. Large zones import in full, Global DNS Zones loads page by page with tens of thousands of zones and shows each zone's source, and Remove orphaned zones clears zones left without a source, also available as bolt-cli dns-orphan-zones (--remove --yes deletes them, --notify sends the result). Results arrive by email, Slack, Discord, and the notification bell through three new notification events. (AB-1649)

Web servers ​

  • Native LiteSpeed Enterprise - LiteSpeed Enterprise can run with its own native configuration, and in that mode it serves Node.js, Python, and Ruby applications. A new LiteSpeed installation runs in native mode. Existing LiteSpeed servers keep their current mode and show a Mode badge with Convert to native mode and Revert to Apache drop-in, and missing or orphaned site configurations are reported on the Web Server dashboard and fixed with Rebuild LiteSpeed Enterprise vhosts. (AB-1644)
  • Web server consistency - the Needs attention card on the dashboard and the Health page raise a critical fault when a web server other than the configured one serves ports 80 and 443. The Web Server dashboard names the server that is serving, shows Serving on 80/443 for each engine, and offers actions to restore the configured server, adopt the running one, or rebuild the OpenLiteSpeed sites. Switching to LiteSpeed Enterprise confirms that it is serving, and when it is not, the panel returns to Apache and says so. The LiteSpeed page shows OpenLiteSpeed with a card of its own. (AB-1513, AB-1530)
  • LiteSpeed module install - installing LiteSpeed, the LSAPI Engine, or Phusion Passenger from Modules leaves PHP running on existing Apache domains until you switch web servers. Domains that could not be prepared are listed in a warning, with a copy in the notification bell, and bolt-cli rebuild-apache-vhosts repairs them, or one domain with --domain=<domain>. (AB-1220)

CloudLinux ​

  • Isolation Report and alt-php - Settings > CloudLinux > Isolation Report says whether the server keeps its hosting accounts apart, with Account isolation is guaranteed or Account isolation is not guaranteed, and lists what is left under Steps to full isolation, with Enable CageFS for them, Install mod_hostinglimits, and Switch to PHP Selector extensions where the panel can take the step itself. On a CloudLinux server, hosting plans, domains, and clients choose from CloudLinux alt-php versions, PHP Versions marks Remi PHP and LSPHP as Not supported on CloudLinux, and the Move websites to alt-php card moves the remaining websites in the background, with Move the remaining websites for any that did not move. The Health page raises a critical issue while websites still run PHP outside LVE and CageFS, the installer page links to the report with Open Isolation Report, and websites on alt-php and LSPHP keep PHP error messages from visitors by default. (AB-1673)
  • Reseller LVE limits - the reseller form has CloudLinux LVE Resource Limits, a ceiling for all of the reseller's accounts together, and Edit Account has CloudLinux LVE Resource Overrides for one account within that ceiling. Resellers get LVE Usage and LVE Faults under Hosting Management, the reseller dashboard and the admin reseller list show each LVE limit that is set, and a new System Notifications event for LVE faults, off by default, alerts the administrator and the reseller. When CloudLinux does not take the new limits, saving the reseller names the accounts that kept their previous limits, and saving again retries. (AB-1039)
  • CageFS per account - the admin Edit Account form has an Account isolation (CageFS) switch that shows and changes the account's CageFS state on the server. When that state cannot be read, the switch is locked and saving leaves CageFS as it is, and switching SSH access off leaves the account in CageFS. (AB-1678)
  • Plan LVE limits - clearing LVE limit fields on a hosting plan removes those limits from its accounts, and clearing all of them returns the accounts to the CloudLinux defaults. Processes must be greater than Entry Processes plus 15, counting the CloudLinux default when Entry Processes is empty. The plan form and the admin and reseller hosting plan APIs refuse a smaller value and name the smallest one that works (422 over the API), and an account import raises the value to that minimum. (AB-1224)
  • X-Ray and AccelerateWP license - X-Ray and AccelerateWP install on a CloudLinux OS Shared Pro license. On any other edition, installing them from Modules or from their installers is refused with a message that names the server's license and asks you to change it in CLN, then install again. (AB-1540)
  • PHP Selector and the panel - PHP versions enabled or disabled in the LVE Manager PHP Selector appear in or leave the panel's PHP version lists within a minute. An account's command-line PHP, for SSH sessions and cron jobs, follows the PHP version of its main domain and stays aligned when that version or the account's CageFS setting changes, and extensions switched on or off in the PHP Selector apply to the accounts on that version and show as the matching settings in the panel. (AB-1675, AB-1676, AB-1677)
  • Conversion outcome - a CloudLinux conversion is judged by what ended up on the server: the components the licence edition should bring and whether the server will boot into CloudLinux. On failure the CloudLinux installer page lists the missing components next to the edition, shows CloudLinux's own log below the conversion log, and explains known causes in plain words, such as an IP address without a licence, with the step that resumes the run. After Try again the page keeps the previous failed run with its outcome, stage, edition, running kernel, and log. (AB-1353)
  • Conversion tool verification - a failed precheck names the reason before the conversion starts, and a conversion that fails names its reason too. The conversion can also be run again through the admin API on a server that already runs CloudLinux, for example to repair it. (AB-1203)
  • Apache after conversion - a CloudLinux conversion leaves Apache set up the way AdminBolt hosting accounts expect, so existing sites keep serving their pages and PHP, and new hosting accounts and domains can be created on plans the server supports. The setup survives a re-run of the conversion and CloudLinux updates to its Apache packages, and the conversion result in the admin API shows whether Apache is ready for AdminBolt accounts. (AB-1662)
  • PHP on converted servers - on a converted CloudLinux server, new accounts and domains, including backup imports, get a PHP version that runs. When a plan's PHP version cannot be served, the create-account form flags the plan with PHP not available on this server as soon as it is picked, and creation is refused with the reason before anything is created. Clients pick only from the PHP versions they are allowed. (AB-1221)
  • WordPress on alt-php - WordPress tools work on CloudLinux sites running alt-php: the Install WordPress wizard, the plugin list and plugin removal, site statistics, the version check, and single sign-on. When WP-CLI cannot run, the action names the reason, such as a missing PHP extension or an unavailable PHP version, a management action that fails is reported as failed, and the Overview tab of WordPress management shows which WP-CLI version manages the site. (AB-1200)
  • Client PHP Selector - clients find PHP Selector under Advanced in the client panel whenever LVE Manager is installed, the administrator has not ticked Hide PHP Selector in LVE Manager, and the hosting plan includes the PHP Selector feature. When any of these conditions is not met, the entry is hidden and the page cannot be opened through a direct link either. The embedded CloudLinux screens open in a frame sized to the browser window, and longer content, such as AccelerateWP, scrolls inside that frame. (AB-1646)
  • Resource Usage options - customers with access to Resource Usage on a CloudLinux server can open its Options tab and see the resource usage notification settings for their account, together with their reseller and plan, without any details from other accounts. The client-area CloudLinux pages that list available PHP versions open for customers as well. (AB-1661, AB-1680)
  • CloudLinux tool errors - when a CloudLinux tool behind a client page fails (Resource Usage, X-Ray, PHP Selector, or AccelerateWP), the client sees one neutral message and the panel log records one error entry with the details for the administrator. A tool that prints a warning next to valid data works normally. (AB-1484)
  • alt-ruby for applications - Application Runtimes finds the installed CloudLinux alt-ruby versions, and LVE Manager shows only the selectors AdminBolt embeds, so customers choose their Ruby version on the Applications page. (AB-1679)
  • PHP version list refresh - the panel's list of installed PHP versions, which domains and hosting plans choose from, updates automatically when PHP versions, including alt-php builds, are installed or removed, also when that happens from the command line. A newly installed alt-php version can be assigned straight away, and a removed version drops out of the list. This also applies to servers updated to 1.9.0. (AB-1658)
  • Stuck worker recovery - on servers with Watchdog installed, a web server worker that stays stuck at full CPU for several minutes is detected and stopped automatically. Apache is not restarted, and the other workers keep running. Each event is written to the panel log, as an error when the worker could not be stopped, and raises a new System Notifications event for a stuck web server worker. The event is enabled by default and is delivered to the admin notification bell and through the notification channels the administrator has configured. bolt-watchdog stuck-workers history lists the detections (with --limit and --json), bolt-watchdog stuck-workers settings get shows the detection settings, and bolt-watchdog stuck-workers settings set <key> <value> changes them, for example to switch detection off or to change how long a worker must stay at full CPU before it is stopped. (AB-1663)

Security and access ​

  • ImunifyAV module - ImunifyAV, the free malware scanning edition, installs from its card in Modules without an activation key and sits next to Imunify360 and CPGuard, and an ImunifyAV installed by hand shows as connected. Only one of Imunify360, ImunifyAV, and CPGuard can be active, and each install wizard names the module that blocks it. Modules > ImunifyAV shows the install and service state, the version, the last scan with the number of malicious files, the detected files across accounts, and the embedded ImunifyAV interface. Upgrade to Imunify360 replaces ImunifyAV in one run with an optional Activation Key, left empty only when CLN already licenses the server by its IP, and if Imunify360 ends up without a valid license, ImunifyAV comes back. Clients see their own detected files and the ImunifyAV interface for their account under Security > ImunifyAV, following the ImunifyAV plan feature, which updating to 1.9.0 turns on for existing feature lists. (AB-1482)
  • Client CPGuard page - clients get a CPGuard page under Security with their scan history (who started each scan, status, times, files scanned, and detections), the Detections of each scan, Stop for their own running scan, and Scan my files, limited in how often a scan can start and never while a scan of their files is still running. Clients see detections inside their own account only. The admin CPGuard page under Modules holds the full history with Scan an account, Scan whole server, Detections, Stop, and Delete. The pages appear once CPGuard is installed and the plan grants the CPGuard feature. (AB-1614)
  • Blocked domains list - Settings > Security > Domain Security gains a Blocked domains list: example.com blocks that domain and every name under it, *.example.com only the names under it. The list applies to administrators, resellers, clients, and API keys whenever an account is created or a domain is added, parked, used for a subdomain, or renamed, and the refusal names the matching entry. It comes with a default list of major mail and social providers, active on updated servers as well, which Restore the default list brings back. Import and migration reports flag domains that match the list for review. (AB-1666)
  • Panel sign-in protection - repeated failed panel sign-ins block the address on the panel only, for a limited time, while SSH, websites, and mail stay reachable and open SSH sessions stay connected, and the protection stays in place after you change the panel port. While the Fail2Ban whitelist is empty, the admin dashboard offers Whitelist followed by your current address, or Not now, and when the address cannot be whitelisted the offer stays so you can try again. bolt-cli setup-web-panel-port refuses a port that is already in use, reports whether the change succeeded, and exits with a non-zero code when it did not, so scripts can rely on its result. The admin sign-in field is Username or e-mail and accepts an administrator's e-mail address when exactly one administrator uses it. (AB-1694, AB-1702, AB-1703)
  • Fail2Ban jail status - Settings > Security > Fail2Ban > Jails shows Jails Status with the total failed, total banned, and currently banned counts for every active jail, including jails the panel did not create, and each jail's Statistics suggests a next step when the jail is disabled or inactive. Existing bookmarks to the old Fail2Ban status page open Jails Status. (AB-1659)
  • Client PHP version choice - clients choose only from the PHP versions the administrator offers them, on the domain form and in the client API, and a domain already on a version hidden from clients can still be saved without changing it. (AB-1205)
  • LiteSpeed Cache exclusions - Excluded paths on the client LiteSpeed Cache page and the admin LiteSpeed cache tab accept URL paths only, up to 255 characters per entry and 200 entries. The validation error names any invalid entry, and a missing leading slash or a duplicate is corrected for you. (AB-1206)
  • File manager - the file manager includes security fixes, refuses disallowed file types on upload and when extracting a ZIP archive, and opens only for a signed-in hosting account. (AB-1533)

Automation and integrations ​

  • Operation hooks - Settings > System > Operation Hooks runs your own scripts around panel operations: before and after creating or deleting a hosting account or a domain, and after creating, updating, or deleting a DNS record and creating or deleting a mailbox. A before hook that fails, times out, or cannot start stops the operation before anything changes and shows the user the first line of its output. Each hook has an event, a phase, a script, a timeout from 5 to 300 seconds, and an Enabled switch, the list shows the last run with its result, exit code, and duration, Run test sends a sample payload, and the script receives the operation details as JSON on standard input. (AB-1481)
  • Integrations page - a new Integrations page for administrators and resellers, with an Integrations card on the dashboard, lists the official billing integrations: the WHMCS plugin with Download plugin, Setup guide, and Repository links and a summary of what it does (provisioning Shared and Reseller accounts, a Log in to Control Panel button, disk and bandwidth usage sync), and the Blesta and Upmind modules with their capabilities, Download plugin, and Setup guide. (AB-1312, AB-1699)
  • Named administrator SSO - bolt-cli admin-sso-generate --admin=<username> creates a sign-in link for a named administrator and refuses an unknown name, and without the option it uses admin when that account exists and otherwise the oldest remaining administrator. The command output and the POST /api/admin/generate-sso-token response name the administrator, and the link signs in to that existing account and leaves its password as it is. (AB-1209)

API ​

  • API reference and CloudLinux responses - the published API reference documents the client file, cron job, forwarder, DNS record, and SSL certificate endpoints, the system update endpoints, and GET /api/admin/runtimes. CloudLinux operations answer with job_id for an install or reboot and log for the log endpoints, and integrations that read the agent block of these responses need to read these fields. GET /api/admin/cloudlinux/status adds previous_runs and running_kernel, GET /api/admin/cloudlinux/clcustomizer-log and GET /api/admin/cloudlinux/clcustomizer-log/previous return CloudLinux's own log for the current and the previous conversion run, and a failed POST /api/admin/runtimes/app-server/{runtime}/enable answers 502 with a correlation_id to quote to support. See CloudLinux. (AB-1642)

Licensing ​

  • Trial to paid license - the License page shows Trial license or Paid license with the days left. On a trial, Buy a license opens billing already signed in on the upgrade page, the panel picks up the payment by itself or on I have paid, check now, the license key field is always available, a new paid key replaces a running trial, and a rejected key leaves everything as it was. A full license issued by billing through the trial signup shows as a paid license straight away: the License page shows it as active, and neither the License page nor onboarding uses trial wording or asks for an e-mail confirmation. (AB-1648, AB-1687)
  • License revalidation - a renewed license unlocks the panel at the next scheduled check, and Check license status now on the License page shows whether the license is valid, its stored expiry, and whether the panel is unlocked. bolt-cli revalidate-license exits with 0 for a valid license, 6 for an invalid one with the reason, 3 when no key is stored, and 4 when the license server cannot be reached. bolt-cli set-license-key <key> checks a key and stores it, and asks for the key when it is left out, and the lock screen points to both commands. The trial message on License and Onboarding asks you to press Confirm on the page the e-mail link opens. (AB-1503)

Bug fixes ​

  • Account home ownership - the Health page raises a critical Account homes issue naming each account whose folders need repair, with a Repair ownership button that fixes them without touching their contents, and a warning lists accounts without a home folder. bolt-cli repair-home-ownership does the same from the shell, with --dry-run to report only. When the server recreates a missing home folder, domain folder, or document root for an account, for example while applying website or PHP settings, those folders belong to that account. (AB-1531)
  • Health check command - bolt-cli health-check reports the state of the configured web server (Apache, OpenLiteSpeed, or LiteSpeed) and of MariaDB, starts a stopped service and checks it again, leaves healthy services alone, and carries on with the remaining services after one fails. It exits with 1 when a required service is still down after the repair, so scripts and monitoring can act on it. (AB-1671)
  • Redis status - the client Redis page shows Running, Stopped, Suspended, or Unknown with the cause and the next step, offers Restart when the instance is stopped, asks for confirmation when the state is unknown, and leaves the action out while Redis runs. The admin health, services, and REST API status report Redis the same way, and an update leaves clients' Redis instances running when nothing about them changed. (AB-1668)
  • Watchdog install and removal - Watchdog is running and reported healthy right after installation. Installing or upgrading Watchdog reports a warning when it is not running afterwards, uninstalling removes its registered services and stored settings so a reinstall starts fresh, and bolt-watchdog --version prints the installed version. (AB-1231, AB-1243)
  • Panel certificate chain - the panel port and the server's default HTTPS site serve the full certificate chain, and a fresh installation switches the panel to its real certificate as soon as it is issued. (AB-1670)
  • Mailbox sending suspension - the mailbox Outgoing mail field and the Suspend Sending row action are one control, suspending sending stops all outgoing mail from that mailbox, and the Restrictions column shows a single Sending suspended label. (AB-1460)
  • Partial certificate issuance - certificate issuance completes when an extra domain name points to an IPv6 address this server cannot reach: that name is left off with the reason, and the certificate covers the rest. (AB-1534)

Improvements ​

  • Quieter idle server - an idle server uses less CPU and writes fewer entries to the system log, and Hosting account statistics refresh interval on the Scheduler tab of Panel Settings sets how often account statistics refresh, from 5 to 60 minutes with 15 by default. On LiteSpeed Enterprise and OpenLiteSpeed the MyApache Workers widget on Metrics explains why Apache status is not shown, and the Status Location field on MyApache Settings is marked as Apache only. (AB-1509, AB-1506, AB-1510, AB-1511)
  • Plain error messages - resellers and clients see error messages in plain language, or a general message with a correlation ID for support when one is available, while administrators see the full detail. (AB-1467)
  • Improved - the hostname certificate check completes quickly and keeps the current certificate active when a replacement cannot be used, logging the reason. The status of a stopped or missing service reads as stopped or not found. SSH Access settings save and apply as entered, including removed addresses and the port, and settings lists keep removed entries removed. The mail server and DNS database cards under Settings > Adminer open their databases read-only and list the tables. WordPress single sign-on opens the WordPress dashboard directly and falls back to the WordPress login page when it cannot. The client Access Logs and Error Logs pages open for every hosting account. (AB-1168, AB-1246, AB-1247, AB-1398, AB-1469)

[1.8.4] - 2026-09-16 ​

Release Overview ​

A hotfix release on top of 1.8.2 that also carries the 1.8.3 hotfix, so updating a 1.8.2 server to 1.8.4 brings both. 1.8.4 keeps a fresh install from stalling on a network that blocks the checks behind the server's certificate. 1.8.3 gives every server a certificate authority account of its own for its default hostname certificate. Neither release changes a panel screen.

Installation ​

  • Installing on a restricted network - a fresh install no longer hangs for up to 20 minutes and then fails when the network blocks the lookups used to confirm that the server's certificate is ready. The mail and FTP services and bolt-agent start with a temporary self-signed certificate, and the real certificate is requested in the background and replaces it on its own once it is issued. A mail or FTP client that connects before then is offered the temporary certificate. (AB-1652)
  • Panel actions while the certificate is issued - the panel reaches the agent on its own server without depending on that certificate, so panel actions keep working while it is issued. (AB-1652)

From 1.8.3 (2026-09-14) ​

  • Default hostname certificate - every server obtains and renews the certificate for its default hostname under a certificate authority account of its own. Updating keeps the certificate the server already serves, so there is nothing to do by hand. (AB-1647)

[1.8.2] - 2026-09-09 ​

Release Overview ​

Clients open support tickets from the client panel into the helpdesk you already run, and AdminBolt hosting can be sold from more billing platforms. Every account can run a Redis instance of its own, and every update this server can install now sits on one screen, with live progress, an unattended nightly run, and an administrator API to drive it. The release also adds an editor for Apache include files, a Server Time page, ModSecurity rule vendors, remote mail routing, mail restores from an account backup, and a choice of MariaDB series.

Support tickets ​

  • Support Tickets - a new Settings > General > Support Tickets page connects the panel to Freshdesk, WHMCS, or Zendesk. Clients then open a ticket from the client panel and follow the whole conversation there, with the helpdesk status, unread markers, a reply form, and their earlier tickets. Staff replies are brought back into the panel, and a ticket reopened on either side returns to the conversation. (AB-963)
  • Submit a Ticket - the client panel gains a Support group with the ticket page in it, shown only where a helpdesk is connected. (AB-963)
  • Ticket Submissions - every submission is listed with its provider and its status, so a provider that stops accepting tickets is visible to the administrator. (AB-963)
  • Reseller ticketing - a reseller uses the panel-wide helpdesk, connects one of their own, or turns ticketing off for their clients. (AB-963)

Billing platforms ​

  • Modules for Blesta and Upmind - AdminBolt hosting can be provisioned from Blesta and Upmind as well as WHMCS. Each module creates, suspends, upgrades, and terminates the account, syncs its usage, and signs the client into the panel from the billing system's client area. (AB-1116, AB-1118)

System updates ​

  • System Updates, one page per package set - AdminBolt's own components, the operating system packages, and, on a converted server, the CloudLinux packages each get a tab, built from the same parts in the same order and carrying a count of what is outstanding behind it. (AB-1497, AB-1409, AB-1483)
  • Update progress and log - the update screen reports the phase, a clock, and a heartbeat, streams the whole log, follows the run across the panel restart in the middle of it, and reports completion only once the server is usable again. A build newer than the release channel is not offered the older one. (AB-1032)
  • Automatic updates - each package set has its own nightly unattended run, off by default, with the outcome of every run reported to all administrators. The operating system run can be narrowed to security updates only. (AB-1438, AB-1409, AB-1483)
  • System updates API - the administrator REST API under /api/system-updates checks, starts, and follows a run, reads the log and the changelog, and switches the unattended run on or off, for all three package sets. (AB-1032, AB-1483)

Web server ​

  • Apache Includes - a new Web Server > Apache Includes tab for custom Apache directives that survive a configuration rebuild, globally or for one account, one domain, or a single port. Each file is checked before it is applied, and a file the check refuses is reported back with the output. (AB-1440)
  • ModSecurity Vendors - install a rule set from an archive URL, then enable, disable, update, or remove it, each vendor on its own row with its own error. The OWASP Core Rule Set AdminBolt installs becomes the system vendor, which can be disabled but not removed. (AB-1447)
  • Apache MPM limits - the process and thread ceilings set on the page are the ceilings the web server runs with. Event and Worker gain optional Server Limit and Thread Limit fields. (AB-1433)
  • PHP memory ceiling per domain - every domain's PHP pool carries a memory ceiling sized against the server's own RAM, and the client reads the same number in the domain's PHP settings. (AB-1425)
  • PHP file handling - every domain on the server serves PHP files through PHP and everything else as static content. (AB-1491)

Email ​

  • Email Routing - a new client page marks a domain as remote so mail follows its MX record to an external provider, and back to local when it should be delivered here. It follows a hosting plan feature, granted on upgrade to every plan that already allows email accounts. (AB-1442)
  • Mail restores from a backup - the client Backups page restores a deleted mailbox with a password you choose, and restores a single mail folder into a new folder named after the snapshot date. (AB-1444)
  • Cron output email - a cron job that writes output can mail it to the account owner, to an address you give, or nowhere at all, for client cron jobs and for the panel's own root cron jobs. (AB-1445)
  • Mail login bans - repeated failed mail logins earn a ban that holds long enough to catch slow, spread out attempts, enforced on the mail ports. (AB-1450)

Databases ​

  • Redis per hosting account - an account runs its own Redis instance for object and session caching, private to the account, sized by the Redis memory (MB) field on the hosting plan, with ready-made connection details and one-click connection for the account's WordPress sites. (AB-1441)
  • Server-wide Redis limits - General Settings > Redis instances bounds what all account instances may take together, with a memory budget, a maximum instance count, and a line showing what is reserved today. A suspended account's instance stays down until the account is unsuspended. (AB-1556)
  • MariaDB series - choose which MariaDB series a server provisions, and upgrade in place from Database Settings when a newer supported series exists. (AB-1446)
  • phpMyAdmin configuration storage - phpMyAdmin gets its configuration storage after an install and after an upgrade, so its extended features work and it stops warning about them at login. (AB-1431)

Hosting accounts ​

  • Change primary domain - an account's primary domain can be changed from its View page in the admin panel. An account carrying mail is refused up front, because the change does not move mailboxes. (AB-1515)
  • Backups of a deleted account - deleting a hosting account keeps its backup repository under the old username, with Restore to new account and Delete backups beside it. (AB-1434)
  • Client PHP configuration follows the plan - a hosting plan decides whether clients see the Global Configuration tab on a domain, where the per-domain PHP directives are set. (AB-1443)
  • Account IP changes - creating, editing, or deleting a network IP assignment re-points the account's DNS records and rebuilds its virtual host. (AB-1451)
  • Web log cleanup - deleting a domain removes its web log directory, and deleting an account removes its whole log tree. (AB-1514)
  • Account statistics refresh - one hosting account statistics pass runs at a time, so passes cannot stack up on a server with many accounts. (AB-1495)

System and security ​

  • Server Time - a new Settings > System > Server Time page for the clock, the hardware clock, the synchronisation state, and the offset from network time, with the timezone, the synchronisation toggle, and a step-the-clock-now action. (AB-1439)
  • Firewall rule actions - a firewall rule carries its own action, accept, drop, or reject, block rules are applied ahead of accept rules, and the destination port is optional. A rule matching every address on every port asks for confirmation. (AB-1435, AB-1436)
  • Bans added from the panel - the bans tab gains Ban IP address, so a ban can be added and not only lifted. (AB-1436)
  • AutoSSL follows the account switch - AutoSSL obeys the per-account switch, now an AutoSSL tab beside Certificates and Issuance History. A domain whose DNS was not ready when it was created is picked up by an hourly run instead of waiting for the nightly sweep. (AB-1427, AB-1429)

API ​

  • Billing integration API - the administrator and reseller APIs answer by exact username or domain, take a plan by name, report usage as plain numbers, roll back a create that fails midway, and repeat suspend, unsuspend, and terminate safely. (AB-1115)

Fixes ​

  • Administrator password change - changing another administrator's password succeeds while the panel is busy. (AB-1466)
  • Reseller usage charts - the usage history charts on a hosting account render in the reseller panel. (AB-1485)
  • Reseller usage limits - usage-based reseller limits are enforced again, a header action on the account View page keeps working after the first use, and updating an account without naming a reseller keeps the owner it has. (AB-1123)
  • LSAPI Engine icon - the LSAPI Engine entry in Modules shows its logo. (AB-1432)
  • Apache includes cleanup - deleting a hosting account removes its include files, and Remove file acts on the file picked in Existing file and names it in the confirmation. (AB-1549)
  • ModSecurity state - the ModSecurity screens describe what the web server is enforcing, and a change that did not go through reports the reason instead of appearing to work. (AB-1550)
  • Disk usage that could not be measured - an account whose home directory cannot be measured keeps its last known figure, marked stale with the reason, rather than being recorded as zero. (AB-1551)
  • Network IP assignments - deleting a hosting account or a reseller takes its network IP assignments with it. (AB-1554)
  • Suspension page - every host and document root of a suspended account serves the suspension page, and unsuspending removes it again. (AB-1547)
  • Client login sessions - a client signed in on one device stays signed in when the same account signs in on another. (AB-1528)
  • Deleted account backups - a username reused after a deletion gets a repository of its own, Restore to new account states the password rule and can generate one, and repositories left by earlier deletions get the same row and actions. (AB-1542)
  • Firewall exemptions - the addresses you exempt are the addresses the server leaves alone, an entry the server would not take is refused on the form, and rows can be removed from the table. (AB-1544)
  • Client domain edit form - the Global Configuration tab and its values stay out of a client's domain form on plans without the PHP Configuration feature. (AB-1546)
  • phpMyAdmin storage wiring - the configuration storage counts as configured only when the installed phpMyAdmin reads it, and the panel names the update that fixes a server whose package is older. (AB-1545)

[1.8.1] - 2026-09-01 ​

Release Overview ​

A stabilising release on top of 1.8.0. A migration import settles plan limits, PHP versions, and disk space before the run starts. Filesystem Backups gets a client page of its own. A hosting plan offers only what the server can actually deliver. The panel shows a maintenance page while it upgrades itself, and a row of client screens keeps working across restarts, upgrades, and impersonation.

Migration ​

  • Imported plan resource limits - a hosting plan created by an import takes the resource limits its accounts ran under on the source server, and the import report says whether they were applied. A plan you mapped a package onto yourself is left as it is. (AB-1401, CloudLinux only)
  • PHP versions chosen before the run - you pick a target PHP version for every source version this server does not serve. Nothing is imported until each one is answered, and a site whose version had to change carries a warning in its PHP form until you confirm it. (AB-1400)
  • Disk space preflight - a run that would not fit the free space here does not start, one that would fit with little to spare warns first, and the check runs again against the accounts you confirm in the start dialog. (AB-1399)
  • Cancelling a run - a run you cancel always reaches its cancelled state and releases what it was holding, even when the runner stops reporting. (AB-1424)
  • Runner release - the panel takes the migration runner from the published release information instead of waiting for a panel update to carry it, and the wizard shows which release is in effect, where it came from, and how old it is. (AB-1478)

Backups ​

  • Filesystem Backups page - the per-domain archives get their own client page under Files > Filesystem Backups, with a domain picker at the top. The domain list gains a Filesystem Backups action that opens the page on that domain. (AB-1448)
  • Server configuration restore - a server configuration restore runs to the end, so the result it reports is the result you got. (AB-1458)

Updates ​

  • Maintenance page while the panel upgrades - the server shows a branded maintenance page instead of an error while the panel package upgrades, and the update screen follows the progress and announces completion before it reloads. (AB-1474)
  • System Updates covers every component - the page lists and upgrades every AdminBolt component on the server rather than the panel and the agent alone, counts the outdated ones in the headline, and keeps the progress screen through the panel restart. (AB-1454)

Hosting plans ​

  • Applications offered where they run - the Applications feature is offered only on servers that can serve an application. A plan that already grants it keeps its setting. (AB-1471)
  • Module features follow the server - X-Ray, AccelerateWP, PostgreSQL Databases, and Remote PostgreSQL are offered only where the module is installed, so a plan cannot promise what the server cannot deliver. (AB-1452)
  • Three more screens on the feature list - Email Catch All, API Keys, and SSL Certificates follow the hosting plan feature list. Unticking one removes its menu entry and closes its address, without a re-login. (AB-1426)

Web server and PHP ​

  • Restart brings a stopped web server back - Restart starts an OpenLiteSpeed that is stopped or failed as well as reloading a running one, and reports success once sites are served again. (AB-1490)
  • A new hostname certificate leaves sites up - installing a certificate on the panel hostname reloads OpenLiteSpeed without leaving a failed service behind. (AB-1472)
  • Accounts read their own logs - accounts on OpenLiteSpeed can read their access and bandwidth logs, and the access survives a restart of the web server. (AB-1456)
  • Remi PHP under OpenLiteSpeed - domains served by Remi PHP on OpenLiteSpeed serve their pages, in the panel and in the client API alike. (AB-1356)
  • PHP versions on offer - domains and plans offer the PHP versions enabled in the PHP Selector, and a version switched off or removed there disappears from the panel. (AB-1430, CloudLinux only)

SSL ​

  • One stray alias no longer costs the certificate - a certificate covers the optional names that answer validation, which are the www form, parked domains, and mail names. A name pointing somewhere else is left out and listed with the issuance. (AB-1428)

Fixes and smaller changes ​

  • Client cron jobs on SecureBox - cron jobs a customer sets up run their PHP again on servers using SecureBox. CloudLinux servers, where cron runs under CageFS, are unaffected. (AB-1321)
  • Webmail after a post-install check - webmail keeps working after an administrator runs the post-install check. (AB-1408)
  • Client actions during impersonation - domain edits, databases, database users, SSL, catch-all, and backups work while an administrator views a customer's panel. (AB-1453)
  • Sign out per panel - signing out of one panel leaves the other panels open in the same browser. (AB-1462)
  • The panel's own mailbox - the system mailbox keeps receiving mail after the server hostname changes. (AB-1457)
  • Mailbox usage on every list - the client API returns mailbox usage on the account-wide list too, matching the per-domain and single-mailbox responses. (AB-1461)
  • Fields keep what you typed - the mailing list name, mailbox username, forwarder destination, and database name fields keep their value when you leave the field, so Create accepts the form as you see it. (AB-1465)
  • Embedded CloudLinux screens - LVE Manager, X-Ray, Resource Usage, and AccelerateWP stay usable in a narrow window, scrolling instead of clipping. (AB-1464, CloudLinux only)
  • The domain on the account creation form - the domain is an editable suggestion the form accepts, typing a username keeps it in step, and a domain you type yourself is left alone. Generate Secure Credentials keeps a username you already typed. (AB-1473, AB-1492)
  • Upgrades open on the dashboard - an upgraded server opens on the dashboard rather than the first-run wizard, including a server that has resellers or hosting plans but no accounts yet, and keeps its single default reseller. (AB-1475, AB-1476)
  • Navigation and single sign-on - sidebar icons announce where they lead to screen readers, and an administrator arriving over single sign-on works in their own session rather than an impersonation. (AB-1463)
  • Git deploy keys checked at the field - the Git deploy key field accepts only SSH keys. A key the panel cannot use is refused the moment you paste it, with the reason shown right away. (AB-035, AB-1418)

[1.8.0] - 2026-08-26 ​

Release Overview ​

This release reorganises the admin panel around subject areas and adds a single Logs page, panel-managed cPanel migrations, Node.js, Python and Ruby applications with a runtime manager behind them, PostgreSQL and MySQL Governor as optional modules, off-site server configuration backups with a one-command disaster restore, MailChannels inbound filtering, a domain ownership guard with an admin approval queue, and an expanded client REST API.

Admin panel ​

  • A reorganised admin area - the sidebar goes from a long flat list to twelve task-oriented groups, related screens are gathered behind one destination with tabs, and every configuration screen moves into a single Settings area. Old addresses answer with a permanent redirect in one hop, so bookmarks and scripted URLs still land in the right place. The appendix lists where each screen went.
  • Logs - every log this server writes on one page with a tab per source: the Apache, LiteSpeed and OpenLiteSpeed access and error logs, Postfix and Dovecot, Rspamd, Roundcube, ModSecurity, Fail2Ban, FTP and Linux security, the panel's own error log, the agents, and the execution log.
  • Health - services, database health and metrics, the Fail2Ban status and the Apache server status become scopes of one page. The database scope reports a live query rate and says when the query cache is switched off.
  • Email dashboard - the Web Server and Email areas each gain a dashboard of their own.
  • SSL Issuance History - every certificate issuance is recorded, including the ones a DNS preflight declined.
  • Installation finishes in the background - the installer sets up one PHP version and hands you a usable panel; the remaining PHP versions, SecureBox and SymLock install afterwards, one at a time, with progress on the dashboard and every step recorded in the execution log. A panel restart in the middle loses nothing.
  • Failures that explain themselves - a failed action anywhere in the panel says why it failed and what to do next, under one correlation id you can quote, and an action that half succeeded is reported as such instead of as a flat success. A module operation you started re-attaches after a page reload, and a stuck one no longer holds the page for everyone else.
  • Bulk actions - hosting account lists gain bulk suspend, unsuspend, change plan and delete, and domain lists gain bulk delete and bulk SSL issuance. A bulk delete asks you to type a confirmation first, and the result separates completed, completed with warnings, failed and skipped, each with its next step. A batch in which nothing ran says so instead of reporting success.

Migration ​

  • Panel-managed cPanel migration - a new Migration > External Migrations wizard moves accounts off a cPanel server without leaving the panel. You give the source host, approve its SSH host key fingerprint, and bootstrap the run either by pasting a one-time command on the source or by an upload from this server. The run outlives the browser, so the page can be closed and reopened at any time, and its view carries live status, the preflight, per-account state, the event log and the cleanup state of every credential the run held. You pick the accounts before the run starts, map each source hosting plan to an existing plan or let it be created from the package, and approve the DNS cutover as a separate step. Every decision is recorded with the administrator, IP and timestamp. bolt-cli external-migration-disable ends every active run and releases what it holds, leaving already-imported accounts working.

Applications and runtimes ​

  • Node.js, Python and Ruby applications - clients create an application from a wizard that ships a starter page serving immediately, with the application root taken relative to the domain folder, its own log, restart from the panel, and full coverage in the client REST API. Applications run on Apache and on OpenLiteSpeed, and the panel decides by what is actually serving.
  • Runtime Manager - a new admin page under Runtimes lists the runtime versions the repositories offer next to the ones this server has, installs one version or all of them, reports what is running, and says so when the application server is missing. It carries an admin REST API of its own.
  • CloudLinux settings - CloudLinux servers gain their own settings section, with Resource Usage, PHP Selector, X-Ray, AccelerateWP and LVE Manager offered to the account through the hosting plan feature. X-Ray and AccelerateWP are panel modules that report their real availability, and alt-* builds are preferred when no runtime version is chosen.

Databases ​

  • PostgreSQL - install PostgreSQL from the Module Manager beside MariaDB and hand it to accounts through the PostgreSQL Databases feature on the hosting plan feature list. Clients create databases and roles, manage remote access, open Adminer on a PostgreSQL database as one of the account's roles, and reach all of it over the client REST API. PostgreSQL data counts towards the account's disk usage, its databases ride along in account backups and are replayed on a full restore, and the PHP drivers are installed for every PHP family on the server. Existing feature lists pick up the new feature on upgrade.
  • MySQL Governor - CloudLinux servers get a Settings > Databases > MySQL Governor page that installs the Governor with the installer output shown as it runs, reports the running state once it is up, and offers removal on its own page with the output streamed live.

Backups and disaster recovery ​

  • Server configuration backup - a new Backups > Server Config surface takes the whole server configuration off-site to a backup destination, on a schedule you set, with its own retention and an optional repository passphrase you keep in your own vault. Export DR keys hands you the bootstrap secrets, asks the acting admin for a fresh second-factor code first, and records every export in the audit log. From those secrets alone bolt-cli disaster-restore rebuilds a fresh box from the newest off-site snapshot, bolt-cli disaster-reprovision re-materialises modules, PHP versions and hosting accounts, and bolt-cli restore-all-accounts and bolt-cli restore-all-databases bring back the account files and their dumps. Every destructive restore asks you to name the machine being overwritten.
  • Infrastructure database snapshots - local snapshots of the mail and DNS databases are listed on the Server Backup page with Back up now, Restore showing the snapshot age and record counts before you commit, and Delete. bolt-cli backup-infra-databases and bolt-cli restore-infra-database do the same from the shell, and a snapshot is taken before every panel-driven system update.
  • Server-wide backup policy - a backup policy with no target is the server-wide default and covers every account that nothing more specific claims, so a newly added hosting plan is never left without backups. Resolution order is account, then reseller, then plan, then the server-wide default. The client restore cooldown, the daily manual-backup cap and the restore concurrency are admin settings under Backups > Limits.
  • Restore into the database - clients gain a restore action next to the dump download, with the database's current contents snapshotted first so an accidental import can be undone.

Email ​

  • MailChannels inbound filtering - a new MailChannels tab in Email Settings holds the Inbound API key and its subscription. Clients whose plan includes the feature get a per-domain filtering toggle and one-click sign-in to MailChannels; enabling registers the domain and swaps the MX records only once the filter confirms the delivery route, and disabling restores them first. A domain is filtered by at most one of MailChannels and SpamExperts, the apex MX of a filtered domain stays with the filter against zone edits, imports and DNS templates, and an hourly sync plus a daily verify repair drift and retry unfinished changes.
  • Mailbox restrictions - incoming mail, outgoing mail and mailbox login can each be set to allow or suspend on the mailbox create and edit forms, and the server enforces each direction on its own. The Restrictions column names what is suspended, and a sending suspension is listed beside the manual restrictions with its expiry rather than masking them. Existing servers pick up the enforcement on upgrade.
  • Plan mailbox quotas - the hosting plan's mailbox quota fields are enforced in the client panel, the admin panel and both REST APIs. A create without a quota takes the plan's default, a quota above the cap is refused with the cap named, and a plan that caps mailboxes does not offer unlimited. Keeping a mailbox's current value always saves, so a mailbox left above the cap by a plan downgrade can still be edited.
  • Lowercase mail addresses - mailbox usernames, mailing list names and catch-all targets are stored in lowercase, folded live in the form and again in the service, and duplicate checks ignore case. An upgrade sweeps the mail server and the panel for mixed-case rows already on the server, renames the mail directories with them, and reports both what it repaired and what it could not.
  • Panel mail exemption - the panel sends its own notifications and bounces through its own mailbox login, which is exempt from the outbound sending limits, so a busy server cannot silence the channel a mail problem is reported through. The Sending Limits page states the exemption, lists the exempt logins, and raises a banner if the panel's own mail is ever throttled.
  • SLA-covered MX set - the SpamExperts Cluster MX hostnames help text names N-able's SLA-covered global set in priority order, warns that the filterNN.antispamcloud.com records shown in the vendor panel sit outside its uptime guarantee, and offers a one-click action that fills the SLA-covered set for you.

Security and access ​

  • Domain ownership guard - a domain being added is checked against the whole platform's namespace rather than an exact name only, so two accounts cannot end up serving overlapping names, while an account's own subdomains are unaffected. A rejected add is recorded on the new Domain Security page, where an admin approves or dismisses it and manages the approved overlaps, with the pending count on the navigation badge. An optional ownership policy asks a domain new to the platform for a DNS TXT record before it is provisioned, shows the exact record to add, and verifies automatically on retry. Overlaps that already exist, and overlaps arriving with a migration, are carried over on upgrade.
  • Impersonation sessions - an administrator stays signed in to their own panel across an impersonation, and leaving it, logging out, signing in elsewhere or letting the session expire all end the impersonation and close its entry in the activity log, with the start and its end paired to each other.

API ​

  • Client REST API - the client API gains cron job management that adopts hand-added lines before every write, address and domain forwarders with loop and duplicate rejection, the per-domain PHP directives to read and set, database user grants in the read payload, opt-in database size and mailbox usage, and the account's IP address and home directory on the single-account read. A scoped file manager covers the account home - list, stat, download, upload, write, move, copy, chmod, symlink, archive, extract and delete - paginated and size-capped. WP-CLI runs against a domain document root behind a per-key switch that is off by default, with the commands that escape WordPress refused and every call audited. Single-use, short-lived sign-in URLs can be issued for phpMyAdmin and webmail. Clients can create their own restricted keys.
  • API review fixes - hosting plan create and update validate and persist the full field set, PUT /api/hosting-account/domains/{id} works, php_version_id is accepted on domain create and update and rebuilds the PHP configuration behind it, and admin keys gain DNS record, IP blocker and per-domain SSL certificate routes. A write naming a field the panel does not apply is refused with the reason rather than answered with success. The per-key endpoint allowlist applies to every key type, and API secrets are stored encrypted at rest and displayed exactly once.

Fixes and improvements ​

  • FTP settings invariants - the directives the panel's FTP stack depends on are applied on every write and are no longer offered as editable fields, so saving that page cannot leave a server whose FTP accounts fail to log in, list files or transfer. An upgrade repairs a server whose stored or live configuration disagrees with those invariants, naming what it changed.
  • Web stack restarts - web stack services come back on their own after a failure such as an out-of-memory kill, instead of staying down until someone starts them by hand. An upgrade applies the policy to every server already in the field.
  • Apache configuration validation - a vhost write is checked against Apache before the reload and rolled back when the check fails, with the offending file and Apache's own message reported.
  • SSH access state - the SSH toggle on an account reflects what the server actually has: a failed server-side step leaves the stored value where it was and reports the reason, and an edit that does not carry the toggle leaves SSH access alone.
  • Domain rename - renaming a domain carries its document root, PHP-FPM pool, log directories, parked domains and page cache with it, retires the old vhost, and rolls the whole rename back and repairs the server when a step fails. The rename target is refused when any account already holds it, and writes to one domain are serialized while writes to different domains stay parallel.
  • Web log permissions - accounts read their real bandwidth and access log figures again: an upgrade repairs the web log ownership and permissions, installs per-account log rotation, and bolt-cli repair-web-log-permissions runs the same sweep on demand. OpenLiteSpeed logs are read for bandwidth as well.
  • JetBackup restores - a restore replays the account's captured DNS zone, so custom TXT, SPF, DKIM, DMARC and SRV records come back with it; the replay is all-or-nothing and refuses before applying anything when the capture holds records it cannot represent. The page, the health check and the log warn when the reseller owner of an account is dropped from JetBackup's own account list.
  • MariaDB repository mirrors - provisioning writes several mirror addresses for the MariaDB repository, so an installation continues when one of them does not answer, and names the cause when none of them does.
  • Certificate expiry digests - when more certificates cross a warning threshold in one scan than the number you set (5 by default), the whole cohort is delivered as a single digest naming every affected domain, instead of one notification per certificate.
  • Onboarding and billing - finishing the onboarding wizard registers the server with billing once provisioning has succeeded and the credentials are already on screen, so a slow or unreachable billing system cannot cost you passwords that exist nowhere else. A paid license is left alone rather than signed up for a trial, and a trial is confirmed by a link in the confirmation mail, with the License page polling for the result and offering to resend it.

[1.7.0] - 2026-08-10 ​

Release Overview ​

This release adds per-account backups with scheduled snapshots and self-restore, two-factor authentication and passkeys for every role, a panel-wide audit log, outbound mail sending limits with automatic suspension, SpamExperts incoming filtering, CPGuard as a second server security suite, LSPHP on plain Apache, and configurable remote IP handling for servers behind a CDN.

Backups ​

  • Per-account backups - a new Backups section where you register a storage destination, attach a backup policy to a hosting plan, a reseller or a single account, and follow every account's backup state, size, last run and error from one dashboard. Backups run on the server without holding up the panel, older ones are removed on the retention you set, and a failed run raises a notification. The history is on Backup Runs and Restore Jobs.
  • Client self-restore - clients get their own Backups page with a snapshot picker, a searchable file browser, restore in place or as a copy that leaves the live files untouched, and a Backup now button with a daily limit. Self-restore is granted per policy, and an account can be opted out of backups entirely.
  • Reseller backups - resellers see the same dashboard for the accounts they manage, and can start a backup or a restore for any of them. Every run records who asked for it.
  • JetBackup restores - restoring an account that no longer exists in the panel now completes end to end: the system user is adopted and the domain, DNS zone, quota and cron jobs are provisioned around it. Restored sites serve and restored mail is delivered, and the account's cron jobs are reconciled as soon as the restore finishes. The admin JetBackup page reports the licence, version, storage and last-backup figures read from JetBackup itself.

Security and access ​

  • Two-factor authentication - admin, reseller and client accounts can add a second step to their login with an authenticator app or a passkey, with single-use recovery codes for a lost device. Changing the second factor, regenerating recovery codes or removing a passkey asks for a fresh code first, and an admin resetting another account's second factor confirms with their own. The client version is on Password & Security, the reseller version on Security.
  • Activity Log - a new Logs → Activity Log page recording who changed what and when across hosting accounts, domains, DNS records, email, databases, FTP accounts, cron jobs, certificates, firewall rules, hosting plans, API keys and the panel's own accounts. Entries open on the previous and the new values, and the list filters by event, object type, actor role, date and impersonated actions only. Resellers get the same page scoped to their own accounts. Passwords, tokens and keys are recorded as changed without keeping the value. Entries are kept for 90 days.
  • CPGuard - CPGuard joins Imunify360 in the Module Manager as a server security suite; one of the two is active per server. Follow the status, licence and connection state on the admin page, and hand the client page to accounts through the hosting plan feature. Use CPGuard WAF switches the web application firewall from the shipped rule set to CPGuard's own, and restores the shipped rules when you switch back.

Email ​

  • Outbound sending limits - a new Sending Limits tab in Email Settings with hourly and daily limits per mailbox and per domain, per-plan values and per-sender overrides. The Email → Sending Limits page lists every rejected message with the account, domain and mailbox it came from. With automatic suspension on, a mailbox over its limit loses SMTP login until its rate drops back under the limit and keeps IMAP and webmail meanwhile. Mail sent by site scripts carries the site's own sender address, so it is delivered and counted against the right domain.
  • SpamExperts - a new SpamExperts page in Email Settings for the cluster API and the MX hosts. Clients whose plan includes the feature get a per-domain filtering toggle and one-click sign-in to the Spam Panel: enabling registers the domain on the cluster before the MX records are rewritten, and disabling restores them first, so mail keeps flowing either way.
  • Outbound SMTP relay - send outgoing mail through an external relay, configured from the panel or the CLI with host, port, credentials and encryption.
  • Sender Rewriting Scheme - forwarded mail leaves the server with a rewritten envelope sender, so a forward passes the receiving side's sender checks.

Web server ​

  • LSAPI Engine - install mod_proxy_lsapi from the Module Manager to serve LSPHP on plain Apache, with a pool per account and PHP version carrying the hosting plan's memory, CPU and process limits. LSPHP then appears next to the other PHP providers on the domain, plan and PHP Engine Migration screens.
  • Remote IP Handling - servers behind Cloudflare or another CDN can name the header that carries the visitor address and the proxies allowed to set it, from both the Apache and the LiteSpeed settings pages, with a one-click Cloudflare preset. Visitor statistics, access logs, the IP Blocker, login protection and REMOTE_ADDR then all read the visitor's own address. The client Access Logs viewer gains a Remote Host column.
  • OpenLiteSpeed hostname SSL - under OpenLiteSpeed the panel hostname is served by its own virtual host, so hostname certificate issuance and renewal complete, and the server is restarted after a certificate change.

Firewall ​

  • ICMP and IPv6 rules - firewall rules can be created for ICMP and ICMPv6 and for IPv6 addresses, with the port fields hidden where they do not apply and an IP Version badge in the list. The ping rules that used to be fixed become editable system rules. The page warns you when the firewall service is down or the live rule set is empty, and a rule the server refuses reports the reason.

CloudLinux ​

  • IP-based licences - install CloudLinux without an activation key to use an IP-based licence: leaving the key empty selects it, and the panel shows which mode a server was licensed in. The page also names the pre-check checks that failed, shows how long a running job has been going, and lists the CageFS daemons on the Services page.

Monitoring ​

  • Usage history - hosting accounts get Disk Usage History and Bandwidth History charts built from a daily snapshot of disk, database and transfer usage, with a day the panel could not collect drawn as a gap. The reseller dashboard shows real disk and bandwidth totals and trends across its accounts. Retention is configurable in Panel Settings and defaults to 90 days.
  • Certificate expiry alerts - the panel warns before a certificate expires, warns again when a renewal fails, and reports a certificate that has expired, over email, webhooks and the admin bell. All three templates are editable under System Notifications.

Fixes and improvements ​

  • Database name casing - a database created with capital letters in its name is addressed under the same name everywhere, so grants, size, delete and backup all act on the database that exists. The client forms fold the name to lowercase while you type.
  • SSH access on account edit - saving an account with SSH enabled re-applies its SSH access configuration on the server, and reports a warning naming the reason when the server refuses.
  • Failure reasons in notifications - a failed action tells you why it failed in the admin, reseller and client panels, instead of a generic message.
  • WordPress uninstall cleanup - a WordPress uninstall reports an error when its database cleanup does not finish and removes the site files last, so a failed uninstall stays visible and a retry completes it.
  • Faster panel after upgrade - the panel's framework caches are built into the package, so the first page after an install or an upgrade is served without building them on the server first.

[1.6.0] - 2026-08-04 ​

Release Overview ​

This release adds OpenLiteSpeed as a third web server, Remote MySQL access for hosting accounts, a webmail.<domain> address for every domain and subdomain, login history and active session management for every role, panel-owned admin credentials, and managed open_basedir paths.

Web server ​

  • OpenLiteSpeed - OpenLiteSpeed joins Apache and LiteSpeed Enterprise as a supported web server. Install it from the Module Manager and manage it from the new OpenLiteSpeed Dashboard, with the WebAdmin console, restart and switch actions, Settings, Error Logs and Access Logs. A switch is reported as successful only once the incoming server has started; otherwise the panel restores the previous one on the ports.
  • .htaccess handling - choose off, restart-on-change or the experimental per-request module mode. A site using a directive module mode does not cover falls back to restart-on-change, is listed with the offending directive, and has its own Retry.
  • LiteSpeed Cache for admins - per-domain cache settings and purge actions across every account, on both LiteSpeed Enterprise and OpenLiteSpeed. The client page follows the hosting plan's LiteSpeed Cache feature.
  • PHP Engine Migration - the REMI and LSPHP migration covers OpenLiteSpeed and lives in whichever LiteSpeed-family navigation group the server has.
  • Login Shortcut URLs - /cpanel, /panel and /webmail are managed from one shared section on the MyApache and LiteSpeed settings pages, and are served the same way on all three web servers.

Databases ​

  • Remote MySQL - an account authorizes external hosts to reach its own databases. Admins get Remote MySQL Settings with a server-wide wildcard policy, off by default, and Remote MySQL Hosts to review and revoke allowed hosts across every account. The page is enabled per hosting plan.

Email ​

  • Webmail subdomain - domains and subdomains are provisioned with webmail.<domain> serving Roundcube; parked domains are not. The parent domain keeps serving as before, and a hosted webmail.<domain> of your own takes precedence, which is why its webmail record stays in the parent zone when it is deleted.

Websites ​

  • Managed open_basedir - the SitePad editor path is whitelisted automatically wherever Softaculous is installed, and admins can add extra open_basedir paths per account. Entries are validated on save, naming any line that is rejected.

Security and access ​

  • Login history and sessions - every role gets recent login attempts and active sessions with per-session revoke and Log out all other sessions: on the client Password & Security page, the admin Edit Profile page, and the new reseller Security page. Retention is configurable in Panel Settings and defaults to 90 days.
  • Panel admin credentials - admin accounts are owned by the panel and have their own passwords, kept separate from the server's system accounts. Existing installs keep their current password; the root admin, whose password mirrored the Linux root account, is asked to set a panel password on its next sign-in.
  • License enforcement - license validity applies to the client and reseller panels and to the API, where reads keep working and changes are refused. Hosted websites, mail, DNS and webmail are never gated.
  • Input validation - Track DNS, Git operations and directory privacy credentials validate their input on submit.

Backups ​

  • JetBackup hooks on upgrade - a host that ran JetBackup before AdminBolt shipped its integration receives the hooks and database configuration on upgrade, and an hourly check reinstalls them if a JetBackup update replaces them.
  • Restored cron jobs - cron jobs restored outside the panel are adopted onto the Cron Jobs page within five minutes and keep running. @reboot lines, environment assignments and malformed schedules are left untouched.

SSL ​

  • Certificate issuance - a domain's web server configuration is brought up to date before validation starts. New bolt-cli rebuild-apache-vhosts regenerates every non-parked domain, or one with --domain=; run it once after updating.

Fixes and improvements ​

  • Firewall rule source - a rule created with a Source or Destination IP applies to exactly those addresses.
  • Managed cron on upgrade - every upgrade reconciles the managed cron entries, including the sweep that issues and renews certificates for hosting domains.
  • Webmail after a panel upgrade - webmail keeps working after an upgrade that does not include Roundcube itself, and the shipped fail2ban jails come back up.
  • Module Manager - the web server modules are reconciled with what is installed on disk, so a package removed outside the panel can be installed again.

[1.5.0] - 2026-07-29 ​

Release Overview ​

This release introduces mail queue and delivery visibility, BIND zone import and export, Cloudflare zone management, per-domain AI bot blocking, JetBackup Linux integration, configurable landing pages, and security, firewall and filesystem improvements.

Email ​

  • Mail Queue - a new admin page with active, deferred and hold totals and sender, recipient and domain filters. Preview a message, retry or delete it, delete everything matching the current filters, or flush the queue. The Email dashboard shows a backlog indicator when the queue grows.
  • Mail Delivery - a new client page listing recent delivered, deferred and bounced messages for the account's own domains, with the deferral or bounce reason and the original recipient when an alias expanded.
  • Outbound SMTP over IPv6 - Default Email Settings gain an Outbound mail (SMTP) over IPv6 select (auto, disabled, enabled). The existing toggle is relabelled Enable IPv6 (IMAP/POP3) so each control states exactly what it covers.

DNS ​

  • Zone export and import - export a zone as a BIND zone file and import one back, in both the Zone Editor and Global DNS Zones. The import previews the result and reports every line it could not apply. TTLs are clamped to the panel's 60-86400 range, and the SOA record stays panel-managed.
  • Configurable DMARC - DNS settings gain a DMARC Policy and Report Address, used by both mail DNS provisioning and the DNS record templates. A _dmarc record you created by hand is never overwritten.
  • Cloudflare - add a domain to your Cloudflare account, see the assigned nameservers and zone status, push panel DNS records one way to Cloudflare, toggle proxying per domain, purge the cache and use development mode.

Websites ​

  • AI bot blocking - allow or block AI bots per site, by bot type and by owner, from a catalog of 27 known AI bots.
  • Default landing page - admins and resellers manage landing page templates and assign one per hosting plan.
  • Custom 404 for PHP requests - a site with a custom 404 page now serves it for requests to non-existent .php files too.

Backups ​

  • JetBackup Linux integration - backups and restores cover every account resource rather than just the home directory, including packages, domains with zone files, email and FTP accounts, SSL certificates, databases, cron jobs and DNS records. FTP and mailbox passwords survive a restore intact.

Migration ​

  • In-place conversion - an in-place cPanel or DirectAdmin conversion adopts each account's existing system user, so uids, files and passwords are kept. Plain backup restores still refuse an existing username.

API ​

  • Admin and reseller User API - admin and reseller API keys can call every /api/client/* endpoint on behalf of an account named in the X-Hosting-Account header.

Security and access ​

  • Process listing privacy - an account's running processes and their command lines stay visible only to that account.
  • Home directory permissions - site and account directories use restricted permissions that keep other accounts out, applied to every existing account on upgrade.
  • Firewall source restrictions - a rule pinned to an IPv4 source or destination applies over IPv4 only, an IPv6-pinned rule over IPv6 only, and a rule with no family over both.
  • Panel login protection - a shipped bolt-panel fail2ban jail bans repeated failed panel logins for admin, reseller and client sign-in alike.
  • File ownership handling - file ownership checks stay within the account's own home directory and validate the path before any privileged operation.
  • Client email page scoping - Subscribers, Catch All and Email Filters in the client panel list only the signed-in account's records.

Fixes and improvements ​

  • Update reliability - a module that fails to upgrade no longer stops the chain, bolt-update.log ends with a per-module summary, the log view shows the underlying error, and scheduled update checks can no longer collide with a running upgrade.
  • JetBackup service control - service state, version and license are reported correctly, and service control verifies the result.
  • PHP disable_functions cleanup - parse_ini_file, file_get_contents and curl_multi_exec are removed from stored disable_functions lists on upgrade.
  • Email account status - the email account list shows Restricted only for a mailbox that actually carries a restricting state.
  • Admin Send Email - Send Email delivers to the address typed in the To field.
  • Database and user deletion - deleting a database together with its user revokes the grant first, then removes both, and reports the real error when a step fails.
  • License revalidation - runs on the scheduler, so it never delays an admin request.

[1.4.0] - 2026-07-23 ​

Release Overview ​

This release adds internationalised domain name (IDN) support and login shortcut URLs, alongside broad security hardening across the panel, bolt-agent, Git, databases, email, and file handling.

Domains ​

  • Internationalised domain names (IDN) - domains with non-ASCII names (for example пример.example) can be added and used throughout AdminBolt. They are stored in Punycode and shown in their readable Unicode form. Document roots and other filesystem paths use the stored Punycode form.

Login ​

  • Login shortcut URLs - every hosted domain answers on short paths that redirect to a login screen: /cpanel and /panel open the panel login, and /webmail opens webmail. Accounts moved from cPanel keep the entry points their users already know. The paths, their destinations, and the feature itself are configurable in MyApache Settings.

Security and access ​

This release includes extensive input-validation, access-control, and data-protection hardening. The main themes:

  • Agent authentication - bolt-agent requests require a valid token, which stays enabled by default.
  • Ownership enforcement - hosting, network, email, mailing list, database backup, WordPress install, and DNS health-check actions verify that the signed-in account owns the target resource.
  • Input validation - certificate issuance, database backup and restore, directory-protection credentials, domain, file, SSH key, JetBackup license, TrackDNS, and mailing list inputs are validated on submit.
  • Git safety - Git clone URLs are allow-listed, SSH host keys are verified, and repository paths, ownership changes, and key handling use restricted file operations.
  • Path and permission handling - .htaccess builds, SSL storage, and hosting, database, and email file operations use restricted paths; framework directories and panel database files use restricted permissions.
  • Secret and log privacy - database and hosting operations keep credentials out of process listings, and database-related logs mask sensitive values.
  • Reserved usernames - hosting account creation rejects reserved system usernames.

[1.3.0] - 2026-07-15 ​

Release Overview ​

This release adds mailbox migration from external IMAP servers, reseller resource limits, panel-wide translation with 18 new languages, automatic SSL for hosting domains, and broad security hardening.

Email ​

  • Mailbox import via IMAP - migrate email from an external IMAP server into an existing mailbox. The client panel adds a per-mailbox Import email (IMAP) action with connection testing and live progress.
  • Mail subdomain SSL and SNI - mail hostnames (mail, autoconfig, autodiscover) are issued as a separate certificate group, and mail SNI keys off the certificate the server actually issued.

Internationalisation ​

  • Full panel translation - hardcoded UI strings across the panel are now translatable.
  • 18 new languages - added Brazilian Portuguese, Japanese, and 16 more panel languages.

Reseller ​

  • Reseller resource limits - resellers get resource limits (accounts, disk, and bandwidth) on the accounts they manage.

SSL ​

  • Auto-SSL for hosting domains - bolt-cli setup-cron-jobs now schedules bolt-cli run-auto-ssl, so certificates for active hosting domains are issued and renewed automatically.

Security and access ​

  • FTP passwords hashed - FTP passwords are stored as one-way hashes and can no longer be viewed after creation.
  • Unattended install admin password - a new bolt-cli set-admin-password command sets the admin password during unattended installation.
  • Mailing list validation - mailing list names are validated on create.
  • Data protection hardening - Roundcube, mail, FTP credential, and hosting account export files use restricted ownership and permissions.

Reliability ​

  • ModSecurity audit log page - the ModSecurity audit log viewer now works end to end.
  • Lighter health checks - the Services page polls a lighter health endpoint, reducing load.
  • Plan allocation alerts - fully used plan allocations no longer raise critical-severity alerts.

PHP ​

  • System restrictions apply reliably - saving disable_functions or disable_classes restarts PHP-FPM so the change takes effect.
  • Imported domain PHP engine - domain import no longer assigns the wrong PHP engine on LiteSpeed servers.

Fixes ​

  • Update modal - the update modal no longer stays open after an update completes.
  • MySQL complex passwords - MySQL user creation accepts a wider range of complex passwords.
  • mod_passenger uninstall - uninstalling mod_passenger now removes it from the Apache configuration.

[1.2.2] - 2026-07-09 ​

Release Overview ​

This release adds a per-account bandwidth limit override with a per-calendar-month usage view, lets email forwarders keep a local copy of forwarded mail, and gives the Hub dashboard clearer stale and offline status for nodes that stop reporting in.

Bandwidth ​

  • Per-calendar-month usage - bandwidth usage now shows the current calendar month instead of a lifetime total, so the counter resets on its own at the start of each month.
  • Per-account limit override - admins and resellers can set a bandwidth limit on an individual hosting account that overrides the plan default. Leave it blank to keep the plan's limit, or set 0 for unlimited. Clients cannot change it.
  • Consistent units - the client dashboard now shows bandwidth in the same units as the admin panel everywhere.

Email ​

  • Forwarders can keep a local copy - a new Keep a copy toggle delivers each message to both the forwarding address and the local mailbox, so forwarded mail stays visible in webmail.

Security and access ​

  • Suspended client login message - suspended clients now see a clear "Your account has been suspended" message instead of a blank login form.
  • IP blocker CIDR handling - the client IP blocker handles CIDR blocks and IP ranges more consistently, so a single block is enforced as one rule.
  • Admin panel not indexed - the admin panel is excluded from search engine indexing. Client and reseller panels are unaffected.

Reliability ​

  • Stale and offline node detection - the Hub dashboard flags nodes that stop reporting in as Stale and then Offline, and shows when each node was last seen.

PHP ​

  • igbinary and msgpack locked with Redis - the PHP version form keeps both extensions switched on and labels them "Required by Redis" whenever Redis is enabled.
  • Imported domains resolve PHP version - imported domains now pick up the right PHP version automatically.

Fixes ​

  • SSH Terminal page - fixed an error opening the client SSH Terminal page.
  • Update screen freezing - a follow-up fix so the update screen no longer gets stuck on an out-of-date view during an update.

[1.2.1] - 2026-07-03 ​

Release Overview ​

This release introduces BoltTerminal, a new terminal module for CloudLinux servers, brings native CloudLinux SSH and cron support to hosting accounts, and fixes LiteSpeed trial-key activation.

BoltTerminal ​

  • BoltSSH is now BoltTerminal - the SSH module has been renamed and rebuilt as BoltTerminal, with its own installer and health check.
  • Built for CloudLinux - BoltTerminal requires CloudLinux and will not install alongside a running SecureBox. On non-CloudLinux servers, SecureBox remains the way to provide isolated SSH access.
  • Shell greeting - root login sessions now show a Bolt greeting message.

CloudLinux ​

  • Native SSH access - toggling SSH access on a hosting account uses CloudLinux natively (CageFS and a per-user sshd configuration) instead of SecureBox. Leftover SecureBox setups are cleaned up automatically.
  • Cron jobs - hosting accounts on CloudLinux can manage cron jobs whenever SSH access is enabled. Commands run through bash under CageFS isolation.
  • CageFS refresh on upgrade - CloudLinux servers get a one-time CageFS update during the panel upgrade.

Fixes ​

  • LiteSpeed trial key - activating LiteSpeed with Use Trial Key no longer fails with a 500 error.
  • Custom hostname SSL - the hostname certificate is re-issued when its name no longer matches the configured hostname, so it no longer breaks after a panel update.
  • Update screen freezing - fixed the update screen freezing on a stale modal during panel updates.

[1.2.0] - 2026-07-01 ​

Release Overview ​

This release adds full CloudLinux and LiteSpeed integration, along with a completely rebuilt PHP version manager that lets regular (REMI), CloudLinux Alt-PHP, and LiteSpeed (LSPHP) engines run side by side. See the CloudLinux and LiteSpeed guides for the full workflow.

CloudLinux ​

  • Guided installer - a CloudLinux installation page walks you through activation: enter your license key, run a pre-check that validates the key and system, then convert the OS with a live deploy log. The page tracks the full lifecycle (converting → installed → reboot → converted) and surfaces a Reboot now action when the server is waiting to switch kernels.
  • Feature provisioning - after conversion you choose which CloudLinux runtimes to enable (PHP, Node.js, Python, Ruby, and mod_lsapi) with per-runtime version pickers and a live progress log.
  • LVE Manager - integrated LVE Manager with single sign-on, installed on demand directly from the panel, for managing per-account resource limits.
  • Alt-PHP - install, remove, and configure CloudLinux Alt-PHP versions (5.2 through 8.x) from the PHP manager, including per-version extension selection and default profiles.
  • Resource limits from hosting plans - hosting plans gain a Resource Limits tab (CPU speed, memory, IO, IOPS, processes, entry processes). Limits are pushed to the matching CloudLinux/LVE package automatically on plan create, update, and account provisioning, with a backfill command for existing plans.
  • Control-panel hooks - AdminBolt fires the CloudLinux control-panel hooks on admin, account, domain, and package changes so CloudLinux stays in sync with your accounts.

LiteSpeed ​

  • Web server switching - switch between Apache and LiteSpeed from the panel. The license is validated before switching, the incoming server's saved settings profile is applied first, and both servers are safely stopped and started so no request is dropped during the change.
  • LSPHP - LiteSpeed PHP (LSPHP) versions 7.4 through 8.5 can be installed, configured, and assigned to domains. Matching LSPHP versions are provisioned automatically when LiteSpeed is installed.
  • Settings and profiles - a LiteSpeed Settings page with server, security, performance, and module tabs, backed by a default-profile system that is applied on install.
  • LSCache - per-domain LiteSpeed Cache management: enable or disable caching, tune default and maximum TTL, maximum object size, and excluded paths, and clear a domain's cache from a dedicated LiteSpeed Cache page.
  • Logs and admin - built-in LiteSpeed access and error log viewers, a restart action for the LiteSpeed service, and one-click access to the LiteSpeed WebAdmin console (port 7080 is opened in the firewall on install).
  • PHP engine migration - a dedicated migration page moves your domains and plans between matching REMI and LSPHP versions when you switch web servers, with a dry-run preview beforehand. Switching back to Apache is blocked (with a direct link to the migration page) while any domain still uses LSPHP, so sites cannot break.

Improvements ​

  • Rebuilt PHP version manager - a single page to install, remove, configure, and set default profiles for every PHP engine (REMI, Alt-PHP, LSPHP), with vendor logos and clear per-version labels. Domains and plans now reference a specific PHP version, so regular, CloudLinux, and LiteSpeed builds of the same version no longer collide, and a PHP version still assigned to any plan or domain can no longer be uninstalled by accident.
  • Automatic PHP sync - installing or removing a PHP package over SSH (for example dnf install alt-php83) now updates the panel automatically via a dnf/yum hook and connects a matching default profile, with no manual refresh needed.
  • Hardened shared-hosting defaults - the default disable_functions list for PHP profiles has been tightened for safer shared-hosting environments.
  • Execution logs - background operations are saved to a durable execution log with a title, status, timing, and the operator and IP that started them, plus a richer, level-colored log viewer.
  • Reseller account view - resellers can open the full account detail view for their own accounts.
  • Convenience - copy actions on hosting plans and feature lists, and a new Resolver Configuration page.
  • Performance - CloudLinux control-panel API calls run through a native binary instead of booting PHP per request, making CloudLinux and LVE Manager interactions noticeably faster.
  • Stability - the CloudLinux installer detects and recovers from a stalled conversion, and update checks are skipped cleanly on servers where the AdminBolt repository is not configured.
  • Fixes - resolved a Safari sign-on issue on the LVE Manager page, ensured Apache is fully restarted after enabling modules (such as mod_lsapi) that require it, corrected PHP-FPM toggle visibility, hardened PHP CLI path resolution so Alt-PHP versions no longer shadow usable binaries, fixed the WordPress one-click installer, and corrected system notification email fallbacks.

[1.0.2] - 2026-05-14 ​

Source

Generated automatically from the panel's built-in changelog (/admin/change-log).

Release Overview ​

Security and hardening ​

  • phpMyAdmin: deprecated admin endpoint removed; SSO hardened (one-time tokens, hashing, POST-only validation, rate limits, stricter checks).
  • Command injection / shell safety: MLMMJ subscribe/unsubscribe and related paths; cron validation + safer command rebuild; backup tar/mkdir args escaped; nmcli DNS inputs validated/escaped; GoAccess path traversal blocked; JetBackup SSO user, license key, and log reads hardened; FTP paths jailed/validated against traversal.
  • Databases: strict DB name rules and 422 for invalid names.
  • Git: BoltGitService aligned with bolt-git (required Linux user, branches API, safer cleanup semantics).

Major product work ​

  • WordPress: client management UI (plugins/themes/posts, SSO, operations), async installer with progress, conflict handling, shared WP-CLI helpers, i18n, and follow-up security/UX fixes.
  • AI Agent Hub: SSO, WA pairing, embedded chat (proxied streams), API key scoping, admin/client routes, hub registration, and related fixes (see large #69 work in history).

Platform and services ​

  • Symlock provisioning and health integration (AB-931).
  • SSHD via Bolt Agent (provision/configure, bolt:manage-sshd, profiles command, service rename to SSHD).
  • File manager installer URL/version bump (0.0.7 mirror).

UX and admin ​

  • License page: removed extra “license information” block; key UI retained. (AB-961)
  • Safari: Filament language switcher layout/z-index fixes.
  • Admin SSO CLI: optional --expire duration on generate. (AB-452)

Email and network ​

  • POP3 in mail settings and defaults; POP3/POP3S firewall ports. (AB-514)

Cleanup and refactors ​

  • Removed unusable Fail2BanBannedIpService.
  • Removed deprecated htaccess PHP-version rebuild job/path; domain updates only rebuild general htaccess.