A Week of Symfony #965 (June 23–29, 2025)

This week, Symfony 6.4.23, 7.2.8 and 7.3.1 maintenance versions were released. Meanwhile, the upcoming Symfony 7.4 version continued adding new features such as better controller helpers, more precision in UUIDv7 values, and using PHP serialization instead of XML for dumping the container in debug/lint commands.

Symfony development highlights

This week, 81 pull requests were merged (60 in code and 21 in docs) and 43 issues were closed (25 in code and 18 in docs). Excluding merges, 33 authors made 13,876 additions and 6,338 deletions. See details for code and docs.

6.4 changelog:

  • 2cac9bc: [DependencyInjection] remove unused and non-existent Factory attribute use
  • 6b58568: [TwigBundle] fix preload unlinked class BinaryOperatorExpressionParser
  • 1eae08e: [Notifier] update fake SMS transports to use contracts event dispatcher
  • c6f3da1: [Intl] fix locale validator when canonicalize is true
  • 341e1bf: [DoctrineBridge] use native lazy objects on PHP 8.4+ when available
  • 6265ba0: [VarDumper] avoid deprecated call in PgSqlCaster
  • ff6d684: [Console] fix command option mode (InputOption::VALUE_REQUIRED)
  • 95c8509: [Uid] improve entropy of the increment for UUIDv7
  • a880ecb: [Serializer] fix collect_denormalization_errors flag in defaultContext
  • 53c18cf: [Cache] fix using a ChainAdapter as an adapter for a pool
  • ce3d3f7: [Console] table counts wrong number of padding symbols in renderCell() method when cell contain unicode variant selector
  • 5d0df9f: [Console] table counts wrong column width when using colspan and setColumnMaxWidth()

7.2 changelog:

  • cf0e627: [TypeInfo] use an EOL-agnostic approach to parse class uses
  • 4e3a96f: [TypeInfo] fix handling ConstFetchNode
  • 74dc977: [HttpKernel] fix #[MapUploadedFile] handling for optional file uploads

7.3 changelog:

  • be33344: [VarDumper] remove duplicate default caster for Socket
  • 716115c: [FrameworkBundle] also deprecate the internal rate limiter factory alias
  • 1714f71: [Validator] add missing HasNamedArguments to some constraints

7.4 changelog:

  • 138109a: [Console] add support for Invokable Commands in CommandTester
  • 7db556d: [HttpFoundation] deprecate using Request::sendHeaders() after headers have already been sent
  • 868f3dc: [Security] deprecate callable firewall listeners
  • a3c1d1f: [FrameworkBundle] allow using their name without added suffix when using #[Target] for custom services
  • aa4cbf6: [String] leverage grapheme_str_split() PHP function
  • f5390df: [SecurityBundle] also deprecate the internal rate limiter factory alias
  • 7e089a5: [DependencyInjection, FrameworkBundle] use php-serialize to dump the container for debug/lint commands
  • a7bd15e: [DependencyInjection] add argument $target to ContainerBuilder::registerAliasForArgument()
  • fa8b32e: [Uid] add microsecond precision to UUIDv7 and optimize on x64
  • 5838424: [FrameworkBundle] add ControllerHelper to provide the helpers from AbstractController as a standalone service
  • 4539661: [BrowserKit] add isFirstPage() and isLastPage() methods to History
  • 17473e1: [VarDumper] add support for adding more default casters to AbstractCloner::addDefaultCasters()
  • be5ec1a: [SecurityBundle] don’t break security.http_utils service decoration

8.0 changelog:

  • 60318a9: [HttpKernel, VarDumper] remove version numbers from @internal annotations
  • ba5e1d6: [Serializer] remove AdvancedNameConverterInterface
  • 3079218: [Serializer] remove deprecated compiled class meta data classes
  • 779dd40: [AssetMapper] remove ImportMapConfigReader::splitPackageNameAndFilePath()
  • 0cae29b: [Form] change UrlType default protocol
  • 6e40f04: [Validator] remove deprecated INVALID_BANK_CODE_ERROR constant
  • 19a87d2: [Translation] remove deprecated escape parameter from CsvFileLoader
  • 29f8fca: [HttpFoundation] remove deprecated session options from NativeSessionStorage
  • 0a9cc18: [SecurityBundle] remove deprecated hide_user_not_found option
  • afa287c: [Serializer] remove deprecated escape_char functionality from CsvEncoder

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Symfony Developer at Fegmo Inc
    Full-time – ₹600,000 – ₹2,000,000 / year
    Full remote
    View details
  • Backend Symfony Developer at Nomador
    Full-time – €60,000 / year
    Full remote
    View details
  • Backend Symfony Developer at Substância Binária
    Full-time – €2,000 – €5,000 / month
    Remote + part-time onsite (Almada, Portugal)
    View details
  • Backend Symfony Developer at Polavis
    Full-time – €30 – €45 / hour
    Full remote
    View details
  • Backend Symfony Developer at Cobbleweb
    Full-time – €40,000 – €75,000 / year
    Full remote
    View details

You can publish a Symfony job offer for free on symfony.com.

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:

They talked about us

Call to Action


Sponsor the Symfony project.

More From Author

Symfony 6.4.23 released

Case study: A Long-Term Powerhouse Behind Vente-unique.com’s E-Commerce Success (Zero Churn, All Wins!)

Leave a Reply

Your email address will not be published. Required fields are marked *