This week, Symfony development focused on improving the IsGranted attribute with a new option, updated the Route attribute to allow setting multiple environments, improved the DomCrawler component to use the native HTML5 parser when using PHP 8.4 or newer and marking the JsonPath, JsonStreamer, and ObjectMapper components as no longer experimental.

Symfony development highlights

This week, 66 pull requests were merged (66 in code and 0 in docs) and 38 issues were closed (30 in code and 8 in docs). Excluding merges, 25 authors made 5,945 additions and 1,460 deletions. See details for code and docs.

6.4 changelog:

  • 7d2be52: [VarExporter] fix serializing classes with __serialize() returning unprefixed private properties
  • ab6a579: [Intl] ake timezoneTypes' ianaMap into account
  • bc35a39: [HttpFoundation] fix session cookie options assertions on PHP 8.5
  • a410ac7: [Security] ignore target route when exiting impersonation
  • 5c143ba: [Console] fix testing multiline question

7.3 changelog:

  • 4102229: [HttpKernel] fix #[MapUploadedFile] throws http exception on empty files array if argument not nullable nor has default value
  • da26e42: [WebProfilerBundle] hide WDT clearer when it is hidden
  • 650f171: [Messenger] use non-deprecated DBAL-API when available
  • 7c54399: [Console] restore SHELL_VERBOSITY after a command is ran
  • 211aaa4: [Messenger] fix name is already used by an existing object with Doctrine Oracle transport

7.4 changelog:

  • 034386e: [Validator] optimize serialized metadata and cleanup tests
  • feee7b7: [Serializer, Validator] make internal properties private
  • 7ed3a4b: [Mailer] add compatibility for Mailtrap's sandbox
  • 55e5c9e: [Config] reduce the size of serialized resource checkers
  • aa08fbe: [Console] fix name/alias/usages when an invokable command has an alias
  • 4f2ed0c: [Notifier] add TelegramOptions::messageThreadId()
  • b317ccd: [Notifier] add DiscordBotTransport
  • 0d47620: [Security] add $methods support to #[IsGranted] to restrict access by HTTP method
  • 6726234: [Routing] allow setting multiple envs in #[Route] attribute
  • e0365cc: [HttpFoundation] add support for structured MIME suffix
  • e2e4800: [Mailer] add suppression groups support in Sendgrid
  • 5ef1ccb: [Routing] add possibility to create a request context with parameters directly
  • af4323e: [HttpFoundation] don't check suffix on empty MIME type
  • b223c40: [Notifier] remove length checks in Discord
  • 8187625: [DomCrawler] use the native HTML5 parser on PHP 8.4
  • b086124: [HttpFoundation] use PHPUnit's native expectUserDeprecationMessage() method
  • ed38673: [Routing, Serializer] deprecate annotation aliases and getters and setters in favor of public properties on attributes
  • 32b347f: [TypeInfo] add extra type alias support
  • f10093d: [Console] add getter for the original command "code" object
  • b614d0a: [DependencyInjection, Routing] add JSON schema for validating and autocompleting YAML config files
  • 9556568: [Mailer] use the same transport for both Mailtrap's live and sandbox API
  • 12fb3d1: [FrameworkBundle, Routing] auto-register routes from attributes found on controller services
  • f37691b: [JsonPath, JsonStreamer, ObjectMapper] mark the components as no longer experimental
  • 01b49c0: [SecurityHttp] removes final keyword from IsGranted attribute
  • cd42aac: [ObjectMapper] embed collection transformer
  • ff682f8: [Messenger] add --exclude-receivers to messenger:consume command
  • 44f6c85: [Security] improve performance of RoleHierarchy::buildRoleMap method
  • cd7cfec: [FrameworkBundle] only show relevant columns in debug:router call and adding colors

8.0 changelog:

  • 21dddfb: [Routing] remove deprecated getEnv and setEnv methods
  • 102418d: [DomCrawler] always parse according to HTML5 rules thanks to the native DOM parser

Newest issues and pull requests

Symfony Jobs

These are some of the most recent Symfony job offers:

  • Backend Symfony Developer at Spyrit
    Full-time - €40,000 – €55,000 / month
    Remote + part-time onsite (Versailles, France)
    View details
  • Backend Symfony Developer at Evergrowth
    Full-time - €60,000 – €72,000 / year
    Full remote
    View details
  • Backend Symfony Developer at Eneba
    Full-time - €55,000 – €66,000 / year
    Full remote
    View details
  • Backend Symfony Developer at Citrus Systems
    Full-time - €3,000 – €6,000 / month
    Remote + part-time onsite (Belgrade, Serbia)
    View details
  • Lead Symfony Developer at Vacatia
    Full-time - $150,000 – $180,000 / year
    Remote + part-time onsite (Portland, United States)
    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.

They talked about us

Call to Action

Published in #A week of symfony