Хроники Yii3
623 subscribers
43 photos
1.7K links
Описание процесса разработки фреймворка из первых рук 😎

Обсуждение:
https://yangx.top/yii3ru

Сводка по всем пакетам:
https://www.yiiframework.com/status/3.0

Поддержать разработчиков:
https://opencollective.com/yiisoft
加入频道
⚡️ #yiisoftYiiDbMigration

Адаптировали Yii DB Migration к последним изменениям в Yii DB (PR).
#yiisoftDi #МинорныйРелиз #Релиз

🎁 Yii Dependency Injection 1.1.0

• Минимальная версия psr/container повышена до ^1.1|^2.0 (PR).
⚡️ #yiisoftYiiDevTool

В Yii Development Tool исправили ошибку в команде release/make, появившуюся после перехода на symplify/git-wrapper (PR).

Кстати, symplify/git-wrapper тоже успел устареть. Теперь вместо него предлагается использовать пакет gitonomy/gitlib.
#yiisoftYiiEvent #ПатчРелиз #Релиз

🎁 Yii Event 1.0.3

• Добавлена поддержка psr/container версии ^2.0 (PR).
⚡️ #yiisoftProxy

В пакете Yii Proxy адаптировали класс ClassConfigFactory для работы с объединениями типов (PR).
#yiisoftRouter #yiisoftRouterFastroute #МинорныйРелиз #Релиз

🎁 Yii Router 1.1.0

• Явно добавлена зависимость от psr/event-dispatcher, а зависимость psr/container перенесена в секцию "require-dev" (PR).

• Добавлена поддержка нескольких хостов в группах роутов (PR).

• Добавлена поддержка нескольких хостов в роутах.


🎁 Yii Router FastRoute Adapter 1.1.0

• Минимальная требуемая версия yiisoft/router повышена до ^1.1 (PR).

• Добавлена поддержка нескольких хостов в роутах.
⚡️ #yiisoftYiiDebug

Пакет Yii Debug адаптировали к последним изменениям в Yii Proxy и подняли минимальную требуемую версию psr/log до ^2.0|^3.0 (PR).
👍2
#yiisoftYiiRunner #ПатчРелиз #Релиз

🎁 Yii Runner 1.1.2

• Добавлена поддержка psr/container версии ^2.0 (PR).
⚡️ #yiisoftLogTargetDb

Адаптировали пакет Yii Logging DB Target к последним изменениям в Yii DB (PR).
#yiisoftRouterFastroute #ПатчРелиз #Релиз

🎁 Yii Router FastRoute Adapter 1.1.1

• Добавлена поддержка psr/simple-cache версии ^2.0|^3.0 (PR).
#yiisoftCache #МажорныйРелиз #Релиз

🎁 Yii Caching Library 2.0.0

• Минимальная требуемая версия psr/simple-cache поднята до ^2.0|^3.0, а версия PHP до ^8.0 (PR).
⚡️ #yiisoftRouter #yiisoftRouterFastroute

Добавили рабочий процесс GitHub для проверки обратной совместимости в пакетах Yii Router (PR) и Yii Router FastRoute Adapter (PR).
⚡️ #yiisoftValidator #yiisoftValidatorRuleHandlerContainer

Изменили внутреннюю логику контейнера обработчиков правил валидации (теперь обработчик достаётся напрямую из контейнера, а значит зависит только от интерфейса PSR-контейнера), что позволило перенести его обратно в Yii Validator (PR).

Пакет Yii Validator Rule Handler Container помечен как устаревший и доступен теперь только для чтения.
👍2
#yiisoftTestSupport #МажорныйРелиз #Релиз

🎁 Yii Test Support 3.0.0

• Минимальная требуемая версия psr/simple-cache поднята до ^2.0|^3.0 (PR).
⚡️ #yiisoftDemo

В демо веб-приложения временно удалили debug-пакеты и обновили часть composer-зависимостей (PR).

Debug-пакеты пришлось удалить из-за того, что для них требуется psr/log версии ^1.0, но другие пакеты в приложении уже требуют ^2.0|^3.0.

Корень проблемы в пакете neomerx/cors-psr7, который нужен для пакета tuupola/cors-middleware, который в свою очередь требуется для yiisoft/yii-debug-viewer.

В neomerx/cors-psr7 уже был PR от 7 января с обновлением версии psr/log. Никита @glndrwn сегодня сделал ещё один. Можно добавить лайков, возможно это как-то поспособствуют решению проблемы :)
⚡️ #yiisoftDb

В пакете Yii DB добавили поддержку yiisoft/cache версии ^2.0 (PR).
⚡️ #yiisoftYiiQueueAmqp

В пакете Yii Queue AMQP Driver вместо RuntimeException добавили собственные исключения InvalidArgumentsTypeException, NoKeyInPayloadException, NotImplementedException (PR).
⚡️ #yiisoftValidator

В Yii Validator добавили новое правило Composite, позволяющее сгруппировать другие правила (PR).

Новое правило полезно в случаях, когда для группы правил нужно применить одни и теже настройки when, skipOnEmpty и skipOnError.

Например, вот такой код:

'name' => [
new Required(when: fn() => $this->useName),
new HasLength(min: 1, max: 50, skipOnEmpty: true, when: fn() => $this->useName),
],


… с помощью композитного правила можно переписать следующим образом:

'name' => [
new Composite(
rules: [
new Required(),
new HasLength(min: 1, max: 50, skipOnEmpty: true),
]
when: fn() => $this->useName,
),
],
🌭3👍2🔥1
#yiisoftView #ПатчРелиз #Релиз

🎁 Yii View 5.0.1

• Добавлена поддержка yiisoft/cache версии ^2.0 (PR).
⚡️ #yiisoftFiles

Исправили опечатки в doc-блоках пакета Yii Files (PR).
⚡️ #yiisoftYiiHttp

В пакете Yii HTTP Application повышена версия dev-зависимости yiisoft/test-support до ^3.0 (PR).