Skip to content

feat: add Laravel 13 support#10

Merged
yannelli merged 1 commit into
mainfrom
claude/laravel-13-support-dbxp2i
Jul 5, 2026
Merged

feat: add Laravel 13 support#10
yannelli merged 1 commit into
mainfrom
claude/laravel-13-support-dbxp2i

Conversation

@yannelli

@yannelli yannelli commented Jul 5, 2026

Copy link
Copy Markdown
Owner

Summary

Adds Laravel 13 support while keeping Laravel 12 fully supported. The framework constraints are widened rather than replaced, so existing Laravel 12 consumers are unaffected.

Changes

  • composer.json
    • illuminate/contracts, illuminate/pipeline, illuminate/queue, illuminate/support: ^12.0^12.0 || ^13.0
    • orchestra/testbench: ^10.0^10.0 || ^11.0
    • pestphp/pest, pestphp/pest-plugin-arch, pestphp/pest-plugin-laravel: ^3.x^4.0
  • .github/workflows/run-tests.yml — CI matrix now runs Laravel 12 (testbench 10) and Laravel 13 (testbench 11) on PHP 8.4.
  • CHANGELOG.md — documented under an Unreleased section.

Why the Pest 4 bump?

Laravel 13 requires orchestra/testbench 11, which runs on PHPUnit 12. The current Pest 3 toolchain caps out at PHPUnit 11, and more decisively pestphp/pest-plugin-laravel 3 only permits orchestra/testbench ^9.9 || ^10.2 — it will not resolve against testbench 11. Pest 4 (pest-plugin-laravel 4) supports Laravel 11/12/13, so it covers the whole matrix. These are dev-only dependencies, so there are no public API changes for consumers.

No source or test code changes were needed — the arch/expectation APIs used are stable across Pest 3 and 4.

Verification

Resolved and ran the full suite locally against both targets (PHP 8.4):

Target framework testbench pest phpunit result
Laravel 12 12.62.0 10.11.0 4.7.4 12.5.30 161 passed (332 assertions)
Laravel 13 13.18.1 11.1.0 4.7.4 12.5.30 161 passed (332 assertions)

Widen the framework constraints so the package installs on both Laravel 12
and Laravel 13:

- illuminate/* constraints -> ^12.0 || ^13.0
- orchestra/testbench -> ^10.0 || ^11.0

Adding Laravel 13 (testbench 11 / PHPUnit 12) requires the Pest 4 toolchain,
since pest-plugin-laravel 3 does not allow testbench 11. Bump pestphp/pest,
pestphp/pest-plugin-arch, and pestphp/pest-plugin-laravel to ^4.0. These are
dev-only dependencies, so there are no public API changes; the full suite
(161 tests) passes on both Laravel 12 and Laravel 13.

Extend the CI matrix to run against Laravel 12 (testbench 10) and Laravel 13
(testbench 11) on PHP 8.4.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Cz6nMNn2ZkQBWEkPxBSqkj
@yannelli yannelli marked this pull request as ready for review July 5, 2026 03:01
@yannelli yannelli merged commit 121768d into main Jul 5, 2026
3 checks passed
@yannelli yannelli deleted the claude/laravel-13-support-dbxp2i branch July 5, 2026 03:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant