This guide covers breaking changes and migration steps between major versions of nasirkhan/module-manager.
- Backup your project before upgrading
- Read the full section for the version you are targeting
- Upgrade one major version at a time if jumping multiple versions
- Run your test suite after each upgrade
Estimated Time: 5–10 minutes Difficulty: Low Risk Level: Low
module-manager v7.0 takes ownership of two dependencies that were previously declared directly in laravel-starter:
| Package | Reason moved |
|---|---|
spatie/laravel-activitylog |
Used internally by the Post model (LogsActivity trait) — belongs in the package |
intervention/image-laravel |
Required by nasirkhan/laravel-jodit for image resize/crop in the Jodit file browser |
Both packages continue to be installed in your application — they are now pulled in transitively through nasirkhan/module-manager instead of being listed as direct application dependencies.
spatie/laravel-activitylog and intervention/image-laravel are no longer listed as direct dependencies in laravel-starter/composer.json. If you have customizations that rely on these packages, they will continue to work because Composer still installs them (via module-manager). No PHP code changes are required.
The only action required is removing them from your own composer.json to keep it clean.
composer update nasirkhan/module-managerThis pulls in the new version which now declares spatie/laravel-activitylog and intervention/image-laravel as its own dependencies.
Open your application's composer.json and remove the following lines from the require section if they are present:
"intervention/image-laravel": "^4.0",
"spatie/laravel-activitylog": "^5.0",composer updateComposer will confirm the packages are still resolved (transitively) and update composer.lock.
composer show spatie/laravel-activitylog
composer show intervention/image-laravelBoth commands should return package info, confirming they are still present in vendor/.
php artisan config:clear
php artisan cache:clearphp artisan testThe package classes and facades remain the same. Any existing code that references these packages will continue to work without modification:
// These continue to work — no changes needed
use Spatie\Activitylog\Models\Concerns\LogsActivity;
use Spatie\Activitylog\Support\LogOptions;
use Intervention\Image\Laravel\Facades\Image;Class not found errors after upgrading
Run composer dump-autoload and clear caches:
composer dump-autoload
php artisan clear-allPackage still showing as a direct dependency
If composer show --direct still lists the package, ensure you removed it from both the require and require-dev sections of your composer.json, then run composer update.
Activity log migrations missing
The activity log migrations are published from spatie/laravel-activitylog. If you have not run them yet:
php artisan vendor:publish --provider="Spatie\Activitylog\ActivitylogServiceProvider" --tag="activitylog-migrations"
php artisan migrate- Issues: GitHub Issues
- Discussions: GitHub Discussions