Увійти Реєстрація
Блог Серії
Кар'єра
Вакансії Компанії
Навчання
Документація Співбесіди Тестування Відео
Екосистема
Пакети Ресурси Проєкти
Інше
Події Про нас
Laravel 13.15.0: типізовані аксесори для перекладів та покращення безпеки
Новини 14 червня 2026

Laravel 13.15.0: типізовані аксесори для перекладів та покращення безпеки

Команда Laravel випустила версію 13.15.0, яка приносить типізовані аксесори для перекладів, покращену роботу з JSON Schema, виділений драйвер черг для Laravel Cloud, а також виправлення критичних вразливостей у валідації та маршрутизації.

Типізовані аксесори для перекладів

Хелпери перекладів раніше повертали широкі типи: __() повертав array|string|null, а trans() - Translator|array|string. Хоча це працювало в Blade, це створювало труднощі у суворо типізованому коді та статичному аналізі. У новій версії до класу Translator додано два типізовані методи, які повертають конкретний тип:

public function label(): string
{
    return trans()->string($this->name);
}

public function options(): array
{
    return trans()->array($this->options_key);
}

Цей підхід повторює логіку існуючих типізованих хелперів, таких як config() та request().

Десеріалізація JSON Schema

Компонент JsonSchema отримав метод fromArray(), який перетворює сирий масив JSON Schema назад в об'єкти Type - це зворотна операція до серіалізації. Також додано підтримку об'єднань декількох типів (multi-type union) у конструкторі схем.

Виділений драйвер черг для Laravel Cloud

В релізі з'явився спеціальний драйвер черг для керованих черг Laravel Cloud. Керовані черги тепер завантажуються до сервіс-провайдерів, драйвер викидає виключення ManagedQueueNotFoundException, коли налаштована черга відсутня, та виправлено нормалізацію імен FIFO-черг. Заголовок ідентифікатора запиту перейменовано з X-Request-ID на Cloud-Request-ID і тепер він виводиться в логах.

Enum у методі Queue::route()

Тепер можна передавати enum-кейси в метод Queue::route() як для імені черги, так і для з'єднання при маршрутизації завдань.

Виправлення вразливості date_equals

Правило валідації date_equals використовувало нестроге порівняння. Невалідний рядок дати парсився як null, а null == 0 оцінюється як true, тому невалідна дата могла пройти валідацію проти референсної дати, що парситься у хибне значення (наприклад, 1970-01-01 00:00:00). Виправлення використовує строге порівняння для оператора рівності, зберігаючи нестроге порівняння для легітимних об'єктів DateTime.

Обмеження десеріалізації маршрутів

Десеріалізація маршрутів тепер обмежує класи, які вона приймає, зменшуючи поверхню атаки для ін'єкції об'єктів під час кешування та розв'язання маршрутів.

Виправлення хелпера Number

Виправлено кілька крайніх випадків у хелпері Number: метод Number::fileSize() тепер обробляє від'ємні значення байтів, Number::trim() більше не повертає null для INF та NAN, а Number::pairs() коректно обробляє від'ємні кроки та викидає виключення для нульового кроку, щоб запобігти нескінченним циклам.

Інші виправлення та покращення

  • Виправлено нескінченну рекурсію, коли scope моделі визначається з приватним атрибутом, і коли група middleware посилається на саму себе
  • Команда queue:failed тепер показує реальне ім'я класу
  • Додано Prohibitable до команд cache:clear та queue:flush
  • Клас InvokedProcess тепер підтримує макроси
  • Забезпечено, щоб незмінені скомпільовані Blade-шаблони не залишалися прострочені
  • Додано generics до геттерів DatabaseTransactionsManager та методу QueueRoutes::all()

Повний список змін доступний у офіційному changelog та релізі v13.15.0.

73

Коментарі

Увійдіть, щоб залишити коментар

Будьте першим, хто залишить коментар!

Читайте також

Laracon US 2026: перший день Рекомендовано
Новини 29 липня 2026

Laracon US 2026: перший день

У Бостоні стартував Laracon US 2026, і запис першого дня вже доступний. Головне з кейноуту: офіційний Laravel LSP для редакторів, Laravel Cloud деплоїть Hono, Flask, Go та Rails, Pest 5 із Tia Engine. Аарон Френсіс приєднався до команди Laravel.

Pest 5: Tia Engine, плагін для AI-агентів і evals для LLM
Новини 29 липня 2026

Pest 5: Tia Engine, плагін для AI-агентів і evals для LLM

На першому дні Laracon US 2026 Нуно Мадуро представив Pest 5. Головне - Tia Engine, що переганяє лише зачеплені змінами тести й скорочує десятихвилинний прогін до кількох секунд, плюс плагіни для AI-агентів, evals, PHPStan і Rector.

Відео за темою