getting started
Upgrade guide
Move from 1.x to 2.x with almost zero breaking changes — most apps only need a composer update and asset rebuild.
Upgrading to V2 is designed to be painless. For most applications there are almost zero breaking changes — if you already use KanbanPage with the default views and you have upgraded Filament to v4 or v5, you can often bump the package version, rebuild assets, and keep going.
The only hard requirement is Filament 4 or 5. V2 does not support Filament 3. Stay on the 1.x line if you cannot upgrade Filament yet:
composer require asmit/advanced-kanban:^1.6
Requirements
| Dependency | 1.x | 2.x |
|---|---|---|
| PHP | ^8.1 | ^8.1 |
| Filament | 3.x | 4.x or 5.x |
| Livewire | 3.x | 4.x (via Filament) |
Quick upgrade
- Upgrade Filament to v4 or v5 in your application first.
- Update the package:
composer require asmit/advanced-kanban:^2.0 - Rebuild assets:
php artisan filament:assets npm run build - Clear caches:
php artisan optimize:clear - Run your test suite and manually verify drag-and-drop.
That is the full path for a standard KanbanPage setup. No config rewrites, no database migrations from the package, and no changes to your kanban() method signature.
What stays the same
KanbanPagestill works — extend it, configurekanban(), and you are done.- Default board session keys — the default board name (
default) keeps the same search and filter session keys, so existing user sessions are not invalidated. - Your
kanban()configuration —model(),statusField(),columns(), actions, filters, and search behave the same. - UUID and string primary keys — no code changes needed if you already use non-integer IDs.
When you might need a small change
These only apply if you went beyond the defaults:
Published or copied Blade views
If you published package views in 1.x, compare your copies against the new kanban.blade.php and merge any markup changes. If you never published views, skip this.
Filament 3 namespaces in custom code
If your kanban forms, actions, or modals still import Filament 3 namespaces, update them to Filament 4/5 equivalents:
- Layout components →
Filament\Schemas\Components\ - Actions →
Filament\Actions\(neverFilament\Tables\Actions\) - Tabs →
Filament\Schemas\Components\Tabs\Tab
Multiple named boards on one page
Published card or column-header overrides that use $this->getKanban() still work. If you embed multiple named boards on one page, pass the optional $kanban prop:
@php
$kanban = $kanban ?? $this->getKanban();
@endphp
Before and after
1.x (Filament 3)
class TasksKanban extends Page
{
use InteractsWithKanban;
protected static string $view = 'advanced-kanban::index';
public function kanban(Kanban $kanban): Kanban
{
return $kanban
->model(Task::class)
->statusField('status')
->columns([/* ... */]);
}
}
2.x (minimal change)
use Asmit\AdvancedKanban\Pages\KanbanPage;
class TasksKanban extends KanbanPage
{
public function kanban(Kanban $kanban): Kanban
{
return $kanban
->model(Task::class)
->statusField('status')
->columns([/* ... */]);
}
}
KanbanPage sets the view automatically — you can drop the $view property and the InteractsWithKanban import.
Troubleshooting
Board looks unstyled after upgrade
php artisan filament:assets
npm run build
Drag-and-drop not updating on first move
Fixed in 2.x. Upgrade to ^2.0 if you still see stale column state after the first move.
What's new in 2.x
Once you are on 2.x, you can optionally adopt embeddable boards, card reordering, transition modals, record infolist cards, and more. See What's new in V2.