The migration_lookup plugin throws a MigrateSkipProcessException if the source id to lookup value is considered invalid. Prior to this change, the plugin incorrectly used a simple empty() check to determine validity. This prevented the plugin from looking up valid keys of '0', float 0.0 integer 0.
With this change, the lookup plugin properly processes zero as a valid input, returning a looked up value, stub or null depending on the configuration and lookup data.
Any migration desiring this behavior (For example a hierarchy migration where a parent id of zero means this is a top level item and the parent id field should be skipped) should call the skip_on_empty plugin directly before the migration_lookup plugin in their process pipeline.
Before
When using the migration_lookup plugin, anly lookup key that would be considered empty() was treated as invalid input and triggered a MigrateSkipProcessException exception. Valid lookup keys such as 0, 0.0 and "0" were not processed.
After
When using the migration_lookupplugin, only NULL, an empty array, an empty string, and boolean FALSE are considered invalid input and trigger a MigrateSkipProcessException exception.
Integer 0, float 0.0, and string "0" are properly treated as valid lookup values and processed according to the plugin configuration.