v2.5.88 – v2.5.100 — 2026-07-13¶
A large hardening pass on the Plesk importer (driven by real customer migrations), a visible import log, working WordPress detection and management, and bulk SSL.
Import log
- New: every import session now has a visible, exportable log. Open Import log (top of the session and in the progress bar), read exactly what was detected and done, and copy or download it — so a migration that "did nothing" is diagnosable without server access. It records the analysis summary (how many customers/websites were found — a zero is flagged), each domain's classification (website / alias / redirect), the resolved web-file source path, and every migration run's result and warnings.
Plesk import — compatibility & robustness
- Fix: a non-standard Plesk database schema no longer breaks the import. One missing column (
hosting.htype) previously made the whole document-root query fail, so every domain came in with an empty docroot and no files were copied. The critical queries are now split and defensive (htype fetched separately, DNS foreign-key name auto-detected). - Fix: subdomains find their real document root even without their own
www_rootrecord. - Fix: alias-only domains (e.g. an alias stored only in Plesk's
domain_aliases) are imported as proper domain aliases instead of silently vanishing. - Fix: re-running/re-migrating a domain no longer fails on a leftover row — an existing site is reused by its Linux username (not only its domain), and a leftover import user from a failed run is reused instead of aborting the whole customer with a duplicate-email error.
- Fix: large database imports no longer time out; DNS records apply cleanly (PowerDNS
changetypedefaulted); a redirect whose target the source didn't expose is created anyway and flagged to set the target manually — no more hard error.
WordPress
- Fix: the WordPress-Toolkit detail view and admin-login work again. They used a command that isn't present on minimal servers, so the detail view came up empty (version/URL/title blank) and admin-login failed — even though the overview cards were populated.
- Fix: WordPress details (version, URL, admin user, title) now populate on import, and file paths are rewritten correctly. The wp-cli commands the panel sent were being rejected for containing shell characters, so those reads returned nothing and the path rewrite never ran.
- New: WordPress installed in a subdirectory (
/shop,/blog, …) is now detected too — both during import and via the WordPress Scan button — and registered with its real path. Use WordPress → Scan to fill in details for already-migrated sites without re-importing.
SSL
- New: "Secure all" on the SSL page issues Let's Encrypt certificates for every website domain that has none yet (after an import). Runs in the background with per-domain progress; domains whose DNS doesn't point here yet are skipped and can be retried.
- New: delete a certificate from the SSL page, and deleting a domain now removes its certificate too — previously a deleted domain left its certificate behind as an orphan.
- Fix: the Domains and SSL pages show the real certificate status (read from the certificate registry, not a stale flag) — valid HTTPS domains no longer show as "Inactive".
- Fix: the SSL page lists all domains again (pagination was broken, so domains beyond the first page and their count were wrong).