Опубликовано:
Релиз Symfony 7.2
Наиболее важные нововведения Symfony 7.2, релиз которого состоялся в
- Статус: Вышел
- Требования: PHP 8.2.0 или выше
- Дата релиза:
- Окончание поддержки:
- Исходный код: GitHub
- Документация: Документация по Symfony 7.2
Вышел релиз Symfony 7.2.0. Как и в случае с любым другим релизом Symfony, мы обещаем обратную совместимость, а это значит, что вы сможете легко обновиться до 7.2, ничего не меняя в своем коде.
В течение последних нескольких месяцев мы рассказывали о замечательных новых возможностях Symfony 7.2. Настоятельно рекомендую прочитать эти статьи о Symfony 7.2, поскольку они содержат основные изменения в этой новой версии:
Новое в Symfony 7.2
Week
,WordCount
иYaml
ограничения — В Symfony 7.2 появилось три новых ограничения: первое проверяет номера недель, второе проверяет количество слов, а третье проверяет синтаксис YAML.- Silent Verbosity — Symfony 7.2 представляет silent verbosity для подавления всего вывода, включая ошибки.
- Улучшения языка выражений — В Symfony 7.2 улучшен компонент
ExpressionLanguage
, добавлены новые битовые и логические операторы, упрощена регистрация кастомных провайдеров и реализована поддержка комментариев. - Атрибут
AsMessage
— В Symfony 7.2 представлен новый атрибутAsMessage
, позволяющий настраивать транспорт(ы) непосредственно в классе сообщения. - Именованные сериализаторы — Symfony 7.2 позволяет конфигурировать несколько экземпляров сериализаторов с различными контекстами по умолчанию, конвертерами имён, наборами нормализаторов и кодировщиков.
- Линтер переводов — В Symfony 7.2 появилась новая команда
lint:translations
для проверки валидности содержимого переводов. - Атрибут
WhenNot
— В Symfony 7.2 появился атрибутWhenNot
, позволяющий исключить службу из определённого окружения. - Новая опция
choice_lazy
дляChoiceType
— В Symfony 7.2 представлен новый классLazyChoiceLoader
и опцияchoice_lazy
дляChoiceType
улучшающие производительности полей выбора с большим количеством вариантов. - Улучшения компонента String — Symfony 7.2 улучшает компонент String, добавляя новый метод kebab-case, новые режимы усечения и испанский инфлектор.
- Улучшение составных ограничений — В Symfony 7.2 составные ограничения легче тестировать и можно определять группы валидации и полезную нагрузку через конструктор.
- Улучшенный экстрактор переводов — В Symfony 7.2 улучшена команда извлечения переводов, позволяющая настраивать префиксы, изменять поведение обновлений и сортировать контент.
- Уведомления на рабочем столе — Symfony 7.2 позволяет отправлять уведомления прямо на рабочий стол, используя новый канал
desktop
в компоненте Notifier. - Улучшения DX шаблонов — В Symfony 7.2 можно задавать HTTP заголовки статических страниц и выводить определённые блоки Twig используя атрибуты.
- Непустые параметры контейнеров — В Symfony 7.2 появилась новая утилита, требующая, чтобы некоторые параметры существовали и имели непустые значения.
- Keepalive сообщений транспорта — В Symfony 7.2 появилась функция keepalive для транспортов Messenger, предотвращающая таймауты при обработке сообщений.
- Улучшения в Mime — В Symfony 7.2 в компоненте Mime добавлена поддержка кастомных энкодеров и адресов электронной почты в кодировке Unicode.
- Индикатор завершения работы консоли — Symfony 7.2 позволяет настраивать индикатор, отображаемый при завершении команды
Console
. - Улучшения ограничений — В Symfony 7.2 добавлены режим валидации для ограничения BIC,
errorPath
для ограничения Unique, опцииfarmat
для ограничения Ulid и поддержка контекста для ограничения When. - Упрощение настройки доверенных прокси — Symfony 7.2 упрощает настройку доверенных прокси с помощью сокращения частной подсети и новых переменных среды.
- Упрощённые однофайловые приложения Symfony — В Symfony 7.2 однофайловые приложения стали проще и требуют меньше настроек.
- Новые параметры команд — В Symfony 7.2 появились новые опции команд, позволяющие отслеживать переменные env контейнера, форматировать вывод статистики мессенджера и фильтровать ресурсы во время отладки.
- Переработан компонент
TypeInfo
— В Symfony 7.2 изменён дизайн компонента TypeInfo и улучшена его стабильность. - Улучшения Serializer — В Symfony 7.2 в Serializer добавлена поддержка подклассов
DateTime
, новый конвертер имёнSnakeCaseToCamelCase
, обновлённые константы UUID и опциональная интеграция Webhook - Stateless CSRF — В Symfony 7.2 появилась Stateless CSRF защита, позволяющая безопасно проверять токены, не полагаясь на сессии на стороне сервера.
- Устаревания — В Symfony 7.2 устарело несколько функций, включая параметры конфигурации сессии, пустые идентификаторы пользователей и тег
!tagged
. - Опциональный секрет — Symfony 7.2 упрощает настройку приложений, делая секрет опциональным, повышая безопасность и удобство для разработчиков.
- Различные улучшения (часть 1) — В Symfony 7.2 появились такие возможности, как настраиваемые задержки повторных попыток для Messenger, улучшенная поддержка
null
коалесценции в выражениях, настраиваемые атрибуты для паспортов входа пользователей и улучшенная поддержкаVarDumper
для PHP 8.4 - Различные улучшения (часть 2) — В Symfony 7.2 добавлена оценка надежности паролей, упрощено тестирование RequestStack, конфигурация nullable boolean, улучшена анонимизация IP-адресов и обновлен Security Profiler.