astrotomic/laravel-eloquent-uuid
Astrotomic's Laravel Eloquent UUID package adds UUID primary key support to your Eloquent models with minimal configuration. Generate unique, non-sequential identifiers for safer, distributed-friendly records while keeping familiar Laravel model behavior.
Architecture fit This is a Laravel service-provider-style package (Composer-distributed, framework-coupled). Release 1.5.0 re-aligns its support matrix with the framework's own release cadence: Laravel 9 (Feb 2022) and PHP 8.1 (Nov 2021) added; Laravel 6, Laravel 7, and PHP 7.3 removed. Architecturally it remains a standard drop-in dependency — no new extension points, drivers, or configuration surface are introduced in this release, so the integration footprint in our application code is unchanged. The only architectural coupling that moves is the Composer version constraint boundary.
Integration feasibility
Feasible and low-effort conditional on the host application already running Laravel 8/9 on PHP 7.4–8.1. For applications on Laravel 6 or 7, 1.5.0 is simply not installable — Composer's solver will reject it against the host's laravel/framework constraint. That is the safe failure mode: install-time rejection rather than runtime breakage. The practical work is therefore framework upgrade work, not package integration work.
Technical risk
^1.0 will attempt to resolve to 1.5.0 on the next composer update. Mitigation is a lockfile pin plus an audit of every service still on ^1.0.E_DEPRECATED output from the package or its transitive dependencies (implicit nullable params, ${var} interpolation, strlen(null)). Low severity but pollutes logs and can break strict test suites.Key questions
illuminate/support: ^8.0|^9.0 and php: ^7.4|^8.0|^8.1? Confirm before planning the bump.^1.x constraints in future.Stack fit Supported: Laravel 8.x, 9.x on PHP 7.4, 8.0, 8.1. Unsupported from 1.5.0 onward: Laravel 6.x, 7.x; PHP 7.3.
Compatibility matrix
| Application stack | Action on 1.5.0 |
|---|---|
| Laravel 9 / PHP 8.1 | Adopt; lowest risk |
| Laravel 9 / PHP 8.0 or 7.4 | Adopt; upgrade PHP separately |
| Laravel 8 / PHP 7.4–8.1 | Adopt; plan Laravel 9 later |
| Laravel 6 or 7 (any PHP) | Blocked — pin 1.4.*, no upgrade path until framework moves |
| PHP 7.3 (any Laravel) | Blocked — pin 1.4.* |
Migration path Two paths, and they should not be conflated:
^1.5, run composer update vendor/package --with-dependencies, run the full test suite, scan logs for PHP 8.1 deprecations, ship. Hours, not days.Sequencing
Runtime PHP → Laravel major → package minor. Concretely: (a) inventory all services on the package and record current Laravel/PHP versions; (b) raise PHP to 7.4 minimum, then 8.1 where supported; (c) upgrade Laravel 6/7 services to 8/9; (d) bump the package to ^1.5 service by service, not fleet-wide; (e) add a CI matrix leg on PHP 8.1 to catch future deprecation drift.
Maintenance Net positive for the fleet long-term: one support matrix (8/9, 7.4–8.1) is cheaper to test and patch than three. The cost is concentrated in the Laravel 6/7 tail, which now runs on a frozen 1.4.x line with no upstream PHP 8.1 fixes. That tail needs an owner and a date.
Support Vendor support windows now track Laravel's own: Laravel 6 security support and PHP 7.3 both ended in 2021, so the drops are overdue rather than aggressive. This is a defensible release. The support-desk question that will actually arrive is "why did my build break?" — answer: Composer refused an incompatible package, not a runtime regression.
Scaling No scaling characteristics change; this release does not touch runtime hot paths or add configuration. Fleet-wide rollout is bounded by the Laravel upgrade backlog, not by package behaviour.
Failure modes
composer update on Laravel 6/7 fails dependency resolution. Detectable in CI, no production impact. This is the expected outcome.^1.0 constraint combined with a floating framework constraint could resolve to a combination the maintainer does not test (e.g. Laravel 8.0 with 1.5.0). Pin the framework minor in composer.lock before bumping the package.Ramp-up Minimal. No new API, no new configuration keys, no new docs required. Engineering effort is entirely framework-upgrade effort already on the roadmap; treat this release as a forcing function that surfaces the Laravel 6/7 tail rather than as new work in its own right.
Assessment confidence: low on package-specific mechanics (no repository metadata, no prior assessment, no changelog history available). High on the version-constraint and support-matrix analysis, which is fully determined by the release notes. Re-run this assessment once package metadata and the 1.4.x EOL policy are known.
How can I help you explore Laravel packages today?