Updates

Stay up to dates with our latest activities and progress.
A month passed since the previous issue and many things changed in the world during the time because of the virus. We have conferences canceled, travel ban, quarantine, kids at home almost 24/7, big changes in the IT landscape overall, etc.

What did not change is that there is a need for a solid development framework and our dedication to making Yii 3 happen. I'm glad you are supporting us despite the situation.

Stay healthy and enjoy reading.

Thank you!

🔷 Yii 2

Version 2.0.33 was released with 22 issues fixed and 4 enhancements added.

Additionally, the following extension releases were made:

🔶 Yii 3

To have a better picture of what happens and what's to be done we've created a Trello board.

📙 New and adjusted internal guidelines:

📙 New and adjusted guide pages:

📚 Reading recommendations

❤ Thank you!

I'd like to thank all backers and contributors making Yii 3 possible. We are moving it forward together.

👍 Special thanks for Yii 3 code contributions goes to:

Published on March 25, 2020 by Alexander Makarov
This issue was hard to get done. Not because there's no content to write about, on contrary: Yii 3 is improving and the process is so enjoyable that it was hard to stop for a moment and write about it 😅

🔷 Yii 2

🔶 Yii 3

That's not complete list of changes since amount of pull requests was overwhelming!

📙 New and adjusted internal guidelines:

📙 New guide pages:

⚠️ Don't try it at home ;)

There are adventurous people who are developing first projects with Yii 3 and even deploying production instances. Even with all the harsh edges of pre-alpha, feedback is that the development process is mostly more enjoyable than Yii 2. That's a good sign.

📚 Reading recommendations

Here's some reading that resembles the spirit of Yii 3 well:

❤️ Thank you!

I'd like to thank all backers and contributors making Yii 3 possible. We are moving it forward together.

👍 Special thanks for Yii 3 code contributions goes to:

Published on February 22, 2020 by Alexander Makarov
Hello everyone! This is a first update of the year and I hope you're starting the year as productively as we are. I've decided to name this year updates in the spirit of paper magazines. This way these will be a bit more distinguishable from each other and I won't spend time on thinking hard about title :)

Yii 1.1, Yii 2 and extensions

We've got some releases:

Yii 3

Additionally, Wilmer Arambula tried to port Yii 2 database abstraction layer. For now it just an experiemnt but in the future it may turn into something useful. We aren't going to use a single DBAL in Yii 3 allowing multiple choice and plan to start with Cycle ORM out of the box.

Funding

Since there's now extra funding via Tidelift, I've called to spending time on Yii instead commericial work. The experiment went fine with roxblnfk. Extra time allowed him to contribute to Cycle ORM integration, web package enhancements, configs concept (not yet merged), subfolder middlware and minor fixes.

Since it proved to work well, I plan to seek to major PHP companies for more funding. Ideally that would allow to form a small team dedicated to framework development. That would speed things up very significantly.

Thank you!

I'd like to thank all backers and contributors making Yii 3 possible. We are moving it forward together.

Special thanks for Yii 3 code contributions goes to:

Published on January 22, 2020 by Alexander Makarov
It is the end of 2019 so let's review what was done in a year.

Funding

An OpenCollective fund was created and later expanded with Tidelift and GitHub. The fund allowed me to focus on Yii 3 while keeping Yii 1.1 and Yii 2.0 well maintained. That's a big success and I'd like to say thank you to all community members making it possible.

Processes

I've introduced "release Tuesdays", defined workflow for issue triaging, improved Yii 2 release tools. All that made it possible to release 15 Yii 2 versions, one Yii 1.1 version and numerous Yii 2 extensions while working on Yii 3.

Additionally, release cycle was clarified.

Yii 3

As seen from the updates, the progress so far is significant thanks to community members making great pull requests and doing reviews. It's a terrific job.

Of course, there's work to be done but the fact is that Yii 3 already could be used for projects. I'd not use it for commercial projects yet but hobby ones should be perfectly fine if you have time to adjust for future breaking changes and OK about the fact that there would be many.

So far we have a number of packages, part of the guide, demo application, great framework development tool and overall contribution workflow defined.

Next year we are going to tag some alpha releases, implement a few simple projects to check if framework usability is good enough, fix issues found along the way, provide an application template, complete the guide, polish packages further and implement things currently missing such as debug toolbar and Gii.

Thank you for supporting Yii and Happy New Year!

Published on December 31, 2019 by Alexander Makarov
Hello everyone! We were silent for a month working on all the versions of the framework. Here's what we have so far.

Yii 1

Code from master branch passed all tests on PHP 7.4 immediately. That was quite a surprise. There are still some issues about PHP 7 compatibility in the issue tracker. After checking these we're going to tag another release.

Yii 2.0.31

New release of Yii 2 was done. It includes multiple bugfixes and two enhancements. One is about adding Forwarded header support to Request proxy configuration. Another is about expanding support of Yii 3 style container configuration.

But the main highlight of the release is PHP 7.4 compatibility. That was not easy to achieve it without losing old PHP 5 versions support. It took significant amount of time to explore possibilities and finally we've managed to solve it.

Yii 3

Overall development goes forward but not as fast as I was hoping. It seems overall release time estimate was too optimistic but I still think we'll be able to tag some of the Yii 3 packages and make it easier to try new version by providing a proper application template. It may happen either before 2020 or at the very start of the year.

Now, to the summary of what was done since November.

Concepts, discussions, tutorials

Code

Documentation

Internal guideline corrections

Overall infrastructure

  • We've migrated travis from .org to .com. There are still some leftovers but when we'll clear these, there will be less confusion about where the build for a package is.
  • Status page was updated with current Yii 3 packages.
  • Release cycle page was updated with PHP versions support.

Funding

We've participated in GitHub beta funding program together with GitHub team and managed to set it up properly. Also set up Tidelift so now there are two more options to help Yii by filling its development fund.

Tidelift is helpful in another way. They have handy checklists such as providing link to reporting security issues from each repository. While improving the meta some mistakes were found and fixed in Yii repositories.

The issue with it is that it's not as transparent as OpenCollective but I promise to reduce my invoices to OpenCollective by the amount got via Tidelift. Hopefully that would allow to get more people doing nearly full-time Yii development. If you want to spend more time on Yii 3 but can't because of financial reasons, please contact me (Alexander Makarov) and we'll try to arrange something.

Thank you!

I'd like to thank all backers and contributors making Yii 3 possible. We are moving it forward together.

Personal thanks to Somogyi Márton, roxblnfk, Pavel Ivanov, Dmitriy Derepko, thenotsoft who made excellent pull requests.

Published on December 19, 2019 by Alexander Makarov
Hello! Yesterday I've tagged some Yii 2 releases and tried to sum up Yii 3 progress, plans and problems.

As a bonus, I've posted my collection of Yii-related hate-posts as GitHub repository.

Yii 2

Yii 3

Progress so far:

Plans:

  1. Tag at least some more or less stable and definitely useful packages by the end of the year.
  2. Revisit validation. Currently it serves two purposes. First is single value validation i.e. assertions. Second is data set validation that is composed from assertions. While it is looking good, there is a problem about validating dependent data. Likely we'll get back to Yii 2 style of validation.
  3. Revisit configuration. roxblnfk did a good job about prototyping it and there are draft documents that are to be posted at the forum for further discussion.
  4. Prepare an application template. Meanwhile, yiisoft/yii-demo serves the purpose of being our testing playground.

Funding

Collective budget so far allows me focusing on managing Yii overall, handling Yii 2 releases, doing reviews and at least some code. Community helps a lot contribution-wise but, I'm sure that having additional team member focusing on code most of the time would speed up development of Yii 3 significantly.

In order to raise more funding I am going to try reaching to companies in a better way by setting up Tidelift. At least I've heard that contributing financially via OpenCollective isn't easy for a company accounting-wise.

Thanks, community!

Thanks to all backers funding Yii development. Current progress would've been impossible without you!

Contributing financially is not the only way to support Yii. Other ways are as valuable. We'd like to specially thank our long-term contributors who are giving valuable insights, reviewing code, translating documentation and making great pull requests.

Published on November 20, 2019 by Alexander Makarov
Hello everyone! It is Alexander again.

// if you want to write next set of notes, let me know

Today three Yii 2 extensions got new releases:

  • Debug 2.1.11 adding more garbage collection, fixing issues and adding buttons for navigating between requests
  • Auth client 2.2.5 replacing deprecated dependency spomky-labs/jose with JWT Framework
  • Redis 2.0.11 adding Redis cluster.

With my informal announcement of the intent to get Yii 3 alpha release by the end of the year many community contributors became very active so likely the summary below misses a few interesting things that happened since last time.

Tomorrow I'm heading to Bulgaria PHP to speak about code packaging principles. While the talk is not about Yii 3, it is more or less what shaped packages set we have now.

There are no conferences scheduled after that so my plan is to focus on Yii 3 even more.

But, enough about my plans, let's get to progress so far.

Also, some docs were added:

Thank you for your support!

Published on November 5, 2019 by Alexander Makarov
It is release Tuesday today. Busy one. Since I've mentioned at recently visited conferences that I personally hope and aim to tag alpha version of Yii 3 by the end of the year, pull requests rate increased significantly for Yii 3 packages. And what's great, these are non-trivial ones but ones moving important parts of the framework forwards. Thanks to contributors submitting these and sorry for increased reviews/feedback timings.

Now, to Yii 2 releases and Yii 3 news…

Yii 2

First of all, Yii 2.0.29 was released. As usual, there are minor bug fixes. Moreover, it adds PostgreSQL 12 support and introduces some of Yii 3 dependency injection container syntax. Current Yii 2 syntax works as it did so the main purpose is to ease future transition a bit.

There are also two minor extension releases:

Yii 3

Application template discussion led to almost made decision on simplify template to very bare minimum. Initial idea was interesting but proved to be confusing.

Somogyi Márton keeps on contributing great things. This time his work in progress is network resolver that would help safely getting correct IP address of end user in case of using proxy servers such as load balancer.

Another contribution of his is an improvement of data package adding extra validation to filters that is very helpful when building filters set from array of criteria.

Alexander Kartavenko experimented with Phan, a static analysis tool for PHP by adding it to travis build of cache package.

Pavel Ivanov and Bill Heaton made several improvements to Yii development tool such as explicit messages about cloning issues, "lint" command and some refactoring.

There are new documents and guide chapters as well:

Thanks, community!

Thanks to all backers funding Yii development. Current progress would've been impossible without you!

Contributing financially is not the only way to support Yii. Other ways are as valuable. We'd like to specially thank our long-term contributors who are giving valuable insights, reviewing code, translating documentation and making great pull requests.

Published on October 22, 2019 by Alexander Makarov
Hello everyone! Today is release day. There are both Yii 2 releases and significant Yii 3 progress.

Yii 2

New version 2.0.28 was tagged. It includes important security fix for Request::getUserIP() for the case when Request::$trustedHost and Request::$ipHeaders are used.

Also there are fixes for PHP 7 error handing in ActiveField and yii\i18n\Formatter that was improperly using complex locale stings for selecting translation language.

Additionally the following extensions were released:

Yii 3

First, a summary about getting started with contributing to Yii 3 was posted at the forum. Hope it would spark more contributions.

Discussions with Somogyi Márton and his improvements resulted in better architecture and more features for very important "yiisoft/data" package. It is going to be used as a base for lists and grids. These issues and pull requests may be interesting to read.

Friendly exception interface mentioned previous time went into its own package "yiisoft/friendly-exception". Any package could implement the interface in order for Yii or other compatible error handler to display information provided. Here's related discussion from the forum.

@romkatsu contributed unit tests for redirect middleware.

Dmitriy Derepko fixed yiisoft/log-target-email package.

Thanks to Pavel Ivanov DI container now properly falls back to autoloading when class isn't found so there's no need to define classes without interfaces and a single implementation anymore.

Rustam Mamadaminov implemented authentication middleware.

Pavel Chaplygin contributed Flash component for one-time messages.

Views rendering got smarter by totally preventing parameter name collisions.

RBAC package got to working state. There are conceptual changes from Yii 2 but not many.

Overall we're getting closer to the state when we're ready to tag alpha.

Thank you!

I'd like to thank all backers and contributors making Yii 3 possible. We are moving it forward together.

Published on October 8, 2019 by Alexander Makarov
Hello everyone reading our development reports!
Published on September 18, 2019 by Alexander Makarov
Last week there were no releases since some Yii 2 pull requests needed polishing but I was able to tag release today.
Published on September 3, 2019 by Alexander Makarov
Another release Tuesday today. Two extensions were released:
Published on August 20, 2019 by Alexander Makarov
Hello everyone! This week we've got Yii 2 releases and some Yii 3 progress. Let's go straight to these.
Published on August 13, 2019 by Alexander Makarov
The week was relatively quiet for the framework development since half of it I was on the road to give a speech on web applications security in Ivanovo, Russia. Despite the fact that these events take time, they also give valuable feedback and insights that are then applied to Yii.
Published on July 30, 2019 by Alexander Makarov
This month you have made it possible to meet first funding goal of 2000$ in order for me to focus primarily on Yii framework management, releases and development.
Published on July 24, 2019 by Alexander Makarov
Another Tuesday passed. This time there are two extension releases.
Published on July 24, 2019 by Alexander Makarov
It is July 17, 00:00 again. Writing announcements at midnight seems to became a habit (I hope not).
Published on July 16, 2019 by Alexander Makarov
First of all, huge thanks to all backers! You are making further Yii development possible. I have added another OpenCollective goal that, if funding gathered for, would allow delivering more of both Yii 2 and Yii 3 in less time.
Published on July 2, 2019 by Alexander Makarov
This release Tuesday brought us 2.0.21. Besides bugfixes this release, thanks to Brandon Kelly from Craft, enhances performance of database connection. Also there is now an option to turn on sameSite for both session and regular cookies. More details are in the full announcement.
Published on June 18, 2019 by Alexander Makarov
This release Tuesday has not brought many releases. Only a single Yii 2 extension was tagged, Bootstrap 4.
Published on June 11, 2019 by Alexander Makarov