This week, Symfony development activity was very intense. First, we continued removing some container injections in favor of service locators. Then, we replaced the wildcard-based method autowiring by @required annotation and deprecated X-Status-Code for a better alternative. Finally, we added support for making form types private services and optimized the Symfony router matcher.

Symfony development highlights

2.7 changelog:

  • 70be4ba: [Intl] updated ICU data to 58.2
  • 0f353ad: [Serializer] reduced nesting in YamlFileLoader
  • ffc1cd5: [Config] fixed emacs link in DirectoryResource
  • 8175248: [Form] fixed ChoiceType to ensure submitted data is not nested unnecessarily
  • 0581218: [Form] improved rounding precision
  • c579b96: [Routing] ignored hidden directories when loading routes from annotations
  • d45008d: [HttpFoundation] provided less state in getRequestFormat

3.2 changelog:

  • d5d68c0: [PhpUnitBridge] prevented registering the test listener twice
  • 6d39fd4: [Process] fixed ignoring of bad env var names
  • 891f4e7: [FrameworkBundle] updated PHPStorm helper to the official format
  • cadc313: [PhpUnitBridge] disabled global test listener when not registered

Master changelog:

  • 43bff22: [PhpUnit Bridge] introduced weak vendors mode
  • 77f7a47: removed some container injections in favor of service locators
  • 924c1f0: [Security] deprecated multiple providers in context listener
  • 7f012b6: [DependencyInjection] fixed ServiceLocatorArgument::setValues() for non-reference values
  • b69ca56: [DependencyInjection] added missing dumped private services list in a container frozen constructor
  • adc6ba5: [DependencyInjection] simplified AutowirePass
  • 9e1b567: [Routing] optimized dumped router matcher, prevent unneeded function calls
  • 59a3b51: [Config, FrameworkBundle] lazy loaded resource checkers
  • d1da474: [Form] allowed form types + form type extensions + form type guessers to be private services
  • 2353a34: [HttpKernel] added a ContainerControllerResolver
  • 4a70919: [Routing] added full route definition for invokable controller/class
  • 526d396: [DependencyInjection] made the service container builder register its own self referencing definition
  • 4aa9508: [Console] explicitly passed options without value (or empty) should remain empty
  • 28a00da: [HttpKernel] deprecated X-Status-Code for better alternative
  • 576ae1c: [HttpFoundation, Session] added a convenient method to get AttributeBagInterface
  • 085ba9e: [Yaml] parse omitted inlined mapping values as null
  • 69374da: [DependencyInjection] used a service locator in AddConstraintValidatorsPass
  • c10f89f: [Validator] refactored file constraint logic
  • 3fa8a05: [DependencyInjection] replaced wildcard-based methods autowiring by @required annotation
  • e2e9c94: [Config] sort "globbed" paths to make them predictable
  • 3b4a8f3: [Doctrine Bridge] added support for classes with __toString in DoctrineDataCollector
  • 50b9126: [FrameworkBundle] introduced autowirable ControllerTrait
  • f9d0d3d: [Router] followed symlinks and skip dots in the annotation directory loader

Newest issues and pull requests

They talked about us

Published in #A week of symfony