This week, Symfony development activity focused on finishing and polishing some features, mostly about the Messenger, HttpClient and Mailer components. Meanwhile, the full Symfony Mailer component was finally unveiled during the SymfonyLive Paris 2019 conference.
Symfony development highlights
This week, 86 pull requests were merged (66 in code and 20 in docs) and 40 issues were closed (39 in code and 1 in docs). Excluding merges, 51 authors made 9,251 additions and 1,489 deletions. See details for code and docs.
- 2d00024: [Validator] fixed annotation default for @count and @Length
- ee5d7fd: [Validator] improved constraint default option check
- 2b73460: [Routing] fixed routes annotation loading with glob pattern
- cc6bfea: [Serializer] added check of constuctor modifiers to AbstractNormalizer
- e3bbf8d: [Serializer] fixed getSetMethodNormalizer to correctly ignore the attributes
- c79e52a: [Validator] updated the Vietnamese translations
- 8d7e002: [FrameworkBundle] properly describe service definitions without class
- 84ce070: [Serializer] used object class resolver when extracting attributes
- 438940f: [DependencyInjection] added test asserting service with factory is not tagged
- fdb0490: [Cache] ensured key exists before checking array value
- 31cd26b: [Form, Console] use dumper
- 47a2f58: [FrameworkBundle] debug container environment variables
- c146744: [Validator] added constraint on unique elements collection
- 5ca968d: [Messenger] added missing information in messenger logs
- 0034a0f: [Messenger] avoid dispatching SendMessageToTransportsEvent on redeliver
- 79aeed6: [Form] allow to specify message to display in TransformationFailedException
- c949f9a, 3edb79f: [Contracts, EventDispatcher] added EventDispatcherInterface to symfony/contracts and use it where possible
- bc18e39: [DependencyInjection] deprecated non-string default envs
- 8952c02: [PropertyInfo] added possibility to extract private and protected properties in reflection extractor
- 0c02a40: [Asset] added an alias for each assets package
- 19c6639: [Mime] fixed serialization of Message instances
- a35ad63: [Finder] get filename without extension
- 93018de: [Mime] added BodyRendererInterface
- 91b0afa: [Messenger] added a command to setup transports
- 71c33c1: [Validator] allowed brackets in the optional query string
- 8551ec7: [DependencyInjection] ServiceProviderInterface, implementation for ServiceLocator
- c30f462: [Messenger] added optional parameter "prefetching" for AMQP connection
- efb6414: [HttpClient] correctly clean state on destruct in CurlResponse
- 37b616f: [Messenger] changed message handling log levels to higher levels
- b12351a: [Messenger] ReceiverInterface::handle() to get() & Worker with prioritized transports
- 6ffad7b: [Messenger] added the "sync" transport to call handlers synchronously
- 30b9617: [Finder] throw a dedicated exception for non-existing directory
- e9e2f21: [HttpKernel] changed $previous argument for HttpException to \Throwable
- 845cf9e: added the Mailer component
- c128d50: [Mailer] fixed SMTP support when a message cannot be sent
Newest issues and pull requests
- [Security] Split tokens in authentication-request and authenticated ones
- [RFC][Form] Data transformer as a service
- [Serializer] Better support for (de-)normalization of Doctrine Entities
- [DX] Add resolved parameter values on container:debug
- Apply validation constraints to form types, even if guessing is disabled
They talked about us
- [SymfonyLive Paris slides] Symfony on steroids : Vue.js, Mercure, Panther
- Symfony Request Tips
- Serializer Component with Symfony
- Symfony Routes and Stand Alone Controllers
- My local server with the Symfony binary
- Cómo enviar requests con la cookie de sesión mediante Guzzle y Symfony
- Nuevo en Symfony 4.3: Mejoras en los validadores financieros
- Nuevo en Symfony 4.3: Temas de formulario más sencillos
- Nuevo en Symfony 4.3: Nuevos procesadores de variables de entorno
- Nuevo en Symfony 4.3: Mejoras en el componente DomCrawler
- Nuevo en Symfony 4.3: Deprecando alias de servicios
- Symfony 4.3: Melhorias no Roteamento
- Disparo de Eventos mais Simples no Symfony 4.3
Upcoming Symfony Events
- Treffen der Symfony User Group Hamburg: Hamburg, Germany (April 2)
- Symfony User Group Nürnberg: Nürnberg, Germany (April 8)
- CMS and symfony: Trondheim, Norway (April 11)
- 8. PHP Symfony User Group Basel: Basel, Switzerland (May 16)
- Symfony Meetup III / 2019: Frankfurt, Germany (May 28)
Call to Action
- Give Symfony a star on GitHub
- Follow Symfony on Twitter and retweet this article.
- Follow Symfony on Medium and clap for this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.