Любите загадки? Событие всё ещё доступно на сайте
Сделай код аккуратным и понятным!
Сделай код аккуратным и понятным!

Примечания к релизу

Схема версионирования

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

Ссылаясь на фреймворк Laravel или его компоненты из вашего приложения или пакета, всегда используйте ограничение версии вроде ^13.0, поскольку мажорные релизы Laravel действительно включают критические изменения. Однако мы стремимся к тому, чтобы обновление до нового мажорного релиза занимало один день или меньше.

Именованные аргументы

Именованные аргументы не входят в рекомендации Laravel по обратной совместимости. При необходимости мы можем переименовать аргументы функций, чтобы улучшить кодовую базу Laravel. Поэтому использовать именованные аргументы при вызове методов Laravel следует осторожно и с пониманием того, что имена параметров могут измениться в будущем.

Политика поддержки

Для всех релизов Laravel bug fixes предоставляются в течение 18 месяцев, а security fixes – в течение 2 лет. Для всех дополнительных libraries только последний major release получает bug fixes. Кроме того, ознакомьтесь с версиями баз данных, которые поддерживает Laravel.

Версия PHP (*) Дата релиза Bug fixes до Security fixes до
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 Q3 2027 17 марта 2028
Окончание поддержки
Только security fixes

(*) Поддерживаемые версии PHP

Laravel 13

Laravel 13 продолжает ежегодный цикл релизов Laravel с фокусом на AI-native-процессы, более строгие значения по умолчанию и более выразительные 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 для генерации текста, агентов с вызовом инструментов, embeddings, аудио, изображений и интеграций с векторными хранилищами.

С AI SDK можно создавать AI-возможности, не зависящие от конкретного провайдера, сохраняя единый опыт разработки в стиле Laravel.

Например, базового агента можно вызвать одним prompt:

use App\Ai\Agents\SalesCoach;

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

return (string) $response;

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

Для визуальной генерации SDK предоставляет чистый API для создания изображений из обычных текстовых prompt:

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;

А для семантического поиска и retrieval-процессов можно генерировать embeddings напрямую из строк:

use Illuminate\Support\Str;

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

JSON:API-ресурсы

Laravel теперь включает официальные JSON:API-ресурсы, упрощающие возврат ответов, соответствующих спецификации JSON:API.

JSON:API-ресурсы обрабатывают сериализацию объектов ресурсов, включение связей, разреженные наборы полей, ссылки и заголовки ответов, соответствующие JSON:API.

Защита от подделки запросов

Для безопасности middleware защиты от подделки запросов Laravel улучшен и формализован как 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)
    {
        // ...
    }
}

Дополнительные атрибуты также появились в Eloquent, событиях, уведомлениях, валидации, тестировании и API сериализации ресурсов, предоставляя согласованный подход на основе атрибутов во все большем числе областей фреймворка.

Продление TTL кеша

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

Laravel 13 развивает семантический поиск благодаря встроенной поддержке векторных запросов, процессам работы с embeddings и связанным API, описанным в поиске, запросах и AI SDK.

Эти возможности позволяют просто создавать поиск на базе AI с PostgreSQL + pgvector, включая поиск по сходству embeddings, сгенерированным напрямую из строк.

Например, семантический поиск по сходству можно выполнять прямо из построителя запросов:

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