What's Changed
Features
- New
AsJsonMediacast: a json media field is read as a collection ofMedia(images) andDocument(other files). The json stored in the database does not change, and the Filament field keeps working - New
<x-gallery-json-media::image>Blade component: a lazy<img>with the thumbnail of the requested size and thealtof the media, with an optionalformat(format="webp") - New
<x-gallery-json-media::responsive-image>Blade component: asrcsetof thumbnails in several widths and a<picture>with WebP sources (AVIF optional) - New
images.responsiveconfig (widths,formats) Media::getSrcset(), and aformatargument forMedia::getCropUrl()
Security
- The thumbnail urls of local images are signed with Laravel signed urls, instead of a md5 token
Fixes
- Local thumbnails are generated on the disk of their image, instead of the default disk of the package
Other
- CI on PHP 8.3 and 8.4 with Laravel 12 and 13
Upgrade notes
- The
signing_keyconfig is removed, you can delete it from your published config - Thumbnail urls with the former
_tokenreturn 403: thumbnails already generated are still served, regenerate the pages you cache (HTML, CDN) to get the new signed urls - The
images.responsiveconfig is optional, its defaults apply when your published config does not have it
Full Changelog: v5.2.0...v5.3.0