Laravel 13 — наступний major-реліз фреймворку Laravel, запланований на березень 2026 року. Цей реліз вимагатиме мінімум PHP 8.3 і дотримуватиметься стандартного циклу підтримки Laravel: виправлення багів до III кварталу 2027 року та оновлення безпеки до I кварталу 2028 року.
Опис нововведень у Laravel 13 з’являтиметься тут по мірі їх оголошення.
PR #58578 додає підтримку PHP 8 Attributes як альтернативу властивостям класу для конфігурації компонентів Laravel. Це зміна, що не порушує зворотної сумісності — існуючі конфігурації на основі властивостей продовжують працювати.

Нові атрибути замінюють потребу визначати $table, $hidden, $fillable та інші властивості в моделях:
#[Table('users', key: 'user_id', keyType: 'string', incrementing: false)]
#[Hidden(['password'])]
#[Fillable(['name', 'email'])]
class User extends Model {}
Доступні атрибути для моделей:
#[Appends]#[Connection]#[Fillable]#[Guarded]#[Hidden]#[Table]#[Touches]#[Unguarded]Конфігурацію черги тепер можна задавати безпосередньо в класі job:
#[Connection('redis')]
#[Queue('podcasts')]
#[Tries(3)]
#[Timeout(120)]
class ProcessPodcast implements ShouldQueue {}
Доступні атрибути для черг:
#[Backoff]#[Connection]#[FailOnTimeout]#[MaxExceptions]#[Queue]#[Timeout]#[Tries]#[UniqueFor]Ці атрибути також застосовуються до listeners, notifications, mailables та broadcast events.
Команди можуть визначати signature та description через атрибути замість властивостей класу:
#[Signature('mail:send {user} {--queue}')]
#[Description('Send a marketing email to a user')]
class SendMailCommand extends Command {}
Атрибути також доступні для form requests (#[RedirectTo], #[StopOnFirstFailure]), API resources (#[Collects], #[PreserveKeys]), factories (#[UseModel]) та test seeders (#[Seed], #[Seeder]).
PR #55954 додає метод Cache::touch(), який продовжує TTL кешованого елемента без читання чи повторного збереження значення:
// 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);
Раніше для продовження TTL потрібно було виконати get, а потім put, тобто зайво передавати значення кешу по мережі. Cache::touch() уникає цього: Redis використовує один EXPIRE, Memcached — TOUCH, а драйвер бази даних виконує один UPDATE.
Метод повертає true при успіху і false, якщо ключ не існує. Реалізовано для всіх драйверів кешу: Array, APC, Database, DynamoDB, File, Memcached, Memoized, Null та Redis.
Laravel 13 вимагатиме PHP 8.3 як мінімальну версію. Це підвищення порівняно з мінімальною вимогою PHP 8.2 у Laravel 12.
За стандартною політикою підтримки, Laravel 13 отримає виправлення багів до III кварталу 2027 року та оновлення безпеки до I кварталу 2028 року:
| Версія | PHP (*) | Випуск | Виправлення багів до | Оновлення безпеки до |
|---|---|---|---|---|
| 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, випущений 24 лютого 2025 року, продовжуватиме отримувати:
PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення
Laravel пропонує зручні методи для роботи з датами, які значно спрощують запити до бази даних. Досліджуйте, як ці інтуїтивно зрозумілі функції допомагають створювати чіткі та зрозумілі умови для роботи з часовими даними!
Laravel Livewire випустив нову версію 3.6, яка приносить з собою цікаві HTML-директиви для управління видимістю DOM-елементів і JavaScript-діями. Досліджуйте нові можливості Livewire, що допоможуть вам створити ще більш інтерактивні користувацькі інтерфейси!