File: /home/armgroup/libs/vendor/bensampo/laravel-enum/UPGRADE.md
# Upgrade Guide
## 6.x
### Native types
The library now uses native types whenever possible.
When you override methods or implement interfaces, you will need to add them.
### `Enum::getDescription()` throws
Instead of returning an empty string `''` on invalid values,
`Enum::getDescription()` will throw an `InvalidEnumMemberException`.
### Construct `InvalidEnumMemberException`
The constructor of `InvalidEnumMemberException` now expects the class name
of an enum instead of an enum instance.
## 5.x
### Laravel 9 required
Laravel `9` or higher is required.
### PHP 8.0 required
PHP `8.0` or higher is now required.
## 4.x
### Review use of Localization features
You should make sure that any enums using localization features are still translated as expected.
## 3.x
### Laravel 8 required
Laravel `8` or higher is required.
### PHP 7.3 required
PHP `7.3` or higher is now required.
## 2.x
### Laravel 7.5 required
Laravel `7.5` or higher is required for the new native attribute casting.
### PHP 7.2 required
PHP `7.2.5` or higher is now required.
### Switch to native casting
You should update your models to use Laravel 7 native casting. Remove the trait and
move the casts from `$enumCasts` to `$casts`.
Trait based casting is still present, but is now deprecated and will be removed in the next major version.
```diff
--use BenSampo\Enum\Traits\CastsEnums;
class MyModel extends Model
{
- use CastsEnums;
- protected $enumCasts = [
+ protected $casts = [
'foo' => Foo::class,
];
```