Slide 1

Slide 1 text

A Y E A R O F

Slide 2

Slide 2 text

A Y E A R O F

Slide 3

Slide 3 text

Nicolas Grekas @nicolasgrekas Sarah Khalil @saro0h

Slide 4

Slide 4 text

No content

Slide 5

Slide 5 text

No content

Slide 6

Slide 6 text

No content

Slide 7

Slide 7 text

No content

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

B E F O R E B O A R D I N G , M A K E Y O U R S E L F C O M F Y

Slide 12

Slide 12 text

Get visibility and know others from the community connect.symfony.com H O W A B O U T N E T W O R K I N G ?

Slide 13

Slide 13 text

W E S T I L L H AV E S O M E B E F O R E ? certification.symfony.com

Slide 14

Slide 14 text

No content

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

No content

Slide 17

Slide 17 text

S Y M F O N Y. C O M

Slide 18

Slide 18 text

symfony.com/blog

Slide 19

Slide 19 text

D A R K T H E M E

Slide 20

Slide 20 text

D A R K T H E M E

Slide 21

Slide 21 text

symfonycasts.com ' '

Slide 22

Slide 22 text

W H E R E W E ’ R E G O I N G ?

Slide 23

Slide 23 text

W H E R E W E ’ R E G O I N G ?

Slide 24

Slide 24 text

symfony.com/events D E C L A R E A N D D I S C O V E R

Slide 25

Slide 25 text

• R E D - O F F I C I A L • B L U E - C O M M U N I T Y • G R E Y - PA S T symfony.com/events D E C L A R E A N D D I S C O V E R

Slide 26

Slide 26 text

• R E D - O F F I C I A L • B L U E - C O M M U N I T Y • G R E Y - PA S T F O R T H E F I R S T T I M E I N V I E T N A M ) , I N D I A * symfony.com/events D E C L A R E A N D D I S C O V E R

Slide 27

Slide 27 text

L A S T M I N U T E C H E C K S

Slide 28

Slide 28 text

E V E RY O N E ’ S H E R E ? Slack Members: ~8000 Code contributors: ~2000 Doc contributors: ~1900 CARE Team : 3 symfony.com/blog/diversity-initiative-the-care-team

Slide 29

Slide 29 text

E V E RY O N E ’ S H E R E ? symfony.com/roadmap 4.1 - 4.2 - 2.7 - 2.8 - 4.0

Slide 30

Slide 30 text

B O A R D I N G

Slide 31

Slide 31 text

O U R T R I P S Y M F O N Y / S Y M F O N Y S Y M F O N Y / O T H E R S W E A R E H E R E

Slide 32

Slide 32 text

P R E PA R E F O R TA K E O F F

Slide 33

Slide 33 text

No content

Slide 34

Slide 34 text

C O N S O L E

Slide 35

Slide 35 text

O V E R W R I T E O U T P U T S , D E L E T E O U T P U T C O N T E N T, M U LT I P L E P R O G R E S S B A R S , M O D I F Y C O N T E N T O F TA B L E S , G E T ☕ https://symfony.com/blog/new-in-symfony-4-1-advanced-console-output

Slide 36

Slide 36 text

O V E R W R I T E O U T P U T S , D E L E T E O U T P U T C O N T E N T, M U LT I P L E P R O G R E S S B A R S , M O D I F Y C O N T E N T O F TA B L E S , G E T ☕ https://symfony.com/blog/new-in-symfony-4-1-advanced-console-output

Slide 37

Slide 37 text

O V E R W R I T E O U T P U T S , D E L E T E O U T P U T C O N T E N T, M U LT I P L E P R O G R E S S B A R S , M O D I F Y C O N T E N T O F TA B L E S , G E T ☕ https://symfony.com/blog/new-in-symfony-4-1-advanced-console-output

Slide 38

Slide 38 text

O V E R W R I T E O U T P U T S , D E L E T E O U T P U T C O N T E N T, M U LT I P L E P R O G R E S S B A R S , M O D I F Y C O N T E N T O F TA B L E S , G E T ☕ https://symfony.com/blog/new-in-symfony-4-1-advanced-console-output

Slide 39

Slide 39 text

H E A D E R A N D F O O T E R T I T L E S , A N D C U S T O M M A X W I D T H F O R E A C H C O L U M N S 1 https://symfony.com/blog/new-in-symfony-4-2-console-tables-improvements

Slide 40

Slide 40 text

C A C H E

Slide 41

Slide 41 text

C A C H E S TA M P E D E P R O T E C T I O N • Let’s say you cache a heavy page • The cache expires… • People request that page… • Your system is doomed - https://symfony.com/blog/new-in-symfony-4-2-cache-stampede-protection • Regenerate the cache before the cache expires thanks to probabilistic decision () S O L U T I O N

Slide 42

Slide 42 text

Brand new MarshallerInterface Automatically uses a default serializer that uses Igbinary if available https://github.com/symfony/symfony/pull/27645

Slide 43

Slide 43 text

W E B P R O F I L E R

Slide 44

Slide 44 text

K N O W I F A N A J A X R E Q U E S T I S S T I L L R U N N I N G 7 8 https://symfony.com/blog/new-in-symfony-4-1-ajax-improvements

Slide 45

Slide 45 text

K N O W I F A N A J A X R E Q U E S T I S S T I L L R U N N I N G 7 8 https://symfony.com/blog/new-in-symfony-4-1-ajax-improvements

Slide 46

Slide 46 text

W O R K I N G W I T H S PA ? M I S S I N G T H E D E B U G T O O L B A R ? $response->headers->set('Symfony-Debug-Toolbar-Replace', 1); https://symfony.com/blog/new-in-symfony-4-1-self-updating-debug-toolbar N E W H T T P H E A D E R Replace the WDT with the new one associated with the current response

Slide 47

Slide 47 text

D O T E N V VA R I A B L E S https://github.com/symfony/symfony/pull/25166

Slide 48

Slide 48 text

P R O F I L E R L O G F I LT E R https://symfony.com/blog/new-in-symfony-4-2-profiler-log-filter

Slide 49

Slide 49 text

D E TA I L E D S E C U R I T Y V O T E R S D E C I S I O N : ; https://symfony.com/blog/new-in-symfony-4-2-detailed-security-voters-decisions

Slide 50

Slide 50 text

D E TA I L E D S E C U R I T Y V O T E R S D E C I S I O N : ; https://symfony.com/blog/new-in-symfony-4-2-detailed-security-voters-decisions

Slide 51

Slide 51 text

H T T P F O U N D AT I O N

Slide 52

Slide 52 text

M I G R AT E S E S S I O N F R O M A WAY T O A N O T H E R From filesystem to database without losing any session data? https://symfony.com/blog/new-in-symfony-4-1-session-improvements#allow-to-migrate-sessions MigratingSessionHandler class $sessionStorage = new MigratingSessionHandler($oldSessionStorage, $newSessionStorage);

Slide 53

Slide 53 text

M E S S E N G E R New component

Slide 54

Slide 54 text

No content

Slide 55

Slide 55 text

• Since 4.1 • Still experimental (lots of changes during the last 6 months) • Documentation still need love

Slide 56

Slide 56 text

P R O C E S S

Slide 57

Slide 57 text

P R E PA R E D C O M M A N D L I N E F T W // Deprecated $p = new Process("ls -l"); // Go ahead for $p = new Process(["ls", "-l"]); https://github.com/symfony/symfony/pull/27821

Slide 58

Slide 58 text

WA I T U N T I L T H E P R O C E S S E S A R E R E A D Y Avoid sleep(5); = $p->waitUntil($callback); https://symfony.com/blog/new-in-symfony-4-2-wait-until-processes-are-ready

Slide 59

Slide 59 text

R O U T E R

Slide 60

Slide 60 text

M AT C H 7 7 . 7 X FA S T E R B Y C O M P I L I N G R O U T E S I N O N E R E G E X P https://symfony.com/blog/new-in-symfony-4-1-fastest-php-router

Slide 61

Slide 61 text

I M P L E M E N T I N G I 1 8 N R O U T I N G https://symfony.com/blog/new-in-symfony-4-1-internationalized-routing

Slide 62

Slide 62 text

A L L O W I N L I N E D E F I N I T I O N O F R E Q U I R E M E N T S A N D D E FA U LT S https://symfony.com/blog/new-in-symfony-4-1-inlined-routing-configuration

Slide 63

Slide 63 text

T R A N S L AT I O N

Slide 64

Slide 64 text

U S E T H E I C U M E S S A G E F O R M AT messages+intl-icu.xlf https://github.com/symfony/symfony/pull/28952 There { COUNT, plural, =0 {are no results} one {is one result} other {are # results} }

Slide 65

Slide 65 text

VA R D U M P E R

Slide 66

Slide 66 text

C O L L E C T D U M P T H R O U G H A S E R V E R D U M P E R https://github.com/symfony/symfony/pull/23831

Slide 67

Slide 67 text

C O L L E C T D U M P T H R O U G H A S E R V E R D U M P E R https://github.com/symfony/symfony/pull/23831

Slide 68

Slide 68 text

O U R T R I P S Y M F O N Y / S Y M F O N Y S Y M F O N Y / O T H E R S W E A R E H E R E

Slide 69

Slide 69 text

C O N T R A C T New component

Slide 70

Slide 70 text

Currently subnamespaces for: • Cache • Translation • Subnamspaces https://github.com/symfony/symfony/pull/27093 I N T E R O P E R A B L E I N T E R FA C E S

Slide 71

Slide 71 text

PA N T H E R New component

Slide 72

Slide 72 text

U S E A R E A L B R O W S E R F O R Y O U R F U N C T I O N A L T E S T S https://symfony.com/blog/introducing-symfony-panther-a-browser-testing-and-web-scrapping-library-for-php

Slide 73

Slide 73 text

F L E X

Slide 74

Slide 74 text

• Download packages in parallel • Blazing fast as legacy tags are removed (dependency resolution is faster) • 50% faster to create and update project https://github.com/symfony/flex/pull/261 https://github.com/symfony/flex/pull/378 https://symfony.com/blog/creating-and-updating-symfony-projects-much-faster

Slide 75

Slide 75 text

M A K E R B U N D L E

Slide 76

Slide 76 text

G R E AT C O M M A N D S T O S TA RT Q U I C K LY make:crud make:form make:entity make:user make:auth https://symfony.com/blog/new-in-makerbundle-1-8-instant-user-login-form-commands https://github.com/symfony/maker-bundle/releases

Slide 77

Slide 77 text

L A N D I N G

Slide 78

Slide 78 text

L A N D I N G

Slide 79

Slide 79 text

H O W A B O U T C O N T I N U I N G T H E A D V E N T U R E ?

Slide 80

Slide 80 text

H O W A B O U T C O N T I N U I N G T H E A D V E N T U R E ?

Slide 81

Slide 81 text

No content

Slide 82

Slide 82 text

No content

Slide 83

Slide 83 text

M A K E T H E A D V E N T U R E M O R E E X C I T I N G : C O N T R I B U T I O N S • Recipes (@ last year ➡ 376 PRs in official repo & 484 PRs in contrib repo B)

Slide 84

Slide 84 text

M A K E T H E A D V E N T U R E M O R E E X C I T I N G : C O N T R I B U T I O N S • Recipes (@ last year ➡ 376 PRs in official repo & 484 PRs in contrib repo B) • Mentoring (symfony.com/blog/diversity-initiative-update-mentoring- and-conference-organization)

Slide 85

Slide 85 text

M A K E T H E A D V E N T U R E M O R E E X C I T I N G : C O N T R I B U T I O N S • Recipes (@ last year ➡ 376 PRs in official repo & 484 PRs in contrib repo B) • Mentoring (symfony.com/blog/diversity-initiative-update-mentoring- and-conference-organization) • Get visibility on symfony.com

Slide 86

Slide 86 text

G E T I N V O LV E D I N D I S C U S S I O N S Discussion on preparing the compatibility with Monolog 2 And many more! https://github.com/symfony/symfony/issues/27857

Slide 87

Slide 87 text

G E T I N V O LV E D I N D I S C U S S I O N S Discussion on preparing the compatibility with Monolog 2 And many more! https://github.com/symfony/symfony/issues/27857

Slide 88

Slide 88 text

H E L P TA K I N G I N A B A N D O N E D FA M O U S PA C K A G E S https://symfony.com/blog/finding-a-new-home-for-ivoryckeditorbundle

Slide 89

Slide 89 text

symfony.com/blog/diversity-initiative-the-care-team symfony.com/doc/current/contributing/code_of_conduct

Slide 90

Slide 90 text

symfony.com/blog/diversity-initiative-the-care-team symfony.com/doc/current/contributing/code_of_conduct

Slide 91

Slide 91 text

T R AV E L M O R E B Y TA L K I N G AT C O N F E R E N C E S ! https://symfony.com/blog/inclusivity-and-diversity-in-cfp-at-the-upcoming-symfony-conferences Get helped E

Slide 92

Slide 92 text

B Thank you, to all of you Take care of you and others

Slide 93

Slide 93 text

B Thank you, to all of you Take care of you and others

Slide 94

Slide 94 text

D O N ’ T F O R G E T T O G I V E F E E D B A C K S https://joind.in/talk/87337

Slide 95

Slide 95 text

D O N ’ T F O R G E T T O G I V E F E E D B A C K S https://joind.in/talk/87337 WA K A N D A , I S M Y N A M E