Skip to content

Add Laravel 13.x and PHP 8.4 support - #34

Merged
ousid merged 3 commits into
mainfrom
feat/add-laravel-13-support
Jun 18, 2026
Merged

Add Laravel 13.x and PHP 8.4 support#34
ousid merged 3 commits into
mainfrom
feat/add-laravel-13-support

Conversation

@ousid

@ousid ousid commented Jun 18, 2026

Copy link
Copy Markdown
Member

What this does

Extends the package to support Laravel 13.x and PHP 8.4 without dropping any existing compatibility.

Changes

  • composer.json — add illuminate/contracts ^13.0, orchestra/testbench ^11.0, pestphp/pest ^4.4, pest-plugin-arch ^4.0, and PHP ^8.4 to the require/require-dev constraints
  • .github/workflows/run-tests.yml — add Laravel 13.* to the test matrix (with testbench 11.*), add PHP 8.4, exclude PHP 8.2 on Laravel 13, drop prefer-lowest stability (reduces noise with no real benefit), upgrade actions/checkout to v6, pin Carbon to ^3.8
  • tests/TurnstileTest.phpnew TurnstileCheck()new TurnstileCheck (style consistency)

Notes

Supersedes PR #32 (Shift — "Laravel 13.x Compatibility"), which covered the same dependency bumps but missed PHP 8.4 and used the outdated actions/checkout@v4. Recommend closing #32 in favour of this PR.

No breaking changes. The core HTTP logic (Illuminate\Support\Facades\Http) is fully compatible with Laravel 13.

- Extend illuminate/contracts to ^13.0
- Add orchestra/testbench ^11.0 for Laravel 13
- Add pestphp/pest ^4.4 and pest-plugin-arch ^4.0
- Add PHP 8.4 to require and CI matrix
- Exclude PHP 8.2 on Laravel 13 in CI
- Drop prefer-lowest stability from CI matrix
- Upgrade actions/checkout to v6
- Remove parentheses from new TurnstileCheck instantiation
@ousid ousid self-assigned this Jun 18, 2026
@ousid ousid added the enhancement New feature or request label Jun 18, 2026
Oussama Sid added 2 commits June 18, 2026 18:53
phpunit.xml.dist:
- Update schema from phpunit.de/10.0 to 11.0 (Pest 4.x uses PHPUnit 11+)
- Remove stopOnFailure and beStrictAboutOutputDuringTests — removed
  attributes in PHPUnit 11 that triggered warnings, which combined with
  failOnWarning=true caused exit code 1 before any test ran

run-tests.yml:
- carbon: ^3.8 -> >=3.8.4 on all rows — PowerShell strips the caret,
  resolving to exact 3.8.0 which is blocked by a security advisory

phpstan.yml:
- PHP 8.1 -> 8.2 (composer.json now requires ^8.2)
- actions/checkout@v3 -> @v6
The <coverage> block in phpunit.xml.dist causes PHPUnit to warn when no
coverage driver is installed (coverage: none in CI). With failOnWarning=true
this becomes exit code 1 before any test runs. --no-coverage suppresses it.
@ousid
ousid merged commit da3cd32 into main Jun 18, 2026
17 checks passed
@ousid
ousid deleted the feat/add-laravel-13-support branch June 18, 2026 15:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant