Laravel 13.33.0 опубликован 22 сентября 2026 года и собрал сразу несколько изменений, которые проявляются в реальных рабочих сценариях: исправлена ошибка Predis с Redis 7.4, расширен API отношений Eloquent, а Laravel Cloud получил поддержку реплик чтения и нативного PostgreSQL pooling. Релиз продолжает еженедельный цикл Laravel 13 без заявленных обратно несовместимых изменений.

Predis больше не передаёт некорректный курсор в Redis 7.4
Одна из самых практичных правок Laravel 13.33.0 касается связки Predis и Redis 7.4. В определённых сценариях вызов scan() мог передавать null как начальный курсор, после чего Redis 7.4 отвечал ошибкой ERR invalid cursor.
Проблема связана с более строгим поведением Redis 7.4: старые версии сервера принимали такой вариант вызова, поэтому ошибка могла проявиться только после обновления Redis при неизменном коде приложения. В Laravel 13.33.0 обработка этого сценария скорректирована.
Для проектов, которые используют Redis для кеша, очередей или собственных обходов ключей через Predis, изменение убирает один из неприятных вариантов несовместимости инфраструктуры после обновления сервера Redis.
BelongsToMany получил createQuietly и createManyQuietly
В отношениях Eloquent типа BelongsToMany появились методы createQuietly() и createManyQuietly(). Они позволяют создавать связанные модели без запуска событий модели.
Раньше похожие «тихие» операции уже встречались в других частях Eloquent, а для связи many-to-many разработчику приходилось обходить событие другими способами или отдельно контролировать его обработчики. Теперь API стал более последовательным.
Сценарий хорошо заметен при импорте данных, массовой синхронизации связей или служебном создании записей, где события creating, created и связанные слушатели дают лишнюю работу. Новый метод позволяет выразить такое намерение непосредственно в коде связи.
В Higher Order Proxies коллекций появился и метод sole. Он дополняет уже существующий механизм вызова методов и свойств через прокси и делает API коллекций более единообразным.
whereValueBetween корректно связывает выражения в запросах
Laravel 13.33.0 исправляет привязку значений в whereValueBetween(), когда в аргументах участвуют SQL-выражения. Ошибка затрагивала query builder и могла приводить к неправильному набору bindings при построении запроса.
Такой дефект особенно неприятен тем, что сам SQL может выглядеть логично, а проблема проявляется уже на этапе выполнения запроса или при сочетании выражений с параметрами. Исправление выравнивает формирование bindings с тем, как query builder обрабатывает остальные условные конструкции.
Ещё одна правка возвращает корректное ведение query log, если callback внутри режима pretend выбрасывает исключение. Это касается инструментов, которые анализируют будущие SQL-запросы без их реального выполнения.
Laravel Cloud научился работать с репликами чтения PostgreSQL
Часть релиза явно ориентирована на Laravel Cloud. Версия 13.33.0 добавляет настройку database read replicas — отдельных реплик базы данных, которые обслуживают операции чтения.
Такое разделение позволяет направлять запросы чтения на реплики, оставляя запись основной базе. Для приложений с большим количеством SELECT-запросов это даёт инфраструктуре дополнительный способ распределять нагрузку.
Одновременно Laravel Cloud получил opt-in поддержку нативного PostgreSQL pooling. В документации Laravel 13 для pooled-соединений предусмотрена отдельная direct-конфигурация: обычный трафик может проходить через пул соединений, а операции, которым требуется прямое подключение, используют direct connection.
К таким операциям Laravel относит миграции, schema dump и restore, db:wipe, db:show и db:table. Команда db при наличии pooled-конфигурации тоже использует прямое соединение по умолчанию, а флаг --pooled позволяет подключиться именно через пул.
Для PostgreSQL это разграничение существенно, поскольку transaction pooler может менять поведение prepared statements и других возможностей, завязанных на длительное соединение. Laravel автоматически включает эмулированные prepared statements для pooled-соединения, тогда как direct connection использует обычное прямое подключение.
FILESYSTEM_DISK теперь учитывается при настройке Cloud-дисков
В Laravel 13.33.0 исправлена конфигурация файловых дисков в Laravel Cloud: теперь переопределение через FILESYSTEM_DISK учитывается корректно.
Для приложений, которые задают диск хранения через переменные окружения, это устраняет ситуацию, когда Cloud-конфигурация могла выбрать другой storage backend, чем ожидалось по конфигурации проекта.
Изменение небольшое по объёму, но затрагивает базовую инфраструктуру приложения: загрузки пользователей, сгенерированные файлы, экспорты и другие данные часто завязаны именно на выбранный filesystem disk.
Очереди пропускают batch, который уже нельзя повторить
Команда queue:retry-batch получила дополнительную проверку: batch, который невозможно повторить, теперь пропускается.
Laravel использует batches для объединения нескольких queue jobs в одну логическую группу. Повторный запуск завершившихся с ошибкой задач полезен при восстановлении после временного сбоя, но не каждый batch находится в состоянии, допускающем повтор.
Эта проверка делает поведение команды предсказуемее и сокращает количество ситуаций, когда административная операция пытается обработать уже неподходящую группу задач.
В Worker параллельно изменена работа с сигналами: из вызова pcntl_signal убран параметр restart_syscalls. Это внутренняя корректировка процесса worker, связанная с обработкой Unix-сигналов.
Хранение хеша пароля в аутентифицированных сессиях стало точнее
В релиз вошла правка момента, когда хеш пароля сохраняется для аутентифицированной сессии. Laravel использует такой хеш как часть механизма, который помогает распознавать изменение пароля пользователя и корректно работать с длительными сессиями.
Изменение продолжает серию доработок SessionGuard в ветке Laravel 13. В предыдущих релизах разработчики уже корректировали работу recaller и проверку сохранённого хеша пароля, а 13.33.0 уточняет сам момент записи значения в сессию.
Отдельно NotPwndVerifier, используемый при проверке паролей, теперь отбрасывает заголовки с нестроковыми значениями. Эта правка ограничивает некорректные данные до того, как они попадут в HTTP-запрос к внешнему сервису проверки.
Laravel 13.33.0 продолжает недельный цикл обновлений ветки 13.x
Предыдущий Laravel 13.32.0 вышел 15 сентября, а 13.33.0 появился 22 сентября — ровно через неделю. Такой темп соответствует политике Laravel, где minor- и patch-релизы могут публиковаться еженедельно.
Для Laravel 13 официально заявлена поддержка PHP 8.3–8.5. Исправления ошибок для ветки 13.x запланированы до третьего квартала 2027 года, а исправления безопасности — до 17 марта 2028 года.
Релиз 13.33.0 получился инфраструктурным: часть изменений касается Redis, PostgreSQL и Laravel Cloud, часть — Eloquent, query builder, очередей и аутентификации. Общая картина показывает постепенную доработку Laravel 13 вокруг рабочих нагрузок и облачной инфраструктуры. Следующие релизы покажут, продолжит ли ветка 13.x в том же темпе расширять интеграцию с Laravel Cloud и современными версиями Redis и PostgreSQL.