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.
- 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
- 5dfc9f3: [Cache] fix generating proxies when ext-redis v6 is installed
- f65b0a4: [VarExporter] fix calling scope detection inside magic accessors
- 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
- 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
- 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
- [RFC] Deprecate Command $name constructor argument
- [RFC] Shrink recipes for v7
- [Validator] Not circular reference constraint
- [Form] Translation of labels
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:
- (Video) AssetMapper: Modern JS with Zero Build System, Chapter 12: Adding Stimulus
- (Video) AssetMapper: Modern JS with Zero Build System, Chapter 13: Symfony UX Stimulus Packages
- (Video) AssetMapper: Modern JS with Zero Build System, Chapter 14: Lazy Stimulus Controllers
- (Video) AssetMapper: Modern JS with Zero Build System, Chapter 15: Debugging
They talked about us
- Symfony Station Communiqué - 28 July 2023
- Conecta con ChatGPT desde Symfony en 10 minutos
- Microservice symfony, sécuriser les APIs avec Keycloack (Bearer token)
- Как написанный на Symfony Kbin покоряет Threadiverse
Call to Action
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.