A Week of Symfony #913 (24-30 June 2024)
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.
Symfony Blog