Today, we have released Symfony 2.4.0, six months after 2.3.0. As planned in the roadmap, and for the first time of the 2.x branch lifetime, we achieved full backward compatibility; as a matter of fact, the UPGRADE file for 2.4 is empty. That means that upgrading from 2.3 is painless. And even if many projects won't upgrade anytime soon as 2.3 is a long-term support release, let's talk quickly about this new version and all the exiting new features it comes with.
Stats¶
A quick look at some statistics about 2.4: 493 pull requests, 1,474 commits, 54 developers.
Features¶
All interesting new changes have been described on this blog during the last few months, but here is the full list:
- Security: Customize the Security Features with ease;
- Security: Restrict Security Firewalls to specific Hosts;
- Stopwatch: A Stopwatch Tag for Twig;
- Debug: Better Error Messages for missing Classes and Functions;
- Debug: Easier debugging of not-found resources;
- Debug: Quicker Access to the Profiler when working on an API;
- DomCrawler: Schema-relative URLs;
- DomCrawler: Namespaces auto-discovery in DowCrawler;
- DomCrawler: Disabling internal Validation of DomCrawler;
- Console: Show logs in console;
- Console: Console improvements;
- Console: Better Console Integration with third-party Tools;
- HttpFoundation: Using Constants for HTTP Status Code;
- HttpFoundation: Limiting Session Metadata Writes;
- HttpFoundation: The Request Stack;
- Config: Dumping the default Configuration for an Extension;
- Process: Limit a Process Run with an idle Timeout;
- Process: Flushing stdout and stderr on a Process;
- Form: Great Form Panel in the Web Profiler;
- Validator: A better Callback constraint;
- Validator: A more powerful image validator;
Symfony 2.4 also comes with a new component, Expression Language.
Upgrading¶
As I said before, upgrading should be painless and should be a matter of
changing the dependency version in your project composer.json
file. We also
recommend to comment or remove the firephp
and chromephp
Monolog
handlers as they might cause issues with some configuration (chromephp
with
Nginx for instance).
Installing¶
If you are starting a new project on Symfony 2.4, based on the full-stack framework, you have several options:
Create a new project via Composer (recommended):
1
$ php composer.phar create-project symfony/framework-standard-edition somewhere/ 2.4.0
Download an archive for the Symfony Standard Edition;
If you are using some of the Symfony components in your new application, just use the 2.4.0 version or the 2.4 branch:
- Via Composer packages;
- Via Github downloads:https://github.com/symfony/{COMPONENT_NAME}/archive/v2.4.0.zip.
Happy Symfony upgrade!