Voydevich
Laravel

Що нового в Laravel 13.40.0

Реліз Laravel 13.40.0 додає моніторинг тривалих задач і черг, нові методи конфігурації middleware та численні виправлення для бази даних.

Записи з 3 листопада 2026 по 3 листопада 2026 · оновлено 8 листопада 2026

Головне

  • Нові методи Queue::whenJobRunsLongerThan та Schedule::whenTaskRunsLongerThan
  • Методи $middleware->insertBefore(), insertAfter() та масиви в replace()
  • Прапорець strict для трейту InteractsWithData
  • Відображення статусу released у виводі команди queue:work
  • Автентифікація конверта результатів процесів у Concurrency для захисту від ін'єкцій

Коротко

Вийшло оновлення Laravel 13.40.0 для PHP-фреймворка. У релізі представлено нові методи для відстеження тривалого виконання черг і розкладу завдань, розширені можливості маніпуляції з middleware, а також базову підтримку перевірки синхронізації read/write з'єднань бази даних. Крім того, версія містить низку виправлень у роботі з базами даних MySQL, PostgreSQL, SQLite та SQL Server.

Нові можливості

Черги та планувальник завдань

  • Відстеження тривалих завдань черги: додано метод Queue::whenJobRunsLongerThan, який дозволяє реагувати на ситуації, коли задача у черзі виконується довше визначеного часу.
  • Відстеження тривалих запланованих задач: додано метод Schedule::whenTaskRunsLongerThan для обробки завдань планувальника, час виконання яких перевищує встановлений ліміт.
  • Статус завдань у консолі: команда queue:work тепер показує вивільнені завдання як «released» у консольному виводі.
  • Подія пропущених завдань: додано відправку події ScheduledTaskSkipped, якщо задача вже була виконана на іншому сервері.

Налаштування Middleware

  • Вставка до та після іншого middleware: додано допоміжні методи $middleware->insertBefore() та $middleware->insertAfter().
  • Масова заміна middleware: метод $middleware->replace() тепер підтримує передачу масиву замін.

База даних та інструменти

  • Синхронізація з'єднань: додано фундаментальні механізми бази даних для визначення того, чи наздогнало read-з'єднання стан write-з'єднання.
  • Суворий режим у трейті даних: додано прапорець strict до InteractsWithData.

Виправлення та покращення

Безпека

  • Забезпечено автентифікацію конверта результатів процесу (Concurrency Process Result Envelope) для запобігання ін'єкції виводу завдань у модулі конкурентності.

Бази даних та транзакції

  • SQL Server: виправлено видалення check constraints під час видалення колонок, виправлено ігнорування orderBy при update і delete з обмеженням limit, а також виправлено роботу withExists() і loadExists().
  • PostgreSQL: додано відсутні мови для повнотекстового пошуку, а також кваліфікацію схеми таблиці при видаленні та перейменуванні індексів.
  • MySQL та MariaDB: виправлено оновлення шляхів JSON із масивами та колекціями.
  • SQLite: виправлено помилку генерації невалідного SQL у методі forceIndex() для PRIMARY та кількох індексів.
  • Транзакції та з'єднання: забезпечено перепідключення після втрати з'єднання під час транзакції, відкат до сейвпоінта при помилках конкурентності у вкладених транзакціях та розпізнавання QueryList.TerminateAll() як втраченого з'єднання.
  • Відносини та пагінація: у BelongsToMany операція пошуку createOrFirst тепер використовує write-з'єднання. Виправлено колонки cursorPaginate() для запитів з union і кількома сортуваннями.

Кеш, черги та логування

  • Виправлено блокування Redis під час очищення тегованого кешу з великою кількістю тегів.
  • Забезпечено фіксацію невдалих пакетних завдань (batch jobs), якщо модель відсутня.
  • Відновлення підключення до сокета Cloud-логування після невдалого запису.

Інші виправлення

  • Виправлено скидання пам'яті для відкладено завантажених (lazily loaded) зображень без очікування збирача сміття.
  • Виправлено поведінку Str::remove() під час передачі об'єкта Traversable та виправлено врахування зміщення й довжини у байтах у методі Str::substrCount().
  • Виправлено повернення звичайного правила File методом ImageFile::default().
  • Виправлено іменовані аргументи в Cookie::queue().
  • Виправлено типи повернення для Paginator::links() та методу render() у контрактах пагінації.
  • Виправлено роботу toResourceCollection() на відфільтрованих колекціях та усунено обгортання простих об'єктів у колекціях ресурсів JSON:API.
  • Виправлено бродкастинг на декілька зашифрованих каналів Pusher.
  • Збережено значення error_get_last() для придушених помилок.
  • Покращено довідкове повідомлення для опції --show у команді KeyGenerateCommand.

Версії тижня

  • v13.40.0 — 2026-11-03

Огляд підготовлено автоматично за офіційними release notes за допомогою ШІ та перевірено на відповідність джерелу. Точні формулювання дивіться в оригіналі. Як ми працюємо