A Week of Symfony #884 (4-10 December 2023)


This week, Symfony celebrated the SymfonyCon Brussels 2023 conference with great success. During the hackday, the community contributed many bug fixes and new features for the upcoming Symfony 7.1 version. Lastly, we announced the next SymfonyCon edition: SymfonyCon Vienna 2024 (December 5 – 6, 2024).

Symfony development highlights

This week, 73 pull requests were merged (40 in code and 33 in docs) and 44 issues were closed (32 in code and 12 in docs). Excluding merges, 49 authors made 10,323 additions and 48,883 deletions. See details for code and docs.

5.4 changelog:

  • a0b3913: [Serializer] fix nullable int cannot be serialized
  • 650f153: [Messenger] avoid reconnecting active Redis connections
  • 57f60d0: [Console] fix xterm detection
  • 7f778ac: [Dotenv] properly handle SYMFONY_DOTENV_VARS being the empty string
  • 7121397: [Console] fix color support check on non-Windows platforms
  • ff864b1: [Mailer] stop using the (local) AWS shared configuration in PHPUnit
  • be829a9: [Validator] update Slovak translations

6.3 changelog:

  • db099a3: [HttpKernel] catch TypeError if the wrong type is used in BackedEnumValueResolver
  • 1c87e55: [ExpressionLanguage] fix null coalescing propagation
  • c481dba: [WebProfilerBundle] fix intercept external redirects
  • 83b5c67: [VarDumper] test intl formatter broken since dumper does not replace the nnbsp character by standard space
  • 27bc8d6: [FrameworkBundle] added missing XML attribute in Webhook config XSD

6.4 changelog:

  • a314b65: [SecurityBundle] fix redeclaration of InternalSecurity class when opcache preload is active
  • f58cf04: [WebProfilerBundle] fix "Copy as cURL"
  • f0099d9: [FrameworkBundle] fix profiling command in web context
  • fec8909: [FrameworkBundle] fix profiling commands without router

7.0 changelog:

  • abf4125: [WebProfiler] fix unclosed JS script cannot be parsed

7.1 changelog:

  • ca43978: [CssSelector, Serializer, Translation, Command] clean unused code
  • 4644f47: [PropertyInfo] make PhpDocExtractor::getDocBlock() public
  • e6c260d: [HttpFoundation] add UploadedFile::getClientOriginalPath() to support directory uploads
  • 11f09e0: [Messenger] improve PHPDoc descriptions of attribute classes and properties
  • dc330b0: [Messenger] add --all option to messenger:consume
  • 5d50fa8: [PropertyAccess, Serializer] fix "type unknown" on denormalize
  • 05b677c: [Mailer] dispatch event for Postmark's "inactive recipient" API error
  • 229cbf2: [Workflow] add getEnabledTransition() method annotation to WorkflowInterface
  • 48951a0: [Cache, Messenger] make both options redis_sentinel and sentinel_master available everywhere
  • c4e97eb: [HttpClient] add HttpOptions->addHeader as a shortcut to add an header in an existing options object
  • 088bd94: [Mailer] add Azure bridge
  • 37634c6: [Form] errors Property Paths mismatch CollectionType children when removing an entry
  • 5ae3df5: [Security, SecurityBundle] add #[IsCsrfTokenValid] attribute

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.7.4
and 5.7.5
versions with the following changes:

  • Avoid adding the same service more than once in psh configs (@fabpot)
  • Add --api flag to local:new command to create a new API project (@pierredup)

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.

This week, SymfonyCasts continued publishing videos of a new course called 30 Days with LAST Stack which is free until January 15, 2024:

They talked about us

Call to Action

Sponsor the Symfony project.