v2.4.86 — 2026-05-29
- refactor(ui): migrate remaining static Modal calls to App.useApp() modal
- refactor(ui): migrate static Modal.confirm/success to App.useApp() modal
- ux(ui): wrap desktop table action buttons in Tooltip (Databases)
- i18n(locales): propagate 5 missing keys to all 13 non-DE/EN locales
- ux(ui): replace HTML title= attributes with AntD Tooltip wrappers
- refactor(ui): remove dead German t() fallback strings + inline styles
- fix(ui): migrate static notification import + i18n realm fallback
- i18n(locales): propagate new keys to all 13 non-DE/EN locales
- i18n(ui): replace last hardcoded German fallback string in Backup
- i18n(ui): replace remaining hardcoded German strings with i18n keys
- i18n(ui): replace hardcoded German strings with i18n keys
- fix(ui): complete App.useApp() migration + accessibility improvements
- refactor(ui): migrate message.useMessage() to App.useApp() across 15 pages
- ux(ui): migrate static message API to App.useApp() across all pages
- style(ui): migrate remaining component inline styles to CSS classes
- style(ui): migrate Header inline styles to CSS + fix message API scope
- refactor(ui): replace static antd message with App.useApp() across 4 pages
- refactor(ui): use copyToClipboard utility in GitDeploy, App.useApp in Packages
- refactor(gitdeploy): eliminate any types, add DeployResult/RepoFormValues interfaces
- style(settings): replace JS hover handlers with CSS custom property :hover
- ux(forms): replace Input type=number with InputNumber for quota and port fields
- fix(ui): remove unused idx param and stray CSS brace from Import migration
- style(joomla): fix missed status dot inline style in detail view
- style(ui): migrate Setup and Import page inline styles to CSS classes
- style(ui): replace remaining inline styles across Customers, MalwareScanner, Firewall, DNS, Settings
- style(prestashop): replace status dot, text, stat icon inline styles with CSS classes
- style(subscriptions): replace step show/hide inline styles with CSS modifier classes
- style(ui): migrate ResellerBranding inline styles to CSS custom properties
- style(ui): migrate DNS EmailSecurityTab + Joomla inline styles to CSS
- style(ui): migrate Onboarding inline styles to CSS classes
- i18n(ui): make StatusBadge use useTranslation instead of hardcoded German labels
- style(ui): migrate Email inline styles to CSS classes
- style(ui): migrate responsive inline styles to CSS classes (Sprint A cont.)
- i18n(ui): replace hardcoded German pagination strings with common:pagination.total
- chore(docs): curate v2.4.85 changelog (DE + EN)