Dear Yii staff,
I wish to write to express my admiration and appreciation for making Yii a fact. Yii is an exceptional php framework and the community is growing tremendously. I see some forum threads where people are using Yii for very large applications and are happy for their desicions to go with Yii.
As being part of this community I would like to know if there has been any thoughts towards setting up a non-breaking upgrade policy. Do you expect Yii to mature to a point when non-breaking upgrades can be guaranteed so we can use Yii for large projects with more confidence that will not have to rewrite major portions of code.
p.s.If this has already been discussed in another thread please send the link over as I was unable to find anything.
Thank you for your feedback!
Yes, we try very hard to keep BC as much as possible. We truly understand the importance of BC because I myself am using Yii in several big projects.
Our BC policy is like this:
For minor releases like 1.0.x, 1.1.x (called maintenance releases or service packs), we will try to make every release BC.
For major releases like 1.1, 2.0, BC is not our top priority although we will still try to keep BC if possible. By not taking BC as top priority in these releases, we have chance to greatly improve our code quality rather than maintaining wrong or patched code.
As you may already find, the recent release of 1.1.0 introduces many BC-breaking changes over 1.0.x. That is because of the above upgrade policy.
Thanks for your confirmation. Your response is quite reasonable. Thanks for helping the php community with your skills.
A question just popped up in my head. Are you planning to support all previous versions of Yii? For example if I build my application with Yii 1.x and if it would be too much hussle to upgrade to Yii 2.0 can I be guaranteed that you will still support Yii 1.x and for how long? The answer to this question will more or less set the importance of upgrading to the newest versions.
Yes, you may find the answer in the download page. We use the concept of maintenance cycle.
I am assuming that when you do break BC that you will always have instructions on what to change to be able to upgrade, correct?
Good to hear! I am working on a Yii app that is in 1.1.12 and so missing some nice additions from 1.1.13.
I was worried about BC, so search this forum, nice to find this post!