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 full-size slide

  2. B
    A
    Sensio Framework
    2003

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size 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 full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size 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 full-size slide

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

    View full-size slide

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

    View full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size 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 full-size 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 full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

  93. v5.0
    Please try beta and release candidates

    View full-size slide

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

    View full-size slide