Les 3 grandes nouveautés de Symfony 4.3

La semaine dernière, toute l’équipe de SensioLabs a eu le droit à un midi-formation, animé par Alex Rock sur les nouveautés de la version 4.3 de Symfony, sortie le 30 mai. Ce midi-formation nous a aussi permis de réfléchir aux bénéfices de la veille technologique.

Les midi-formations, ce sont les formations internes de SensioLabs. A raison d’une fois par semaine, SensioLabs University organise une formation d’une heure. Toute l’équipe de SensioLabs (et bien sûr les membres en télétravail) y est invitée pour continuer d’apprendre et de monter en compétence.

Cette semaine, les nouveautés de Symfony 4.3 nous ont particulièrement intéressées. Nous avons eu l’occasion de revoir ce qui a changé avec cette nouvelle version mineure de Symfony et notamment ses 3 principales nouveautés.

sensioLabs-university-training

Parmi les nouvelles fonctionnalités de la version 4.3, le composant Mailer est sûrement celui qui a fait le plus de bruit avec la keynote de Fabien au SymfonyLive Paris 2019 ! Digne successeur de Swiftmailer, il est orienté simplicité et bonnes pratiques. Attention cependant, il est encore expérimental : le code ne sera donc pas nécessairement compatible avec la prochaine version stable.

HTTP Client est déjà utilisé en production. Plusieurs benchmarks ont montré des gains de performance élevés grâce ce nouveau composant qui combine simplification et objectif d’un client uniforme pour tout le monde. A noter que le protocole Mercure sera bientôt compatible avec ce composant.

Le Composant Mime est un peu moins connu, mais très efficace et s’adapte à des cas d’usages très actuels. Mime gère l’écriture d’emails, permet de créer et personnaliser des emails, en complément de Mailer. L’intégration native avec Twig est très réussie et la documentation prometteuse !

nouvelles-fonctionnalités-symfony4.3

Dans les autres modifications qui ont attiré notre attention, il faut citer :

  • L’extraction de traductions de fichiers depuis PHP par Yonel Ceruto.
  • L’amélioration du composant Intl et des timezones par Roland Franssen.
  • Une nouvelle classe NativePasswordEncoder pour remplacer les autres encodeurs de mots de passe.
  • Des améliorations sur le composant Form, notamment au niveau des data mappers et de la commande « debug:form ».
  • Des transports supplémentaires pour Messenger (Doctrine, Redis et Memory), et un autre spécifique pour sauvegarder les messages les messages échoués et les renvoyer plus tard.
  • 3 nouvelles versions de Flex avec notamment une gestion des plugins de Sylius.
  • Beaucoup de changements sur la recette de Webpack Encore.
  • Une contribution de Renan, arrivé à SensioLabs depuis plusieurs mois.

Enfin, cette nouvelle version n’a pas connu de CVE, pas de bug de sécurité critique.

news-symfony

Il faut rappeler que toutes ces informations sont disponibles sur symfony.com dans la partie « News ». On peut ainsi retrouver toutes les nouvelles fonctionnalités de Symfony 4.3 (il y en a beaucoup !) dans le post de Fabien « Symfony 4.3 curated new features ».

Les informations sur les versions se trouvent, quant à elles, dans la catégorie « Living in the Edge ». Vous pourrez y retrouver tout sur les nouvelles versions depuis Symfony 2.2 ! c’est l’outil parfait pour faire sa veille sur Symfony.

La veille technologique est nécessaire à toute personne évoluant dans le milieu du développement car les technologies web évoluent très vite, en particulier pour Symfony. Il faut se mettre à jour régulièrement, sinon on peut être vite dépassé. La veille n’est pas l’ennemie de la productivité, bien au contraire. En consacrant du temps à la veille, la qualité de notre projet s’améliore et on peut proposer les solutions les plus adaptées.

SensioLabs University a choisi d’organiser régulièrement des sessions de veille technologique sur Symfony pour que l’équipe de SensioLabs suive l’évolution du framework et continue de monter régulièrement en compétence.