Backwards compatibility is inadvertently discarding $options

Created on 22 August 2025, 23 days ago

The changes in πŸ› New parameters introduced in MigrateExecutable class constructor Active to attempt backwards compatibility is inadvertently discarding any $options provided as the third argument to the constructor.

If the MigrateExecutable constructor is invoked with the old method signature (three arguments with the third as an array), the value passed to $keyValue will not be copied over to $options and will be lost.

When an array is provided as the third argument, the code is checking whether $options is already set:

if (!isset($options)) {
  $options = $keyValue;
}

But this is problematic because $options defaults to an empty array so it will always be set. $keyValue is updated to be the KeyValueFactoryInterface and the options array passed to the constructor is lost.

πŸ› Bug report
Status

Active

Version

6.1

Component

Code

Created by

πŸ‡ΊπŸ‡ΈUnited States mediabounds

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024