New
- Added family-aware GPM upgrade gate: blocks cross-major.minor auto-upgrades (e.g. 1.8 → 2.0) and points users at the
migrate-gravplugin - Added
next_majorhint surfaced from the remote GPM feed so admin/CLI can display upcoming major-version availability - Added compatibility blueprint support for major-version upgrade gating
- Added
media://stream for a site-level media directory - Added fast static asset serving for plugin-bundled SPA apps
- Added
onFlexDirectoryConfigBeforeSaveevent - Added
cache-cleanupCLI command - Added
-vverbose flag toyamllintercommand
Improved
- Moved media config blueprint and translations from admin plugin to core
yamllinternow uses Grav's built-in YAML parser for more detailed errors- More readable date/time output in
LogViewerCommand(#4007, #4009) - Postflight cleanup removes stale
upgrade.phpandneeds_fixing.txtfrom existing 1.8 beta installs - Updated vendor libs
- Removed
SafeUpgradeService,RecoveryManager,system/recovery.php, and the standaloneupgrade.phpfallback script — replaced by themigrate-gravplugin for major-version migrations - Removed recovery-mode config options from
system.yaml
Bugfix
- Fix for undefined array key path triggered through URL-encoded characters (#4012)
- Fix for default language loading when using session store
- Fix for
scheduleflag being ignored in backup profiles - Fixes for modern scheduler