Add Laravel 13 support - #2529
Conversation
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
|
@wychoong changed to draft whilst still WIP. In v2 I've removed |
claude targeted to the wrong branch to merge I wanted to target 1.2, max 1.4. 1.5 already support L13 and removed |
|
What is the purpose of this PR? We are on v1.3 now and soon to be 1.5, so I don't know why we're targeting 1.2 |
because only 1.2 can be targeted, 1.x is 1.5 |
Oh, following now. We should look to use the |
|
@wychoong are you still intending to update this PR? |
the only open item should be |
Certainly don't want to fork it, so probably backport. |
Backports Lunar\Utils\MeasurementConverter, the Lunar\Facades\Converter facade and its unit tests from upstream lunarphp/lunar 1.x (10b1210, 'Update to L13 lunarphp#2436'), and removes the cartalyst/converter dependency from the root and core composer.json. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Replace cartalyst/converter with backported MeasurementConverter
Upgrade guideMeasurement converter replaces cartalyst/converterLunar now ships its own measurement converter and no longer depends on No action needed if you only define measurements in Update your code if you:
use Cartalyst\Converter\Laravel\Facades\Converter;
with:
use Lunar\Facades\Converter;
|
pest-plugin-laravel ^3 caps laravel/framework at ^12, so the L13 CI matrix cells could not resolve dependencies. Pest 4 / plugin 4 support Laravel 13 and the suites pass unchanged under PHPUnit 12. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Allow pest 4 for Laravel 13 test matrix
|
@wychoong I've retargetted to branch |
|
@glennjacobs fixed one thing to highlight is the test matrix. Php 8.2 is mentioned to be supported in installation guide (<1.5) but test is not covered. Probably old enough to ignore then we should remove 8.2 from matrix and cleanup the exclude block, or keep 8.2 and remove exclude block to cover 8.2 and Laravel 11,12 |
What changed
Dependency constraints (
composer.json,packages/core/composer.json)^13.0tolaravel/frameworkversion constraint^7.0.0tokalnoy/nestedset— v7 is the release that explicitly targets Laravel 13; v6 is retained for L11/L12 installsdoctrine/dbalas a direct dependency — Lunar never used it directly; the sole usage was a bridge API removed in Laravel 11^11.0toorchestra/testbenchin dev dependenciesMigrateGetCandycommand (packages/core/src/Console/Commands/MigrateGetCandy.php)DB::connection()->getDoctrineSchemaManager()->listTableNames()withSchema::getTableListing(), which is the Laravel 11+ native equivalent. The old call relied on the Doctrine DBAL bridge that was dropped in Laravel 11, meaning it was already broken on all currently supported versions.CI (
.github/workflows/tests.yml)13.*to the Laravel test matrix withtestbench: 11.*Remaining blocker
cartalyst/converterhas no Laravel 13-compatible release. The package versions lock-step with illuminate/* — v9 supports L11, v10 supports L12, and no v11 exists yet for L13. Until upstream releases a v11, Lunar cannot fully resolve on Laravel 13. This needs to be tracked and the constraint updated (^9.0|^10|^11) once the release lands.🤖 Generated with Claude Code