Всем привет! Мы молчали почти месяц. Работали над всеми версиями фреймворка и ниже расскажем о самом интересном.
Yii 1
Код из master
прошёл все тесты на PHP 7.4 без каких-либо изменений. Этот факт
стал для нас приятным сюрпризом. Есть ещё пара проблем с PHP 7, которые не
покрыты тестами. Как только мы их проверим, будет релиз.
Yii 2.0.31
Выпущен свежий релиз Yii 2.
В него вошли несколько исправлений и пара улучшений. В Request
была добавлена
поддержка заголовка Forwarded
для прокси. Также расширена поддержка конфигурации
для DI-контейнера в стиле Yii 3.
Но главное в релизе — поддержка PHP 7.4. Было не очень просто достичь её не теряя совместимость со старыми версиями PHP. Несмотря на то, что было потрачено немало времени на поиск возможности сделать это безболезненно, мы справились.
Yii 3
Разработка в общем продвигается, но не так быстро, как хотелось бы. Похоже, прикидки по дате релиза были слишком оптимистичны, но, тем не менее, я всё ещё думаю, что мы тегнем некоторые пакеты Yii 3 и сделаем процесс установки Yii 3 проще, предоставив шаблон приложения. Это будет или до нового года, или в начале следующего.
Что же мы успели с середины ноября?
Концепты, обсуждения и туториалы
Код
- Минимальная версия PHP поднята до 7.4. Код обновлён.
- Улучшен дизайн обработчика ошибок.
- Добавлен обработчик доверенных сетевых хостов.
- Emitter теперь отдаёт тело потоком что позволяет избежать чрезмерного потребления памяти.
- В обработчик ошибок добавлен не подробный продакшн-режим.
- Yii development tool был серьёзно улучшен, что сделало разработку Yii 3 намного приятней.
- В роутер добавлена поддержка групп, что позже она была улучшена.
- Серьёзно улучшен диспетчер Middleware.
- Немного порефакторен слой View.
- Somogyi Márton провёл эксперимент по распилу слоя view в отдельных репозиториях. Мы готовимся перенести успешные его части в Yii 3.
- Добавлена возможность запускать приложение из поддиректории.
- Emitter теперь кидает полезное исключение когда HTTP заголовки уже посланы.
Документация
Корректировки внутренних гайдлайнов
Общая инфраструктура
- Мы мигрировали travis с .org на .com. Когда мы почистим остатки хуков, станет меньше путаницы на тему того, на каком домене лежит билд для пакета.
- Статусная страница была обновлена текущим пакетами Yii 3.
- На страницу с релизным циклом добавлена информация о поддерживаемых версиях PHP.
Финансы
Мы поучаствовали в бета-тестировании финансовой платформы GitHub. Вместе с командой GitHub всё настроили. Также настроили Tidelift, так что теперь помочь Yii финансово можно ещё двумя способами.
Tidelift оказался полезен ещё и с другой стороны. У них отличные чеклисты, например, нужно добавить в каждый репозиторий информацию о том, как репортить проблемы с безопасностью. Во время выполнения этих чек-листом были найдены и поправлены некоторые проблемы в репозиториях Yii.
Единтственный минус — Tidelift не так прозрачен, как OpenCollective. Но обещаю, что буду забирать из OpenCollective меньше на сумму получаемую через Tidelift. Надеюсь, это позволит большему количеству разработчиков, работать над Yii. Если вы хотите тратить на Yii 3 больше времени, но не можете по финансовым причинам, пишите мне (Александру Макарову). Попробуем что-то придумать...
Спасибо!
Спасибо всем кто помогает Yii финансово. Текущий прогресс без вас был бы невозможен.
Отдельное спасибо Somogyi Márton, roxblnfk, Павлу Иванову, Дмитрию Дерепко, thenotsoft за отличные pull request-ы.