Zend Framework 0.9 beta feature-freeze
Hello to the Zend Framework community,
In a couple of days, the Zend Framework project reaches the most
important milestone in its development. On Thursday March 15, 9:00pm
PDT, we will declare a code-freeze for the first Beta Release of Zend
Framework. After a day or so of integration testing, we will release
Zend Framework 0.9.0 Beta.
This release is different from earlier Preview Releases of Zend
Framework. The difference is that the project is also feature-complete,
with respect to Zend Framework 1.0.
Of course after 1.0, we will keep working on the Framework, and add
features. So don't worry that ZF doesn't have some features yet. There
will be future versions of Zend Framework, and we will continue to
engineer great PHP 5 solutions, with full documentation and high
standards for testing and overall quality. I just defined release
milestones in our issue tracker for ZF 1.1, 1.2, and 1.3, so we can
schedule work for those future releases.
The nature of a Beta is that the API is stable and matches what it will
be in the subsequent GA release. I have declared a policy that there
should be no new features during the Beta. Changes should be limited to
bug-fixes in current features. Bug-fixes that require API changes must
be approved (approval will be given conservatively!).
I do encourage improvements to documentation and unit tests during the
Beta. These do not destabilize the API of the Zend Framework
components; tests and docs support the components. In fact, the Beta is
a good time to focus on tests and docs. We feel less pressure to write
new code, and the tests and docs can help us uncover bugs in the
existing features.
The schedule we defined for the release of 1.0 includes a stable release
by the end of March 2007. We will have a stable release in March, in
the form of Framework 0.9 Beta Release. I'm sure we will fix enough
bugs in 0.9.0 to justify a 0.9.1 Beta Refresh by the end of this month.
Why do we have such a strict need to meet this schedule?
We are currently in a situation where we already have a large number of
users of Zend Framework. Unfortunately (or fortunately) quite a lot of
them are already using Zend Framework in production. When we talk to
users (and not only contributors) the number one request made by all of
them is to have a stable release which also stabilizes APIs. Their #1
priority is not lack of features. We therefore truly believe that the
best thing we can do for users of Zend Framework is to stabilize the
current feature set and work towards a shippable and supportable
version. That is far more valuable to the majority of them than any
additional features.
To make Zend Framework a success, we define the single most important
feature is to make a production-ready release 1.0. As the saying goes,
"shipping is a feature!" The priority on schedule is higher than the
priority on any new features.
The plan is that after the Beta Refresh, we will create a branch in
subversion, on which the Zend Framework 1.0 GA release is based. After
that, we can continue to add features in the trunk of subversion,
without impacting the stability of the 1.0 branch.
But even in the trunk, we will emphasize backward-compatibility wherever
possible, so that when we release Zend Framework 1.1, 1.2, 1.3, and
other future enhancements, users of Zend Framework will have an easy
transition and can adopt new features. One of the quality goals of this
project is that an application using Zend Framework 1.0 does not have to
be totally rewritten to use Zend Framework 2.0. After 1.0, any change
to the API must be approved by a Change Control process, and accompanied
with detailed documentation to describe how to migrate an existing
application to the new API change.
Also note that starting with the Zend Framework 0.9.1 Beta Refresh, we
plan to leave the incubator directory out of the released product. The
incubator will still be available by subversion checkouts and in the
nightly snapshot, but the stable product releases will be based on the
"core" library, tests, and docs only.
Regards,
Bill Karwin