Laravel 13 is the next major release of the Laravel framework, scheduled for March 2026. This release will require PHP 8.3 as the minimum version and will follow Laravel's standard support cycle with bug fixes through Q3 2027 and security updates through Q1 2028.
New Features
Laravel 13 features will be added to this post as they are announced.
PHP Attributes Support
PR #58578 introduces PHP 8 Attributes as an alternative to class properties for configuring Laravel components. This is a non-breaking change — existing property-based configuration continues to work.

Eloquent Models
New attributes replace the need to define $table, $hidden, $fillable, and other properties on your models:
#[Table('users', key: 'user_id', keyType: 'string', incrementing: false)]#[Hidden(['password'])]#[Fillable(['name', 'email'])]class User extends Model {}
Available model attributes:
#[Appends]#[Connection]#[Fillable]#[Guarded]#[Hidden]#[Table]#[Touches]#[Unguarded]- `#[Visible]
Queue Jobs
Queue configuration can now be defined directly on the job class:
#[Connection('redis')]#[Queue('podcasts')]#[Tries(3)]#[Timeout(120)]class ProcessPodcast implements ShouldQueue {}
Available queue attributes:
#[Backoff]#[Connection]#[FailOnTimeout]#[MaxExceptions]#[Queue]#[Timeout]#[Tries]#[UniqueFor]
These attributes also apply to listeners, notifications, mailables, and broadcast events.
Console Commands
Commands can define their signature and description with attributes instead of class properties:
#[Signature('mail:send {user} {--queue}')]#[Description('Send a marketing email to a user')]class SendMailCommand extends Command {}
Other Components
Attributes are also available for form requests (#[RedirectTo], #[StopOnFirstFailure]), API resources (#[Collects], #[PreserveKeys]), factories (#[UseModel]), and test seeders (#[Seed], #[Seeder]).
Cache::touch()
PR #55954 adds a Cache::touch() method that extends a cached item's TTL without fetching or re-storing the value:
// Extend by secondsCache::touch('user_session:123', 3600); // Extend with a DateTimeCache::touch('analytics_data', now()->addHours(6)); // Extend indefinitelyCache::touch('report_cache', null);
Previously, extending a TTL required a get followed by a put, which meant transferring the cached value over the wire unnecessarily. Cache::touch() skips that — Redis uses a single EXPIRE command, Memcached uses TOUCH, and the database driver issues a single UPDATE.
The method returns true on success and false if the key doesn't exist. It's implemented across all cache drivers: Array, APC, Database, DynamoDB, File, Memcached, Memoized, Null, and Redis.
PHP Version Requirements
Laravel 13 will require PHP 8.3 as the minimum version. This represents an increase from Laravel 12's PHP 8.2 minimum requirement.
Support Timeline
Following Laravel's established support policy, Laravel 13 will receive bugfixes until Q3 2027 and security updates until Q1 2028:
| Version | PHP (*) | Release | Bug Fixes Until | Security Fixes Until |
|---|---|---|---|---|
| 10 | 8.1 - 8.3 | February 14th, 2023 | August 6th, 2024 | February 4th, 2025 |
| 11 | 8.2 - 8.4 | March 12th, 2024 | September 3rd, 2025 | March 12th, 2026 |
| 12 | 8.2 - 8.5 | February 24th, 2025 | August 13th, 2026 | February 24th, 2027 |
| 13 | 8.3 - 8.5 | Q1 2026 | Q3 2027 | Q1 2028 |
Laravel 12, released February 24, 2025, will continue receiving:
- Bug fixes until August 13, 2026
- Security fixes until February 24, 2027