Since the Entity Reference module was initially added to core, most of its functionality (field widgets, formatters, the selection plugins, the autocomplete form element) has been moved from the module namespace into various places inside \Drupal\Core
. Now the transition has been completed and all of the remaining code from the module has been split away into more appropriate places.
The entity_reference.module is now empty, and does not provide any functionnality of its own. In order to preserve bakwards compatibility:
- The classes it provided have been kept in place as empty classes extending the actual Core classes, and have been marked deprecated (for removal in Drupal 9).
- The module is now hidden and not enabled by default in the Standard profile. The update path keeps the module enabled on Drupal 8 installs where it was enabled so far, but there is otherwise no reason to ever enable it, nor for any configuration to ever depend on it.
For module developers:
- Test classes, modules and installation profiles don't have to depend on the 'entity_reference' module anymore
- Contributed modules that extend
\Drupal\entity_reference\ConfigurableEntityReferenceItem
should rather extend\Drupal\Core\Field\Plugin\Field\FieldType\EntityReferenceItem
instead - Default configuration shipped in modules or install profiles config/install/*.yml or config/optional/*.yml should avoid listing 'entity_reference' as a module dependency, in order to avoid enabling a needless module.