$30 off During Our Annual Pro Sale. View Details »

What's new in Symfony 6.1

What's new in Symfony 6.1

The upcoming release of Symfony 6.1 brings a series of new features, including the new HtmlSanitizer component and many improvements around developer experience. This talk shows some of the highlights.

Denis Brumann

April 28, 2022
Tweet

More Decks by Denis Brumann

Other Decks in Programming

Transcript

  1. Symfony User Group
    Köln
    What's new in
    Symfony 6.1
    Denis Brumann @dbrumann
    Christian Flothmann @xabbuh
    powered by

    View Slide

  2. Christian Flothmann
    @xabbuh
    [email protected]
    Wer sind wir?

    View Slide

  3. Denis Brumann
    @dbrumann
    [email protected]
    Wer sind wir?

    View Slide

  4. Asset
    BrowserKit
    Cache
    Console
    Config
    DependencyInjection
    ErrorHandler
    ExpressionLanguage
    Finder
    Form
    FrameworkBundle
    HtmlSanitizer
    HttpClient
    HttpFoundation
    HttpKernel
    Ldap
    Lock
    Mailer
    Messenger
    Mime
    Notifier
    PhpUnitBridge
    PropertyInfo
    Routing
    Security
    Serializer
    Translation
    TwigBundle
    Validator
    Yaml

    View Slide

  5. First Contribution
    @norbertschultheisz @mjpvandenberg
    @sbelyshkin
    @ecourtial
    @mytuny @remilemonnier
    @chapterjason @jannick-holm @dmitryuk
    @angelov @bitgandtter @mondrake
    and
    many
    more…

    View Slide

  6. PHP 8.1
    youtu.be/6JeDBRx8QIs
    Allgemein

    View Slide

  7. Allgemein
    Requiring the "symfony/symfony"
    package is deprecated
    Replace it with standalone
    components instead.
    #45563
    @nicolas-grekas

    View Slide

  8. Cache
    #42997
    @sbelyshkin
    Improve reliability & performance
    of TagAwareAdapter by making
    versions integral part of item value.

    View Slide

  9. Cache
    Adds a new command:
    cache:pool:invalidate-tags #44692
    @kbond

    View Slide

  10. Console
    Deprecate properties
    $defaultName and
    $defaultDescription
    #45361
    @derrabus

    View Slide

  11. Console
    Add autocompletion for fish shell
    #43641
    @guillaume-a
    bin/console completion fish :>
    ~/.config/fish/completions/sf_console.fish

    View Slide

  12. DI
    Adds #[MapDecorated] and
    #[AsDecorator] attributes
    #46112
    @chalasar
    #45834
    @Jean-Beru

    View Slide

  13. DI

    View Slide

  14. DI
    Expressions as service factories
    #45512
    @nicolas-grekas

    View Slide

  15. DI
    #[Autowire]
    #45657 & #45783
    @kbond

    View Slide

  16. DI
    Add exclude to TaggedIterator and
    TaggedLocator #44774
    @ruudk

    View Slide

  17. Expression
    Language
    Add support for null-safe operator
    #45795
    @mytuny

    View Slide

  18. View Slide

  19. Expression
    Language
    Add some more operators
    #45912
    @fabpot

    View Slide

  20. Form
    Add prototype_options to
    CollectionType #45605
    @michaelKaefer

    View Slide

  21. HtmlSanitizer
    New component
    #44681
    @tgalopin

    View Slide

  22. View Slide

  23. HtmlSanitizer
    #44681
    @tgalopin

    View Slide

  24. HttpKernel
    Add Profiler::isEnabled()
    method #45265
    @Bilge

    View Slide

  25. Routing
    Make route params available to
    route conditions #46042
    @HypeMC

    View Slide

  26. Routing
    Allow using service in route
    condition #44405
    @renanbr

    View Slide

  27. Routing
    (backed) EnumRequirements for
    routes #45803
    @fancyweb

    View Slide

  28. Routing
    Requirement object with universal
    regex patterns #45528
    @fancyweb

    View Slide

  29. HttpKernel
    Add UID argument value resolver
    #44665
    @fancyweb

    View Slide

  30. HttpKernel
    Controller argument resolver for
    backed enums #44831
    @ogizanagi

    View Slide

  31. HttpKernel
    Add ArgumentMetadata
    getAttributes #45094
    @seldaek

    View Slide

  32. Mailer
    Improve extensibility of
    EsmtpTransport #44446
    @ampaze

    View Slide

  33. Mailer
    Implement EmailTags for
    AmazonMailer #45222
    @driesvints

    View Slide

  34. Mime
    Add DraftMail type:
    $content = (new DraftEmail()
    :>html($twig:>render(::.))
    :>attach(::.)
    :>toString()
    ;
    $response = new Response($message:>toString());
    $contentDisposition = $response:>headers:>makeDisposition(
    ResponseHeaderBag::DISPOSITION_ATTACHMENT,
    'download.eml'
    );
    #44311
    @kbond

    View Slide

  35. Messenger
    Add Redis Sentinel support
    #43163
    @norbertschultheisz

    View Slide

  36. Messenger
    Support setting connection_name
    for AMQP transport #45436
    @dmitryuk

    View Slide

  37. Messenger
    #45436
    @dmitryuk

    View Slide

  38. Messenger
    Add TransportMessageIdStamp to
    RedisSender #44522
    @GaryPEGEOT

    View Slide

  39. Messenger
    Add SerializedMessageStamp
    #44589
    @nikophil

    View Slide

  40. Notifier
    Sendberry Bridge
    KazInfoTeh Bridge
    46elks Bridge
    OrangeSMS Bridge
    Engagespot Bridge
    #45195
    @StaffNova
    #44360
    @taranovegor
    #44874
    @jongotlin
    #44884
    @enigma972
    #44303
    @danut007ro

    View Slide

  41. PHPUnitBridge
    Add option ignoreFile to configure
    a list of known deprecations to
    ignore:
    #45226
    @mondrake
    /Test message .*/
    /^\d* occurrences/

    View Slide

  42. Security
    Allow to specify a RequestMatcher
    in access_contol #44670
    @TristanPouliquen

    View Slide

  43. Security
    #44670
    @TristanPouliquen

    View Slide

  44. Serializer
    Add context builders
    #43973
    @mtarld

    View Slide

  45. Serializer
    Deprecate context aware interface
    #43982
    @mtarld

    View Slide

  46. Translation
    Add support for dumping xliff
    translations as .xlf or .xliff file
    This is needed for example for the
    translation provider Lokalise and
    the GitLab integration for this
    provider.
    #45421
    @DanielBadura

    View Slide

  47. Translation
    New service: LocaleSwitcher
    #45793
    @kbond

    View Slide

  48. View Slide

  49. Validation
    Support specifying which fields
    should be unique in Unique
    constraint
    #42403
    @wkania

    View Slide

  50. Validation
    #42403
    @wkania

    View Slide

  51. Validation
    Allow creating constraints with
    required arguments #45072
    @norkunas

    View Slide

  52. Validation
    Make constraint violation interfaces
    stringable #45484
    @HypeMC

    View Slide

  53. Profiler
    HttpClient: Add button for copy as
    curl to WebProfiler #43931
    @Deuchnord

    View Slide

  54. Profiler
    Add Xdebug info
    #44483
    @chr-hertel

    View Slide

  55. Profiler
    Serializer Profiler
    #45656
    @mtarld

    View Slide

  56. Symfony User Group
    Köln
    Vielen Dank
    Fragen?
    powered by

    View Slide