What’s New in Laravel 13: Native PHP Attributes and More
After a successful Laravel 12 release, Laravel 13 is set to introduce the next wave of improvements to the popular PHP framework. Developers managing multiple applications or larger engineering teams will find updates that streamline code and reduce friction in day-to-day work. These incremental changes bring meaningful refinements to how Laravel projects are built and maintained.
Scheduled for launch in March 2026, Laravel 13 focuses on practical updates that make daily development smoother. Two changes stand out: native PHP Attribute support across core components and a higher minimum PHP version requirement.
Why Laravel 13 Matters for Businesses
Though Laravel 13’s updates target developers, businesses benefit from cleaner configuration patterns and modern PHP standards that help teams maintain applications efficiently.
For organizations with large systems or multiple applications, incremental upgrades reduce migration risk and improve maintainability. Laravel 13’s refinements let teams build scalable, future-ready platforms without disruption.
Source: Glorywebs.
PHP Attributes: A Cleaner Way to Configure Laravel
Laravel 13’s main addition is PHP 8 Attributes as an alternative to class properties for framework configuration. These are available for Eloquent models, queue jobs, console commands, form requests, API resources, factories, and test seeders.
This is a non-breaking change as your existing property-based configuration continues to work exactly as before. Attributes are simply a more expressive, co-located option, and for teams that value clean, readable code, they’re a welcome improvement.
Eloquent Models
Instead of defining $table, $fillable, $hidden, and other properties on your model, you can now annotate the class directly:
#[Table(‘users’, key: ‘user_id’, keyType: ‘string’, incrementing: false)] #[Hidden([‘password’])] #[Fillable([‘name’, ’email’])] class User extends Model {}
Available model attributes include: #[Appends], #[Connection], #[Fillable], #[Guarded], #[Hidden], #[Table], #[Touches], #[Unguarded], and #[Visible].
Queue Jobs
Queue configuration, such as connection, queue name, retry attempts, timeouts, can now be declared at the class level using attributes:
#[Connection(‘redis’)] #[Queue(‘podcasts’)] #[Tries(3)] #[Timeout(120)] class ProcessPodcast implements ShouldQueue {}
This attribute-based approach also applies to listeners, notifications, mailables, and broadcast events, keeping the pattern consistent throughout the framework.
Console Commands
Artisan commands can now define their signature and description as attributes instead of class properties:
#[Signature(‘mail:send {user} {–queue}’)] #[Description(‘Send a marketing email to a user’)] class SendMailCommand extends Command {}
Attributes place configuration and logic together, making code easier to review and onboard. For teams handling many models, jobs, or commands, this can reduce code-review friction and improve consistency.
Cache::touch() — Extend TTLs Without the Overhead
Laravel 13 adds a Cache::touch() method that extends the TTL of a cached item without fetching or re-storing the value. Previously, extending a cache item’s lifetime required a get() followed by a put(), which unnecessarily transferred the cached value over the wire.
Cache::touch() eliminates that. Under the hood, Redis uses a single EXPIRE command, Memcached uses TOUCH, and the database driver issues a single UPDATE. It’s a small but meaningful optimization for applications that maintain large or frequently accessed cache items.
// Extend by seconds Cache::touch(‘user_session:123’, 3600); // Extend with a DateTime Cache::touch(‘analytics_data’, now()->addHours(6)); // Extend indefinitely Cache::touch(‘report_cache’, null);
The method returns true on success and false if the key doesn’t exist. It works with all cache drivers: Array, APC, Database, DynamoDB, File, Memcached, Memoized, Null, and Redis.
PHP 8.3 Is Now the Minimum Requirement
Laravel 13 drops support for PHP 8.2, making PHP 8.3 the minimum supported version. This is an important consideration for teams that haven’t yet upgraded their server environments.
PHP 8.3 brought several improvements, including typed class constants, a new json_validate() function, more granular DateTime exceptions, and performance improvements. Planning your PHP upgrade early ensures a smooth Laravel 13 migration.
Laravel’s Shift Toward Smaller, Incremental Releases
In recent years, Laravel has shifted toward smaller, incremental releases rather than large, disruptive upgrades. This approach prioritizes stability while still introducing meaningful improvements each year.
Rather than major architecture changes, recent releases refine features, align with modern PHP, and boost productivity. Laravel 13 introduces cleaner configuration and language features without requiring rewrites.
Support Timeline: What to Plan For
The Laravel 13 release follows the framework’s standard support policy. Here’s how it compares to recent versions:
For B2B teams running Laravel 12, note that bug fixes continue until August 2026 and security updates through February 2027. So there’s no urgent pressure to migrate immediately, but it’s worth starting to plan.
Upgrading to Laravel 13: What to Prepare
This Laravel update focuses on incremental improvements that simplify configuration and modernize the framework.
Here are the key preparation steps:
Ensure your servers are running PHP 8.3 or higher before upgrading.
Review any custom code that may depend on PHP 8.2-specific behaviors.
Explore the new PHP Attribute syntax as a team convention for new code going forward. It’s opt-in and won’t break existing configurations.
Use Laravel Shift for automated migration assistance, which opens a pull request with clean, atomic commits so your team can review changes incrementally.
Existing codebases using property-based configuration require no changes. The transition to Attributes can be done gradually, at your team’s pace.
The Bottom Line
Laravel 13 refines the framework without disrupting existing applications. For teams, the most actionable takeaways are:
Plan your PHP 8.3 upgrade if you haven’t already.
Track the official Laravel 13 release in Q1 2026.
Consider adopting PHP Attributes as a team-wide convention to improve code quality and maintainability.
These thoughtful updates make development smoother, improve code readability, and prepare your projects for future Laravel releases. For businesses looking to leverage these updates effectively, our web design and development services can help ensure smooth Laravel migrations and optimized application performance.
Get Design and Functionality Specific to your Brand!
Build a website that's mobile-friendly and responsive.
Custom designs aligned with your brand.
Optimized for SEO and user experience.
Scalable and feature-rich solutions.
Book A Discovery Call!
Frequently Asked Questions About Laravel 13
When will Laravel 13 be released?
Laravel 13 is scheduled for release in Q1 2026. Planning ahead for PHP 8.3 and migration steps is recommended for smooth adoption.
Why should my team adopt PHP Attributes?
PHP Attributes reduce boilerplate, co-locate configuration with logic, and improve code readability. Adopting them as a team convention can streamline code reviews and onboarding.
Will Laravel 13 break my existing applications?
No. Laravel 13 is an incremental release with no breaking changes. Existing property-based configurations and code will continue to work.
This article was originally published on Syntactics. Read the original post here.












