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

What's new in Symfony 7.1

What's new in Symfony 7.1

This talk is aimed at all Symfony developers, from the curious to the experts, eager to discover what's new in Symfony 7.1. Version 7.0, released last November, marks the start of a major new cycle, promising new innovations. As you'll see, the community has been busy over the last few months!

Nicolas Grekas

March 29, 2024

More Decks by Nicolas Grekas

Other Decks in Technology


  1. is a set of low-level building blocks that you can

    assemble to develop powerful high-level features easily
  2. Symfony 7 • Remove deprecated code paths • Add native

    types • Add generic types • Leverage new syntaxes
  3. PHP RFC DOM HTML5 parsing, serialization and opt-in spec-compliance Deprecate

    implicitly nullable parameter types Increasing the default BCrypt cost Resource to object conversion Allow fiber switching in destructors
  4. Notifier #53927 Add Pushy bridge (stloyd) #53734 Add SMSense bridge

    (jimiero) #52936 Add Seven.io bridge (NeoBlack) #52976 Add sms-sluzba.cz bridge (dfridrich) #53148 Add Smsbox bridge (Alan ZARLI) #53092 Add Unifonic bridge (seferov) #53083 Add Bluesky bridge (Nyholm)
  5. Mailer #53740 Add MailerSend webhook & remote event (doobas) #53621

    Add auto_tls to disable automatic STARTTLS (srsbiz) #53554 Add Resend bridge (welcoMattic) #52842 Add Azure bridge (hafael)
  6. Dependency Injection #52922 Add #[Lazy] for classes and arguments (Tiriel)

    #54016 Add #[AutowireMethodOf] (nicolas-grekas) #52820 #[AutowireInline] for inline service definition (DaDeather) #52369 Add urlencode function to EnvVarProcessor (crtl)
  7. Dependency Injection #52369 Add urlencode function to EnvVarProcessor (crtl) #

    config/packages/mailer.yaml framework: mailer: dsn: 'smtp://%env(urlencode:SMTP_USER)%:%env(urlencode
  8. Dependency Injection #52820 #[AutowireInline] for inline service definition (DaDeather) public

    function __construct( #[AutowireInline( factory: [ ScopingHttpClient::class, 'forBaseUri' ], arguments: [ '$baseUri' => 'https://example.com', ], )] private HttpClientInterface $client, ) { }
  9. HttpKernel #54153 Accept boolean values for MapQueryString (Jean-Beru) => https://www.example.com/products?available=true

    #54107 Add NearMissValueResolverException and improve error reporting when requiring the wrong Request class (ilyachase) => Looks like you required a Request object with the wrong class name. Did you mean to use "Symfony\Component\ HttpFoundation\Request" instead?
  10. String #52198 New locale aware casing methods (bram123) $string =

    u('άδικος'); $string->upper(); // ΆΔΙΚΟΣ $string->localeUpper('el'); // ΑΔΙΚΟΣ $string = u('ijssel'); $string->title(); // Ijssel $string->localeTitle('nl'); // IJssel
  11. New components Under discussion: #51649+#53213 [FeatureFlags](Neirda24/Jean-Beru) #51718 [JsonEncoder] (mtarld) #51741

    [ObjectMapper] (soyuka) #53346 [Uri] (alexandre-daubois) #54013 [AccessToken] (pounard)