Hello everyone!
It is Alex again. The previous news issue was sent on May 2nd. Since then I was kind of silent. That’s not because nothing happened — on contrary, too much happened at once.
I went to a conference at the end of September, and instead of getting home back to my family, I ended up in Yerevan, Armenia where
I’m currently writing this news issue.
Development-wise we have great progress despite what happens in the world overall and team members’ countries specifically.
Now, let’s review interesting things since the previous news issues.
Team, foundation, and community
- First, @yiiliveext left the team. We’d like to thank him for his valuable contributions.
- We started a Telegram channel in English.
- English version of Yii Chronicles was abandoned. If you want to write for the channel, let us know. The Russian version is alive and well.
- Foundation is spending more than it is getting to get more development hours and have better Yii3 progress. Currently, it supports the work of Alexey Rogachev, Wilmer Arambula, and Rustam Mamadaminov.
We can work for about 1.5 months in the current mode before running out of funds. - There are several team blogs appeared: Viktor Babanov, and Alexander Makarov.
- We are looking for more Yii2 maintainers to keep framework healthy and to do releases more often.
Infrastructure
- We have introduced our own GitHub actions repository to avoid duplication and keep all the package actions in sync.
- Composer require checker now checks if there are transitive dependencies in our packages. These are bad.
- Rector now upgrades our code when we raise PHP requirements and works along with StyleCI to fix some code style issues.
Yii 1
Yii 2
Extensions:
- ElasticSearch 2.1.3.
- Auth Client 2.2.13, 2.2.14.
- Debug 2.1.20, 2.1.21, 2.1.22.
- Gii 2.2.5.
- Imagine 2.3.1.
- Redis 2.0.18.
- Shell 2.0.5.
- Twig 2.4.2.
- Symfony mailer 2.0.4.
- MongoDB 3.0.0.
- Sphinx 2.0.15.
- Smarty 2.0.11.
- Queue 2.3.5.
- ApiDoc 3.0.6.
Yii 3
New package releases:
More packages are about to be released. The current focus is a validator. It is close and I can say it is one of the most complicated packages to work on. It was more or less ready in May but design-wise we were not satisfied. Since then:
- We have decoupled rules from rule handlers to automatically resolve dependencies in handlers.
- Added “composite” rule that allows combining several other rules. Removed GroupRule.
- Improved rules. Refined syntax. Improved logical consistency. Finished attributes support and nested validation.
- Cleaned up interfaces and general syntax a lot.
- Sorted out message translation.
Package updates:
- Yii console 1.1.0, 1.2.0, 1.3.0.
- Yii HTML 2.4.0, 2.5.0, 3.0.0.
- Log 2.0.0.
- Yii Logging File Target 2.0.0.
- Error handler 2.1.0.
- Test Support 2.0.0, 3.0.0.
- Yii Dependency Injection 1.1.0.
- Router and fastroute adapter 1.1.0.
- Yii Caching Library 2.0.0.
- Yii Cache File 2.0.0.
- Yii Files 2.0.0.
- Yii Assets 2.1.0.
- Injector 1.1.0.
- View 6.0.0.
- Yii Middleware Dispatcher 2.1.0, 3.0.0.
- Yii Runner 1.2.0.
- Yii Console Runner 1.1.0.
- Yii Profiler 2.0.0.
- Yii Router 1.2.0, 2.0.0.
- Translator 1.1.0.
- Yii Event Dispatcher 1.1.0.
- Yii Definitions 3.0.0.
- Yii Message Translator 2.0.0, 2.1.0.
Some packages were deprecated and archived:
- translator-formatter-intl
- mailer-swiftmailer
- yii-captcha
- yii-jquery
- yii-masked-input
- translator-formatter-simple
- composer-config-plugin
- validator-rule-handler-container
News, reading/watching recommendations, and tools
- Can I PHP? — analog of Can I use but for PHP. Allows you to search when a specific feature was added.
- Migrating a production database without any downtime.
- churn-php — helps you identify PHP files in your project that could be good candidates for refactoring.
- Move that foreach() inside the method.
- PER coding style 1.0.0 was tagged. That is meant to replace PSR-12 and now it is close to another tag. Lots of PHP 8 features and more consistency are coming.
- Benchmarking serialization.
- PHP Performance: Additional CPU cores vs Faster CPU cores.
- deComplex - diff and reduce the complexity of your PHP code.
- Codeception 5 released.
- Encapsulating interactions with the outside world in your domain model.
- Composer 2.4 released.
- Stop Using “extends” in PHP.
- Stop using “static” in PHP.
- PHP is number 4 in RedMonk rating.
- composer-unused - a Composer tool to show unused Composer dependencies by scanning your code.
- All the Easter Eggs in PHP.
- PHP preload VS running as a daemon (benchmarks).
Thank you!
I would like to thank all backers and contributors for making Yii 3 possible.
We are moving it forward together!
- CraftCMS - Great OpenSource Yii2-powered CMS.
- Onetwist Software - High-quality software development.
- SkillShare - Online learning community.
- dmstr - Docker-based cloud solutions.
- HumHub - OpenSource team communication solution.
- JetBrains - Awesome developer tools.
- Mighty - digital design and web technology company.
- Emberware - Digital transformation services.
- Dudesqare - Web studio.
- EFKO Group - Foodtech, food production, and a venture foundation.
- PELock - Software protection and software license key system.
- Italian Linux Society - The Italian association promoting Linux and Free and Open Source Software.
- Icons8 - Icons, illustrations, photos, music, and design tools store.
Special thanks to AHost who both contributed to the foundation and sponsored a few months of Rustam Mamadaminov to develop Yii3.
There are more individuals and companies to be checked on the OpenCollective page.
Special thanks for Yii 3 code contributions go to:
- Dmitry Derepko.
- Sergei Predvoditelev.
- Wilmer Arambula.
- Rustam Mamadaminov.
- Alexey Rogachev.
- Valerii Gorbachev.
- Alexander Nekrasov.
- Viktor Babanov.
- Roman Tsurkanu.
- Aleksei Gagarin.
- Gerych1984.
- Tobias Munk.
- Tomasz Kane.
- Denis Moskovchenko.
- Sartor.
- sinus22.
- Somogyi Márton.
- Lucas Bartholemy.
- Ross Addison.
- Evgeniy Tkachenko.
- Dmitriy Goriaev.
- Razon Yang.
- Nikita Zarubin.
- Jacob Budin.
- Chris Yates.
- Chacha Nurholis.
- Ihor Sychevskyi.
- Daniel Gurev.
- Andrii Cherepkov.
- alamagus.
- gluck1986.
- evan70.
- Sergiayn.
- Alex Schmid.
- Mahmud.
- qqqq.
- sankaest.