Appearance
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:installcopies into yourdatabase/migrations/. - Editor assets, copied into your
public/.
So take a new release with one command:
bash
php artisan filamentcraft:upgradeIt 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.
| Flag | Effect |
|---|---|
--no-migrate | Publish the new migrations but don't run them. |
--no-assets | Skip the asset refresh. |
A typical deploy
bash
composer update filamentcraft/filamentcraft
php artisan filamentcraft:upgrade
php artisan filamentcraft:doctor --strictWhy 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_submissionsmigration. Runphp 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
- Commands — every artisan command the package registers.
- Preview & public assets — what lands in
public/and when to refresh it.
