Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Symfony Update - on the road to v5

Symfony Update - on the road to v5

Das letzte Jahr hat viele neue und aufregende Änderungen für Symfony und die Community gebracht. Ob es nun neue Komponenten wie der Mime, HttpClient oder Mailer sind, neue API-, Testing- oder HTTP-Tools, das Bug-Bounty-Programm der EU oder die Diversity-Initiative - es hat sich viel getan. Wir wollen die Zeit kurz vor dem nächsten Major-Release nutzen, um auf all das zurückzuschauen und einen Blick auf die nächste Zeit zu werfen.

Christopher Hertel

September 27, 2019
Tweet

More Decks by Christopher Hertel

Other Decks in Programming

Transcript

  1. Symfony Update
    on the road to v5
    A

    View Slide

  2. B
    A
    Sensio Framework
    2003

    View Slide

  3. C
    v0.0
    B
    First Symfony Release
    October 2005
    A

    View Slide

  4. D
    v0.0
    C
    A week of Symfony #1
    January 2006
    B
    A

    View Slide

  5. E
    v0.0
    First work on Symfony 2
    2006
    C
    B
    D
    A

    View Slide

  6. F
    v1.0
    Release of Symfony 1.0
    February 2007
    D
    C
    B
    E
    A

    View Slide

  7. G
    v1.0
    Symfony Camp
    September 2007
    E
    D
    C
    F
    B
    A

    View Slide

  8. H
    v1.2
    First SymfonyLive in Paris
    June 2009
    F
    E
    G
    D
    C
    B
    A

    View Slide

  9. I
    v1.2
    Symfony Day Cologne
    September 2009
    G
    F
    H
    E
    D
    C
    B
    A

    View Slide

  10. I
    v1.2
    Symfony Day Cologne
    September 2009
    G
    F
    H
    E
    D
    C
    B
    A

    View Slide

  11. J
    v1.2
    First Twig Release
    October 2009
    H
    G
    I
    F
    E
    D
    C
    B
    A
    • modern
    • fast
    • secure

    View Slide

  12. K
    v1.4
    GitHub
    September 2010
    I
    H
    J
    G
    F
    E
    D
    C
    B
    A

    View Slide

  13. L
    v2.0
    Release Symfony 2.0
    July 2011
    J
    I
    K
    H
    G
    F
    E
    D
    C
    B

    View Slide

  14. M
    v2.0
    Sonata Project
    July 2011
    K
    J
    L
    I
    H
    G
    F
    E
    D
    C

    View Slide

  15. N
    v2.0
    Composer Integration
    September 2011
    L
    K
    M
    J
    I
    H
    G
    F
    E
    D

    View Slide

  16. N
    v2.0
    Composer Integration
    September 2011
    L
    K
    M
    J
    I
    H
    G
    F
    E
    D

    View Slide

  17. O
    v2.0
    Drupal 8 adopting Symfony
    March 2012
    M
    L
    N
    K
    J
    I
    H
    G
    F
    E

    View Slide

  18. P
    v2.0
    eZ Publish 5 adopting Symfony
    July 2012
    N
    M
    O
    L
    K
    J
    I
    H
    G
    F

    View Slide

  19. Q
    v2.1
    First SymfonyLive Berlin
    November 2012
    O
    N
    P
    M
    L
    K
    J
    I
    H
    G

    View Slide

  20. R
    v2.2
    PhpStorm Symfony Plugin
    April 2013
    P
    O
    Q
    N
    M
    L
    K
    J
    I
    H

    View Slide

  21. S
    v2.3
    Silex Release
    May 2013
    Q
    P
    R
    O
    N
    M
    L
    K
    J
    I

    View Slide

  22. T
    v2.3
    Laravel 4 adopting Symfony
    May 2013
    R
    Q
    S
    P
    O
    N
    M
    L
    K
    J

    View Slide

  23. U
    v2.3
    Backwards Compatibility Promise
    June 2013
    S
    R
    T
    Q
    P
    O
    N
    M
    L
    K

    View Slide

  24. V
    v2.3
    Symfony CMF 1.0
    October 2013
    T
    S
    U
    R
    Q
    P
    O
    N
    M
    L

    View Slide

  25. W
    v2.4
    First SymfonyCon in Warshaw
    December 2013
    U
    T
    V
    S
    R
    Q
    P
    O
    N
    M

    View Slide

  26. X
    v2.4
    Akeneo PIM
    March 2014
    V
    U
    W
    T
    S
    R
    Q
    P
    O
    N

    View Slide

  27. Y
    v2.6
    Blackfire
    December 2014
    W
    V
    X
    U
    T
    S
    R
    Q
    P
    O

    View Slide

  28. Z
    v2.7
    Sulu CMS 1.0
    July 2015
    X
    W
    Y
    U
    T
    S
    R
    Q
    P
    V

    View Slide

  29. 1
    v2.7
    API Platform
    September 2015
    Y
    X
    Z
    W
    U
    T
    S
    R
    Q
    V

    View Slide

  30. 2
    v2.8
    Redesign
    September 2015
    Z
    Y
    1
    X
    W
    U
    T
    S
    R
    V

    View Slide

  31. 3
    v3.0
    Release Symfony 3.0
    November 2015
    1
    Z
    2
    Y
    X
    W
    U
    T
    S
    V

    View Slide

  32. 4
    v3.1
    Cache Component
    May 2016
    2
    1
    3
    Z
    Y
    X
    W
    U
    T
    V
    • new centralized caching
    • implements PSR-6 and PSR-16
    • many available adapters
    • cache stampede protecting since v4.2

    View Slide

  33. 4
    v3.1
    Cache Component
    May 2016
    2
    1
    3
    Z
    Y
    X
    W
    U
    T
    V

    View Slide

  34. 4
    v3.1
    Cache Component
    May 2016
    2
    1
    3
    Z
    Y
    X
    W
    U
    T
    V

    View Slide

  35. 4
    v3.1
    Cache Component
    May 2016
    2
    1
    3
    Z
    Y
    X
    W
    U
    T
    V

    View Slide

  36. 5
    v3.2
    Workflow Component
    November 2016
    3
    2
    4
    1
    Z
    Y
    X
    W
    U
    V
    • workflow and state machine engine
    • fully configurable with framework
    • a lot hooks and extension points

    View Slide

  37. 5
    v3.2
    Workflow Component
    November 2016
    3
    2
    4
    1
    Z
    Y
    X
    W
    U
    V

    View Slide

  38. 5
    v3.2
    Workflow Component
    November 2016
    3
    2
    4
    1
    Z
    Y
    X
    W
    U
    V

    View Slide

  39. 6
    v3.2
    December 2016
    4
    3
    5
    2
    1
    Z
    Y
    X
    W
    V
    SymfonyCloud
    SensioCloud

    View Slide

  40. 7
    v3.3
    May 2017
    5
    4
    6
    3
    Autowiring & Autoconfiguration
    2
    1
    Z
    Y
    X
    W

    View Slide

  41. 7
    v3.3
    May 2017
    5
    4
    6
    3
    Autowiring & Autoconfiguration
    2
    1
    Z
    Y
    X
    W

    View Slide

  42. 8
    v3.3
    May 2017
    6
    5
    7
    4
    Symfony Flex 1.0
    3
    2
    1
    Z
    Y
    X

    View Slide

  43. 8
    v3.3
    May 2017
    6
    5
    7
    4
    Symfony Flex 1.0
    3
    2
    1
    Z
    Y
    X

    View Slide

  44. 9
    v3.3
    September 2017
    7
    6
    8
    5
    1 Billion Downloads
    4
    3
    2
    1
    Z
    Y
    109

    View Slide

  45. 0
    v3.3
    September 2017
    8
    7
    9
    6
    Sylius Release 1.0
    5
    4
    3
    2
    1
    Z

    View Slide

  46. A
    v3.3
    September 2017
    9
    8
    0
    7
    Pimcore 5 adopting Symfony
    6
    5
    4
    3
    2
    1

    View Slide

  47. B
    v3.3
    November 2017
    0
    9
    A
    8
    Diversity Initiative
    7
    6
    5
    4
    3
    2

    View Slide

  48. C
    v4.0
    November 2017
    A
    0
    B
    9
    Release Symfony 4.0
    8
    7
    6
    5
    4
    3

    View Slide

  49. C
    v4.0
    November 2017
    A
    0
    B
    9
    Release Symfony 4.0
    8
    7
    6
    5
    4
    3

    View Slide

  50. D
    v4.0
    November 2017
    B
    A
    C
    0
    Symfony Slack
    9
    8
    7
    6
    5
    4

    View Slide

  51. E
    v4.1
    May 2018
    C
    B
    D
    A
    Messenger Component
    0
    9
    8
    7
    6
    5

    View Slide

  52. E
    v4.1
    May 2018
    C
    B
    D
    A
    Messenger Component
    0
    9
    8
    7
    6
    5

    View Slide

  53. E
    v4.1
    May 2018
    C
    B
    D
    A
    Messenger Component
    0
    9
    8
    7
    6
    5

    View Slide

  54. E
    v4.1
    May 2018
    C
    B
    D
    A
    Messenger Component
    0
    9
    8
    7
    6
    5

    View Slide

  55. E
    v4.1
    May 2018
    C
    B
    D
    A
    Messenger Component
    0
    9
    8
    7
    6
    5

    View Slide

  56. E
    v4.1
    May 2018
    C
    B
    D
    A
    Messenger Component
    0
    9
    8
    7
    6
    5
    • framework agnostic messages
    • async capabilities
    • middleware
    • worker commands

    View Slide

  57. E
    v4.1
    May 2018
    C
    B
    D
    A
    Messenger Component
    0
    9
    8
    7
    6
    5

    View Slide

  58. F
    v4.1
    May 2018
    D
    C
    E
    B
    Weblink Component
    A
    0
    9
    8
    7
    6
    Cache-Control: public, max-age=0
    Content-Encoding: gzip
    Content-Length: 33640
    Content-Type: text/html; charset=utf-8
    Link: ; rel=preload; as=style

    View Slide

  59. G
    v4.1
    May 2018
    E
    D
    F
    C
    CARE Team
    B
    A
    0
    9
    8
    7
    • Code Of Conduct
    • CoC Active Response Ensurers
    • Members
    • Emilie Lorenzo
    • Michelle Sanver
    • Tobias Nyholm

    View Slide

  60. H
    v4.1
    June 2018
    F
    E
    G
    D
    End of Silex
    C
    B
    A
    0
    9
    8

    View Slide

  61. I
    v4.1
    September 2018
    G
    F
    H
    E
    Symfony Panther
    D
    C
    B
    A
    0
    9

    View Slide

  62. I
    v4.1
    September 2018
    G
    F
    H
    E
    Symfony Panther
    D
    C
    B
    A
    0
    9

    View Slide

  63. J
    v4.1
    November 2018
    H
    G
    I
    F
    Mercure Component
    E
    D
    C
    B
    A
    0
    • Implements mercure protocol
    • pushing data to a client
    • on top of "server side events"

    View Slide

  64. K
    v4.1
    2019
    I
    H
    J
    SymfonyLive goes international
    F
    E
    D
    C
    B
    A
    G

    View Slide

  65. L
    v4.1
    2019
    J
    I
    K
    EU-FOSSA 2 includes Symfony
    H
    F
    E
    D
    C
    B
    G

    View Slide

  66. M
    v4.3
    May 2019
    K
    J
    L
    Mailer & MIME Component
    I
    H
    F
    E
    D
    C
    G

    View Slide

  67. M
    v4.3
    May 2019
    K
    J
    L
    Mailer & MIME Component
    I
    H
    F
    E
    D
    C
    G
    Amazon SES Gmail MailChimp Mailgun
    Postmark SendGrid

    View Slide

  68. M
    v4.3
    May 2019
    K
    J
    L
    Mailer & MIME Component
    I
    H
    F
    E
    D
    C
    G
    High Availability
    Load Balancing

    View Slide

  69. M
    v4.3
    May 2019
    K
    J
    L
    Mailer & MIME Component
    I
    H
    F
    E
    D
    C
    G

    View Slide

  70. M
    v4.3
    May 2019
    K
    J
    L
    Mailer & MIME Component
    I
    H
    F
    E
    D
    C
    G

    View Slide

  71. N
    v4.3
    May 2019
    L
    K
    M
    HttpClient Component
    J
    I
    H
    F
    E
    D
    G
    ://
    • implements Native- and CurlClient
    • simple interface to ease usage
    • optimized performance & memory
    • supports parallel & async requests

    View Slide

  72. N
    v4.3
    May 2019
    L
    K
    M
    HttpClient Component
    J
    I
    H
    F
    E
    D
    G
    ://

    View Slide

  73. N
    v4.3
    May 2019
    L
    K
    M
    HttpClient Component
    J
    I
    H
    F
    E
    D
    G
    ://

    View Slide

  74. O
    v4.3
    May 2019
    M
    L
    N
    Shopware 6 adopting Symfony
    K
    J
    I
    H
    F
    E
    G

    View Slide

  75. P
    v5.0
    November 2019
    N
    M
    O
    Release Symfony 5.0
    L
    K
    J
    I
    H
    F
    G

    View Slide

  76. P
    v5.0
    November 2019
    N
    M
    O
    Release Symfony 5.0
    L
    K
    J
    I
    H
    F
    G
    • Stablized Components
    • Messenger
    • Mailer & MIME
    • HttpClient

    View Slide

  77. P
    v5.0
    November 2019
    N
    M
    O
    Release Symfony 5.0
    L
    K
    J
    I
    H
    F
    G
    • Feature freeze
    • PHP >= 7.2.9
    • Monolog 2 & Twig 3
    • PHP7.4 Support (incl. Preloading)

    View Slide

  78. P
    v5.0
    November 2019
    N
    M
    O
    Release Symfony 5.0
    L
    K
    J
    I
    H
    F
    G
    Upgrade: EventDispatcher

    View Slide

  79. P
    v5.0
    November 2019
    N
    M
    O
    Release Symfony 5.0
    L
    K
    J
    I
    H
    F
    G
    Upgrade: EventDispatcher

    View Slide

  80. P
    v5.0
    November 2019
    N
    M
    O
    Release Symfony 5.0
    L
    K
    J
    I
    H
    F
    G
    Upgrade: EventDispatcher

    View Slide

  81. P
    v5.0
    November 2019
    N
    M
    O
    Release Symfony 5.0
    L
    K
    J
    I
    H
    F
    G
    Upgrade: Controller

    View Slide

  82. P
    v5.0
    November 2019
    N
    M
    O
    Release Symfony 5.0
    L
    K
    J
    I
    H
    F
    G
    Upgrade: Controller

    View Slide

  83. P
    v5.0
    November 2019
    N
    M
    O
    Release Symfony 5.0
    L
    K
    J
    I
    H
    F
    G
    Upgrade: Command

    View Slide

  84. P
    v5.0
    November 2019
    N
    M
    O
    Release Symfony 5.0
    L
    K
    J
    I
    H
    F
    G
    Upgrade: Command

    View Slide

  85. Q
    v5.0
    November 2019
    O
    N
    P
    String Component
    M
    L
    K
    J
    I
    H
    G
    你好
    世界

    View Slide

  86. Q
    v5.0
    November 2019
    O
    N
    P
    String Component
    M
    L
    K
    J
    I
    H
    G
    你好
    世界

    View Slide

  87. v5.0
    November 2019
    P
    O
    Q
    Notifier Component
    N
    M
    L
    K
    J
    I
    H

    View Slide

  88. v5.0
    November 2019
    P
    O
    Q
    Notifier Component
    N
    M
    L
    K
    J
    I
    H

    View Slide

  89. v5.0
    November 2019
    P
    O
    Q
    Notifier Component
    N
    M
    L
    K
    J
    I
    H

    View Slide

  90. v5.0
    November 2019
    P
    O
    Q
    Notifier Component
    N
    M
    L
    K
    J
    I
    H

    View Slide

  91. v5.0
    November 2019
    P
    O
    Q
    Notifier Component
    N
    M
    L
    K
    J
    I
    H

    View Slide

  92. v5.0
    November 2019
    P
    O
    Q
    Notifier Component
    N
    M
    L
    K
    J
    I
    H

    View Slide

  93. v5.0
    Please try beta and release candidates

    View Slide

  94. v5.0
    Thank you!
    joind.in/talk/c086e

    View Slide