This module uses EntityTypeInterface::entityClassImplements(), which was added in 8.3.0 deprecating EntityTypeInterface::isSubclassOf. Installing it on an outdated core will cause the following error (specifically on the Mapping tab):

Error: Call to undefined method Drupal\Core\Entity\ContentEntityType::entityClassImplements() in Drupal\feeds\Feeds\Target\EntityReference::prepareTarget() (line 89 of modules/contrib/feeds/src/Feeds/Target/EntityReference.php).

For completeness (as 8.2.x is only recently EOL) it might be a good idea to add drupal:system (>= 8.3.0) to the module requirements.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

cburschka created an issue. See original summary.

cburschka’s picture

Status: Active » Needs review
FileSize
568 bytes
MegaChriz’s picture

Closed #2908959: Error using feeds 8.x-3.x on Drupal Core 8.2 as a duplicate. The issue contains a patch to re-add support for Drupal core 8.2.x by adding back the deprecated method isSubclassOf().

I'm not so sure if older versions of core should remain to be supported. Should they?

ajayg’s picture

When you are trying to deliver the very first new release for 8.x , you as a developer should choose what is the easiest to get it out and preferably later versions. Now that 8.4 is around the corner , my vote would be NOT supporting 8.2x.

cburschka’s picture

I agree; contrib projects should make use of the most recent stable version of core whenever possible.

And it's important to make these dependencies explicit, because a large website uses dozens of modules, and updates tends to take a lot of investigation which modules must be updated, which must be held back, and which need to be manually patched for forward or backward compatibility. Always better to get an error saying "this module version doesn't work on this core version" than having to hunt down why it crashes.

  • MegaChriz committed 7ad8496 on 8.x-3.x authored by cburschka
    Issue #2897213 by cburschka: Mark latest version as requiring core 8.3+.
    
MegaChriz’s picture

Status: Needs review » Fixed

I have asked someone from the Drupal core team and their advice was to also only officially support the latest stable Drupal core release. I think it makes sense to do that. This way we are free to use the latest API's during development.

Committed #2 with one small difference: I added a zero to the version string to follow how Commerce stated the dependency. It is now this:

dependencies:
  - drupal:system (>=8.3.0)

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.