Archives


Master Symfony2 fundamentals

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

Discover the SensioLabs Support

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

Fabien Potencier
Symfony 2.3.0, the first LTS, is now available
by Fabien Potencier – June 03, 2013 – 53 comments

We were all waiting for it and many of us have been working hard for the last four years to make it happen. Today, Symfony 2.3.0 is available and this is the first long-term support release for Symfony version 2.

I'm so happy that we were able to achieve this important milestone in the life of the framework. THANK YOU for making it possible.

What does it mean? Since the introduction of a more formal release process, a new standard version of Symfony is released every six month and it is maintained for eight months. But every two years, we mark a release as being a long term support release. The big difference is that it is maintained for a three years period.

That gives us the best of two different worlds: small teams and agile companies can benefit from the latest features by upgrading every six months (they have two months to upgrade); large teams and traditional companies can standardize on a release for three years and they have an additional year to migrate to the next long term support release.

And 2.3.0 is our first long term support release. We, the community, are going to maintain it for the next three years (until May 2016).

Numbers

Traditionally, I like to give some numbers about releases. Here are some facts for 2.3. The Symfony 2.3.0 release was a bit special as we only had three months instead of six. Anyway, 2.3 is made of 437 pull requests containing 1,260 commits submitted by 50 developers for the code; documentation enjoyed 839 commits by 44 authors.

1,260 commits on a 3 month period means that, on average, 14 commits were pushed every single day. 437 pull requests means almost 5 pull requests merged per day. That's a new record!

Features

What about the most interesting changes? Let's recap what I've written about in the Live on the edge section of this blog during the last couple of months:

Symfony 2.3 also comes with two new components and one new bridge:

Upgrading

Upgrading from 2.2 to 2.3 should be painless.

If you are using the Symfony Standard Edition, you should notice that some bundles were removed to avoid license issues. As of 2.3, all the code in the Standard Edition and its dependencies is under a MIT-like license. Here is the diff for the composer.json file:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
diff --git a/composer.json b/composer.json
index c2d7588..5705d76 100644
--- a/composer.json
+++ b/composer.json
@@ -1,32 +1,35 @@
 {
     "name": "symfony/framework-standard-edition",
+    "license": "MIT",
+    "type": "project",
     "description": "The \"Symfony Standard Edition\" distribution",
     "autoload": {
         "psr-0": { "": "src/" }
     },
     "require": {
         "php": ">=5.3.3",
-        "symfony/symfony": "2.2.*",
-        "doctrine/orm": "~2.2,>=2.2.3",
+        "symfony/symfony": "2.3.*",
+        "doctrine/orm": ">=2.2.3,<2.4-dev",
         "doctrine/doctrine-bundle": "1.2.*",
         "twig/extensions": "1.0.*",
-        "symfony/assetic-bundle": "2.1.*",
-        "symfony/swiftmailer-bundle": "2.2.*",
-        "symfony/monolog-bundle": "2.2.*",
-        "sensio/distribution-bundle": "2.2.*",
-        "sensio/framework-extra-bundle": "2.2.*",
-        "sensio/generator-bundle": "2.2.*",
-        "jms/security-extra-bundle": "1.4.*",
-        "jms/di-extra-bundle": "1.3.*"
+        "symfony/assetic-bundle": "2.3.*",
+        "symfony/swiftmailer-bundle": "2.3.*",
+        "symfony/monolog-bundle": "2.3.*",
+        "sensio/distribution-bundle": "2.3.*",
+        "sensio/framework-extra-bundle": "2.3.*",
+        "sensio/generator-bundle": "2.3.*",
+        "incenteev/composer-parameter-handler": "~2.0"
     },
     "scripts": {
         "post-install-cmd": [
+            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installRequirementsFile"
         ],
         "post-update-cmd": [
+            "Incenteev\\ParameterHandler\\ScriptHandler::buildParameters",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::buildBootstrap",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::clearCache",
             "Sensio\\Bundle\\DistributionBundle\\Composer\\ScriptHandler::installAssets",
@@ -36,12 +39,15 @@
     "config": {
         "bin-dir": "bin"
     },
-    "minimum-stability": "alpha",
+    "minimum-stability": "stable",
     "extra": {
         "symfony-app-dir": "app",
         "symfony-web-dir": "web",
+        "incenteev-parameters": {
+            "file": "app/config/parameters.yml"
+        },
         "branch-alias": {
-            "dev-master": "2.2-dev"
+            "dev-master": "2.3-dev"
         }
     }
 }

All the backward compatibility layers from previous versions have been removed, so it's time to read again all UPGRADE files and check that you've migrated all your code. For changes specific to the 2.3 release, follow the instructions in the UPGRADE document. If you started your project with the Symfony Standard Edition, you might also want to read the UPGRADE-2.3.md file.

Installing

If you are starting a new project on Symfony 2.3, 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.3.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.3.0 version or the 2.3 branch:

Let's celebrate! And remember that we should now focus on stability over features.

Comments RSS

  • Romain Gautier
    #1 Romain Gautier said on the 2013/06/03 at 17:54
    Congrats!
  • Benjamin Laugueux
    #2 Benjamin Laugueux said on the 2013/06/03 at 17:57
    Thanks to the Symfony community, Thanks to Sensio Labs
  • KonstantinKuklin
    #3 KonstantinKuklin said on the 2013/06/03 at 17:58
    good bye real life!
  • Fayez Naccache
    #4 Fayez Naccache said on the 2013/06/03 at 17:59
    Migrating ^^
  • Marc Morera
    #5 Marc Morera said on the 2013/06/03 at 18:01
    Migrating too :)
  • Mike Meessen
    #6 Mike Meessen said on the 2013/06/03 at 18:02
    FIrst off, nice work, congrats to the first lts release! :)

    Now, I see jms/security-extra-bundle has been dropped. While keeping licenses clean is a good thing, what about projects relying heavily on features like @PreAuthorize, @Secure and so on? There doesn't seem to be an alternative to these features in the base Symfony bundles, so we feel a bit left alone here... Or is it just a "symbolic" move of Symfony to remove it from their official composer file for licensing purposes?
  • Javier Martinez Fernandez
    #7 Javier Martinez Fernandez said on the 2013/06/03 at 18:04
    Congratulations and thank you!
  • Fabien Potencier
    #8 Fabien Potencier said on the 2013/06/03 at 18:05
    @Mike: As the Symfony Standard Edition is under the MIT license, we did not want to have anything else in its deps. That helps people developing GPL projects on top of Symfony. That said, if you are developing your own project, using dependencies under an Apache license should not be a problem at all. So, feel free to add them back.
  • Jakub Zalas
    #9 Jakub Zalas said on the 2013/06/03 at 18:07
    @Mike Those bundles were only dropped from the standard edition, but that doesn't mean you cannot install them yourself.
  • Keven
    #10 Keven said on the 2013/06/03 at 18:07
    Congratulations!
  • Piero Recchia
    #11 Piero Recchia said on the 2013/06/03 at 18:10
    Great Job, Thanks to the Symfony community and Congrats
  • Paul Mansell
    #12 Paul Mansell said on the 2013/06/03 at 18:12
    Great work everyone ....
  • Pablo Godel
    #13 Pablo Godel said on the 2013/06/03 at 18:18
    Congratulations on this big milestone!
  • Ghazy Ben Ahmed
    #14 Ghazy Ben Ahmed said on the 2013/06/03 at 18:25
    finally !! :)
  • Ricard Clau
    #15 Ricard Clau said on the 2013/06/03 at 18:33
    Congratulations on this BIG milestone!

    I honestly think that having a LTS version in Symfony2 will definitely help in big companies adopting it

    So, let's celebrate!
  • Christoph Schaefer
    #16 Christoph Schaefer said on the 2013/06/03 at 18:38
    YES!!!
  • Johnny Peck
    #17 Johnny Peck said on the 2013/06/03 at 19:10
    This is a great accomplishment. Congratulations and thank you to all that worked so hard on it!
  • Michał Trojanowski
    #18 Michał Trojanowski said on the 2013/06/03 at 19:12
    Congratulations! This is awesome news.
  • Pavel Pokorny
    #19 Pavel Pokorny said on the 2013/06/03 at 19:50
    Great job! Thank you.
  • Tim Bodea
    #20 Tim Bodea said on the 2013/06/03 at 19:52
    great to see it's official, we're going to upgrade now :)
    Thanks to the whole Symfony community for an awesome product!
  • Vazgen Manukyan
    #21 Vazgen Manukyan said on the 2013/06/03 at 19:55
    great!!!!!
  • Dennis Gädeke
    #22 Dennis Gädeke said on the 2013/06/03 at 19:55
    Thank you!
  • Leo P
    #23 Leo P said on the 2013/06/03 at 20:35
    +1
  • Evert Harmeling
    #24 Evert Harmeling said on the 2013/06/03 at 20:47
    Very nice! Great work everyone!
  • Sylvain
    #25 Sylvain said on the 2013/06/03 at 21:30
    Great job ! Thanks to all of you !

    Migration already done with the magic `php composer.phar update` (and some minor fixes)
  • Benjamin Lazarecki
    #26 Benjamin Lazarecki said on the 2013/06/03 at 21:59
    Very nice !
  • Peter Kokot
    #27 Peter Kokot said on the 2013/06/03 at 22:07
    Wow, this is big news. Thank you very much for this release. Awesome work. Congratulations!
    https://www.youtube.com/watch?v=K6OQ0r5EVWA
  • Jonathan Claros Santander
    #28 Jonathan Claros Santander said on the 2013/06/03 at 22:26
    Awesome !! Congrats.
  • Ala eddine khefifi
    #29 Ala eddine khefifi said on the 2013/06/03 at 22:32
    Finally, congratulations to all team ^^
  • Kamil Kraśnik
    #30 Kamil Kraśnik said on the 2013/06/03 at 22:57
    Sucessfully migrated ;)
  • Nick Winfield
    #31 Nick Winfield said on the 2013/06/03 at 23:09
    Lovely stuff! Congrats to all involved.
  • Osman Üngür
    #32 Osman Üngür said on the 2013/06/03 at 23:24
    Congratulations and thanks for your hard work!
  • Bruce Lam
    #33 Bruce Lam said on the 2013/06/04 at 01:59
    Nice!
  • Florian Preusner
    #34 Florian Preusner said on the 2013/06/04 at 03:07
    Congrats! Good job!
  • Enkhbayasgalan Galsandorj
    #35 Enkhbayasgalan Galsandorj said on the 2013/06/04 at 03:53
    Great news! Congratulations.

    Thanks for your hard work!
  • Brian Ng
    #36 Brian Ng said on the 2013/06/04 at 04:20
    Great work! Thank you.
  • Pawel Kalisz
    #37 Pawel Kalisz said on the 2013/06/04 at 08:59
    MIgration in progress. Happy to see LTS version, congrats!
  • Armen Mkrtchyan
    #38 Armen Mkrtchyan said on the 2013/06/04 at 09:57
    composer.json, here i come
  • Phan Thanh Ha
    #39 Phan Thanh Ha said on the 2013/06/04 at 10:14
    Migrating...

    Congratulations to all team and contributors. Thanks for your very hard work.
  • Raheel
    #40 Raheel said on the 2013/06/04 at 10:45
    Awesome and composer now have an option to get info for parameters.yml which is quite helpful.

    Thanks and thumbs up for the team.
  • Laurynas Mališauskas
    #41 Laurynas Mališauskas said on the 2013/06/04 at 12:00
    Thank you very much, our company waited very long to get the sf2 LTS!
  • Tobias Sjösten
    #42 Tobias Sjösten said on the 2013/06/04 at 14:01
    Thanks everyone for all the work you've put down! This is definitely a milestone.
  • Alex Belyaev
    #43 Alex Belyaev said on the 2013/06/04 at 21:19
    What we need in Symfony it Message/Job Queues. As simple and powerfull in one time - in symfony style. Supports modern IronIO, Amazon SMQ/SNQ, RabbinMQ, BeanStalkD, Redis, Push Queues. Queues it really accelerator of web projects. We must beat ZendFramework and Laravel in this.
  • Sylvain Mauduit
    #44 Sylvain Mauduit said on the 2013/06/04 at 23:03
    Nice work! Thanks!
  • Sven
    #45 Sven said on the 2013/06/05 at 14:48
    Great news! Just migrated!
  • Kamil Kraśnik
    #46 Kamil Kraśnik said on the 2013/06/05 at 15:19
    +1 Message/Job Queues
  • Kris
    #47 Kris said on the 2013/06/05 at 20:12
    Thanks but your upgrade document is missing the BC break for BCrypt. It is mentioned in a changelog but you do not link it in this blog post or the upgrade sheet
  • Daniel R
    #48 Daniel R said on the 2013/06/06 at 00:22
    Adding "jms/security-extra-bundle": "1.4.*" or "jms/security-extra-bundle": "1.5.*" with nothing else but defaults on composer.json fails.

    what should i put?
  • abdelaziz  ben ahmed
    #49 abdelaziz ben ahmed said on the 2013/06/06 at 14:40
    +1 Adding "jms/security-extra-bundle": "1.4.*"
  • Yoann PETIT
    #50 Yoann PETIT said on the 2013/06/07 at 12:40
    The domination of the package have changed. You can try "1.4.*@dev"
  • Yuta Konishi
    #51 Yuta Konishi said on the 2013/06/10 at 09:42
    Congratulations ^^
  • Chris Sedlmayr
    #52 Chris Sedlmayr said on the 2013/06/13 at 16:42
    @fabpot There is missing info from the upgrade docs.
    In 2.3 you now have to add the Debug::enable call otherwise debug is not enabled.
    So coming from a 2.2 project to 2.3 you need to check your app_dev.php files against the new ones as they won't be changed by composer of course.
  • Fabien Potencier
    #53 Fabien Potencier said on the 2013/06/14 at 11:35
    If you started your project with the Symfony Standard Edition, you might also want to read the UPGRADE-2.3.md file that explains the changes that you might need to do in your project: https://github.com/symfony/symfony-standard/blob/2.3/UPGRADE-2.3.md