What We Know About Laravel 13 (So Far)

What We Know About Laravel 13 (So Far)

Laravel 13 is the next major release of the Laravel framework, scheduled for release in March 2026.

This release introduces modern improvements, deeper PHP integration, and continues Laravel’s predictable release and support cycle.

📅 Release & Support Timeline

Laravel 13 will follow Laravel’s standard support policy:

  • 🐛 Bug Fixes: Until Q3 2027

  • 🔒 Security Fixes: Until Q1 2028

  • 🐘 Minimum PHP Version: PHP 8.3

This is an increase from Laravel 12, which required PHP 8.2.

🆕 Major Feature: Native PHP Attributes Support

One of the biggest updates in Laravel 13 is the introduction of PHP 8 Attributes for configuring framework components.

This allows developers to use native PHP syntax instead of class properties for configuration.

✅ This is a non-breaking change.
Existing property-based configuration still works.

🗂️ Eloquent Model Attributes

You can now configure Eloquent models using attributes instead of defining properties like $table, $fillable, or $hidden.

Example:

#[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]

This makes models cleaner and more expressive.

📨 Queue Jobs with Attributes

Queue configuration can now be defined directly on the job class using attributes.

Example:

#[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:

  • Event Listeners

  • Notifications

  • Mailables

  • Broadcast Events

This reduces boilerplate and improves clarity.

🖥️ Console Commands with Attributes

Artisan commands can now define their signature and description via attributes.

#[Signature('mail:send {user} {--queue}')]
#[Description('Send a marketing email to a user')]
class SendMailCommand extends Command {}

Cleaner. More modern. More consistent with PHP 8 standards.

🧩 Other Components Supporting Attributes

Laravel 13 expands attribute usage across multiple components:

Form Requests

  • #[RedirectTo]

  • #[StopOnFirstFailure]

API Resources

  • #[Collects]

  • #[PreserveKeys]

Factories

  • #[UseModel]

Test Seeders

  • #[Seed]

  • #[Seeder]

Laravel is clearly moving toward native PHP configuration patterns.

⚡ New Feature: Cache::touch()

Laravel 13 introduces a new method:

Cache::touch()

This allows you to extend a cached item's TTL without retrieving and re-storing the value.

Example:

// Extend by seconds
Cache::touch('user_session:123', 3600);

// Extend with DateTime
Cache::touch('analytics_data', now()->addHours(6));

// Extend indefinitely
Cache::touch('report_cache', null);

Why This Matters

Previously, extending TTL required:

$value = Cache::get('key');
Cache::put('key', $value, $newTtl);

That meant unnecessary data transfer.

Now:

  • Redis uses a single EXPIRE

  • Memcached uses TOUCH

  • Database driver issues a single UPDATE

More efficient. More scalable.

It returns:

  • true on success

  • false if the key does not exist

Supported drivers:
Array, APC, Database, DynamoDB, File, Memcached, Memoized, Null, Redis.

🐘 PHP Version Requirements

Laravel 13 requires:

PHP 8.3 or higher

Supported range:

  • PHP 8.3

  • PHP 8.4

  • PHP 8.5

Make sure your hosting or production servers are upgraded before migrating.

📊 Version Support Comparison

VersionPHPReleaseBug Fixes UntilSecurity Fixes Until
108.1 – 8.3Feb 14, 2023Aug 6, 2024Feb 4, 2025
118.2 – 8.4Mar 12, 2024Sep 3, 2025Mar 12, 2026
128.2 – 8.5Feb 24, 2025Aug 13, 2026Feb 24, 2027
138.3 – 8.5Q1 2026Q3 2027Q1 2028

🔄 Upgrading to Laravel 13

Upgrading to Laravel 13 will primarily require:

  1. PHP 8.3+

  2. Dependency updates

  3. Reviewing deprecated features (if any announced)

For automated upgrades, you can use:

👉 Laravel Shift

Laravel Shift can open a pull request with structured, atomic commits to help you upgrade smoothly.

🎯 Final Thoughts

Laravel 13 is not a revolutionary rewrite — it is a refinement release.

It focuses on:

  • Cleaner syntax

  • Native PHP attribute integration

  • Performance improvements

  • Long-term stability

The direction is clear:
Laravel is aligning more deeply with modern PHP standards while keeping backward compatibility.

If you are building serious applications in 2026, Laravel 13 will be the recommended version to adopt.

Souy Soeng

Souy Soeng

Hi there 👋, I’m Soeng Souy (StarCode Kh)
-------------------------------------------
🌱 I’m currently creating a sample Laravel and React Vue Livewire
👯 I’m looking to collaborate on open-source PHP & JavaScript projects
💬 Ask me about Laravel, MySQL, or Flutter
⚡ Fun fact: I love turning ☕️ into code!

Post a Comment

CAN FEEDBACK
close