tishotm/eloquent-ci-relations
tishotm/eloquent-ci-relations adds case-insensitive relationship support to Laravel Eloquent, letting you define belongsTo, hasMany, and similar relations that match keys regardless of letter casing. Useful for legacy data and mixed-case identifiers.
Architecture fit: The package sits at the illuminate/database layer, meaning it extends or wraps Laravel's query builder / Eloquent rather than acting as a standalone library. That is a structurally sound position — it inherits Laravel's connection management, grammar abstraction, and event hooks — but it also means the package's blast radius is every query path in the host application. Declaring v13 support is the correct signal for a package in this position: framework-major tracking is table stakes, not a feature.
Integration feasibility: Low friction for teams already on Laravel 12 and planning the 13 upgrade. The change is a Composer constraint edit plus whatever internal adjustments the new major requires. No new API surface, no migration, no config changes. Integration cost is effectively one composer update and a regression test pass.
Technical risk: The release note is one line, and that brevity is itself the risk. Three things are unverified:
^12.0 to ^13.0, applications on Laravel 11/12 are silently cut off at the next minor. If it became ^11.0|^12.0|^13.0, this is purely additive. The release note does not distinguish, and the difference determines whether this is a safe patch or a forced upgrade.doctrine/dbal, custom grammars, or connection drivers that lag framework majors by weeks or months. A v13-ready package can still fail to install due to an unrelated transitive constraint.Key questions for the maintainer:
illuminate/database ^13.0, and is it green?Given no prior assessment exists, this evaluation is scoped to release metadata only and should be treated as provisional until the constraint diff and CI configuration are inspected.
Stack fit: Assumes a conventional Laravel application — service provider registration, Eloquent models, standard connection config. The package's value proposition is that it requires no architectural accommodation; if the team is on a supported Laravel line, it drops in. Nothing here suggests otherwise.
Migration path: Two distinct paths depending on the constraint question above.
1.5.x explicitly and schedule the framework and package upgrades together as a single change.Compatibility sequencing: The correct order is framework first, package second, in the same branch — not package first. Adopting a v13-targeted package release while still on 12 is the failure case that produces "works on my machine" dependency resolution, because Composer may resolve the package against a lower illuminate/database than its tests assumed.
Recommended sequencing:
composer.json constraint on illuminate/database and php in v1.6.0 — this resolves the entire risk question in under a minute and should precede any other work.composer.json rather than floating on ^1.0, so a future constraint swap is a deliberate decision.If the team is not planning a Laravel 13 upgrade this cycle, the correct action is to take the latest 1.5.x patch and defer v1.6.0. There is no reason to chase this release ahead of the framework.
Maintenance: Low steady-state burden, but this release is a useful maintenance signal: it demonstrates the maintainer is tracking framework majors within a reasonable window. That is the single most important health indicator for a package in the database layer, because a package that lags framework majors by more than one cycle becomes an upgrade blocker for the whole application. Track the lag on the next Laravel major as the real test.
Support: Expect community questions clustered around the constraint question — users on 11/12 hitting resolution errors after a routine composer update. Budget a small amount of triage time if the constraint was swapped and the changelog did not say so clearly. One line of release note for a version-support change is thin; downstream teams will pay for that ambiguity in debugging time.
Scaling: No scaling implications. This is a compatibility release, not a performance or architecture change. Query-path behaviour should be identical to 1.5.x on the same framework version.
Failure modes, ordered by likelihood:
composer update for apps still on Laravel 11/12 — most likely, and the cheapest to diagnose.Ramp-up: Negligible. No new concepts, no configuration, no learning curve. A developer familiar with Laravel can adopt this in an afternoon, and the work is almost entirely verification rather than implementation.
TPM recommendation: Treat v1.6.0 as a routine maintenance release contingent on one fact-finding step — read the composer.json constraint diff. If additive, adopt on your normal cadence. If swapped, pin to 1.5.x and bundle the package upgrade with the Laravel 13 migration. Either way, do not upgrade the package ahead of the framework, and do not accept the release note at face value as evidence of tested v13 compatibility.
How can I help you explore Laravel packages today?