Bugfix
- A page's
translatedLanguages()now returns each language's own route, so a translation with a localizedslug:produces the correct cross-language link instead of repeating the default language's URL. Fixes getgrav/grav#4183. - [security] Profile avatars display again instead of returning a 403; the folder hardening that locked down
user/accountsnow makes a narrow exception for avatar images while account data such as password hashes stays blocked, and existing sites self-heal on upgrade. Fixes getgrav/grav#4185. - Loading a page no longer fails with a "Failed to write cache file" error when Grav can't save the compiled template cache, such as on a shared folder, a full disk, or during a save-then-reload race; the page still renders and the problem is logged instead. Fixes getgrav/grav#4184.