A Week of Symfony #887 (25-31 December 2023)


This week, Symfony 5.4.34, 6.3.11, 6.4.2 and 7.0.2 maintenance versions were released. Meanwhile, development activity was intense and the upcoming Symfony 7.1 version added new methods to convert between UUID versions, a new model_type option for the Money form field and a new Charset constraint. Lastly, we published a recap of the 2023 year for the Symfony project.

Symfony development highlights

This week, 95 pull requests were merged (72 in code and 23 in docs) and 49 issues were closed (40 in code and 9 in docs). Excluding merges, 45 authors made additions and deletions. See details for code and docs.

5.4 changelog:

  • 6d288bf: [Notifier] require login and password in Smsc bridge
  • d9ce166: [Dotenv] allow environment variables starting with an underscore
  • 386e238: [HttpKernel] fix default locale is ignored when set_locale_from_accept_language is used
  • 6ca338d: [Validator] update Arabic translation
  • 1ab3cb4, 385e0ca: [Validator] update Serbian translation
  • 0b9b56c: [Validator] update Chinese translation
  • 83ceac2: [Validator] update Lithuanian translation
  • 2f25c5b: [Validator] update Slovenian translation
  • 5b124b8: [Validator] update Finnish translation
  • a72c35b: [Validator] update French translation
  • 461c437: [Validator] update German translation
  • bb7e1ab: [Validator] update Polish translation

6.3 changelog:

  • daca45f: [DoctrineBridge] adapt deprecation message to include ODM bundle attribute name
  • c529c4e: [Translation] use project language mapping in Crowdin provider
  • 83ee0ea: [WebProfilerBundle] fix the design of the compact toolbar button
  • b98a25a: [VarDumper] fix CSS alignment in HtmlDumper
  • 4fee3d9: [Serializer] skip uninitialized properties with deep_object_to_populate
  • 64f6ac2: [RateLimit] test and fix peeking behavior on rate limit policies
  • c7f40f3: [Cache] fix expiration time for CouchbaseCollection

6.4 changelog:

  • aad8531: [Intl] fix emoji files (remove wrong characters / add missing data)
  • c12ab3d: [AssetMapper] improve link generation script
  • 4e10a49: [RateLimiter] fix RateLimit->getRetryAfter() return value when consuming 0 or last tokens

7.1 changelog:

  • e85fa2c: [Uid] add UuidV1::toV6(), UuidV1::toV7() and UuidV6::toV7()
  • 1d35045: [HttpKernel] add HttpException::fromStatusCode()
  • 5c25195: [HttpKernel] allow #[WithHttpStatus] and #[WithLogLevel] to take effect on interfaces
  • ba209bc: [HttpClient] rename addHeader() to setHeader()
  • 8499c81: [Validator] add the Charset constraint
  • 367be4b: [Mailer, Notifier] simplify transport service registration + sorting
  • edfba7a: [Notifier] add sms-sluzba.cz bridge
  • 922d21c: [AssetMapper] add integrity hash to the default es-module-shims script
  • 269ab1a: [Validator] support Stringable instances in CharsetValidator
  • 167c90b: [Notifier] add Seven.io bridge
  • f5d993b: [Form] add "model_type" option to MoneyType
  • 366baef: [Notifier] add support for sending to external user ids in OneSignal bridge

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.7
version with the following changes:

  • Update supported Platform.sh services
  • Stop using a deprecated flag on goreleaser (@fabpot)

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.