Ой, ничего не найдено!

К сожалению, по вашему запросу пока ничего нет (но это только пока!), зато вы можете подписаться на нашу замечательную email-рассылку, чтобы не пропустить самое интересное в будущем.

  • 30

Laravel 13: нововведения и улучшения

  • 2 минуты на чтение

Laravel 13 вышел 17 марта 2026 года — Тейлор Отвелл представил релиз на Laracon EU. Если вы привыкли к тому, что мажорные версии Laravel приносят болезненные миграции, этот релиз вас приятно удивит: команда сознательно сделала ставку на минимум ломающих изменений и максимум практической пользы. Большинство приложений на Laravel 12 обновляются буквально за считаные минуты.

Главная идея версии формулируется одной фразой: Laravel становится AI-native фреймворком. Искусственный интеллект здесь больше не сторонний пакет, прикрученный сбоку, а полноценная часть стека. Но обо всём по порядку.

Коротко о главном

  • Минимальная версия PHP теперь 8.3 (поддержка вплоть до 8.5)
  • Первый «родной» Laravel AI SDK: генерация текста, агенты, эмбеддинги, аудио и изображения
  • Встроенная семантический (векторный) поиск прямо в query builder
  • JSON:API ресурсы из коробки
  • Усиленная защита от подделки запросов — PreventRequestForgery
  • Маршрутизация очередей по классам через Queue::route()
  • Расширенная поддержка PHP-атрибутов по всему фреймворку
  • Метод Cache::touch() для продления TTL без перезаписи значения
  • Практически отсутствуют ломающие изменения

Требование PHP 8.3

Laravel 13 отказывается от PHP 8.2 и требует минимум PHP 8.3. Это единственное изменение, затрагивающее инфраструктуру, — всё остальное происходит на уровне приложения и обратно совместимо.

Переход на 8.3 — не формальность: вы получаете типизированные константы классов, функцию json_validate(), более детальные исключения при работе с датами и оптимизации JIT. Если вы пока на 8.2, разумный порядок действий — сначала обновить рантайм, протестировать на staging, и только потом поднимать версию фреймворка.

Laravel AI SDK

Безусловно, главное событие релиза. Раньше доступный как бета-пакет, Laravel AI SDK стал первоклассным, стабильным компонентом фреймворка. Он предоставляет единый, провайдер-независимый API: из коробки работает с OpenAI и Anthropic, а переключение между провайдерами — это смена одного значения в конфиге, а не переписывание кода.

Базовый агент вызывается одной строкой:

use App\Ai\Agents\SalesCoach;

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

return (string) $response;
1 месяц бесплатно
Запустите сайт на Siteko.net без стартовых затрат
Быстрый хостинг, понятная панель и поддержка рядом с первого дня. Тестовый месяц доступен сразу после выбора тарифа.
Выбрать хостинг

SDK умеет не только текст. Генерация изображений из текстового описания:

use Laravel\Ai\Image;

$image = Image::of('Пончик на кухонной столешнице')->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('Долина Напа славится своим вином.')->toEmbeddings();

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

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

В развитие AI-направления Laravel 13 приносит нативную поддержку векторного поиска прямо в query builder. Связка проектируется под PostgreSQL и расширение pgvector.

Схема рабочего процесса проста: вы генерируете эмбеддинги из строк через AI SDK, сохраняете их в базе, а затем ищете семантически близкие записи — не по точному совпадению ключевых слов, а по смыслу:

$documents = DB::table('documents')
    ->whereVectorSimilarTo('embedding', 'Лучшие винодельни долины Напа')
    ->limit(10)
    ->get();
Старт без оплаты
Месяц хостинга бесплатно для новых проектов
Разместите сайт, проверьте скорость и оцените удобство Siteko.net. Просто выберите тариф и начните тестовый месяц.
Посмотреть тарифы

По сути, это полноценный AI-конвейер поиска внутри Laravel-стека — без внешнего поискового сервиса для большинства сценариев.

JSON:API ресурсы

Теперь Laravel включает first-party JSON:API ресурсы, позволяющие легко отдавать ответы, соответствующие спецификации JSON:API. Они автоматически берут на себя сериализацию объектов-ресурсов, подключение связанных сущностей (relationship inclusion), разреженные наборы полей (sparse fieldsets), ссылки и корректные заголовки ответа.

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

Усиленная защита от подделки запросов

Из соображений безопасности middleware защиты от подделки запросов был доработан и формализован как PreventRequestForgery. Он добавляет проверку запроса с учётом источника (origin-aware verification), сохраняя при этом совместимость с привычной токен-based защитой CSRF.

Подход стал двухслойным: проверка по источнику заметно труднее обходится, чем валидация только по токену. Важно, что изменение невидимо для пользователей и не требует правок в существующих формах или AJAX-запросах.

Маршрутизация очередей по классам

Laravel 13 добавляет Queue::route() — возможность задать правила маршрутизации очереди и соединения для конкретного класса задачи в одном центральном месте:

Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');
Старт без оплаты
Месяц хостинга бесплатно для новых проектов
Разместите сайт, проверьте скорость и оцените удобство Siteko.net. Просто выберите тариф и начните тестовый месяц.
Посмотреть тарифы

Раньше приходилось либо прописывать свойства очереди в каждом классе задачи, либо повторять конфигурацию при каждой отправке. Теперь всё собрано в сервис-провайдере.

Расширенные PHP-атрибуты

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

Cache::touch() — продление TTL без перезаписи

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

1 месяц бесплатно
Запустите сайт на Siteko.net без стартовых затрат
Быстрый хостинг, понятная панель и поддержка рядом с первого дня. Тестовый месяц доступен сразу после выбора тарифа.
Выбрать хостинг

Прерываемые задачи и другие улучшения очередей

Появился интерфейс Interruptible: когда воркер очереди получает SIGTERM во время деплоя, выполняющаяся задача обычно не знает, что её вот-вот прервут. Теперь задача может отреагировать — остановить цикл, освободить блокировки, сохранить состояние — до завершения воркера:

use Illuminate\Contracts\Queue\Interruptible;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Queue\Queueable;

class SignalJob implements ShouldQueue, Interruptible
{
    use Queueable;

    protected bool $stop = false;

    public function handle(): void
    {
        while (! $this->stop) {
            sleep(1);
            // Выполняем работу...
        }
    }

    public function interrupted(int $signal): void
    {
        $this->stop = true;
    }
}

По данным сторонних обзоров, в экосистему релиза также входят драйвер базы данных для Reverb (real-time без обязательной зависимости от Redis), аутентификация по passkeys и обновлённые стартовые наборы с командной мультиарендностью. Эти возможности стоит проверить по официальной документации перед использованием в продакшене.

Стоит ли обновляться

Команда Laravel честно говорит, что формулировка «zero breaking changes» относится к усилиям по обновлению для хорошо поддерживаемого кода на Laravel 12, а не к полному отсутствию поведенческих различий. Несколько изменений всё же могут затронуть продакшен, поэтому перед выкатом стоит прочитать upgrade-гайд и протестировать на staging.

Что касается сроков поддержки:

  • Laravel 12 получает исправления багов до 13 августа 2026 и обновления безопасности до 24 февраля 2027
  • Laravel 13 — исправления багов до Q3 2027 и обновления безопасности до 17 марта 2028

Спешки нет, но и откладывать смысла мало: порог входа низкий (PHP 8.3 — основное требование), а большинство популярных пакетов — Livewire, Inertia, Filament, пакеты Spatie — уже имеют поддержку Laravel 13. Перед обновлением проверьте релизы каждого пакета на GitHub.

Итог

Laravel 13 — это не революция архитектуры, а уверенный шаг в сторону AI-native разработки при сохранении главной ценности фреймворка: предсказуемости и простоты обновления. Родной AI SDK, векторный поиск, JSON:API ресурсы, усиленная безопасность и расширенные атрибуты вместе заметно расширяют то, что можно строить на Laravel, не усложняя ежедневную работу.

Первый месяц за 0 рублей
Хостинг для сайта, который должен работать стабильно
Перенесите проект или запустите новый сайт на Siteko.net и протестируйте сервис без предоплаты.
Перейти к хостингу

Если ваша команда уже на PHP 8.3 — обновляйтесь смело. Если на 8.2 — сначала поднимите рантайм, а потом фреймворк.


Источники: официальные Release Notes Laravel 13.x и Laravel News.

Первый месяц бесплатно

Хостинг Siteko.net для стабильного запуска сайта

Разместите проект на Siteko.net и проверьте скорость, панель управления и поддержку без стартовой оплаты.

  • 1 месяц бесплатно для новых клиентов сразу после выбора тарифа.
  • Быстрый старт для лендинга, блога или корпоративного сайта.
  • Поддержка рядом поможет с переносом и настройкой проекта.
Выбрать тариф