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

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

  • 4

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, а переключение между провайдерами — это смена одного значения в конфиге, а не переписывание кода.

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

Первый месяц за 0 рублей
Хостинг для сайта, который должен работать стабильно
Перенесите проект или запустите новый сайт на Siteko.net и протестируйте сервис без предоплаты.
Перейти к хостингу
use App\Ai\Agents\SalesCoach; $response = SalesCoach::make()->prompt('Проанализируй этот разговор с клиентом...'); return (string) $response;

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, сохраняете их в базе, а затем ищете семантически близкие записи — не по точному совпадению ключевых слов, а по смыслу:

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

По сути, это полноценный 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() — возможность задать правила маршрутизации очереди и соединения для конкретного класса задачи в одном центральном месте:

Тестовый период
Оцените хостинг Siteko.net на своем проекте
Один бесплатный месяц поможет проверить панель, скорость и поддержку до оплаты следующего периода.
Открыть Siteko.net
Queue::route(ProcessPodcast::class, connection: 'redis', queue: 'podcasts');

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

Расширенные 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 элемента кэша без извлечения и повторного сохранения значения.

Первый месяц за 0 рублей
Хостинг для сайта, который должен работать стабильно
Перенесите проект или запустите новый сайт на 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, не усложняя ежедневную работу.

Старт без оплаты
Месяц хостинга бесплатно для новых проектов
Разместите сайт, проверьте скорость и оцените удобство Siteko.net. Просто выберите тариф и начните тестовый месяц.
Посмотреть тарифы

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


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

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

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

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

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