Change record status: 
Project: 
Introduced in branch: 
8.6.x
Introduced in version: 
8.6.0-alpha1
Description: 

Symfony has deprecated \Symfony\Component\HttpKernel\Controller\ControllerResolverInterface::getArguments(). We need to use \Symfony\Component\HttpKernel\Controller\ArgumentResolverInterface instead and inject a service that implements it into the HttpKernel instead.

If you have a class that is using the controller_resolver service and is calling its ::getArguments() method you need to use the http_kernel.controller.argument_resolver as well. If you are only calling ::getArguments() you should remove the controller_resolver service if it is injected.

Core services updated to use the http_kernel.controller.argument_resolver instead are:

  • plugin.manager.menu.local_action / Drupal\Core\Menu\LocalActionManager
  • plugin.manager.menu.local_task / Drupal\Core\Menu\LocalTaskManager
  • controller.form / Drupal\Core\Controller\HtmlFormController
  • controller.entity_form / Drupal\Core\Entity\HtmlEntityFormController
  • early_rendering_controller_wrapper_subscriber / Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber

Core service updated to use the http_kernel.controller.argument_resolver as well are:

  • title_resolver / Drupal\Core\Controller\TitleResolver
  • http_kernel.basic / Symfony\Component\HttpKernel\HttpKernel

Note if you extend one of these classes already and called the constructor with controller_resolver service it will still work because the service implements the ArgumentResolverInterface but it will trigger deprecation messages.

Impacts: 
Module developers