A Week of Symfony #851 (17-23 April 2023)


This week, we continued polishing the new features of the upcoming Symfony 6.3, which will be released in just five weeks. We also published the first blog posts of the New in Symfony 6.3 series. Finally, we announced new talks for the SymfonyOnline June 2023 conference.

Symfony development highlights

This week, 77 pull requests were merged (71 in code and 6 in docs) and 37 issues were closed (33 in code and 4 in docs). Excluding merges, 48 authors made 5,503 additions and 2,627 deletions. See details for code and docs.

5.4 changelog:

  • 1a5e19b: [Filesystem] avoid leading .. for temporary files from Filesystem recursive remove
  • 651b9d6: [Serializer] unexpected value should throw UnexpectedValueException
  • 887c7b0: [Form] cast choices value callback result to string
  • af5b340: [PropertyAccess] readonly properties must have no PropertyWriteInfo
  • bee9131: [HttpFoundation] fix memory limit problems in BinaryFileResponse
  • 8b65de5: [Mailer] use body MessageID instead of X-MJ-Request-GUID for Mailjet
  • 0c5246f: [Messenger] fix warning message on failed messenger show command
  • ba49bda: [Messenger] fixed problem with Redis where worker stops handling messages on first empty message
  • 6aacbd9: [VarDumper] make the server TCP connection sync
  • 6470cc4: [PhpUnitBridge] fix PHPUnit 10.1 compatibility
  • 5ba3046: [Mime] form field values with integer keys not resolved correctly
  • 6366ed2: [Messenger] fix deprecation layer of RedeliveryStamp
  • 2e66dcc: [Console] fix computing column width containing multibyte chars
  • 4d15479: [Process] path resolution changes for PHP in the cgi-fcgi mode
  • 1a06b3b: [HttpKernel] add tests for DataCollector
  • 831e0ca: [Validator] fix support of Enum to ConstraintValidator::formatValue
  • 659000f: [HttpClient] fix global state preventing two CurlHttpClient instances from working together
  • d1d7539: [Cache] fix success interpretation when pruning cache
  • 638703d: [Cache] send Predis SSL options in the $hosts parameter
  • 7589ff6: [Console] fix the list of supported shells for completions in a phar

6.2 changelog:

  • 20ee89c: [DependencyInjection] fallback to default value when autowiring undefined parameters for optional arguments
  • a79fe36: [DependencyInjection] fix support for inner collections when using
  • 5269b70: [Translation] fix locale vs LanguageId in Crowdin Bridge
  • b3bfdf9: [VarExporter] fix forwarding references to proxied classes
  • e1bcdd5: [Security] make onAuthenticationSuccess Response optional
  • 6f77fa0: [DependencyInjection] do not ignore tags name attribute when it does not define their name
  • 180eb01: [Console] fix the usage of the zsh completion through the fpath discovery

6.3 changelog:

  • 773cb9d: [Routing] convert BackedEnums passed as controller action parameters to their value
  • 849831c: [Validator] add value_length parameter to Length constraint
  • 0eb0320: [HttpKernel] add #[MapQueryParameter] to map and validate individual query parameters to controller arguments
  • 3712d2e: [HttpKernel] don't use eval() to render ESI/SSI
  • ff336fa: [Intl] allow compressing emoji and data maps
  • 03ca033: [BrowserKit, HttpClient] update the value of some user agents to comply with the RFC 9110 specification
  • 6378563: [Form] don't render seconds for HTML5 date pickers unless "with_seconds" is explicitly set
  • bfd34b3: [Form] deprecate not configuring the "widget" option of date/time form types
  • f709c6e: [Serializer] add types to private and internal properties
  • 474239a: [HttpKernel] collect data from every event dispatcher
  • 33da4c8: [HttpClient] allow using multiple base_uri as array for retries
  • 887c960: [HttpKernel] enhance MapRequestPayload adding format and validation group
  • ed2414d: [HttpClient] add JsonMockResponse
  • 7bdd344: [Security] added error code to UserPassword constraint
  • 3761915: [HttpFoundation] clear IpUtils cache to prevent memory leaks
  • e957514: [HttpClient] support file uploads by nesting resource streams in body option
  • 6584f1a: [Security] create Controller Argument Resolver for Security Token
  • c02173f: [HttpFoundation] add Request::getPayload()
  • eece9de: [HttpKernel] enhance MapQueryString adding validation group
  • 24b1b02: [Config] improve GlobResource performance
  • 805f207: [Lock] add the void return type in Lock interfaces

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.