Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

components framework + =

Slide 3

Slide 3 text

One monolithic repo. + 46 synchronized components =

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

Backward Compatibility Promise

Slide 6

Slide 6 text

#SymfonyCon @nicolasgrekas joind.in/16479 3. @internal @api The Backward Compatibility Promise http://symfony.com/bc

Slide 7

Slide 7 text

#SymfonyCon @nicolasgrekas joind.in/16479 Major Minor Patch

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

What’s new in Symfony 3?

Slide 10

Slide 10 text

Well... Nothing!

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

#SymfonyCon @nicolasgrekas joind.in/16479 All new features are already included in Symfony 2.8 What’s new in Symfony 3?

Slide 14

Slide 14 text

What’s new in Symfony 2.8?

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

What’s new in Symfony 3?

Slide 18

Slide 18 text

The Continuous Upgrade Path

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

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

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

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

Slide 28

Slide 28 text

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

Slide 29

Slide 29 text

Sustainability of the CUP wish?

Slide 30

Slide 30 text

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

Slide 31

Slide 31 text

#SymfonyCon @nicolasgrekas joind.in/16479 Prefer Lowest Requirements

Slide 32

Slide 32 text

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

Slide 33

Slide 33 text

#SymfonyCon @nicolasgrekas joind.in/16479 Travis Matrix

Slide 34

Slide 34 text

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

Slide 35

Slide 35 text

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

Slide 36

Slide 36 text

What about the Symfony ecosystem?

Slide 37

Slide 37 text

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

Slide 38

Slide 38 text

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

Slide 39

Slide 39 text

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

Slide 40

Slide 40 text

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

Slide 41

Slide 41 text

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

Slide 42

Slide 42 text

Now your turn!

Slide 43

Slide 43 text

#SymfonyCon @nicolasgrekas joind.in/16479 • • • • o o o • • Some guidelines

Slide 44

Slide 44 text

#SymfonyCon @nicolasgrekas joind.in/16479 Use the Symfony PHPUnit Bridge * Since 2.8.1. The regexp is checked against the deprecation message.

Slide 45

Slide 45 text

#SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

Slide 46

Slide 46 text

#SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

Slide 47

Slide 47 text

What’s new in Symfony 3?

Slide 48

Slide 48 text

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

Slide 49

Slide 49 text

Let’s Keep Innovating!

Slide 50

Slide 50 text

Merci ! #SymfonyCon @nicolasgrekas joind.in/16479

Slide 51

Slide 51 text

#SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

Slide 52

Slide 52 text

#SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

Slide 53

Slide 53 text

#SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

Slide 54

Slide 54 text

#SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines

Slide 55

Slide 55 text

#SymfonyCon @nicolasgrekas joind.in/16479 Some guidelines