Skip to content

Conversation

@Baspa
Copy link
Contributor

@Baspa Baspa commented Dec 12, 2025

Remaining tasks

  • Check composer.json files
  • Fix tests (workflows)
  • Add tests
  • Try to upgrade existing website from 0.x or 1.x to 2.x.

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

Upgrade guide

Uploadcare

To upgrade when using Uploadcare, run:

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

Not using Uploadcare?

Simply run composer update.

* Squashed 'packages/filament-uploadcare-field/' content from commit 34c1516

git-subtree-dir: packages/filament-uploadcare-field
git-subtree-split: 34c15165cfe7d938bdd1a77db2b1a2b01551b7b6

* Squashed 'packages/uploadcare-field/' content from commit a994f38

git-subtree-dir: packages/uploadcare-field
git-subtree-split: a994f3896d2f93608a518261885576f3c0c31c57

* import media package changes

* import uploadcare-field changes

* import core changes

* build uploadcare assets

* fix icon path

* packages

* add missing files

* columnSpanFull for first alt

* rename alt tag to alt text

* remove original filename and set filename as modal heading

* add translations to the media model

* fix: styling

* wip it

* fix: styling

* remove dupe notification

* fix: styling

* improve media picker

* media grid picker improvements

* fix: styling

* feat: check on file types and allow multiple

* fix: keyvalue nested arrays

* fix uploading files

* backstage specific listmedia

* custom uploadcare src attribute

* fix: styling

* remove code

* fix: nested array values

* fix: styling

* fix imports

* feat: add database view

* fix: styling

* feat: add image preview in edit mode and show array values correct

* fix: translations in UC

* remove hardcoded lang

* fix: styling

* alignCenter

* decouple Uploadcare from core packages

* fix: styling

* this needs testing: check if saving works correctly

* feat: allow hydrating values from custom fields

* give custom fields priority over normal fields

* fix handling nested fields in repeater/builder

* fix: styling

* reduce redundant code

* wip

* fix: styling

* return Media model

* getMimeTypeAttribute

* fix: styling

* cast metadata to array

* fix: styling

* wip

* convert data to media_relationships

* relationships and hydrating

* observer and define relation

* fix: styling

* rename usages to edits

* load edits for media

* `getEditAttribute`

* `getEditAttribute`

* fix: styling

* disable future mediaPicker

* fix: styling

* return relation

* fix manoj

* wip

* remove media resource

* fix: styling

* disable broken translations in edit form

* fix file upload by uploadcare

* extends functionality from the media baseclass

* fix translations

* hide translate button when no openai key set

* file icons for previews

* fix: styling

* dont encode metadata

* use correct md5 hashes for normal media and uploadcare

* fix: styling

* docs: hydrating fields

* docs: custom mediaupload using events

* fix: media grid picker and cleanup Uploadcare code

* styles: darkmode issues

* fix migration

* wip

* fix: styling

* fix: defining extension

* fix: styling

* fix: saving crop doesnt always saves cdnUrlModifiers

* fix: load values when getting field

* wip

* wip

* fix: styling

* wip

* fix: styling

* fix: order of executing

* fix: load site relation

* fix: styling

* wip

* wip it

* fix composer.json

* test: trigger workflow

* test: trigger workflow

* self.version

* fix incorrect config key

* get nested configs

* wip

* fix phpstan issues

---------

Co-authored-by: Baspa <10845460+Baspa@users.noreply.github.com>
Co-authored-by: Mathieu <mathieu@fellicht.nl>
@Baspa Baspa self-assigned this Dec 12, 2025
@Baspa Baspa added the release label Dec 12, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants