Symfony 2.4.0 released

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.

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).

The 2.4 version requires the symfony/icu component, which depends on the lib-icu package. Check that your production server already have this package before considering an upgrade. Is it still a "full backward compatibility" upgrade if it requires a new package?

The problem is that symfony/icu 1.2.* requires an updated lib-icu: 4.4 is required whereas 3.8 was sufficient with Symfony 2.3.*. composer.phar wasn't able to manage the "old" version package, it broke my production website.

I found a solution: I removed the synchronisation of my composer.lock file from the dev server to the prod server. Then the "php composer.phar update --prefer-dist ; php composer.phar install --no-dev --optimize-autoloader --prefer-dist" command worked perfectly.

@Alexis> "Is it still a "full backward compatibility" upgrade if it requires a new package?" Yes it is. If LibreOffice releases a new version only compatible with Ubuntu 13.10+ but still able to open old LibreOffice files, then it is "full backward compatible". In this case, your Symfony 2.3 source code will still work on Symfony 2.4. The fact that some new package should be installed shouldn't be taken in account IMO. ;)

@Alexis the issue with ICU was the same on sf 2.3
If your dev env has the lib ICU >= 4.4 when you run update composer will install Symfony/ICU v1.2.0 and then it won't work on your prod env if the same ICU lib is not provided. The simple way to fix this issue is to add "symfony/icu": "v1.1.0" in your composer requirement, that way it will work on your dev and prod env :)