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
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!
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
### NEW FEATURES / UPDATES IN RC1
- is now in a new repository,
https://github.com/zendframework/zf2-documentation - 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.
- 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
- Metadata now understands enums and sets
- Added Replace SQL statement type
- AbstractRowGateway provides more cohesive access to field values.
- 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.
- 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
- 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.
- Added ability to retrieve input objects
- Moved Zend\I18n\Validator\Iban to Zend\Validator\Iban
and replaced the option "locale" with "country_code"
- Enabled a number of additional flags for json_encode
- 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.
- Added a MongoDB log writer
- Added a FirePHP log writer
- Refactored how filters are instantiated and managed to use an
- Added a MessageId header class
- Made it possible to substitute alternate ServiceListener
- Moved default service configuration from the ModuleManager to the
- 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.
- Allow passing the SM instance to initializers
- Allow specifying the classname of an InitializerInterface
implementation to addInitializer()
- ValidatorChain now has a getValidators() method
- InArray validator now does context-aware strict checks to prevent
false positive matches, fixing a potential security vulnerability.
- New AbstractTranslatorHelper, for helpers that should allow
Almost *200* pull requests for a variety of features and bugfixes were handled