Очередной релиз фреймворка с акцентом на нативные 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 в Телеграме.!
