Skip to content

Conversation

@Baspa
Copy link
Contributor

@Baspa Baspa commented Nov 14, 2025

Remaining tasks

  • Check composer.json files
  • Fix tests
  • Add tests

Release notes

What's changed

  • Fields package now provides the hydrate method to allow you to transform raw values stores in the database into a runtime representation. Useful when you want to convert stored IDs into models, format dates or process JSON data into specific objects.
  • Media package now provides an event to handle file uploads via custom providers (like Uploadcare) or to perform file processing before saving.
  • Backstage Uploadcare Field now contains a "media grid picker" to pick already uploaded media files to prevent duplicate files in Uploadcare.
  • All uploaded media files are now saved in the media table, including metadata in the media_relationships table. Here unique (meta)data for each content_field_value is stored.
  • The media package now includes laravel-translations to set (and translate) alt text for each configured language.

Breaking changes

  • Media ULIDs are now stored in the content_field_values table instead of the whole file objects. You can migrate existing Uploadcare data using php artisan vendor:publish --tag=backstage/uploadcare-field-migrations && migrate. When you want to get the meta of an "edit", you can access it like $media->edit.
  • Relationships on Content model will now be returned as a Collection instead of an array.
  • $item->field('image') will now return a Media model

To upgrade when using Uploadcare, run:

composer update && php artisan vendor:publish --tag=backstage/uploadcare-field-migrations && migrate

else run:

composer update.

@Baspa Baspa self-assigned this Nov 14, 2025
@Baspa Baspa added the feature New feature or request label Nov 14, 2025
@Baspa Baspa changed the base branch from main to 2.x December 12, 2025 10:08
@Baspa Baspa marked this pull request as ready for review December 12, 2025 11:07
@Baspa Baspa changed the base branch from 2.x to main December 12, 2025 11:08
@Baspa Baspa changed the base branch from main to 2.x December 12, 2025 11:49
@Baspa Baspa merged commit b2eab60 into 2.x Dec 12, 2025
5 checks passed
@Baspa Baspa deleted the feat/media-optimizations branch December 12, 2025 11:49
@Baspa Baspa restored the feat/media-optimizations branch December 12, 2025 11:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants