Change record status: 
Project: 
Introduced in branch: 
8.6.x
Introduced in version: 
8.6.3
Description: 

PluginManagerInterface extends MapperInterface, which provides ::getInstance($options). Most plugin managers extend PluginManagerBase whose ::getInstance() decorates a non-existent MapperInterface, and therefore error fatally. Because of this, and because $options is an untyped array, this is not a very good or useful API. As such its usage on PluginManagerInterface is discouraged, but because it is inherited from MapperInterface, not formally deprecated.

PluginManagerBase::getInstance() (and therefore most child classes) now throws an exception if the original behavior (using a decorated MapperInterface) would trigger a fatal error because no mapper existed.

Plugin manager wishing to use this method can continue doing so the way they have done in prior Drupal versions. You are, however, encouraged to design your own API that does not use MapperInterface::getInstance()'s overly generic $options, but parameters and return values specific to your plugin manager.

Impacts: 
Module developers