Lunar 1.5 moves its admin panel to Filament 4
1 hour ago
Lunar 1.5 is the stable release after the 1.5 betas, and for anyone on 1.4 it moves the floor. It needs PHP 8.3, Laravel 12 or 13, and Filament 4 for the admin panel. That Filament move is most of the upgrade work.
Ask about this presentation
Chapters
Show transcriptHide transcript
Lunar 1.5 is the stable release after the 1.5 betas, and for anyone on 1.4 it moves the floor. It needs PHP 8.3, Laravel 12 or 13, and Filament 4 for the admin panel. That Filament move is most of the upgrade work.
Start with what's new. Table rate shipping gains a discount type for shipping, as a fixed price per currency or a percentage off, plus base prices in every currency and optional weight limits on each method. Core ships a Lunar skill for Laravel Boost, PostgreSQL gets a fixed line order, and the admin panel adds Arabic, Bulgarian, Persian, Croatian and Mongolian.
Four fixes change what a customer pays, so check them against your live store. Buy X Get Y discounts now enforce their conditions, like a minimum spend. Stripe amounts follow the currency's decimal places; a currency set to four places was charged a hundred times too much. Weight tiers use the method's own unit, so re-enter thresholds on any method not in kilograms. And state tax zones match only inside their country, since WA is both Washington and Western Australia.
Now, what you have to change.
Raise your app's own requirements before you update Lunar. Move to PHP 8.3, Laravel 12 or 13, and Filament 4.1. The forked two-factor package that Lunar 1.3 asked you to install is no longer required, because Filament 4 ships its own multi-factor authentication.
If you built your own resources, pages, widgets or actions on the admin panel, they need the Filament 4 APIs. Filament's upgrade tool helps with the rewrite. Forms take a schema, actions move under Filament Actions, and layout pieces like Section and Group move to schema components.
Two renames reach into your own code. A migration renames the staff table's two-factor columns to app authentication columns and drops the confirmed-at timestamp, so update any code that names the old ones. Collections now use Lunar's own fork of the nested set package, so imports from the Kalnoy namespace move to Lunar's. Tree queries work as before.
Shipping lines used to store a placeholder purchasable, and reading it threw a fatal error. Now it's null. Storefront loops should skip those lines, or loop over product lines instead. The cutoff column on shipping methods is also gone. An availability schedule replaces it, and existing cutoffs are copied across.
To upgrade, back up the database and try it on staging first. Update Lunar, run the migrations, and clear cached config and views. If your panel extensions can't move to Filament 4 yet, stay on 1.4, the last line on Filament 3. The upgrade guide in Lunar's docs lists every change. That's Lunar 1.5, with the admin panel on Filament 4.









