This week, we published an article about how we controlled 1,200 screens in real time with Symfony during SymfonyCon Amsterdam 2025. We also celebrated a new SymfonyCasts course on building Symfony bundles. Finally, we shared a blog post detailing 20 years of Symfony coding in numbers.

Symfony development highlights

This week, 46 pull requests were merged (36 in code and 10 in docs) and 50 issues were closed (47 in code and 3 in docs). Excluding merges, 17 authors made 7,318 additions and 64,211 deletions. See details for code and docs.

6.4 changelog:

  • 0be7608: [Validator] do not use PHPUnit mock objects without configured expectations
  • acbd949: [Serializer] do not skip nested null values when denormalizing
  • a923e6c: [PropertyInfo] fix calling same-named method with required args instead of reading public property
  • 5b5d253: [Messenger] fix negative delays with AMQP messenger transport
  • d8d73c4: [TwigBundle] align TemplateIterator handling of @! original bundle templates with TwigExtension
  • e10c89d: [AssetMapper] batch concurrent requests to prevent flooding jsdelivr
  • 9a3aeaf: [Cache, HttpFoundation] fix VARBINARY columns on sqlsrv
  • 5a30b21: [Cache] fix calling the callback wrapper for ChainAdapter
  • 146a71a: [Process] fix dealing with broken stdin pipes
  • 9e4fb25: [Translation] do not use PHPUnit mock objects without configured expectations
  • aefefb7: [Security] do not use PHPUnit mock objects without configured expectations
  • d397396: [Form] do not use PHPUnit mock objects without configured expectations
  • 9f33120: [Finder] fix converting unanchored glob patterns to regex
  • 2367752: [Serializer] fix inconsistent field naming from accessors when using groups

7.3 changelog:

  • a08dfee: [DependencyInjection] fix #[AutowireCallable] sometimes incorrectly inlined
  • 7087b4f: [JsonPath] fix calling non-static method statically
  • a669dfa: [Routing] fix simple parameter mappings in routes
  • 62a8a88: [JsonPath] use composer packages for JsonPath compliance test suite

7.4 changelog:

  • c12345d: [VarDumper] fix dumper selection for Accept: / requests

8.0 changelog:

  • c180896: [Messenger] add Cadoles as the backer of Messenger component

8.1 changelog:

  • ebb9ef0: don't use ->getDeclaringClass() when ->class is enough
  • 0406866: [DoctrineBridge] deprecate RegisterMappingsPass::$aliasMap
  • db21494: [Translation] keep catalogues if fallback locales have no change
  • 0562b8f: [AssetMapper] describe the shape of importmaps
  • c994a1b: [DependencyInjection] deprecate default index/priority methods when defining tagged locators/iterators

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • DevOps for a Symfony project at Dayuse
    Full-time - €50,000 – €60,000 / year
    Remote + part-time onsite (Paris, France)
    View details
  • Backend Symfony Developer at TreeHouse
    Full-time - €3,200 – €6,500 / month
    Rotterdam, Netherlands
    View details
  • Symfony Developer at 8mylez
    Full-time - €50,000 – €60,000 / year
    Full remote
    View details
  • Symfony Developer at FFTT
    Full-time - €50,000 – €55,000 / year
    Remote + part-time onsite (Paris, France)
    View details
  • Backend Symfony Developer at Edflex
    Full-time - €45,000 – €50,000 / year
    Remote + part-time onsite (Nantes, France)
    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

Published in #A week of symfony