Zend Framework 2.4.0 RELEASE CANDIDATE 3 Released

I’ve just tagged ZF 2.4.0rc3, and I NEED YOUR HELP!

This is our third release candidate. The primary changes pushed include:

  • Updating our Composer autoloading rules to use PSR-4
  • Ensuring all code will execute cleanly on PHP 7

This latter point has meant renaming a number of classes that have names that are (or will soon become) reserved keywords in PHP 7. In each case, we’ve retained the original to keep backwards compatibility, but had it extend the new class name and emit a deprecation notice indicating what you should do to migrate. Classes affected include:

  • Zend\Filter\Int (now Zend\Filter\ToInt)
  • Zend\I18n\Validator\Int (now Zend\I18n\Validator\IsInt)
  • Zend\I18n\Validator\Float (now Zend\I18n\Validator\IsFloat)
  • Zend\Db\Sql\Ddl\Column\Float (now Zend\Db\Sql\Ddl\Column\Floating)
  • Zend\XmlRpc\Value\String (now Zend\XmlRpc\Value\Text)
  • Zend\Form\Annotation\Object (now Zend\Form\Annotation\Instance)
  • Zend\Log\Writer\Null (now Zend\Log\Writer\Noop)
  • Zend\Filter\Null (now Zend\Filter\ToNull)
  • Zend\Paginator\Adapter\Null (now Zend\Paginator\Adapter\NullFill)
  • Zend\Mail\Transport\Null (now Zend\Mail\Transport\InMemory)

If, when testing (more on that in the next paragraph), you discover your tests emitting deprecation errors, likely these are the culprits; changing the class used to the new one should resolve such errors in most cases. Also note that for many of these, you will be relying on a plugin manager to retrieve the instance; in those cases, you should see no issues, as the plugin managers have been updated to substitute the new instance type.

You can help us by testing your applications under 2.4.0rc3; run “composer update zendframework/zf2” in your application, and run any unit or acceptance tests you might have. If you have issues, such as:

  • you observe new breakages, or
  • you observe unexpected behavior, or
  • extensions you’ve written no longer work

then please report your issues ASAP on our issue tracker:

Do this as soon as possible, so we can fix any issues before the stable release. We’re aware of a few BC breaks, as we intentionally introduced them, but we’d still like to know what you actually encounter as you test.

Also, DO NOT use this release in production. It’s a release candidate, and may not be stable!

Expect a stable release early next week!