Заметки разработчика: post #1721 — TG.ME

👩‍💻 Laravel v12.53.0: Гибкость схем, работа с очередями и производительность

Команда Laravel выпустила обновление v12.53.0. Этот релиз получился насыщенным: он добавляет новые возможности для работы с JSON-схемами и очередями, исправляет ряд неприятных багов и содержит несколько важных внутренних улучшений.

Ключевые нововведения

🔹Контроль параллелизма с любым кэшем: Добавлен метод Cache::funnel() для ограничения одновременного выполнения задач (throttling) с использованием любого драйвера кэша. Раньше такая возможность была только у Redis через RedisThrottle, теперь она универсальна (#58439).
🔹Улучшена работа с JSON Schema: Добавлена поддержка ключей multipleOf для числовых типов (#58903) и uniqueItems для массивов (#58922). Это делает генерацию и валидацию сложных JSON-схем более точной и стандартизированной.
🔹Полнотекстовый поиск по векторам: В whereFullText() добавлена опция для работы с предварительно вычисленными tsvector колонками в PostgreSQL. Это ускоряет поиск, если векторы обновляются не в реальном времени (#58893).
🔹Именованные аргументы в событиях: Теперь при диспатче событий и их трансляции можно использовать именованные аргументы, что повышает читаемость кода при работе с конструкторами событий (#58913).
🔹Поддержка сериализуемых классов в кэше: Внесены доработки для корректной работы с классами, реализующими интерфейс Serializable, при помещении их в кэш (#58911).

Существенные исправления

🔹Исправлена сериализация моделей в очередях: Устранена проблема, из-за которой при определенных условиях сериализация модели в задании очереди могла работать некорректно (#58939).
🔹Исправлена работа RetryCommand для SQS FIFO: Команда повторной обработки проваленных заданий теперь корректно работает с очередями SQS FIFO (#58936).
🔹Устранена проблема с deadlock в транзакциях: Добавлен откат "зависшей" PDO-транзакции перед повторной попыткой коммита при deadlock. Это повышает надежность работы с БД в высоконагруженных сценариях (#58906).
🔹Исправлена гонка при создании кэша real-time фасадов: Устранен редкий баг, который мог приводить к ошибкам при конкурентном создании файла кэша для фасадов (#58947).

Улучшения для разработчиков

🔹Тестирование сессий: Метод assertSessionHasAll() при провале теста теперь показывает все несовпадающие значения, а не только первое. Это экономит время при отладке (#58946).
🔹Очереди: В выводе команды queue:monitor теперь гарантированно отображается значение oldest_pending для лучшего мониторинга "застрявших" заданий (#58952).
🔹JSONP Check: Добавлена проверка для корректной работы с JSONP-запросами, повышающая безопасность и совместимость (#58971).
🔹Команда down: Теперь поддерживает обновление опций режима обслуживания без необходимости повторного ввода всех флагов (#58918).

Итог: Это мощный минорный релиз, который будет полезен практически всем. Обновление настоятельно рекомендуется, особенно если вы используете JSON Schema, очереди или сложную валидацию.

🖥 Полный список изменений и PR на GitHub

📱 @dev_notes_ru

#Laravel #Laravel12
🔥1
February 25, 2026 209 1