Laravel 13.32.0 опубликован 15 сентября 2026 года и собрал девять изменений в коллекциях, очередях, Eloquent, Schema и инструментах фреймворка. Самая заметная правка касается containsStrict(): метод мог возвращать false, когда callback успешно находил значение null, поэтому реальное совпадение выглядело как его отсутствие.

containsStrict() теперь различает найденный null и отсутствие совпадения
В Laravel 13.32.0 исправили редкий, но вполне реальный сценарий в Collection и LazyCollection. Если в containsStrict() передавали callback, который искал null, прежняя реализация могла сообщить, что совпадения нет.
Причина скрывалась в использовании first(). Этот метод возвращает null и тогда, когда элемент со значением null найден, и тогда, когда подходящего элемента вообще нет. В результате Laravel не мог отличить две разные ситуации.
Официальный pull request показывает простой пример:
$collection = collect([null]);
$collection->containsStrict(
fn ($value) => is_null($value)
);До исправления такой вызов возвращал false, хотя callback действительно находил элемент. Теперь обычная Collection проверяет совпадение через array_any(), а LazyCollection использует отдельный объект-маркер, с которым результат first() можно сравнить без двусмысленности. Подробности есть в PR #61507.
Для приложений это затрагивает фильтрацию и проверки данных, где null является допустимым значением: например, при разборе необязательных полей, результатов внешнего API или промежуточных наборов данных.
Queue API принимает enum при паузе и возобновлении очередей
Методы управления очередями стали согласованнее с другими частями Laravel. В Queue::pause(), Queue::resume() и Queue::pauseFor() теперь можно передавать enum для имени очереди и соединения.
В PR #61464 автор изменения объясняет причину довольно приземлённо: в атрибутах Queue и Connection, а также в ряде менеджерских методов enum уже поддерживались, тогда как pause/resume по-прежнему требовали строки.
Теперь код может выглядеть так:
Queue::pause(Queues::notifications, Connections::Redis);
Queue::resume(Queues::notifications, Connections::Redis);Для проектов, где имена соединений и очередей собраны в enum, исчезает отдельное строковое исключение из общей модели. Это снижает вероятность опечаток в названиях и сохраняет единый тип данных между конфигурацией, заданиями и административной логикой очередей.
Schema::hasIndex() перестал зависеть от регистра имени индекса
Ещё одна правка касается проверки существования индекса через Schema::hasIndex(). Laravel уже приводил имена индексов, полученные от драйверов базы данных, к нижнему регистру, но переданное разработчиком имя сравнивалось строго.
Из-за этого индекс вроде Users_Email_Index мог существовать в базе, а проверка с другим регистром символов возвращала отрицательный результат. В Laravel 13.32.0 имя, переданное в hasIndex(), нормализуется таким же образом. Подробности описаны в PR #61506.
Поведение стало согласованным с другими проверками схемы, включая hasTable(), hasView(), hasColumn() и hasColumns(), где сравнение имён уже выполнялось без чувствительности к регистру.
Eloquent передаёт готовое исключение в callbacks строгого режима
Laravel 13.32.0 расширил callbacks, которые используются для обработки нарушений строгого режима Eloquent. Речь идёт, в частности, о handleLazyLoadingViolationUsing() и handleMissingAttributeViolationUsing().
Раньше callback получал модель и связанные параметры, а при необходимости записать исходное исключение в лог или повторно его выбросить разработчику приходилось собирать объект исключения самостоятельно. Теперь Laravel передаёт уже созданный объект исключения дополнительным аргументом. Изменение зафиксировано в PR #61504.
Такой механизм особенно заметен в проектах, где поведение строгого режима зависит от окружения: например, одно и то же нарушение можно зарегистрировать в журнале на одном окружении и передать дальше как исключение на другом, сохранив исходный объект и его контекст.
Остальные изменения Laravel 13.32.0 затрагивают Cloud и типы callback
В официальном релизе Laravel 13.32.0 перечислено девять изменений. Помимо четырёх наиболее заметных, в версию вошли ещё несколько точечных правок:
- для Laravel Cloud добавлено значение
memoryExceededExitCodeпо умолчанию; - скорректирован тип возвращаемого значения callback в
withFreshQueryLog(); - аналогичная правка сделана для callback автодополнения в
askWithCompletion(); - часть внутренних вызовов переведена на именованные аргументы для неиспользуемых переменных;
- обновлён тест
SupportBinaryCodecTest.
Две правки с callback связаны прежде всего с точностью объявлений типов. Они уменьшают расхождения между фактическим поведением методов и тем, что видят IDE и инструменты статического анализа.
Laravel 13.32.0 продолжает недельный цикл небольших обновлений
Предыдущая версия Laravel 13.31.0 вышла 8 сентября, поэтому между двумя релизами прошла ровно неделя. Laravel описывает minor- и patch-релизы как обновления, которые могут выходить еженедельно и сохраняют обратную совместимость в рамках основной версии 13.x.
У 13.32.0 нет одной крупной функции, вокруг которой строится весь релиз. Девять изменений закрывают несколько небольших несоответствий: null в коллекциях теперь определяется корректно, enum дошли до pause/resume очередей, проверка индексов учитывает регистр так же, как другие Schema-методы, а Eloquent передаёт исходное исключение в callbacks строгого режима.
Вопрос касается дальнейшего развития ветки 13.x. Какие из внесённых улучшений будут актуальны только для текущей версии, а какие станут фундаментом для Laravel 14? На момент публикации Laravel 13.32.0 является свежим и стабильным релизом ветки 13.x, выпущенным 15 сентября 2026 года.