Change record status: 
Project: 
Introduced in branch: 
8.3.x
Introduced in version: 
8.3.5
Description: 

Prior to 8.4.x, the filter_format_permission process plugin had the ID of the filter format hard-coded to 'd6_filter_format' - if implementing a custom migration process with a different ID for the filter format migration then you would need to write a custom process plugin extending filter_format_permission to correctly complete the migration. With Drupal 8.4.0 you can simply provide a migration option pointing to your custom filter format migration.

Previously:
my_migration.yml:

...
  process:
...
    permission:
      plugin: my_filter_format_permission
      source: permission
...

MyFilterFormatPermission.php:

namespace Drupal\my_migrate_module\Plugin\migrate\process;

use Drupal\filter\Plugin\migrate\process\d6\FilterFormatPermission;
use Drupal\migrate\Plugin\MigrationInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;

/**
 * @MigrateProcessPlugin(
 *   id = "my_filter_format_permission"
 * )
 */
class MyFilterFormatPermission extends FilterFormatPermission {

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition, MigrationInterface $migration = NULL) {
    $migration_plugin_configuration = [
      'migration' => 'my_filter_format_migration',
    ];

    return new static(
      $configuration,
      $plugin_id,
      $plugin_definition,
      $migration,
      $container->get('plugin.manager.migrate.process')->createInstance('migration', $migration_plugin_configuration, $migration)
    );
  }

}

Now:

...
  process:
...
    permission:
      plugin: filter_format_permission
      source: permission
      migration: my_filter_format_migration
...
Impacts: 
Module developers