🎁 #yiisoftMailer #Релиз #МажорныйРелиз
Мажорный релиз Yii Mailer 3.0.0
В интерфейсе
—————
🎁 #yiisoftMailerSwiftmailer #yiisoftLogTargetEmail
Также сделаны мажорные релизы пакетов:
• Yii Mailer Swiftmailer 3.0.0 — реализованы новые методы + добавлена нормализация адресов, возвращаемых методами
• Yii Logging Email Target 3.0.0 — обновлена мажорная версия зависимости
—————
⚡️ #yiisoftMailerSymfony
В пакете Yii Mailer Symfony также реализованы новые методы интерфейса
—————
⚡️ #yiisoftDocs
В документации информация о новых методах интерфейса добавлена в раздел Mailing (PR).
—————
Спасибо @batyrmastyr за идею расширения интерфейса 👍
Мажорный релиз Yii Mailer 3.0.0
В интерфейсе
Yiisoft\Mailer\MessageInterface
добавлены методы для получения и установки заголовков (PR):MessageInterface::getDate()
Возвращает дату отправки сообщения или null
, если она не задана.MessageInterface::withDate()
Возвращает новый экземпляр сообщения с указанной датой отправки.MessageInterface::getPriority()
Возвращает приоритет сообщения.MessageInterface::withPriority()
Возвращает новый экземпляр сообщения с указанным приоритетом.MessageInterface::getReturnPath()
Возвращает адрес возврата.MessageInterface::withReturnPath()
Возвращает новый экземпляр сообщения с указанным адресом возврата,MessageInterface::getSender()
Возвращает адрес отправителя.MessageInterface::withSender()
Возвращает новый экземпляр сообщения с указанным адресом отправителя.—————
🎁 #yiisoftMailerSwiftmailer #yiisoftLogTargetEmail
Также сделаны мажорные релизы пакетов:
• Yii Mailer Swiftmailer 3.0.0 — реализованы новые методы + добавлена нормализация адресов, возвращаемых методами
getFrom()
, getTo()
, getCc()
и getBcc()
(PR).• Yii Logging Email Target 3.0.0 — обновлена мажорная версия зависимости
yiisoft/mailer
.—————
⚡️ #yiisoftMailerSymfony
В пакете Yii Mailer Symfony также реализованы новые методы интерфейса
Yiisoft\Mailer\MessageInterface
(PR).—————
⚡️ #yiisoftDocs
В документации информация о новых методах интерфейса добавлена в раздел Mailing (PR).
—————
Спасибо @batyrmastyr за идею расширения интерфейса 👍
⚡️ #yiisoftDocs
Заменили логотип Yii в документации на новый (PR).
Этот же файл логотипа отображается во всех пакетах Yii 3 в readme.
Заменили логотип Yii в документации на новый (PR).
Этот же файл логотипа отображается во всех пакетах Yii 3 в readme.
⚡️ #yiisoftDocs #yiisoftRequestModel
Актуализировано описание в части работы с роутингом в пакете Yii Request Model (PR) и документации (PR).
Актуализировано описание в части работы с роутингом в пакете Yii Request Model (PR) и документации (PR).
⚡️ #yiisoftDi
Изменили способ конфигурирования контейнера в Yii Dependency Injection: теперь вместо передачи нескольких параметров (дефинишены, делегаты и др.) в конструктор передаётся реализация интерфейса
Пример:
⚡️ #yiisoftDocs #yiisoftYiiJquery #yiisoftInjector #yiisoftYiiAuthClient #yiisoftLogTargetDb #yiisoftYiiDebugViewer #yiisoftTranslatorMessageDb #yiisoftYiiDbMigration #yiisoftYiiDebug #yiisoftYiiBootstrap5 #yiisoftTranslatorExtractor #yiisoftYiiDataview #yiisoftYiiSwagger #yiisoftYiiRunnerConsole #yiisoftAppApi #yiisoftYiiRunnerRoadrunner #yiisoftYiiGii #yiisoftYiiRunnerHttp #yiisoftApp #yiisoftDemo
Соответствующие изменения внесены в документацию (PR), приложения и пакеты:
Yii jQuery (PR),
Yii Injector (PR),
Yii External Authentication (PR),
Yii Logging DB Target (PR),
Yii Debug Viewer (PR),
Yii Translator DB Message Storage (PR),
Yii DB Migration (PR),
Yii Debug (PR),
Yii Bootstrap 5 (PR),
Yii Message Extractor (PR),
Yii Data Widgets (PR),
Yii Swagger (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR),
Yii HTTP Runner (PR),
Gii (PR),
Шаблон API-приложения (PR),
Шаблон веб-приложения (PR),
Демо веб-приложения (PR).
Изменили способ конфигурирования контейнера в Yii Dependency Injection: теперь вместо передачи нескольких параметров (дефинишены, делегаты и др.) в конструктор передаётся реализация интерфейса
ContainerConfigInterface
, позволяющая получить конфигурацию контейнера (PR).Пример:
$config = ContainerConfig::create()
->withDefinitions($definitions)
->withProviders($providers)
->withTags($tags)
->withValidate(false)
->withDelegates($delegates);
$container = new Container($config);
⚡️ #yiisoftDocs #yiisoftYiiJquery #yiisoftInjector #yiisoftYiiAuthClient #yiisoftLogTargetDb #yiisoftYiiDebugViewer #yiisoftTranslatorMessageDb #yiisoftYiiDbMigration #yiisoftYiiDebug #yiisoftYiiBootstrap5 #yiisoftTranslatorExtractor #yiisoftYiiDataview #yiisoftYiiSwagger #yiisoftYiiRunnerConsole #yiisoftAppApi #yiisoftYiiRunnerRoadrunner #yiisoftYiiGii #yiisoftYiiRunnerHttp #yiisoftApp #yiisoftDemo
Соответствующие изменения внесены в документацию (PR), приложения и пакеты:
Yii jQuery (PR),
Yii Injector (PR),
Yii External Authentication (PR),
Yii Logging DB Target (PR),
Yii Debug Viewer (PR),
Yii Translator DB Message Storage (PR),
Yii DB Migration (PR),
Yii Debug (PR),
Yii Bootstrap 5 (PR),
Yii Message Extractor (PR),
Yii Data Widgets (PR),
Yii Swagger (PR),
Yii Console Runner (PR),
Yii RoadRunner Runner (PR),
Yii HTTP Runner (PR),
Gii (PR),
Шаблон API-приложения (PR),
Шаблон веб-приложения (PR),
Демо веб-приложения (PR).
⚡️ #yiisoftRouter
Готовим Yii Router к релизу: подняли уровень psalm до 1 (PR) и удалили интерфейсы
Удалённые интерфейсы вводились для разделения контекстов использования (конфигурирование и получение данных), но практика показала, что это было неудачное решение (типизация по факту некорректная + интерфейсы вводят в заблуждение). Но, чтобы всё-таки повысить удобство публичного API, мы объединили методы, которые требуются только внутри пакета, и пометили их как
• в классе
• в классе
• в классе
• метод
—————
⚡️ #yiisoftRouterFastroute #yiisoftRequestModel #yiisoftYiiDebugApi #yiisoftYiiDataview #yiisoftDocs #yiisoftDemo #yiisoftApp #yiisoftDemoApi
Соответствующие изменения были внесены в документацию (PR), приложения и пакеты:
- Yii Router FastRoute Adapter (PR),
- Yii Request Model (PR, PR),
- Yii Debug API (PR),
- Yii Data Widgets (PR),
- Шаблон веб-приложения (PR),
- Демо веб-приложения (PR),
- Демо API-приложения (PR).
Готовим Yii Router к релизу: подняли уровень psalm до 1 (PR) и удалили интерфейсы
CurrentRouteInterface.php
, GroupInterface
, RouteInterface
, RouteParametersInterface
(PR).Удалённые интерфейсы вводились для разделения контекстов использования (конфигурирование и получение данных), но практика показала, что это было неудачное решение (типизация по факту некорректная + интерфейсы вводят в заблуждение). Но, чтобы всё-таки повысить удобство публичного API, мы объединили методы, которые требуются только внутри пакета, и пометили их как
@internal
:• в классе
Route
методы getDispatcherWithMiddlewares()
, getName()
, getMethods()
, getPattern()
, getHost()
, isOverride()
, getDefaults()
, hasMiddlewares()
, getDispatcherWithMiddlewares()
объединены в один getData()
;• в классе
Group
методы getCorsMiddleware()
, hasCorsMiddleware()
, getMiddlewareDefinitions()
, getItems()
, getPrefix()
, getNamePrefix()
, getHost()
объединены в один getData()
;• в классе
CurrentRoute
методы setRoute()
и setArguments()
объединены в один setRouteWithArguments()
;• метод
CurrentRoute::setUri()
также помечен как @internal
.—————
⚡️ #yiisoftRouterFastroute #yiisoftRequestModel #yiisoftYiiDebugApi #yiisoftYiiDataview #yiisoftDocs #yiisoftDemo #yiisoftApp #yiisoftDemoApi
Соответствующие изменения были внесены в документацию (PR), приложения и пакеты:
- Yii Router FastRoute Adapter (PR),
- Yii Request Model (PR, PR),
- Yii Debug API (PR),
- Yii Data Widgets (PR),
- Шаблон веб-приложения (PR),
- Демо веб-приложения (PR),
- Демо API-приложения (PR).
⚡️ #yiisoftDocs
В документации добавили секцию о предзагрузке скриптов в разделе «Настройка производительности» (PR).
В документации добавили секцию о предзагрузке скриптов в разделе «Настройка производительности» (PR).
👍1
⚡️ #yiisoftDocs
В разделе «Стиль кода» документации добавили соглашение об именовании коллекций: классы, интерфейсы, трейты и переменные, являющиеся коллекцией, должны оканчиваться на
В разделе «Стиль кода» документации добавили соглашение об именовании коллекций: классы, интерфейсы, трейты и переменные, являющиеся коллекцией, должны оканчиваться на
Collection
(PR).👍3
⚡️ #yiisoftDocs
В документацию добавили соглашение о поддерживаемых версиях PHP (PR).
Версии PHP, поддерживаемые пакетами и шаблонами приложений, зависят от жизненного цикла версий PHP.
• Версии пакетов с активной поддержкой ДОЛЖНЫ поддерживать все версии PHP, которые находятся в стадии активной поддержки.
• У пакетов и шаблонов приложений ДОЛЖНЫ быть версии получающие исправления ошибок и проблем безопасности, поддерживающие версии PHP, которые находятся в стадии поддержки безопасности.
• Пакеты и шаблоны приложений МОГУТ иметь поддерживаемые версии, которые работают с неподдерживаемыми версиями PHP.
• Поднятие минимальной версии PHP в пакете или шаблоне приложения считается минорным изменением.
• Исключение: пакеты и шаблоны приложений МОГУТ не поддерживать PHP 7.4.
В документацию добавили соглашение о поддерживаемых версиях PHP (PR).
Версии PHP, поддерживаемые пакетами и шаблонами приложений, зависят от жизненного цикла версий PHP.
• Версии пакетов с активной поддержкой ДОЛЖНЫ поддерживать все версии PHP, которые находятся в стадии активной поддержки.
• У пакетов и шаблонов приложений ДОЛЖНЫ быть версии получающие исправления ошибок и проблем безопасности, поддерживающие версии PHP, которые находятся в стадии поддержки безопасности.
• Пакеты и шаблоны приложений МОГУТ иметь поддерживаемые версии, которые работают с неподдерживаемыми версиями PHP.
• Поднятие минимальной версии PHP в пакете или шаблоне приложения считается минорным изменением.
• Исключение: пакеты и шаблоны приложений МОГУТ не поддерживать PHP 7.4.
🔥7
⚡️ #yiisoftDocs
В документации зафиксировали соглашение об использовании атрибутов PhpStorm (PR).
Атрибуты PhpStorm МОГУТ использоваться в коде, но пакет
В документации зафиксировали соглашение об использовании атрибутов PhpStorm (PR).
Атрибуты PhpStorm МОГУТ использоваться в коде, но пакет
jetbrains/phpstorm-attributes
ДОЛЖЕН быть добавлен как dev-зависимость.⚡️ #yiisoftDocs
В документации добавили новое соглашение: в composer.json в качестве логического оператора ИЛИ в диапазонах версий должна использоваться одиночная вертикальная черта
В документации добавили новое соглашение: в composer.json в качестве логического оператора ИЛИ в диапазонах версий должна использоваться одиночная вертикальная черта
|
(PR).🎉4
⚡️ #yiisoftDocs
Во внтуренней документации добавили новое соглашение по логу изменений: теперь имена авторов будут указываться с
Во внтуренней документации добавили новое соглашение по логу изменений: теперь имена авторов будут указываться с
@
и, соответственно, на GitHub будут отображаться ссылками на профиль (PR).