Choose your update path
Update within v4
1
Read the release notes
Check Changelog for requirements, configuration changes and migrations. Keep the application’s Composer constraint on the intended v4 release line.
2
Resolve the new package version
composer install, rather than resolve a different dependency set on each node.3
Publish matching assets
If publication is not already handled by the application’s Composer hook:FLEX publishes its resources after successful Filament asset publication. Normal page requests and unrelated commands do not republish package files.
4
Finish your application's deployment
Apply planned migrations, rebuild the caches your application uses and restart relevant long-running processes. Then verify the release and a representative create/edit workflow.
Set up automatic publication once
Composer runs scripts from your application’scomposer.json, not from installed dependency packages. If filament:upgrade is already present, it includes Filament asset publication.
If neither publication command is configured, merge this entry into the application’s existing post-autoload-dump list:
composer.json
composer install --no-scripts and composer update --no-scripts skip these hooks. Include explicit publication when your deployment uses either option.Preserve your settings
Your published configuration and translations remain application-owned. Compare new settings with the release notes and add only the overrides you need. Do not routinely overwrite those files withvendor:publish --force.
After changing published configuration, rebuild configuration cache through your normal Laravel deployment. Keep component configuration and model storage contracts aligned when a release changes a value format.
Plan database changes
Individual fields use application attributes; they do not require managed field-group storage. However, FLEX registers package migrations, and your application’s migration step includes pending package migrations even if the field-group resource is disabled. Review pending migrations and the release notes before running the normal production migration step:Restart only the processes you use
Keep PHP and asset releases together
Deploy the reviewed code, lockfile and matching published assets as one release. In a multi-node deployment, each active node needs a consistent package and asset set. Retain older immutable asset releases while open browser documents or application nodes still reference them. Pruning is explicit. An open page can retain already evaluated JavaScript; a reload may be needed after a runtime change. Do not add cache-busting timestamps to URLs or delete old releases indiscriminately. For release stores and delivery policies, use extension deployment and asset delivery.Verify the deployed release
I publish to a separate public asset store
I publish to a separate public asset store
I use the optional Whisper runtime
I use the optional Whisper runtime
php artisan fff:whisper:install. Ordinary playback does not require transcription. See AudioField runtime setup.Prepare a rollback
Keep the previous application release and its matching assets available. Restoring code alone is not enough if its browser files have been removed. Database migrations and changed saved-value contracts need their own rollback or forward-recovery plan. Restoring the package version does not automatically reverse database or media changes.Changelog
Review the changes for your installed version.
Troubleshooting
Diagnose publication, configuration and processing failures.