This week, Symfony improved handling of HTTP/2 PUSH and fixed support for 103 Early Hints status code in the HttpClient. Meanwhile, the Mailer component added support for multiple mailers and improved the DSN syntax. Finally, the Console component introduced a new definition list and horizontal table feature.
Symfony development highlights
This week, 76 pull requests were merged (57 in code and 19 in docs) and 47 issues were closed (39 in code and 8 in docs). Excluding merges, 28 authors made 3,797 additions and 1,487 deletions. See details for code and docs.
- 726999d: [PHPUnit Bridge] avoid registering listener twice
- 38514cb: [Validator] sync string to date behavior and throw a better exception
- 33c02ae: [Validator] add ConstraintValidator::formatValue() tests
- 206ad49: [HttpKernel] fixed Apache mod_expires Session Cache-Control issue
- 47a8784: [HttpKernel] fixed getFileLinkFormat() to avoid returning the wrong URL in Profiler
- ca16f52: [Mailer] fixed Mailgun support when a response is not JSON as expected
- 4ee3c6b: [DependencyInjection] fixed support for '!tagged_locator foo'
- c0f4037: [Validator] only handle numeric values in DivisibleBy
- f48ebfa: [HttpClient] improved handling of HTTP/2 PUSH and disable it by default
- a99a480: [HttpClient] fixed a bug preventing Server Pushes to be handled properly
- 29355c0: [HttpClient] fixed support for 103 Early Hints and other informational status codes
- 828e5a4: [Mailer] maintained sender/recipient name in SMTP envelopes
- d081f16: [Messenger] fixed empty amqp body returned as false
- 54a514f: [Router] routing cache crash when using generator_class
- ef2b65a: [Mailer] renamed getName() to toString()
- 378abfa: [Mailer] changed the DSN semantics
- 2ad7f97: [Mailer] added support for multiple mailers
- 9690562: [Translator] allow nullable message ID
- 1bfefef: [TwigBridge] lint all templates from configured Twig paths if no argument was provided
- bb3652a: [ErrorHandler] registered a basic exception handler for late failures
- a1a914e: [ErrorHandler] display deprecations for not-autoloaded classes
- 6988286: [Mailer] improve an exception when trying to send a RawMessage without an Envelope
- b7371ea: added new ErrorController + Preview and enabling there the error renderer mechanism
- eb0ffbc: [Validator] deprecated CacheInterface in favor of PSR-6
- 8e50eb9: comparing roles to detected that users has changed
- b58876c: [Mailer] check email validity before opening an SMTP connection
- d6ac452: [Mailer] changed DSN syntax
- 8f84347: [Console] added support for definition list and horizontal table
- 4234601: deprecated not passing dash symbol (-) to STDIN commands
- 8aa708e: [VarDumper] display fully qualified title
- e776419: [OptionsResolver] display full nested option hierarchy in exceptions
- dc75ae2: new welcome page on startup for 4.4 LTS & 5.0
- 6916822: [Serializer] allow multi-dimenstion object array in AbstractObjectNormalizer
- 4a32a98: [HttpFoundation] cast getInt to integer
- 6651ee9: [TwigBundle] removed legacy code
- 407652b: made dispatched events really final
Newest issues and pull requests
- [WebProfiler] Deprecated intercept_redirects in 4.4 and remove it in 5.0
- [RFC][DX][EventDispatcher] Add EventListener class to setup single-event listeners
- [RFC] Add some Twig filters/functions and remove others in new Symfony apps
- Feature Request / Console / ConsoleEvents::STOP
- [HttpClient] Support expanded query strings
They talked about us
- Symfony. Validate an object based on its previous version
- PHP Internals News: Episode 26: Making Symfony ready for PHP 7.4
- Creating a dockerised Symfony application and a Makefile based build script
Upcoming Symfony Events
- Symfony User Group Osnabrück: Osnabrück, Germany (September 12)
Call to Action
- Give Symfony a star on GitHub
- Follow Symfony on Twitter and retweet this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.