This week, Symfony 6.2.1 maintenance version was published. Meanwhile, we started working on the new features of the upcoming Symfony 6.3 version (to be released at the end of May 2023): we introduced build parameters, deprecated the ProxyManagerBridge package and added a ClockAwareTrait to help write time-sensitive classes. Lastly, we celebrated the SymfonyWorld Online 2022 Winter Edition conference.

Symfony development highlights

This week, 97 pull requests were merged (58 in code and 39 in docs) and 68 issues were closed (57 in code and 11 in docs). Excluding merges, 50 authors made 8,245 additions and 1,703 deletions. See details for code and docs.

5.4 changelog:

  • 75f8547: [VarDumper] ignore \Error in __debugInfo()
  • e807503: [RateLimiter] add int to Reservation::wait()
  • 5ac1693: [HttpFoundation] IPv4-mapped IPv6 addresses incorrectly rejected

6.0 changelog:

  • 9674008: [FrameworkBundle] remove check of undefined service in mailer assertions

6.1 changelog:

  • fc10553: [FrameworkBundle] add kernel.locale_aware tag to LocaleSwitcher

6.2 changelog:

  • 97f0ce8: [DependencyInjection] remove refs that point to container.excluded services when allowed
  • 4cb2a86: [Mailer] fix rendered templates for notifications
  • 7d45767: [HttpKernel] fix using entities with the #[Cache()] attribute
  • ee94cc9: [DependencyInjection] fix ContainerBuilder stats env usage with enum
  • 4c42336: [DependencyInjection] generate different classes for ghost objects and virtual proxies
  • 1e8fe5d: [FrameworkBundle] fix removing commands if console not available
  • 0d95f41: [DoctrineBridge] skip resolving entities when the corresponding request attribute is already an object
  • 78408a4: [VarExporter] fix calling parent::__wakeup() when unserializing with LazyProxyTrait
  • 10cf4b0: [Cache] sync Redis6Proxy with upstream
  • 1663784: [Security] fix invalid deprecation messages in Security constants

6.3 changelog:

  • 6c8f6b3: [DependencyInjection, HttpKernel] introduce build parameters
  • f57a837: [VarDumper] add caster for WeakMap
  • 309b10a: [Clock] add ClockAwareTrait to help write time-sensitive classes
  • aee9ea5: [Notifier] add Mastodon Notifier
  • 97f0ce8: [DependencyInjection] remove refs that point to container.excluded services when allowed
  • 94d6bbb: [Console] do no preprend empty line if the buffer is empty
  • 6dc7330: [ProxyManagerBridge] deprecate the package
  • 5424054: [Notifier] remove dependency symfony/uid on Notifier bridges
  • dc27349: [Notifier] allow missing optional dependency in FakeSms
  • 9ef729e: [DomCrawler, FrameworkBundle] add assertSelectorCount()
  • 50694f2: [Form] call getChoicesForValues() once, to prevent several SQL queries
  • ed1e8be: [Console] remove exit() call in last SignalHandler
  • 96993d9: [Validator] add {{pattern}} to Regex constraint violations
  • 030514f: [Console] add placeholder formatters per ProgressBar instance
  • 0c465c5: [Serializer] add encoder option for saving options
  • f35572f: [DependencyInjection] use WeakReference to break circular references in the container
  • 6e63db7: [Notifier] add options to SmsMessage
  • 0f24e41: [Notifier] allow missing optional dependency in FakeChat
  • c7f82de: [FrameworkBundle] allow to configure or disable the Notifier message bus to use

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

Published in #A week of symfony