Очередной релиз фреймворка с акцентом на нативные AI-воркфлоу, дефолтную безопасность и выразительные API.

Основные нововведения: встроенные AI-инструменты, JSON:API ресурсы, семантический/векторный поиск, улучшения очередей и кэша.

Минимальные Breaking Changes

В этом релизе основной упор сделан на минимизацию несовместимых изменений. Большинство приложений обновятся до Laravel 13 практически без изменений в коде.

PHP 8.3

Laravel 13 требует минимум PHP 8.3.

Laravel AI SDK

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

Пример агента:

use App\Ai\Agents\SalesCoach;

$response = SalesCoach::make()->prompt('Проанализируй эту переписку...');

return (string) $response;

Генерация изображений:

use Laravel\Ai\Image;

$image = Image::of('Пончик на кухонном столе')->generate();

$rawContent = (string) $image;

Синтез речи:

use Laravel\Ai\Audio;

$audio = Audio::of('Я люблю Laravel.')->generate();

$rawContent = (string) $audio;

Генерация эмбеддингов:

use Illuminate\Support\Str;

$embeddings = Str::of('Долина Напа — край отличных вин.')->toEmbeddings();

JSON:API Resources

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

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

Middleware переименован в PreventRequestForgery и добавлена проверка источника запроса (origin-aware verification) при сохранении совместимости с токенами CSRF.

Маршрутизация очередей

Теперь можно централизованно задать соединение и очередь для конкретного джоба:

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

Расширенная поддержка PHP Attributes

Laravel 13 активно расширяет использование PHP-атрибутов по всему фреймворку — конфигурация становится декларативной и размещается прямо рядом с классами.

<?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)
    {
        // ...
    }
}

Новые атрибуты для джобов: #[Tries], #[Backoff], #[Timeout], #[FailOnTimeout]. Также добавлены атрибуты для Eloquent, событий, уведомлений, валидации и тестирования.

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

Новый метод Cache::touch(...) позволяет продлить время жизни кэш-записи без её перезаписи.

Семантический / векторный поиск

Нативная поддержка векторных запросов на основе PostgreSQL + pgvector. Семантический поиск прямо из query builder

$documents = DB::table('documents')
    ->whereVectorSimilarTo('embedding', 'Лучшие винодельни в долине Напа')
    ->limit(10)
    ->get();

Обновление с использованием ИИ

Вы можете автоматизировать обновление с помощью Laravel Boost — это собственный MCP-сервер, который предоставляет вашему ИИ-помощнику подсказки по обновлению — после установки в любом приложении Laravel 12 используйте команду /upgrade-laravel-13 в Claude Code, Cursor, OpenCode, Gemini или VS Code, чтобы начать обновление.

Более подробно об обновлении до Laravel 13 рассказано в документации: https://laravel.com/docs/13.x/upgrade


Laravel World — вся самая свежатина о PHP и Laravel в Телеграме.!

Комментарии (9)


  1. Cutcode
    17.03.2026 15:15

    О спасибо за инфу, а то я совсем выпал)


  1. karrakoliko
    17.03.2026 15:15

    Расширенная поддержка PHP Attributes

    смотрю на этот контроллер, и мне плохо от количества магии в этих атрибутах

     #[Authorize('create', [Comment::class, 'post'])]
        public function store(Post $post)

    так что с комментом происходит: create, post или store? а авторизовывается какое действие: create или post? почему контроллер CommentController работает с моделью Post, а не с Comment?

    Middleware('subscribed')]

    что за мидлвэр "сабскрайбед"? кто на что подписан? где его искать чтобы понять что оно делает?

    ларавел - жуть, ощущение что меня хотят запутать, а не помочь


    1. undersunich
      17.03.2026 15:15

      С аттрибутами и правда беда.Зачем и когда использовать опять надо в голове держать.Вроде AI поддержа выглядит красиво но эти аттрибуты это как: Вы подходите в двери и чтобы ее открыть - Вам нужен ключ. Вы его достаете и понимание что Вам теперь нужен еще ключ на этот ключ.И тут получается взрыв мозга.Мне же просто в дверь войти! Ребята явно заигрались с улучшениями


    1. feycot
      17.03.2026 15:15

      Я думаю тут проблема не в атрибутах, а ав нейминге, ну или в плохих примерах


      1. karrakoliko
        17.03.2026 15:15

        и там и там на самом деле

        атрибут никак не помогает понять что именно происходит (сигнатура атрибута Authorize `create, [someClass::class, "post"]`, там где мы ожидаем чтото типа "авторизовать действие X")

        мидлвэр "subscribed" указывает что где то есть какой то реестр именованных мидлвэров (а мог бы указывать на конректный класс, например)

        возможно, если бы аргументы указывали бы с ключами (`paramName: value`), то было бы легче.

        однако именно плохой пример с позиционными аргументами явно и наглядно демонстрирует дерьмовый дизайн фреймворка


  1. renakdup
    17.03.2026 15:15

    Laravel делает серьезный шаг в сторону AI-нативного подхода, это выглядит очень органично. 
    а AI SDK с единым API - то, чего не хватало для быстрого прототипирования + нативная поддержка семантического поиска через pgvector и развитие атрибутов. Код становится действительно декларативным. Спасибо команде за минимизацию breaking changes!


    1. karrakoliko
      17.03.2026 15:15

      я может чего то не понимаю, но они вроде просто завернули api'шку llm'ок в php api.
      причем здесь ai-native, и что это вообще значит?


      1. the2rkmen
        17.03.2026 15:15

        возможно я чего-то не понимаю, но выглядит как маркетинговый буллщит


        1. KoIIIeY
          17.03.2026 15:15

          Вы оба отвечаете боту :)