This week, the Symfony book published its update for Symfony 8.1 in multiple languages. Meanwhile, we completed the New in Symfony 8.1 series, continued the New in Twig 4.0 series with articles about the sandbox and expression parsers, and launched a new series about Symfony AI. Finally, we released new Symfony UX versions to address two security issues.

Symfony development highlights

This week, 50 pull requests were merged (41 in code and 9 in docs) and 26 issues were closed (23 in code and 3 in docs). Excluding merges, 24 authors made additions and deletions. See details for code and docs.

6.4 changelog:

  • 0fa12cc: [Console] use mb_convert_encoding() instead of mb_convert_variables()
  • 641dfc5: [EventSourceHttpClient] prevent re-yielding of the first chunk after reconnect
  • b63682d: [FrameworkBundle] detect env placeholders in resolved route parameter values
  • 12b6775: [Cache, DoctrineBridge, HttpFoundation, Lock, Messenger] restore compat with DBAL 4.5
  • fa6a014: [SecurityBundle] fix state leak in LogoutUrlGenerator in async environments
  • 0adc102: [AssetMapper] fix stale dev asset cache in long-running runtimes
  • e8a584b: [Validator] avoid TypeError and improve DX when null groups
  • 5bb95c5: [Finder] fix recursion into stream wrapper subdirectories on Windows
  • 30edcae: [Serializer] fix #[Ignore] on a getter ignoring a same-name property
  • 422ed49: [Cache] ensure RelayProxy compatibility with Relay extension 0.30.0
  • 22dcfb3: [Serializer] honor csv_headers context when no_headers is true

7.4 changelog:

  • 271ce83: [Mailer] register MicrosoftGraphTransportFactory in Transport::FACTORY_CLASSES
  • b637a7c: [ObjectMapper] fix mapping of private properties from parent classes
  • 75631ea: [FrameworkBundle, TwigBridge] relax test assertions for generated _fragment URI

8.1 changelog:

  • 623dd2d, 695a290: [Contracts] rename ContainerAwareInterface to ContainerProviderInterface
  • 99e481b: [DependencyInjection] fix deprecation when handling tagged iterator YAML short syntax
  • 5bab0d0: [Translation] create Crowdin files before uploading translations
  • 6f5fd7f: [ObjectMapper] handle N targets per source in reverse class map
  • ffa738f: [ObjectMapper] fix self-referencing property mapping
  • 2b1b0a2: [Messenger] fix #[AsMessage] on abstract classes
  • 0baccf6: [Messenger] fix Messenger commands don't yet make use of listable Redis capabilities
  • 88ca572: [ObjectMapper] fix reverse class mapping of private properties from parent classes

8.2 changelog:

  • 01c6e89: [Yaml] restrict block parser regexps to the ASCII grammar
  • 2f32cf4: [SecurityHttp] make OidcTokenHandler allowedTimeDrift configurable
  • 44e07fc: [Translation] remove CrowdinProviderTest::testWriteWithTooManyRequests()
  • 1d21790: [TypeInfo] add support for covariant templates

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Backend Symfony Developer at SensioLabs Deutschland
    Full-time - €60,000 – €75,000 / year
    Full remote
    View details
  • Lead Symfony Developer at DocuPet
    Full-time - CA$140,000 – CA$180,000 / year
    Full remote
    View details
  • Backend Symfony Developer at KRUU GmbH
    Full-time - €60,000 – €75,000 / month
    Remote + part-time onsite (Bad Friedrichshall, Germany)
    View details
  • DevOps for a Symfony project at Cloudpepper
    Full-time - $150,000 – $180,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

Upcoming Symfony Events

Call to Action

Published in #Living on the edge