The Zend Framework team announces the immediate availability of version
1.9.0!
http://framework.zend.com/download/latest
Kudos and thanks go out to the huge number of community contributors who
helped make this release possible. This release has been almost entirely
community driven, with the Zend team contributing primarily feature
additions to existing components and working on maintenance of the
project. If you submitted an issue report, a documentation improvement,
a patch, a documentation translation, or a component, let it be known
that you helped make this release what it is!
The big stories in this release can be summed up in two phrases:
enterprise tools and PHP 5.3 support.
With Zend Framework making inroads to Enterprises, it's not surprising
that we are seeing a number of components geared towards the Enterprise.
In this release, we add two new components -- Zend_Queue and
Zend_Test_PHPUnit_Db -- as well as additions to existing components --
Zend_Ldap, Zend_Rest_Route, and Zend_Db_Adapter_Sqlsrv -- that target
such development. Zend_Queue provides a common API for interacting with
queue services such as Apache's ActiveMQ, MemcacheQ, and Zend Platform's
Job Queue. Zend_Test_PHPUnit_Db brings DBUnit support to our Zend_Test
offering, and provides integration with Zend_Db. Our Zend_Ldap support
is now much more robust, and allows connectivity with MS ActiveDirectory
and Novell's eDirectory, as well as full CRUD and tree manipulation
options. Zend_Rest_Route allows developers to quickly develop RESTful
MVC applications, which are increasingly gaining traction when serving
public APIs. Zend_Db_Adapter_Sqlsrv interfaces with Microsoft's SQL
Server driver for PHP.
A month ago, the PHP team released the long-awaited PHP 5.3, which
offers many improvements to the object model, as well as increased
performance. Upgrading to PHP 5.3 is mostly straightforward, but, as
with any release of this magnitude, sometimes takes some work. We have
carefully audited our code and combed through our testbed in order to
provide first-class compatibility for PHP 5.3 in Zend Framework -- while
simultaneously continuing to support PHP 5.2.4 and above. Using Zend
Framework on PHP 5.2 or 5.3 should be seamless and pose no issues for
developers.
New features in Zend Framework 1.9.0 include:
* Zend_Queue and Zend_Service_Amazon_Sqs, which provide the ability to
use local and remote messaging and queue services for offloading
asynchronous processes. (Contributed by Justin Plock and Daniel Lo)
* Zend_Queue_Adapter_PlatformJobQueue, a Zend_Queue adapter for Zend
Platform's Job Queue. (Contributed by Zend Technologies)
* Zend_Rest_Route, Zend_Rest_Controller, and
Zend_Controller_Plugin_PutHandler, which aid in providing RESTful
resources via the MVC layer. (Contributed by Luke Crouch,
SourceForge)
* Zend_Feed_Reader, which provides a common API to RSS and Atom feeds,
as well as extensions to each format, caching, and a slew of other
functionality. (Contributed by Pádraic Brady and Jurrien Stutterheim)
* Zend_Db_Adapter_Sqlsrv, a Zend_Db adapter for Microsoft's SQL Server
driver for PHP. (Contributed by Juozas Kaziukenas and Rob Allen)
* Zend_Db_Table updates to allow using Zend_Db_Table as a concrete
class by passing it one or more table definitions via the
constructor. (Contributed by Ralph Schindler)
* Zend_Test_PHPUnit_Db, which provides Zend_Db support for PHPUnit's
DBUnit support, allowing developers to do functional and integration
testing against databases using data fixtures. (Contributed by
Benjamin Eberlei)
* Annotation processing support for Zend_Pdf, as well as performance
improvements. (Contributed by Alexander Veremyev)
* Zend_Dojo custom build layer support. (Contributed by Matthew Weier
O'Phinney)
* Dojo upgraded to 1.3.2.
* Numerous Zend_Ldap improvements, including full support for CRUD
operations, search, and manipulating tree structures. (Contributed by
Stefan Gehrig)
* Zend_Log_Writer_Syslog, a Zend_Log writer for writing to your system
log. (Contributed by Thomas Gelf)
* Zend_View_Helper_BaseUrl, a view helper for returning the current
base URL to your application, as well as for constructing URLs to
public resources. (Contributed by Robin Skoglund and Geoffrey Tran)
* Zend_Date now has support for the DateTime extension. (Contributed by
Thomas Weidner)
* Zend_Locale has been upgraded to CLDR 1.7. (Contributed by Thomas
Weidner)
* Zend_Translate now has plurals support for the Gettext, Csv, and
Array adapters. (Contributed by Thomas Weidner)
* PHP 5.3 compatibility, including support for new features in the
mysqli extension. All components are fully tested on both PHP 5.2.4
and above, as well as PHP 5.3.0.
In addition, a large number of smaller improvements were made throughout
the framework, and around 700 issues have been resolved or closed since
the release of 1.8.0!
Any project the size of Zend Framework will inevitably run into issues
where backwards compatibility breaks occur. While we strive to keep
these to a minimum, we still needed to introduce several changes and
updates in this version. They include the following:
* Zend_Http_Client
A change was made in Zend_Http_Client to correct ZF-5744 (Multiple
file uploads using the same $formname in setFileUpload). Instead of
returning an associative array of element name => upload information
pairs, it now returns an array of arrays, with the element name as
part of the upload information. This allows multiple file uploads
using the same element name.
* Zend_Config_Xml
One deciding factor for many when choosing which Zend_Config format
to use for their application config had to do with support for
constants. Our application recommendations include defining two
constants, APPLICATION_ENV and APPLICATION_PATH, and many developers
have found it useful that in INI and PHP configurations, these
constants are expanded during parsing. Zend_Config_Xml now supports
this via an XML namespace as follows:
<config xmlns:zf="http://framework.zend.com/xml/zend-config-xml/1.0/">
<production>
<includePath><zf:const
zf:name="APPLICATION_PATH"/>/library</includePath>
</production>
</config>
On the PHP side, nothing changes.
* Zend_Translate_Adapter_Ini
Prior to PHP 5.3, parse_ini_file() and parse_ini_string() handled
non-ASCII characters in INI option values without an issue. However,
starting in PHP 5.3, such options will now be silently dropped in the
array returned. If you are upgrading to PHP 5.3 and using
Zend_Translate_Adapter_Ini, this could cause potential issues for
you. If you use UTF-8 or Latin-1 characters in your INI option keys
(which are the message IDs for translation), you should either modify
these to use only ASCII characters, or choose a different translation
adapter.
* Zend_Service_Amazon
Zend_Service_Amazon has been updated to comply with the latest Amazon
ECommerce APIs -- which, as of 15 August 2009, will require an API
key for authentication. As a result, if you now use
Zend_Service_Amazon, you will need to pass your API key to the
Zend_Service_Amazon constructor:
$amazon = new Zend_Service_Amazon($appId, $countryCode, $apiKey);
Otherwise, usage of this component remains the same.
A detailed list of all features and bug fixes in this release may be
found at:
http://framework.zend.com/changelog/1.9.0
Please join me in a hearty round of congratulations and acknowledgment
of all contributors who helped make this release possible through code
contributions, feedback, testing, documentation, translations, and issue
reports! Without you, the community, Zend Framework would not be where
it is today!