Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти
Інше
Події Про нас

Нотатки релізу

Схема версіонування

Laravel та інші його офіційні пакети дотримуються семантичного версіонування. Мажорні релізи фреймворку виходять щороку (приблизно в першому кварталі), тоді як мінорні та патч-релізи можуть виходити навіть щотижня. Мінорні та патч-релізи ніколи не повинні містити змін, що порушують сумісність.

Посилаючись на фреймворк Laravel або його компоненти зі свого застосунку чи пакета, завжди використовуйте обмеження версії на кшталт ^13.0, оскільки мажорні релізи Laravel таки містять зміни, що порушують сумісність. Утім, ми прагнемо завжди забезпечити можливість оновитися до нового мажорного релізу за день або швидше.

Іменовані аргументи

Іменовані аргументи не підпадають під настанови Laravel щодо зворотної сумісності. За потреби ми можемо перейменовувати аргументи функцій, щоб покращити кодову базу Laravel. Тому використовувати іменовані аргументи, викликаючи методи Laravel, слід обачно й з розумінням, що імена параметрів можуть змінитися в майбутньому.

Політика підтримки

Для всіх релізів Laravel виправлення помилок надаються протягом 18 місяців, а виправлення безпеки - протягом 2 років. Для всіх додаткових бібліотек виправлення помилок отримує лише останній мажорний реліз. Крім того, перегляньте версії баз даних, які підтримує Laravel.

Версія PHP (*) Реліз Виправлення помилок до Виправлення безпеки до
10 8.1 - 8.3 14 лютого 2023 6 серпня 2024 4 лютого 2025
11 8.2 - 8.4 12 березня 2024 3 вересня 2025 12 березня 2026
12 8.2 - 8.5 24 лютого 2025 13 серпня 2026 24 лютого 2027
13 8.3 - 8.5 17 березня 2026 3 квартал 2027 17 березня 2028
Кінець підтримки
Лише виправлення безпеки

(*) Підтримувані версії PHP

Laravel 13

Laravel 13 продовжує щорічний ритм релізів Laravel, зосереджуючись на робочих процесах, орієнтованих на AI, надійніших налаштуваннях за замовчуванням і виразніших API для розробників. Цей реліз містить офіційні AI-примітиви, ресурси JSON:API, можливості семантичного та векторного пошуку, а також поступові покращення в чергах, кеші й безпеці.

Мінімум змін, що порушують сумісність

Значну частину зусиль у цьому циклі релізу ми присвятили тому, щоб звести до мінімуму зміни, які порушують сумісність. Натомість ми зосередилися на тому, щоб протягом року постійно постачати покращення, які не ламають наявні застосунки.

Тому реліз Laravel 13 - відносно незначне оновлення з погляду зусиль, хоча й дає суттєві нові можливості. З огляду на це більшість застосунків Laravel можуть оновитися до Laravel 13, майже не змінюючи код застосунку.

PHP 8.3

Laravel 13.x потребує щонайменше PHP версії 8.3.

Laravel AI SDK

Laravel 13 представляє офіційний Laravel AI SDK, що дає уніфікований API для генерації тексту, агентів із викликом інструментів, ембедингів, аудіо, зображень та інтеграцій із векторними сховищами.

За допомогою AI SDK ви можете створювати AI-можливості, незалежні від конкретного провайдера, зберігаючи водночас послідовний і природний для Laravel досвід розробки.

Наприклад, базового агента можна запитати одним викликом:

use App\Ai\Agents\SalesCoach;

$response = SalesCoach::make()->prompt('Analyze this sales transcript...');

return (string) $response;

Laravel AI SDK також може генерувати зображення, аудіо та ембединги.

Для сценаріїв візуальної генерації SDK пропонує зрозумілий API для створення зображень із запитів звичайною мовою:

use Laravel\Ai\Image;

$image = Image::of('A donut sitting on the kitchen counter')->generate();

$rawContent = (string) $image;

Для голосових сценаріїв ви можете синтезувати природне звучання з тексту для асистентів, начитки та можливостей доступності:

use Laravel\Ai\Audio;

$audio = Audio::of('I love coding with Laravel.')->generate();

$rawContent = (string) $audio;

А для семантичного пошуку та сценаріїв пошуку інформації ви можете генерувати ембединги прямо з рядків:

use Illuminate\Support\Str;

$embeddings = Str::of('Napa Valley has great wine.')->toEmbeddings();

Ресурси JSON:API

Laravel тепер містить офіційні ресурси JSON:API, що спрощує повернення відповідей, сумісних зі специфікацією JSON:API.

Ресурси JSON:API беруть на себе серіалізацію об'єктів ресурсу, долучення зв'язків, розріджені набори полів (sparse fieldsets), посилання та заголовки відповідей, сумісні з JSON:API.

Захист від підробки запитів

Задля безпеки middleware захисту від підробки запитів було вдосконалено та формалізовано як PreventRequestForgery, додавши перевірку запитів з урахуванням джерела (origin) і зберігши сумісність із захистом CSRF на основі токенів.

Маршрутизація черг

Laravel 13 додає маршрутизацію черг за класом через Queue::route(...), що дозволяє визначити в одному місці правила маршрутизації черги чи підключення за замовчуванням для конкретних завдань:

Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');

Розширені атрибути PHP

Laravel 13 продовжує розширювати офіційну підтримку атрибутів PHP у фреймворку, роблячи типові питання конфігурації та поведінки декларативнішими й розміщеними поруч із вашими класами та методами.

Серед помітних доповнень - атрибути контролерів і авторизації, як-от #[Middleware] та #[Authorize], а також засоби керування завданнями черг: #[Tries], #[Backoff], #[Timeout] і #[FailOnTimeout].

Наприклад, middleware контролера та перевірки політик тепер можна оголошувати прямо на класах і методах:

<?php

namespace App\Http\Controllers;

use App\Models\Comment;
use App\Models\Post;
use Illuminate\Routing\Attributes\Controllers\Authorize;
use Illuminate\Routing\Attributes\Controllers\Middleware;

#[Middleware('auth')]
class CommentController
{
    #[Middleware('subscribed')]
    #[Authorize('create', [Comment::class, 'post'])]
    public function store(Post $post)
    {
        // ...
    }
}

Додаткові атрибути з'явилися також в API Eloquent, подій, сповіщень, валідації, тестування та серіалізації ресурсів, даючи вам послідовний підхід «спочатку атрибути» в більшій кількості областей фреймворку.

Продовження TTL кешу

Laravel тепер містить Cache::touch(...), що дозволяє продовжити TTL наявного елемента кешу, не отримуючи та не зберігаючи його значення заново.

Laravel 13 поглиблює підтримку семантичного пошуку завдяки нативним векторним запитам, робочим процесам з ембедингами та відповідним API, описаним у розділах пошуку, запитів та AI SDK.

Ці можливості спрощують створення пошуку на основі AI за допомогою PostgreSQL і pgvector, зокрема пошук за схожістю щодо ембедингів, згенерованих безпосередньо з рядків.

Наприклад, ви можете виконувати пошук за семантичною схожістю прямо з конструктора запитів:

$documents = DB::table('documents')
    ->whereVectorSimilarTo('embedding', 'Best wineries in Napa Valley')
    ->limit(10)
    ->get();