✨ #yiisoftMailerSymfony
Создан новый пакет Yii Mailer Symfony Extension. Это расширение к библиотеке Yii Mailer, позволяющее использовать Symfony Mailer для отправки писем.
В настоящий момент в Yii3 для отправки писем есть только Yii Mailer Swiftmailer Extension. В статье The end of Swiftmailer Fabien Potencier объявил о прекращении поддержки Swiftmailer в конце ноября 2021 года (Пётр Мязин перевёл эту статью: Swiftmailer умер, да здравствует Symfony Mailer!). Поэтому было принято решение создать расширение для отправки писем с помощью Symfony Mailer.
Создан новый пакет Yii Mailer Symfony Extension. Это расширение к библиотеке Yii Mailer, позволяющее использовать Symfony Mailer для отправки писем.
В настоящий момент в Yii3 для отправки писем есть только Yii Mailer Swiftmailer Extension. В статье The end of Swiftmailer Fabien Potencier объявил о прекращении поддержки Swiftmailer в конце ноября 2021 года (Пётр Мязин перевёл эту статью: Swiftmailer умер, да здравствует Symfony Mailer!). Поэтому было принято решение создать расширение для отправки писем с помощью Symfony Mailer.
⚡️ #yiisoftUser
В пакете Yii User в конфигурации класса
Сброс состояния необходим для долгоживущих приложений, работающих в event-loop (RoadRunner, Swoole и др.).
В пакете Yii User в конфигурации класса
CurrentUser
добавлен сброс состояния: сбрасывается текущая идентичность пользователя (PR).Сброс состояния необходим для долгоживущих приложений, работающих в event-loop (RoadRunner, Swoole и др.).
⚡️ #yiisoftConfig
В пакете Yii Config объединение конфигурации рекурсивно выполняется только для тех конфигов, которые будут указаны в конструкторе
Например:
—————
#yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi
Все приложения адаптированы под это изменение:
- шаблон веб-приложения (PR),
- шаблон API-приложения (PR),
- демо веб-приложения (PR),
- демо API-приложения (PR).
В пакете Yii Config объединение конфигурации рекурсивно выполняется только для тех конфигов, которые будут указаны в конструкторе
\Yiisoft\Config\Config
, все остальные конфигурации будут объединяться без рекурсии (PR).Например:
$config = new \Yiisoft\Config\Config(Рекурсивно будут объединены конфигурации
dirname(__DIR__),
'/config/packages',
'dev',
[
'params',
'events',
'events-web',
'events-console',
],
);
params
, events
, events-web
, events-console
. Все остальные конфигурации (например, common
, providers
, bootstrap
и т. д.) будут объединены не рекурсивно.—————
#yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi
Все приложения адаптированы под это изменение:
- шаблон веб-приложения (PR),
- шаблон API-приложения (PR),
- демо веб-приложения (PR),
- демо API-приложения (PR).
🎁 #yiisoftHtml #Релиз #МажорныйРелиз
Мажорный релиз Yii HTML 2.0.0
• Добавлены классы для тегов
• В классе тега
• В виджетах
-
-
-
-
• Для тегов разрешено передавать
-
-
-
-
Соответствующие атрибуты не будут сгенерированы.
• Добавлен класс
• Пустые строковые значения атрибутов теперь не выводятся.
• В порядок вывода атрибутов в теге добавлен атрибут
—————
#yiisoftView #yiisoftYiiView #yiisoftViewTwig #yiisoftMailer #yiisoftMailerSwiftmailer #yiisoftLogTargetEmail
Адаптационные релизы к Yii HTML:
- Yii View 2.0.0
- Yii View Extension 2.0.0
- Yii View Twig Renderer 2.0.0
- Yii Mailer 2.0.0
- Yii Mailer Swiftmailer Extension 2.0.0
- Yii Logging Email Target 2.0.0
—————
#yiisoftApp #yiisoftDemo
В шаблоне веб-приложения и демо веб-приложения обновлены зависимости.
Мажорный релиз Yii HTML 2.0.0
• Добавлены классы для тегов
Em
, Strong
, B
и I
.• В классе тега
Link
добавлены методы as()
и preload()
.• В виджетах
CheckboxList
и RadioList
добавлена поддержка индивидуальных атрибутов для чекбоксов и радиокнопок соответственно с помощью методов:-
CheckboxList::individualInputAttributes()
,-
CheckboxList::replaceIndividualInputAttributes()
,-
RadioList::individualInputAttributes()
,-
RadioList::replaceIndividualInputAttributes()
.• Для тегов разрешено передавать
null
в методы:-
Tag::class()
,-
Tag::replaceClass()
,-
BooleanInputTag::label()
,-
BooleanInputTag::sideLabel()
.Соответствующие атрибуты не будут сгенерированы.
• Добавлен класс
NoEncode
, в который можно обернуть содержимое, которое не должно быть экранировано в HTML-тегах.• Пустые строковые значения атрибутов теперь не выводятся.
• В порядок вывода атрибутов в теге добавлен атрибут
minlength
.—————
#yiisoftView #yiisoftYiiView #yiisoftViewTwig #yiisoftMailer #yiisoftMailerSwiftmailer #yiisoftLogTargetEmail
Адаптационные релизы к Yii HTML:
- Yii View 2.0.0
- Yii View Extension 2.0.0
- Yii View Twig Renderer 2.0.0
- Yii Mailer 2.0.0
- Yii Mailer Swiftmailer Extension 2.0.0
- Yii Logging Email Target 2.0.0
—————
#yiisoftApp #yiisoftDemo
В шаблоне веб-приложения и демо веб-приложения обновлены зависимости.
⚡️ #yiisoftDocs
В документации дополнены разделы по работе с event loop (PR):
- Using Yii with event loop,
- Using Yii with RoadRunner,
- Using Yii with Swoole.
В документации дополнены разделы по работе с event loop (PR):
- Using Yii with event loop,
- Using Yii with RoadRunner,
- Using Yii with Swoole.
⚡️ #yiisoftSession
В пакете Yii Session в конфигурации класса
В пакете Yii Session в конфигурации класса
Session
добавлен сброс состояния: выполняется закрытие сессии и сбрасывается её ID (PR).⚡️ #yiisoftEventDispatcher #yiisoftInjector #yiisoftView #yiisoftStrings #yiisoftHtml
Строки в логах изменений расположены в порядке, описанном в соглашении о формате файлов changelog и upgrade (
- Yii Event Dispatcher (PR)
- Yii Injector (PR)
- Yii View (PR)
- Yii Strings (PR)
- Yii HTML (PR)
Строки в логах изменений расположены в порядке, описанном в соглашении о формате файлов changelog и upgrade (
New
, Chg
, Enh
, Bug
):- Yii Event Dispatcher (PR)
- Yii Injector (PR)
- Yii View (PR)
- Yii Strings (PR)
- Yii HTML (PR)
⚡️#yiisoftDemo
В демо веб-приложения в консольных командах для создания пользователя и назначения ему роли добавлена проверка на наличие ID у пользователя (PR).
Спасибо Евгению Ткаченко за PR 👍
В демо веб-приложения в консольных командах для создания пользователя и назначения ему роли добавлена проверка на наличие ID у пользователя (PR).
Спасибо Евгению Ткаченко за PR 👍
⚡️ #yiisoftStrings
В пакете Yii Strings исправлены ошибки psalm и улучшена конфигурация GitHub Workflow (PR):
- добавлен ежедневный запуск всех тестов;
- добавлен статический анализ в PHP 8.
В пакете Yii Strings исправлены ошибки psalm и улучшена конфигурация GitHub Workflow (PR):
- добавлен ежедневный запуск всех тестов;
- добавлен статический анализ в PHP 8.
⚡️ #yiisoftMailerSymfony
Реализовали Yii Mailer Symfony Extension, теперь в библиотеке Yii Mailer можно использовать Symfony Mailer для отправки писем (PR).
Реализовали Yii Mailer Symfony Extension, теперь в библиотеке Yii Mailer можно использовать Symfony Mailer для отправки писем (PR).
⚡️ #yiisoftInjector
В пакете Yii Injector исправлены ошибки psalm и улучшена конфигурация GitHub Workflow (PR):
- добавлен ежедневный запуск всех тестов;
- добавлен статический анализ в PHP 8.
В пакете Yii Injector исправлены ошибки psalm и улучшена конфигурация GitHub Workflow (PR):
- добавлен ежедневный запуск всех тестов;
- добавлен статический анализ в PHP 8.
⚡️ #yiisoftYiiDebug
Улучшена конфигурация пакета Yii Debug + финализирован класс
Улучшена конфигурация пакета Yii Debug + финализирован класс
Yiisoft\Yii\Debug\DebuggerIdGenerator
(PR).⚡️ #yiisoftYiiDevTool
В логе изменений сортировка строк, выполняемая в процессе работы команды
В логе изменений сортировка строк, выполняемая в процессе работы команды
release/make
из Yii Development Tool, осуществляется в соответствии с соглашением о формате файлов changelog и upgrade (PR).⚡️ Практически во всех пакетах добавлен ежедневный запуск тестов через GitHub Workflow.
#yiisoftCacheWincache #yiisoftView #yiisoftDi #yiisoftStrings #yiisoftRbacPhp #yiisoftYiiConsole #yiisoftCache #yiisoftDb #yiisoftRbac #yiisoftYiiAuthClient #yiisoftYiiGii #yiisoftViewTwig #yiisoftYiiWeb #yiisoftDbMssql #yiisoftDbOracle #yiisoftLog #yiisoftYiiDebug #yiisoftDbSqlite #yiisoftDbPgsql #yiisoftDbMysql #yiisoftEventDispatcher #yiisoftI18n #yiisoftYiiEvent #yiisoftYiiDbMigration #yiisoftValidator #yiisoftUser #yiisoftTranslatorMessageGettext #yiisoftSecurity #yiisoftMiddlewareDispatcher #yiisoftMutex #yiisoftNetworkUtilities #yiisoftProfiler #yiisoftProxy #yiisoftRequestBodyParser #yiisoftRouterFastroute #yiisoftInjector #yiisoftCacheApcu #yiisoftAuthJwt #yiisoftAuth #yiisoftAssets #yiisoftArrays #yiisoftAliases #yiisoftDemoApi #yiisoftDemo #yiisoftDataResponse #yiisoftData #yiisoftCsrf #yiisoftCookies #yiisoftConfig #yiisoftCacheMemcached #yiisoftCacheFile #yiisoftHttp #yiisoftHtml #yiisoftFiles #yiisoftFactory #yiisoftErrorHandler #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftLogTargetFile #yiisoftRequestModel #yiisoftRbacSpiralDb #yiisoftRateLimiter #yiisoftPackageTemplate #yiisoftMutexRedis #yiisoftMutexPdoPgsql #yiisoftMutexPdoOracle #yiisoftMutexFile #yiisoftMutexPdoMysql #yiisoftTranslatorFormatterSimple #yiisoftTranslatorFormatterIntl #yiisoftTranslatorExtractor #yiisoftTranslator #yiisoftTestSupport #yiisoftSession #yiisoftRouter #yiisoftRequirements #yiisoftTranslatorMessageDb #yiisoftTranslatorMessagePhp #yiisoftVarDumper #yiisoftWidget #yiisoftYiiBootstrap5 #yiisoftYiiBulma #yiisoftYiiCycle #yiisoftYiiDataview #yiisoftYiiDebugApi #yiisoftYiiDebugViewer #yiisoftMailerSwiftmailer #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftJson #yiisoftForm #yiisoftYiiWidgets #yiisoftYiiView #yiisoftYiiSwagger #yiisoftYiiSentry
#yiisoftCacheWincache #yiisoftView #yiisoftDi #yiisoftStrings #yiisoftRbacPhp #yiisoftYiiConsole #yiisoftCache #yiisoftDb #yiisoftRbac #yiisoftYiiAuthClient #yiisoftYiiGii #yiisoftViewTwig #yiisoftYiiWeb #yiisoftDbMssql #yiisoftDbOracle #yiisoftLog #yiisoftYiiDebug #yiisoftDbSqlite #yiisoftDbPgsql #yiisoftDbMysql #yiisoftEventDispatcher #yiisoftI18n #yiisoftYiiEvent #yiisoftYiiDbMigration #yiisoftValidator #yiisoftUser #yiisoftTranslatorMessageGettext #yiisoftSecurity #yiisoftMiddlewareDispatcher #yiisoftMutex #yiisoftNetworkUtilities #yiisoftProfiler #yiisoftProxy #yiisoftRequestBodyParser #yiisoftRouterFastroute #yiisoftInjector #yiisoftCacheApcu #yiisoftAuthJwt #yiisoftAuth #yiisoftAssets #yiisoftArrays #yiisoftAliases #yiisoftDemoApi #yiisoftDemo #yiisoftDataResponse #yiisoftData #yiisoftCsrf #yiisoftCookies #yiisoftConfig #yiisoftCacheMemcached #yiisoftCacheFile #yiisoftHttp #yiisoftHtml #yiisoftFiles #yiisoftFactory #yiisoftErrorHandler #yiisoftLogTargetDb #yiisoftLogTargetEmail #yiisoftLogTargetFile #yiisoftRequestModel #yiisoftRbacSpiralDb #yiisoftRateLimiter #yiisoftPackageTemplate #yiisoftMutexRedis #yiisoftMutexPdoPgsql #yiisoftMutexPdoOracle #yiisoftMutexFile #yiisoftMutexPdoMysql #yiisoftTranslatorFormatterSimple #yiisoftTranslatorFormatterIntl #yiisoftTranslatorExtractor #yiisoftTranslator #yiisoftTestSupport #yiisoftSession #yiisoftRouter #yiisoftRequirements #yiisoftTranslatorMessageDb #yiisoftTranslatorMessagePhp #yiisoftVarDumper #yiisoftWidget #yiisoftYiiBootstrap5 #yiisoftYiiBulma #yiisoftYiiCycle #yiisoftYiiDataview #yiisoftYiiDebugApi #yiisoftYiiDebugViewer #yiisoftMailerSwiftmailer #yiisoftMailer #yiisoftLogTargetSyslog #yiisoftJson #yiisoftForm #yiisoftYiiWidgets #yiisoftYiiView #yiisoftYiiSwagger #yiisoftYiiSentry
🎁 #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 за идею расширения интерфейса 👍
✨ #yiisoftDefinitions
Создан новый пакет Yii Definitions. Есть идея вынести сюда все дефинишены из Yii Factory. Это позволит в Yii Dependency Injection избавится от зависимости от фабрики. То есть фабрика и контейнер будут независимы друг от друга, но при этом оба будут использовать новый пакет.
Создан новый пакет Yii Definitions. Есть идея вынести сюда все дефинишены из Yii Factory. Это позволит в Yii Dependency Injection избавится от зависимости от фабрики. То есть фабрика и контейнер будут независимы друг от друга, но при этом оба будут использовать новый пакет.
⚡️#yiisoftDemo
В демо веб-приложения начата работа над backend-частью (PR).
Спасибо Евгению Ткаченко за PR 👍
В демо веб-приложения начата работа над backend-частью (PR).
Спасибо Евгению Ткаченко за PR 👍
🎁 #yiisoftLogTargetFile #yiisoftLogTargetEmail #yiisoftLogTargetSyslog #Релиз #ПатчРелиз
Патч-релиз целей логов для библиотеки Yii Logging:
- Yii Logging Email Target 3.0.1 (PR)
- Yii Logging Syslog Target 1.0.2 (PR)
- Yii Logging File Target 1.0.4 (PR)
Из пакетов удалена конфигурация интерфейса
—————
⚡️ #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi
В конфигурации приложений добавлен дефинишен для
- шаблон веб-приложения (PR),
- шаблон API-приложения (PR),
- демо веб-приложения (PR),
- демо API-приложения (PR).
Патч-релиз целей логов для библиотеки Yii Logging:
- Yii Logging Email Target 3.0.1 (PR)
- Yii Logging Syslog Target 1.0.2 (PR)
- Yii Logging File Target 1.0.4 (PR)
Из пакетов удалена конфигурация интерфейса
Psr\Log\LoggerInterface
. Предполагается, что этот интерфейс должен определяться в приложении, где может использоваться одновременно несколько целей.—————
⚡️ #yiisoftApp #yiisoftAppApi #yiisoftDemo #yiisoftDemoApi
В конфигурации приложений добавлен дефинишен для
Psr\Log\LoggerInterface
:- шаблон веб-приложения (PR),
- шаблон API-приложения (PR),
- демо веб-приложения (PR),
- демо API-приложения (PR).
⚡️ #yiisoftInjector
В пакете Yii Injector добавлен бенчмарк, замеряющий скорость создания объекта (PR):
- без конструктора,
- с конструктором без аргументов,
- с конструктором с аргументами.
В пакете Yii Injector добавлен бенчмарк, замеряющий скорость создания объекта (PR):
- без конструктора,
- с конструктором без аргументов,
- с конструктором с аргументами.
⚡️#yiisoftDemo
В демо веб-приложения вместо Yii Mailer Swiftmailer теперь используется Yii Mailer Symfony (PR).
В демо веб-приложения вместо Yii Mailer Swiftmailer теперь используется Yii Mailer Symfony (PR).
⚡️ #yiisoftConfig
В пакете Yii Config исправлено несколько ошибок:
• Для файлов из окружений (
• В случаях, когда для одной конфигурации указывалось несколько файлов, объединение выполнялось некорректно (PR).
В пакете Yii Config исправлено несколько ошибок:
• Для файлов из окружений (
environments
) не применялась опция source-directory
(PR);• В случаях, когда для одной конфигурации указывалось несколько файлов, объединение выполнялось некорректно (PR).