The new language engine uses a lazy-loading approach: translation strings are parsed on demand rather than upfront. On a 12-language installation, this reduces the memory footprint per request from 18MB to 4MB and eliminates the 200–400ms parsing delay that appeared under load. The 73% improvement figure is measured on a production install with 4,800 translation strings across all active locales.

RTL Language Support

Right-to-left support required changes across both the admin panel and the default theme layer. Text direction is now a per-locale setting rather than a per-page option, which means switching the active language switches the layout direction site-wide without any additional configuration. The RTL_LANGUAGES constant in config/environment.php accepts an array of ISO 639-1 codes; Arabic (ar) and Hebrew (he) are pre-configured.

Async Media Processing

The media library now processes uploads in a background queue rather than synchronously. Bulk AVIF conversion — available from Settings › Media — converts all existing WebP files in batches of 50. Progress is shown in real time via a polling endpoint. The original WebP files are kept until the conversion is verified; deletion is a separate manual step.

JWT Authentication in v2 API

API authentication has moved from long-lived API keys to short-lived JWT access tokens (15-minute TTL) paired with 30-day refresh tokens. Existing integrations using the v1 API key flow continue to work through v1.6.0. New integrations should use the v2 token endpoint documented in the API changelog.