Skip to content

Comments

Add Laravel 12 and PHP 8.4 support#3

Merged
soymgomez merged 5 commits intomainfrom
feature/laravel-12-php-84-compatibility
Feb 20, 2026
Merged

Add Laravel 12 and PHP 8.4 support#3
soymgomez merged 5 commits intomainfrom
feature/laravel-12-php-84-compatibility

Conversation

@soymgomez
Copy link
Member

@soymgomez soymgomez commented Feb 20, 2026

Summary

Dependencies updated

  • PHP: ^8.0.2^8.2 (drop PHP 8.0 and 8.1, both EOL)
  • illuminate/macroable: ^7.0|...|^11.0^11.0|^12.0 (drop Laravel 7–10, all EOL)
  • phpunit/phpunit: ^8.3|^9.0|^10.0^10.0|^11.0
  • spatie/url: ^1.3.4|^2.0^2.0
  • symfony/dom-crawler: ^5.4|^6.1^6.1|^7.0
  • laravel/pint (dev): ^1.0^1.18

Bug fixes

  • Fix SimpleSerializer::formatUrl() TypeError: accept string|Stringable|null to handle Spatie\Url\Url objects
  • Fix PHPStan baseline using old Juampi92\TestSEO namespace

Code quality

  • Add conditional return types to HTMLParser::grabAttributeFrom() and getArgumentsFromNode(), eliminating all PHPStan baseline suppressions
  • Type assertTitleEndsWith param as non-empty-string
  • Replace @dataProvider doc-comments with PHP 8 attributes
  • Replace deprecated checkMissingIterableValueType PHPStan config with ignoreErrors identifier
  • Update phpunit.xml.dist to PHPUnit 11 schema, remove deprecated attributes

CI/CD

  • Test matrix: PHP 8.2, 8.3, 8.4 × PHPUnit 10, 11
  • Bump actions/checkout v3 → v4
  • Bump ramsey/composer-install v1 → v2
  • Bump laravel-pint-action 1.0.0 → 2.5
  • Bump git-auto-commit-action v4 → v5
  • Add contents: write permission to pint workflow

Test plan

  • CI passes on PHP 8.2, 8.3 and 8.4
  • PHPUnit 10 and 11 both green
  • PHPStan passes with empty baseline
  • Pint code style passes
  • Zero PHPUnit deprecations

Drop support for PHP <8.2, Laravel <11, Symfony <6.1,
PHPUnit <10 and spatie/url v1. Update CI matrix to test
PHP 8.2–8.4 with PHPUnit 10–11. Bump GitHub Actions to
latest major versions.

Changelog: changed
Accept Stringable in formatUrl() to handle Spatie\Url\Url objects.
Add contents:write permission to pint workflow for auto-commit.

Changelog: fixed
Update baseline from old Juampi92\TestSEO namespace to
Raiolanetworks\PluginSEOTest. Replace deprecated
checkMissingIterableValueType with ignoreErrors identifier.

Changelog: fixed
- Add conditional return types to HTMLParser::grabAttributeFrom()
  to properly narrow string vs array returns, eliminating all
  baseline suppressions
- Type assertTitleEndsWith param as non-empty-string
- Replace @dataProvider doc-comments with PHP attributes
- Update phpunit.xml.dist to PHPUnit 11 schema
- Bump laravel/pint dev dependency to ^1.18

Changelog: changed
@soymgomez soymgomez merged commit 67376d4 into main Feb 20, 2026
14 checks passed
@soymgomez soymgomez deleted the feature/laravel-12-php-84-compatibility branch February 20, 2026 15:13
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