How Symfony 3.0 moves forward without letting anyone behind

How Symfony 3.0 moves forward without letting anyone behind

Migrating from Symfony 2.3 to the newest Symfony 3.0 won't force you to rewrite all your application. Instead, you'll follow a well documented and continuous upgrade path to make a smooth transition. How is this possible? In this session, I'll tell you how the BC promise enables easy migrations. I'll also tell you about the creation of the new deprecation policy introduced in Symfony 2.7. These are the two corner stones that allow Symfony to do the split: having a wide range of stable apps and innovating at the same time.

6baa34bc1e5c347b1003f6abe8691de1?s=128

Nicolas Grekas

December 14, 2015
Tweet

Transcript

  1. Symfony 3.0 does the split! #SymfonyCon @nicolasgrekas joind.in/16479

  2. components framework + =

  3. One monolithic repo. + 46 synchronized components =

  4. #SymfonyCon @nicolasgrekas joind.in/16479 Symfony Lifecycle Release end of support +8

    months +14 months +36 months +48 months end of security support end of security support end of support Standard Releases (2.4, 2.5, 2.6, 3.0) LTS Releases (2.3, 2.7, 2.8)
  5. Backward Compatibility Promise

  6. #SymfonyCon @nicolasgrekas joind.in/16479 3. @internal @api The Backward Compatibility Promise

    http://symfony.com/bc
  7. #SymfonyCon @nicolasgrekas joind.in/16479 Major Minor Patch

  8. #SymfonyCon @nicolasgrekas joind.in/16479 • o • o • o Semantic

    Versioning
  9. What’s new in Symfony 3?

  10. Well... Nothing!

  11. #SymfonyCon @nicolasgrekas joind.in/16479 The Symfony 3.0 Architecture • • •

    • •
  12. #SymfonyCon @nicolasgrekas joind.in/16479 The Symfony 3.0 Architecture

  13. #SymfonyCon @nicolasgrekas joind.in/16479 All new features are already included in

    Symfony 2.8 What’s new in Symfony 3?
  14. What’s new in Symfony 2.8?

  15. #SymfonyCon @nicolasgrekas joind.in/16479 500 new features since 2.3

  16. #SymfonyCon @nicolasgrekas joind.in/16479 100+ new features since 2.7 • •

    • • • • • • • • • • • • • • •
  17. What’s new in Symfony 3?

  18. The Continuous Upgrade Path

  19. #SymfonyCon @nicolasgrekas joind.in/16479 The Symfony Core Team Wish!

  20. #SymfonyCon @nicolasgrekas joind.in/16479 Continuous Migration Path Before 2.7 • •

    • • • • • 
  21. #SymfonyCon @nicolasgrekas joind.in/16479 Continuous Migration Path Since 2.7 • •

    • • • • •
  22. #SymfonyCon @nicolasgrekas joind.in/16479 Trigger deprecation notices at run-time

  23. #SymfonyCon @nicolasgrekas joind.in/16479 Trigger deprecation notices at run-time

  24. #SymfonyCon @nicolasgrekas joind.in/16479 Trigger deprecation notices at run-time

  25. #SymfonyCon @nicolasgrekas joind.in/16479 Trigger deprecation notices at run-time

  26. #SymfonyCon @nicolasgrekas joind.in/16479 Trigger deprecation notices at run-time

  27. #SymfonyCon @nicolasgrekas joind.in/16479 Trigger deprecation notices at run-time

  28. #SymfonyCon @nicolasgrekas joind.in/16479 Statically-detect deprecated code paths

  29. Sustainability of the CUP wish?

  30. #SymfonyCon @nicolasgrekas joind.in/16479 Cross Versions Dependencies • o o ~2.x|~3.0.0

    • o o ~2.8|~3.0
  31. #SymfonyCon @nicolasgrekas joind.in/16479 Prefer Lowest Requirements

  32. #SymfonyCon @nicolasgrekas joind.in/16479 The @legacy PHPUnit Group

  33. #SymfonyCon @nicolasgrekas joind.in/16479 Travis Matrix

  34. #SymfonyCon @nicolasgrekas joind.in/16479 Appveyor for Windows

  35. #SymfonyCon @nicolasgrekas joind.in/16479 • • Sustainability of the CUP

  36. What about the Symfony ecosystem?

  37. #SymfonyCon @nicolasgrekas joind.in/16479 Use the Symfony PHPUnit Bridge

  38. #SymfonyCon @nicolasgrekas joind.in/16479 Use the Symfony PHPUnit Bridge

  39. #SymfonyCon @nicolasgrekas joind.in/16479 Allow Symfony ~3.0 Dependencies

  40. #SymfonyCon @nicolasgrekas joind.in/16479 Their turn to deprecate

  41. #SymfonyCon @nicolasgrekas joind.in/16479 Their turn to deprecate

  42. Now your turn!

  43. #SymfonyCon @nicolasgrekas joind.in/16479 • • • • o o o

    • • Some guidelines
  44. #SymfonyCon @nicolasgrekas joind.in/16479 Use the Symfony PHPUnit Bridge * Since

    2.8.1. The regexp is checked against the deprecation message.
  45. #SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

  46. #SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

  47. What’s new in Symfony 3?

  48. #SymfonyCon @nicolasgrekas joind.in/16479 @trigger_error(…, E_USER_DEPRECATED); • • • •

  49. Let’s Keep Innovating!

  50. Merci ! #SymfonyCon @nicolasgrekas joind.in/16479

  51. #SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

  52. #SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

  53. #SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

  54. #SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

  55. #SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines