ALL upgrades of this package should follow these steps:
Composer. Upgrading between major versions of this package always require the usual Composer steps:
Update your composer.json to specify the new major version, such as ^6.0
Then run composer update.
Migrations. Compare the migration file stubs in the NEW version of this package against the migrations you've already run inside your app. If necessary, create a new migration (by hand) to apply any new database changes.
Config file. Incorporate any changes to the permission.php config file, updating your existing file. (It may be easiest to make a backup copy of your existing file, re-publish it from this package, and then re-make your customizations to it.)
Models. If you have made any custom Models by extending them into your own app, compare the package's old and new models and apply any relevant updates to your custom models.
Custom Methods/Traits. If you have overridden any methods from this package's Traits, compare the old and new traits, and apply any relevant updates to your overridden methods.
Contract/Interface updates. If you have implemented this package's contracts in any models, check to see if there were any changes to method signatures. Mismatches will trigger PHP errors.
Apply any version-specific special updates as outlined below...
Review the changelog, which details all the changes: CHANGELOG
and/or consult the Release Notes
There were significant database and code changes between v1 to v2.
If you're upgrading from v1 to v2, there's no built-in automatic migration/conversion of your data to the new structure.
You will need to carefully adapt your code and your data manually.
You will also need to remove your old laravel-permission.php config file and publish the new one permission.php, and edit accordingly (setting up your custom settings again in the new file, where relevant).