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.
- 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()
- 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
- c9c8239: [DependencyInjection] fix regression in ordering service locators by priority
- 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
- 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
- [Validator] Create a Timestamp validation constraint
- Wire or deprecate CompiledClassMetadataFactory
- [Serializer][RFC] recursive object normalizer
- [FrameworkBundle] Split var/build/ from var/cache/ when compiling for the prod env
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:
- (Video) Symfony 7 Fundamentals: Services, Config & Environments: Non-Autowireable Services
- (Video) Symfony 7 Fundamentals: Services, Config & Environments: Environment Variables
- (Video) Symfony 7 Fundamentals: Services, Config & Environments: Autoconfiguration
- (Video) Symfony 7 Fundamentals: Services, Config & Environments: The Prod Environment
They talked about us
- Symfony Station Communiqué - 28 June 2024
- Using PHP Attributes to Create and Use a Custom Validator in Symfony
- Generating deterministic UUIDs from arbitrary strings with Symfony
- Small Forms Bundle
- Creating your own security attribute with Symfony
- Symfony UX 's Icons polish your projects to a Professional and Authoritative sheen
- Tribus Software: The Release of Symfony 7.1
- Database encryption at PHP Symfony Web App
Call to Action
- Follow Symfony on X, on Mastodon, on Bluesky and on Threads and share this article.
- Subscribe to the Symfony blog RSS and never miss a Symfony story again.