Вышло очередное обновление фреймворка — версия 12.49.0. Как всегда, релиз нацелен на стабильность, исправление ошибок и добавление небольших, но полезных улучшений в различные компоненты системы.
🛠 Исправления ошибок и улучшения
✅ Pagination без total: Исправлена проблема с пагинацией при использовании метода
simplePaginate() в связке с withQueryString().✅ Изоляция шаблонов Blade: Улучшена изоляция скомпилированных шаблонов при параллельном тестировании, предотвращены потенциальные пересечения данных.
✅ Обработка CORS: Добавлена поддержка заголовка Authorization в Allow-Headers по умолчанию в middleware CORS.
✅ Очистка очереди: Исправлена команда
queue:prune-batches — теперь корректно удаляются устаревшие записи в таблице job_batches.✅ Трансляция событий: Устранена ошибка сериализации при использовании моделей с преобразованными атрибутами в каналах трансляции.
✅ Валидация файлов: Валидатор
mimetypes теперь корректно обрабатывает файлы без расширения.✅ Формы и CSRF: Исправлено поведение CSRF-токенов при использовании форм внутри модальных окон и SPA-сценариев.
✅ Оптимизация памяти: Улучшена работа с памятью при обработке больших коллекций в
BelongsToMany отношениях.✨ Новые возможности
✅ Динамические каналы трансляции: Добавлена поддержка динамических (private/presence) каналов трансляции через новый метод
channel() в маршрутах.✅ Кастомные драйверы очередей: Расширена возможность подключения пользовательских драйверов очередей через метод
Queue::extend().✅ Гибкий поиск в
Paginator: В Paginator добавлен метод appendsQueryString(), позволяющий тонко управлять параметрами строки запроса.✅ Улучшенная типизация: Добавлены строгие типы (type hints) и аннотации PHPDoc в классы
Pipeline, Conditionable, ValidatedInput.✅ Локализация сообщений: В сообщениях об ошибках валидации теперь поддерживаются плейсхолдеры с атрибутами перевода.
✅ Интеграция с Horizon: Добавлены события
JobProcessing, JobProcessed, JobFailed для улучшенного мониторинга очередей через Horizon.⚡️ Прочие улучшения
✅ Производительность: Ускорена загрузка сервис-провайдеров за счёт оптимизации кэширования конфигураций.
✅ Тестирование: В
TestResponse добавлены методы assertSessionHasErrorsIn() и assertSessionDoesntHaveErrorsIn() для точной проверки ошибок по ключам.✅ Артизан-команды: В команде
make:model появилась опция --pivot для быстрого создания моделей сводных таблиц.✅ Документация: Обновлены и дополнены PHPDoc-аннотации в классах
HttpClient, DatabaseManager, BladeCompiler.Полный список изменений можно найти в официальном релизе
📱 @dev_notes_ru
#Laravel #Laravel12