A Week of Symfony #843 (20-26 February 2023)


This week, the upcoming Symfony 6.3 version experienced an intense development activity to finish many new features such as: adding a remember me option for JSON logins, allowing to trim parameters in XML config files, introducing a new Exclude attribute, allowing to define the batch size in Messenger component and allowing to extend the Autowire attribute.

Symfony development highlights

This week, 89 pull requests were merged (64 in code and 25 in docs) and 35 issues were closed (28 in code and 7 in docs). Excluding merges, 46 authors made 12,970 additions and 8,104 deletions. See details for code and docs.

5.4 changelog:

  • cd75615: fix phpdocs in HttpClient, HttpFoundation, HttpKernel, Intl components
  • 490fa24: [WebProfilerBundle] render original (not encoded) email headers
  • 6627291: [Workflow] remove new lines from workflow metadata
  • dee9e76: [Mailer, Translation] remove some static occurrences that may cause unstable tests
  • eb9db6c: [Contracts] fix setting $container before calling parent::setContainer in ServiceSubscriberTrait
  • e9bd2ab: [Cache, Messenger] fixed CallbackInterface support in async expiration handler
  • 879b5d1: [TwigBridge] do not drop embed label classes
  • 3db2dd6: [MonologBridge] FirePHPHandler::onKernelResponse throws PHP 8.1 deprecation when no user agent is set
  • 0955438: [Validator] sync IBAN formats with Swift IBAN registry
  • 01a222b: [Validator] fix translation of AtLeastOneOf constraint message
  • 111af45: [FrameworkBundle] fix denyAccessUnlessGranted for mixed attributes
  • 2a633cf: [VarDumper] fix error when reflected class has default Enum parameter in constructor
  • cfda9b4: [Translation] handle the translation of empty strings
  • e364f02: [TwigBridge] allow floats in html5 input type number field
  • 5bc4d55: [Workflow] display label with new lines + colours properly when rendering a PUML dump
  • 51b859f: [Console] fix ApplicationTest::testSetSignalsToDispatchEvent() when ran alon

6.2 changelog:

  • 49092e3: [Form] skip password hashing on empty password
  • 0eb0ae5: [SecurityBundle] fix Security::login() on specific firewall
  • 6bd3af0: [Mailer] update Infobip API transport
  • 1498f91: [Console] fix fatal error when accessing Application::signalRegistry without pcntl

6.3 changelog:

  • b7cb458: [TwigBundle] add alias deprecation for Twig_Environment
  • 84658da: [DependencyInjection] allow trimming service parameters value in XML configuration files
  • 798efba: [DependencyInjection] improve dumping closure of service closure
  • bef46c8: [DependencyInjection] allow extending Autowire attribute
  • fb03495: [Mailer] add option to enable Sandbox via dsn option sandbox=true
  • 7008ae6: [Messenger] allow to define batch size when using BatchHandlerTrait with getBatchSize()
  • 72cb6a6: [HttpKernel] add skip_response_headers to the HttpCache options
  • f523468: [Validator] implement countUnit option for Length constraint
  • 6d29f32: [DependencyInjection] include value type when unable to dump a service container
  • 24a5f20: [DependencyInjection] only dump array keys when value is not a list
  • 7e2c026: [DependencyInjection] remove static from closures
  • c2eae43: [DependencyInjection] use short arrow closure for EmptyIterator
  • db16802: [DependencyInjection] only include $containerRef in compiled container when needed
  • a736d6a: [FrameworkBundle, HttpKernel] configure ErrorHandler on boot
  • 0a9a264: [WebProfilerBundle] fix the rendering of query explanation with Postgresql
  • 22c576b: [FrameworkBundle] allow disabling dumping of container to XML to improve performance
  • fa37492: [FrameworkBundle] add framework.http_cache.skip_response_headers option
  • f3722d5: [FrameworkBundle, HttpKernel] display warmers duration on debug verbosity for cache:clear command
  • dcfb5b8: [DependencyInjection] add support for Exclude attribute
  • b87aa86: [Mailer] add MailerSend bridge
  • 681905b: [DependencyInjection] exclude current id from non-existent references alternatives
  • 23ea82d: [Notifier] add Pushover bridge
  • 7ed43d1: [Serializer] replace the MissingConstructorArgumentsException class with MissingConstructorArgumentException
  • 0d57a3f: [HttpClient] add UriTemplateHttpClient
  • 41e8f3f: [Security] add remember me option for JSON logins
  • 3b207f2: [FrameworkBundle, HttpClient] refactor http_client decoration strategy
  • ad17631: [DependencyInjection] optimize out "current()" when it's used as service factory

Newest issues and pull requests

Symfony CLI

Symfony CLI is a must-have tool when developing
Symfony applications on your local machine. It includes the
Symfony Local Server,
the best way to run local Symfony applications. This week Symfony CLI released
its new 5.5.1
version with the following changes:

  • Update Go to 1.20 and bump deps (@tucksaun)
  • Tweak PSH extensions list generator (@tucksaun)
  • Prevent directory traversal (@tucksaun)
  • Fix version command by upgrading deps (@fabpot)
  • Fix some typos and grammar issues (@javiereguiluz)
  • Fix deprecated used of github.com/docker/docker/client (@tucksaun)
  • Fix deb packaging for ARM v6/v7 (@tucksaun)
  • Fix Platform.sh PHP extension parsing (@fabpot)
  • Enable releasing for ARM v6 and v7 (@tucksaun)
  • Add support for MongoDB username and password (@tucksaun)

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.