Commentable models, <livewire:comments /> tags, likes, reports, and guest rows keep working. You add a Composer repo, run the installer, and optionally mount React/Vue against the same data.
From Commentify 4.x (free only)
1
Confirm core is on 4.x
Pro requires
usamamuneerchaudhary/commentify:^4.0. Core 4.0 made user_id nullable and added guest_name, guest_email, ip, user_agent, import_source, and import_id.2
Install Pro
Follow Installation. The installer publishes
config/commentify-pro.php and overlays core onto config('commentify') unless config/commentify.php is still on disk.3
Merge and delete the old config
If you previously published
config/commentify.php, copy those values under commentify-pro.core and delete the extra file. Until you do, the overlay is skipped and the installer will tell you so.4
Register commentable aliases
Livewire never needed aliases. The API and SDKs do:The installer fills this from models that already use
Commentable.5
Register Filament Pro (optional)
From Commentify 3.x or earlier
Upgrade core to 4.x first (nullableuser_id, guest columns, Livewire 4, Laravel 12/13). Then install Pro.
If you published Blade views, republish them — 4.0 adds partials/guest-fields.blade.php. If you copied CommentPolicy into your app, keep create(?Authenticatable $user = null) so guests can post when allow_guests is on.
After composer update
Refresh the published JS (the installer overwrites vendor copies on purpose):@commentify/* in Vite optimizeDeps.include. Vite caches that pre-bundle on the lockfile, so the browser keeps running a stale SDK after every publish. If you already did, remove it and delete node_modules/.vite. See JavaScript.
Config keys that moved
Runtime still reads
config('commentify.*') inside core. Pro copies core onto that bag at boot.
