This week, Symfony 5.4.39, 6.4.7 and 7.0.7 maintenance versions were released. In addition, Symfony published the first beta of Symfony 7.1 so you can test it in your own applications before the final release at the end of May 2024.

Symfony development highlights

This week, 63 pull requests were merged (53 in code and 10 in docs) and 34 issues were closed (29 in code and 5 in docs). Excluding merges, 26 authors made 24,756 additions and 12,414 deletions. See details for code and docs.

5.4 changelog:

  • b4f9da4: [Dotenv] show overridden vars too when running debug:dotenv
  • ad0caee: [Cache] remove unwanted cast to int
  • 146efab: remove calls to onConsecutiveCalls()
  • 254a442: [Validator] handle union and intersection types for cascaded validations
  • ad82c43: [FrameworkBundle] move wiring of the property info extractor to the ObjectNormalizer
  • 6be16ad: [Filesystem] better distinguish URL schemes and Windows drive letters
  • c1ca4ca: [Messenger] accept AbstractAsset instances when filtering schemas
  • b3baa36: [Serializer] convert empty CSV header names into numeric keys
  • 04ee49a: [WebProfilerBundle] fix compatibility with Twig 3.10
  • 963b29d: [Serializer] separate the property info and write info extractors
  • fd8cee6: [Cache] fix support for predis/predis:^2.0
  • a48b386: [Serializer] fix GetSetMethodNormalizer not working with setters with optional args
  • 52099f9: [HttpClient] fix cURL default options for PHP 8.4
  • ca66c1c: [Validator] check Locale class existence before using it

6.4 changelog:

  • 0c764e7: [Validator] handle edge cases when constructing constraints with named arguments

7.0 changelog:

  • 6aa1ab7: [DependencyInjection] remove no longer needed PHP version check

7.1 changelog:

  • 95e8168: [TypeInfo] handle custom collection objects properly
  • 29b00c2: [Form] rename the model_type option to input and rework it
  • 09e3c5c: [TypeInfo] mark classes as experimental
  • 9a86584: [PropertyInfo] remove deprecations, mark TypeInfo as experimental
  • e02306b: [TypeInfo] ease getting base type on nullable types
  • 0302e1d: [DependencyInjection] deprecate #[TaggedIterator] and #[TaggedLocator]
  • 5bc490c: [DoctrineBridge, Validator] allow validating every class against unique entity constraint
  • 15956b2: [Routing] add {foo:bar} syntax to define a mapping between a route parameter and its corresponding request attribute
  • 66faca6: [DependencyInjection] add #[AutowireInline] attribute to allow service definition at the class level
  • b2e6e49: [DoctrineBridge] deprecate auto-mapping of entities in favor of mapped route parameters
  • e6c875e: [DependencyInjection] reset env vars when resetting the container
  • e2664e8: [Messenger] avoid DELETE statement flood when using Doctrine+MySQL backend
  • 03e0318: [Serializer] add XmlEncoder::CDATA_WRAPPING_PATTERN context option
  • 4c84578: [TwigBundle] deprecate base_template_class option
  • 44461bf: Add JoliCode as a sponsor of Symfony 7.1
  • 96d664e: [HttpClient] deprecate setLogger() methods of decorating clients
  • 162a1fa: [TypeInfo] rework isA to handle class names and improve isNullable
  • ef54646: [TwigBundle] fix deprecation warnings about base_template_class
  • c3615e6: [Security] add SymfonyCasts as a sponsor of the Security component for Symfony 7.1
  • 73ea99e: [Translation] AddCrowdin as a sponsor of its own translation bridge

Newest issues and pull requests

They talked about us

Call to Action

Published in #A week of symfony