orkhanahmadov/eloquent-enum-cast
Eloquent Enum Cast lets Laravel Eloquent models cast attributes to native PHP 8 enums. Declare an enum in your model's casts array and read database values as typed enum instances, keeping code type-safe and readable without manual conversion logic.
Architecture fit: The only signal from release 1.4.0 is a compatibility change: PHP support was reverted back to ^8.0. This indicates the package is a Composer-installed PHP library (with the usual Laravel package conventions assumed but not confirmed by the data). It implies the maintainers previously raised the PHP floor (likely to ^8.1 in an intermediate release) and have now restored ^8.0 compatibility. No architectural or API changes are described, so no inference can be made about service container bindings, facades, config publishing, or middleware behavior.
Integration feasibility: Broadening the PHP constraint to ^8.0 (i.e., >=8.0 <9.0) improves installability across Laravel 8/9-era applications still on PHP 8.0, and remains compatible with 8.1–8.3. This is a low-friction change for consumers who were pinned to an older release because of the prior constraint. However, feasibility cannot be fully confirmed without inspecting the package's composer.json, its transitive dependency constraints, and whether CI actually exercises PHP 8.0.
Technical risk:
^8.0 is convenient for legacy estates but should not be read as a recommendation to deploy on 8.0.Key questions:
^8.0 (Laravel 10+ requires PHP 8.1+, so the practical overlap is Laravel 8/9)?Stack fit: The change is relevant only to applications running PHP 8.0. Teams on PHP 8.1, 8.2, or 8.3 see no functional difference from the constraint change, since ^8.0 already admits those versions. For Laravel 10/11 consumers the change is effectively inert, as those framework versions require PHP 8.1+ regardless of the package constraint.
Migration path: Existing consumers on 1.3.x can upgrade to 1.4.0 as a routine minor bump. No data migration, config republish, or API adaptation is indicated. Consumers who had pinned below the PHP-restricting release can now move forward to 1.4.0 without changing their runtime. Validate via composer update --with-dependencies in a non-production branch and confirm the resolved lockfile still targets the intended PHP version.
Compatibility: The ^8.0 constraint spans PHP 8.0–8.4. Verify that the package's Laravel framework constraint and any transitive packages do not themselves require 8.1+, which would make the broadened constraint theoretical rather than usable. Confirm that the package does not depend on extensions or polyfills whose versions differ across the 8.0–8.4 range.
Sequencing:
composer.json and CHANGELOG to confirm the exact constraint and identify the release that introduced the drop.composer.json if the support matrix continues to fluctuate.Maintenance: The primary operational concern is that re-enabling PHP 8.0 expands the support surface the maintainers must test, while simultaneously making the package usable on an unsupported runtime. Adopters on PHP 8.0 inherit the full EOL security burden regardless of the package's stance. The revert also implies the maintainers may reverse course again, so version pinning and changelog monitoring are warranted.
Support: Support expectations should be set explicitly: the package permitting PHP 8.0 is not the same as the vendor supporting PHP 8.0. Escalation paths for runtime-level PHP 8.0 defects are effectively nonexistent upstream. Internally, document that PHP 8.0 usage is a tolerated legacy state with a defined exit date.
Scaling: No scaling-relevant changes are described. Horizontal scaling, queue throughput, and caching behavior are unaffected by a Composer constraint revert unless the prior restriction had forced consumers onto a materially different package version.
Failure modes:
Ramp-up: Minimal. The change requires no developer retraining and no application code changes. Effort is concentrated in verification: one CI matrix addition, one staging upgrade, and a policy decision on whether PHP 8.0 is an acceptable deployment target. Estimated effort is low (hours), contingent on the outcome of the compatibility questions above.
Note: This assessment is the baseline and is derived solely from the 1.4.0 release note. It should be revisited once composer.json, the changelog history, and CI configuration are available.
How can I help you explore Laravel packages today?