A Week of Symfony #865 (24-30 July 2023)


This week, Symfony 5.4.26 maintenance version was released. Meanwhile, we deprecated annotations in favor of attributes in Serializer, in Validator and in Routing. We also worked on adding types to private and internal properties in Symfony 6.4 and to public and protected properties in Symfony 7.0.

Symfony development highlights

This week, 64 pull requests were merged (46 in code and 18 in docs) and 31 issues were closed (25 in code and 6 in docs). Excluding merges, 27 authors made 8,215 additions and 5,111 deletions. See details for code and docs.

5.4 changelog:

  • 8b82019: [Routing] fix testMissingPrefixLocale and testMissingRouteLocale
  • dee4eed: [Validator] add missing German translations
  • 8b2627b: [Serializer] fix denormalizing abstract part headers in MimeMessageNormalizer
  • fdf441d: [FrameworkBundle, Workflow] throw exception is workflow.xxx.transitions is not an array
  • 8492f10: [Serializer] fix deserializing nested arrays of objects with mixed keys

6.2 changelog:

  • 5dfc9f3: [Cache] fix generating proxies when ext-redis v6 is installed
  • f65b0a4: [VarExporter] fix calling scope detection inside magic accessors

6.3 changelog:

  • 51b1527: [Scheduler] fix null pointer exception in debug:scheduler command
  • d9d0bde: [Webhook] allow slash in webhook type
  • f65b0a4: [VarExporter] fix calling scope detection inside magic accessors
  • e9413c7: [Scheduler] postpone schedule creation

6.4 changelog:

  • 1698d1e: [Serializer] improve Logic Exception message
  • f6c7a74: [Serializer] deprecate annotations in favor of attributes
  • 8e36ac6: [Validator] deprecate annotations in favor of attributes
  • 32d4dfa: [Routing] deprecate annotations in favor of attributes
  • 47b95f2: [Form] support Translatable Enum
  • 5df1aba: [FrameworkBundle] fix using messenger 7.0
  • 8ec0d08: use typed properties in tests as much as possible
  • 0bac246: add types to private and internal properties
  • ad72245: [Runtime] fix property must not be accessed before initialization on SymfonyRuntime
  • c612bfc: [Mailer] fix deprecation versions
  • 649c8a1: [Mailer] update the Brevo SMTP host
  • 56f01c4: remove \ReflectionProperty::setAccessible(true) calls
  • 73e65dc: use more "First class callable syntax" + Normalize set_error_handler/set_exception_handler calls
  • fa38296: ensure all properties have a type
  • deb160a: [Serializer] fix tests for extended Context attributes
  • 60e7a5d: [SecurityBundle] allow an array of pattern in firewall configuration
  • 3666359: [FrameworkBundle] simplify marking store configuration
  • 767274c: add generics to the progress bar iteration methods
  • 70768ff: [Messenger, Process] add RunProcessMessage and RunProcessMessageHandler

7.0 changelog:

  • e377224: [FrameworkBundle] remove doctrine/annotations integration
  • 769c314: [SecurityBundle] remove deprecated XSD definitions
  • d33c00b: [Form] remove deprecations in form events
  • 67a869f: [Messenger] remove deprecated StopWorkerOnSignalsListener
  • 1935af6: more short closures + isset instead of null checks + etc
  • 44f5bf3: add types to public and protected properties
  • e76095e: [MonologBridge] remove support for monolog < 3.0
  • 0f656b1: [Scheduler] remove PHP <8.2 BC layer

Newest issues and pull requests

SymfonyCasts Updates

SymfonyCasts is the official way to learn Symfony.
Select a track for a guided path through 100+ video tutorial courses about
Symfony, PHP and JavaScript.

These were some of the most relevant SymfonyCasts updates
of the week:

They talked about us

Call to Action

Sponsor the Symfony project.