This week, Symfony 6.4.20 and 7.2.5 maintenance versions were released. In addition, Symfony successfully celebrated the SymfonyLive Paris 2025 conference and continued preparations for next week's SymfonyLive Berlin 2025 conference. Finally, we announced a new Core Team member who will be in charge of the Symfony CLI.

Symfony development highlights

This week, 67 pull requests were merged (47 in code and 20 in docs) and 31 issues were closed (19 in code and 12 in docs). Excluding merges, 41 authors made 17,541 additions and 6,746 deletions. See details for code and docs.

6.4 changelog:

  • 3df7170: [AssetMapper] update JsDelivrEsmResolver::IMPORT_REGEX to support dynamic imports
  • 8b43964: [Serializer] fix code skipped by premature return
  • 5a0d245: [Form] use duplicate_preferred_choices to set value of ChoiceType

7.2 changelog:

  • bc82b67: [TypeInfo] fix isSatisfiedBy not traversing type tree
  • 2f6b2e6: [Cache, DoctrineBridge, HttpFoundation, Lock, Messenger] use Table::addPrimaryKeyConstraint() with Doctrine DBAL 4.3+
  • 02161b7: [Serializer] fix ObjectNormalizer default context with named serializers

7.3 changelog:

  • cf5b2f0: [Console] add support for invokable commands in LockableTrait
  • 322995c: [Messenger] add --class-filter option to the messenger:failed:remove command
  • 6f598f9: [Routing] add alias in {foo:bar} syntax in route parameter
  • 6872336: [DoctrineBridge] add new DatePointType Doctrine type
  • 1492e46: [Security] add methods param in IsCsrfTokenValid attribute
  • 4fb2615: [FrameworkBundle, HttpKernel] allow configuring the logging channel per type of exceptions
  • 21b4dd7: added a new ObjectMapper component
  • 452ad95: [TypeInfo] add ArrayShapeType::$sealed
  • 7100c7b: [Mailer, Mime] refactor S/MIME encryption handling in SMimeEncryptionListener
  • f7aae0b: [JsonStreamer] max depth handling and JSON errors
  • 0b026f9: [TwigBundle] enable #[AsTwigFilter], #[AsTwigFunction] and #[AsTwigTest] attributes to configure runtime extensions
  • e282c2f: [Messenger] use newer version of Beanstalkd bridge library
  • d93dc9c: [FrameworkBundle] added binding for Object Mapper component
  • b5b0cbf: [Mailer] fix compatibility with TwigBridge < 7.3
  • f1e169e: [TypeInfo] require phpstan/phpdoc-parser to fully support sealed array shapes
  • 23e2230: [Messenger] add default exchange support in Amqp
  • 6ae4c85: [TwigBridge, Validator] add the Twig constraint and its validator
  • 38e0df1: added a new JsonPath component
  • 681d4e7: [JsonPath] fix error message when evaluating a resource
  • d442a43: [HttpKernel] remove always-true condition on existence of DI Autowire class
  • f6b63a2: [Console] deprecate returning a non-int value from a \Closure function set via Command::setCode()
  • 981b556: [FrameworkBundle] enable controller service with #[Route] attribute
  • 2f9677b: [TwigBridge] collect all deprecations with lint:twig command
  • cca60b4: [WebProfilerBundle] update the logic that minimizes the toolbar
  • 764fe52: [Notifier] deprecate sms77 Notifier bridge

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Lead Symfony Developer at Vacatia
    Full-time - $150,000 – $180,000 / year
    Remote + part-time onsite (Portland, Oregon, United States)
    View details
  • Backend Symfony Developer at Polavis
    Contract / Freelance - €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.

They talked about us

Call to Action

Published in #A week of symfony