This week, Symfony 5.4.41, 6.4.9, 7.0.9 and 7.1.2 maintenance versions were released. Meanwhile, the development activity was very intense, fixing bugs in maintained branches and adding new features to the upcoming Symfony 7.2 version, such as the WhenNot and AsMessage attributes.

Symfony development highlights

This week, 79 pull requests were merged (62 in code and 17 in docs) and 51 issues were closed (40 in code and 11 in docs). Excluding merges, 39 authors made 63,866 additions and 21,424 deletions. See details for code and docs.

5.4 changelog:

  • 4373db6: add Ibexa as a sponsor of Symfony 5.4
  • 1b18a07: [String] add alias case to EnglishInflector
  • d4de180: [DoctrineBridge] fix compatibility with DependencyInjection >= 6.4
  • 572ce41: [Filesystem] fix Filesystem::remove() on Windows
  • 6517957: [String] fix u()->snake(), b()->snake() and s()->snake() methods
  • 7beff57: [Console] test convert CompletionInput into string
  • fd32ec5: [Filesystem, Mime] fix transient tests
  • 19b4bf0: [HttpFoundation] fix MockArraySessionStorage to generate more conform ids
  • 4e57b84: [String] normalize underscores in snake()

6.4 changelog:

  • 10514a6: [Messenger] double check if pcntl function exists
  • 265aca5: [VarExporter] fix contravariance problem with __unserialize() in lazy proxy
  • bafe768: [Mailer] add additional headers in Scaleway bridge
  • 1c3c944: [AssetMapper] upgrade importmap polyfill
  • f8c5cf0: [VarDumper] fix FFICaster test to be platform-adaptable
  • 7bdfccf: [FrameworkBundle] throw runtime exception when trying to use asset-mapper while http-client is disabled
  • db6ddb2: [HttpKernel] enable optional cache-warmers when cache-dir is not build-dir
  • bc9964b: [SecurityBundle] remove unused memory users name attribute from the XSD
  • 088b13c: [FrameworkBundle] fix AssetMapper usage without assets enabled

7.0 changelog:

  • c9c8239: [DependencyInjection] fix regression in ordering service locators by priority

7.1 changelog:

  • c9c16e9: [Security] check token in payload instead just request
  • 48c1c3d: [DependencyInjection] fix phpdoc for $calls in class Autoconfigure
  • 8650176: [Serializer] fix access to wrong Type class
  • 14babeb: [HttpClient] fix initializing InformationalChunk
  • 8350e87: [Serializer] forward exceptions caught in the AbstractObjectNormalizer
  • 67563c1: [VarDumper] take the new DOM HTMLElement class into account
  • 5831979: [FrameworkBundle] fix warming up routes
  • 0af0679: [Serializer] use bool filter when FILTER_BOOL is set in ObjectNormalizer

7.2 changelog:

  • cd255c3: [Security] display authenticators in the profiler even if they are all skipped
  • ce67e41: [Messenger] add --format option to the messenger:stats command
  • 2cb470e: [Validator] add the format option to the Ulid constraint to allow accepting different ULID formats
  • 27be27a: [Messenger] introduce AsMessage attribute for message routing
  • dd29757: [ExpressionLanguage] add comment support to expression language
  • 0455a84: [DependencyInjection] add #[WhenNot] attribute
  • f35780f: unify how --format is handled by commands
  • 03d2bff: [Lock, Process] replace strtok calls
  • 4cdead1: [FrameworkBundle] lazy kernel.secret parameter resolving
  • 837bcc5: [Yaml] deprecate duplicate mapping keys containing null
  • 98f511e: [HtmlSanitizer] add support for configuring the default action
  • 8bf6952: [Serializer] rename object to data in NormalizerInterface::normalize
  • 685d131: [Mailer] add mailomat bridge

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.

This week, SymfonyCasts published the following updates:

They talked about us

Call to Action

Published in #A week of symfony