Skip to content

Upgrading ​

composer update replaces vendor/ and nothing else. Two things FilamentCraft puts outsidevendor/ stay on the version you installed:

  • Migrations, which ship as stubs that filamentcraft:install copies into your database/migrations/.
  • Editor assets, copied into your public/.

So take a new release with one command:

bash
php artisan filamentcraft:upgrade

It publishes new migrations, runs them with --force (so production deploys don't stall on Laravel's confirmation), re-syncs the built-in themes, and refreshes the editor assets. Safe to re-run; put it in your deploy script.

Before 1.40.7

upgrade skipped migrations in production. On older versions, deploy with filamentcraft:upgrade --no-migrate, then php artisan migrate --force and php artisan filamentcraft:sync-themes.

FlagEffect
--no-migratePublish the new migrations but don't run them.
--no-assetsSkip the asset refresh.

A typical deploy ​

bash
composer update filamentcraft/filamentcraft
php artisan filamentcraft:upgrade
php artisan filamentcraft:doctor --strict

Why this matters ​

Skipping the upgrade is silent. The app boots, pages render, and nothing complains — right up until something reaches for a column or a data normalisation that never landed. A release can also ship a migration that only transforms data, which leaves no missing column behind to notice.

filamentcraft:doctor checks both halves and names what is missing:

FAIL  Unpublished migrations
      add_revision_fks_to_templates, normalise_filamentcraft_site_hosts — shipped by this
      release but never copied into database/migrations. Run `php artisan filamentcraft:upgrade`.

Make it a CI gate

php artisan filamentcraft:doctor --strict exits non-zero on warnings too, so a build step running it catches a forgotten upgrade before your visitors do.

If your host loads the package's migrations some other way — a custom publish path, a squashed schema — doctor recognises that and stays quiet rather than nagging.

Upgrade notes ​

  • Form submissions inbox (after 1.40.13) ships the create_filamentcraft_submissions migration. Run php artisan filamentcraft:upgrade, or Contact and Newsletter submissions are dropped (and reported) until you do. See Form Submissions.

Release notes ​

CHANGELOG.md ships inside the package, so the notes for the version you just pulled are in vendor/filamentcraft/filamentcraft/CHANGELOG.md. The same file is published here: Changelog.

Next steps ​