Zend Framework 2.0.0RC1 Released!

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Zend Framework 2.0.0RC1 Released!


We've tagged, created and pushed packages, and can finally announce that
the first release candidate of ZF2, Zend Framework 2.0.0rc1, is now


This marks the first stable API for ZF2. From this point forward, we
plan to only address critical bugfixes and to create more and better
documentation for the final release. Our plan is to do an RC weekly
until we feel we can call the code stable.

It's been a busy 2 weeks -- we've managed around 200 pull requests with
a variety of features and bugfixes. Despite the activity, Rob Allen
reports that he has had to do little to no updating for his tutorial at
http://akrabat.com/zend-framework-2-tutorial/ !

Below is the full changelog. Take some time to test the release, and to
thank all the contributors who have helped get us this far!



*Zend Framework 2.0.0rc1*

This is the first release candidate for 2.0.0. We will be releasing RCs
on a weekly basis until we feel all critical issues are addressed. At
this time, we anticipate no API changes before the stable release, and
recommend testing your production applications against it.

25 July 2012


 - Documentation
   - is now in a new repository,
   - Documentation has been converted from DocBook5 to ReStructured Text
     (reST or rst).
 - Coding standards fixes
   - We are (mostly) PSR-2 compliant at this time
 - Moved all Service components, include Cloud, GData, OAuth, OpenID,
   and Rest to separate repositories under the zendframework
   organization on GitHub. This will allow them to be versioned
   separately, which allows them to break backwards compatibility when
   necessitated by API changes.
 - Removed Zend\InfoCard as InfoCard has been declared obsolete by
 - Removed Zend\Registry; without the singleton nature, it was confusing
   and no longer relevant.
 - Removed Zend\Test component. Most features are now part of PHPUnit,
   and the others were ZF1-specific.
 - Removed Zend\Wildfire, as its API was specific to ZF1, and because we
   can easily leverage FirePHP at this time.
 - Removed Zend\DocBook, as it was primarily to assist in creating
   DocBook5 skeletons for the manual; since we've moved to rst, this is
   no longer relevant.
 - Removed Zend\Dojo, as the implementation was ZF1 specific, and
   out-of-date with recent Dojo releases.
 - Moved Amf, Markup, Pdf, Queue, Search, and TimeSync to separate
   repositories, as their APIs are not yet stable. PDF will be released
   with 2.0.0rc1, but only to provide a dependency for Zend\Barcode.
 - Renamed any classes, properties, or methods referencing the word
   "configuration" to read "config" instead; this provides consistency
   internally, and with the Zend\Config component.
 - Moved Zend\Acl to Zend\Permissions\Acl.
 - Console
   - Added features for console routing, providing more flexibility over the
     traditional Getopt methodology.
   - Added colorization, tables, prompts, and a variety of other interactive
   - Added ability to use controllers to respond to console routes.
 - Crypt, Math, Filter\Encrypt and Filter\Decrypt
   - Random number generation was consolidated to Zend\Math.
   - Removed the Mcrypt adapter in Filter and replaced with a
     BlockCipher algorithm.
 - DB
   - Metadata now understands enums and sets
   - Added Replace SQL statement type
   - AbstractRowGateway provides more cohesive access to field values.
 - EventManager
   - The first call to setSharedManager() will now seed the
     StaticEventManager, in order to match user expectations that the
     shared event manager is the same everywhere.
 - Form
   - Select-style elements now have options populated as value => label
     pairs instead of label => value pairs. This is done to ensure that
     option values are unique.
   - Added getValue() and setValue() to the ElementInterface to make a
     semantic distinction between an element value and attributes. This
     allows for easier handling of non-string or calculated values, such
     as those found in the Csrf and DateTime-family of elements.
   - getMessages() now omits any elements that have an empty messages
   - Allows removing elements from Collections
   - Fixed default validators for MultiCheckbox and Radio elements
   - Custom options are now allowed for all elements, fieldsets, and
   - Labels and several other view helpers are now translator-capable
 - Http
   - set/getServer() and set/getEnv() were removed from Http\Request
     and now part of Http\PhpEnvironment\Request
   - set/getFile() methods in Http\PhpEnvironment\Request
     were renamed to set/getFiles(). Also above methods
   - When submitted form has file inputs with brackets (name="file[]")
     $fileParams parameters in Http\PhpEnvironment\Request will be
     re-structured to have the same look as query/post/server/envParams
   - each of get(Post|Query|Headers|Files|Env|Server) were provided with
     two optional arguments, a specific key to retrieve, and a default
     value to return if not found.
   - Accept header parsing is more robust with regards to priority.
 - InputFilter
   - Added ability to retrieve input objects
 - I18n
   - Moved Zend\I18n\Validator\Iban to Zend\Validator\Iban
     and replaced the option "locale" with "country_code"
 - Json
   - Enabled a number of additional flags for json_encode
 - Loader
   - Removed the PrefixPathLoader, and replaced all usages of it in the
     framework with custom AbstractPluginManager implementations; this
     includes Zend\Feed, Zend\Text, and Zend\File\Transfer.
 - Log
   - Added a MongoDB log writer
   - Added a FirePHP log writer
   - Refactored how filters are instantiated and managed to use an
     AbstractPluginManager instance.
 - Mail
   - Added a MessageId header class
 - ModuleManager
   - Made it possible to substitute alternate ServiceListener
   - Moved default service configuration from the ModuleManager to the
 - MVC
   - Fixed a potential security issue in the ControllerLoader whereby
     arbitrary, non-controller classes could be instantiated. This
     involves removing the ability to fetch controllers via the DI Proxy
     (a minor backwards compatibility break).
   - Restful controller now provides a simpler way to marshal input data
     and override the default behavior.
   - Most View-related services were moved to their own factories to
     allow easier overriding by developers.
   - New PostRedirectGet plugin, to simplify PRG strategies for form
 - Serializer was refactored to make better use of PHP 5.3 features and
   to simplify the API.
 - ServiceManager
   - Allow passing the SM instance to initializers
   - Allow specifying the classname of an InitializerInterface
     implementation to addInitializer()
 - Validator
   - ValidatorChain now has a getValidators() method
   - InArray validator now does context-aware strict checks to prevent
     false positive matches, fixing a potential security vulnerability.
 - View
   - New AbstractTranslatorHelper, for helpers that should allow

Almost *200* pull requests for a variety of features and bugfixes were handled
since beta5!

Matthew Weier O'Phinney
Project Lead            | [hidden email]
Zend Framework          | http://framework.zend.com/
PGP key: http://framework.zend.com/zf-matthew-pgp-key.asc

List: [hidden email]
Info: http://framework.zend.com/archives
Unsubscribe: [hidden email]