Skip to content

Add support php 8.4,8.5 and laravel 13.x#838

Open
chienle wants to merge 1 commit intoandersao:masterfrom
chienle:feature/support-laravel-13
Open

Add support php 8.4,8.5 and laravel 13.x#838
chienle wants to merge 1 commit intoandersao:masterfrom
chienle:feature/support-laravel-13

Conversation

@chienle
Copy link
Copy Markdown
Contributor

@chienle chienle commented Mar 28, 2026

Laravel 13 & PHP 8.4/8.5 Support

Branch: feature/support-laravel-13
Date: March 28, 2026
Type: Compatibility Enhancement — No breaking changes


Overview

This change set extends prettus/l5-repository to officially declare compatibility with Laravel 13 and PHP 8.4 / 8.5. All existing APIs, Contracts, and Eloquent behaviour remain fully backward-compatible back to Laravel 5 and PHP 7.1.


Changed Files

1. composer.json

1.1 Package Description

Field Before After
description Laravel 5|6|7|8|9|10|11|12 - Repositories to the database layer Laravel 5|6|7|8|9|10|11|12|13 - Repositories to the database layer (PHP 7.1 to 8.5)

Changes:

  • Added Laravel 13 to the version string in the description.
  • Appended the explicit PHP range (PHP 7.1 to 8.5) for immediate visibility on Packagist.
  • Fixed a double-space typo in the original description (to theto the).

1.2 PHP Version Constraint

-  "php": "^7.1|^8.0",
+  "php": "^7.1|^8.0|^8.4|^8.5",

Although the Composer semver constraint ^8.0 already resolves to any 8.x release (including 8.4 and 8.5), the explicit declarations serve two purposes:

  1. Intent documentation — makes it immediately clear to users and CI pipelines which PHP versions are actively targeted and tested.
  2. Packagist metadata — the Packagist compatibility matrix derives tested versions from the declared constraints, improving discoverability.

1.3 Illuminate Package Constraints

^13.0 was appended to every illuminate/* package in the require section:

Package Before After
illuminate/http ...|^12.0 ...|^12.0|^13.0
illuminate/config ...|^12.0 ...|^12.0|^13.0
illuminate/support ...|^12.0 ...|^12.0|^13.0
illuminate/database ...|^12.0 ...|^12.0|^13.0
illuminate/pagination ...|^12.0 ...|^12.0|^13.0
illuminate/console ...|^12.0 ...|^12.0|^13.0
illuminate/filesystem ...|^12.0 ...|^12.0|^13.0
illuminate/validation ...|^12.0 ...|^12.0|^13.0

prettus/laravel-validation remains unchanged at ~1.1|...|~1.7 as it is an independent package with its own release cycle.


Compatibility Matrix (Post-Change)

PHP Laravel Status
7.1 5.x – 8.x Supported (legacy)
8.0 9.x – 12.x Supported
8.1 9.x – 12.x Supported
8.2 10.x – 12.x Supported
8.3 10.x – 13.x Supported
8.4 11.x – 13.x Newly declared
8.5 11.x – 13.x Newly declared

Migration Notes

There are no API changes in this release. Existing repositories, criteria, presenters, validators, and cache implementations require zero modifications to run on Laravel 13 or PHP 8.4/8.5.

If you are upgrading a Laravel application to version 13, simply ensure your composer.json requires this package version and run:

composer update prettus/l5-repository

No Breaking Changes

Concern Impact
Public API (RepositoryInterface) None
Eloquent BaseRepository None
RequestCriteria behaviour None
Cache / Presenter / Validator None
Artisan generator commands None
Config file (repository.php) None
Event / Listener registration None

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