Master Symfony2 fundamentals

Be trained by SensioLabs experts (2 to 6 day sessions -- French or English).

Discover the SensioLabs Support

Access to the SensioLabs Competency Center for an exclusive and tailor-made support on Symfony

Fabien Potencier
Symfony 2.4.0 released
by Fabien Potencier – December 03, 2013 – 19 comments

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.


A quick look at some statistics about 2.4: 493 pull requests, 1,474 commits, 54 developers.


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


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

    $ 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:

Happy Symfony upgrade!

Comments RSS

  • Pascal Borreli
    #1 Pascal Borreli said on the 2013/12/03 at 18:19
    thanks to everyone involved in this release (code, docs, support, feedback, ...)
  • Massimiliano Arione
    #2 Massimiliano Arione said on the 2013/12/03 at 18:37
    great job!
  • Hugo Hamon
    #3 Hugo Hamon said on the 2013/12/03 at 18:41
  • Grégoire Pineau
    #4 Grégoire Pineau said on the 2013/12/03 at 19:32
  • Wouter De Jong
    #5 Wouter De Jong said on the 2013/12/03 at 20:11
    Great job to all contributors!

    The documentation stats for 2.4.0 are: 206 commits; 74 file changes and 26 contributors

    Also note that you can use 2.4.* in the command, to always get the latest stable 2.4 version.
  • Peter Kokot
    #6 Peter Kokot said on the 2013/12/03 at 20:50
  • Igor Stokolos
    #7 Igor Stokolos said on the 2013/12/03 at 21:23
  • Takuya Nishigori
    #8 Takuya Nishigori said on the 2013/12/04 at 07:40
    Yatta \(´・ω・`)/
  • Tony Lemke
    #9 Tony Lemke said on the 2013/12/04 at 08:25
    Nice job!

    In this post, the link to "Disabling internal Validation of DomCrawler" is broken.
  • Luciano Mammino
    #10 Luciano Mammino said on the 2013/12/04 at 10:17
    Great :)
  • Alexis Lefebvre
    #11 Alexis Lefebvre said on the 2013/12/04 at 11:45
    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?
  • Alexis Lefebvre
    #12 Alexis Lefebvre said on the 2013/12/04 at 11:55
    Oops, that wasn't the real problem, I finally identified it : Symfony 2.3.* used symfony/icu 1.1.* whereas Symfony 2.4.* uses symfony/icu 1.2.*

    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.
  • Alexis Lefebvre
    #13 Alexis Lefebvre said on the 2013/12/04 at 14:33
    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.

    (you can merge or remove my multiple comments if needed)

    Thanks for Symfony!
  • Thierry Goettelmann
    #14 Thierry Goettelmann said on the 2013/12/05 at 12:07
    @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. ;)
  • Giancarlo Moschitta
    #15 Giancarlo Moschitta said on the 2013/12/05 at 14:50
    Issue with propelBundle
  • Jérémie Augustin
    #16 Jérémie Augustin said on the 2013/12/06 at 09:25
    @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 :)
  • ibasaw
    #17 ibasaw said on the 2013/12/06 at 13:13
    congratulation for the full backward compatibility (most important thing for me :)), and thank you for this new version...
  • Frank Neff
    #18 Frank Neff said on the 2013/12/11 at 07:22
    Thanks to all contributors. I blogged about some of the new features. Maybe you're interested in:
  • Alexis Lefebvre
    #19 Alexis Lefebvre said on the 2014/01/09 at 10:15
    @Jérémie Augustin : many thanks for the useful tip about ICU ! :)