Change record status: 
Project: 
Introduced in branch: 
7.x-2.x
Introduced in version: 
7.x-2.0-beta1
Description: 

A new hook hook_feeds_processor_targets() has been added.
This hook should now be used to provide new targets, while the hook hook_feeds_processor_targets_alter() should be used now to alter existing targets.

You can still provide new targets via hook_feeds_processor_targets_alter(), but providing them in hook_feeds_processor_targets() makes it easier for other modules to alter your targets.

Before

/**
 * Implements hook_feeds_processor_targets_alter().
 */
function my_module_feeds_processor_targets_alter(&$targets, $entity_type, $bundle) {
  // Provide new target.
  $targets['my_target'] = array(
    'name' => t('My target'),
    'description' => t('Description of what my target does.'),
    'callback' => 'my_module_set_target',
  );

  // Alter existing target.
  if ($entity_type == 'node' && $bundle == 'article') {
    if (isset($targets['nid'])) {
      $targets['nid']['unique_callbacks'][] = 'my_module_mapper_unique';
      $targets['nid']['optional_unique'] = TRUE;
    }
  }
}

After

/**
 * Implements hook_feeds_processor_targets().
 */
function my_module_feeds_processor_targets($entity_type, $bundle) {
  $targets = array();

  // Provide new target.
  $targets['my_target'] = array(
    'name' => t('My target'),
    'description' => t('Description of what my target does.'),
    'callback' => 'my_module_set_target',
  );

  return $targets;
}

/**
 * Implements hook_feeds_processor_targets_alter().
 */
function my_module_feeds_processor_targets_alter(&$targets, $entity_type, $bundle) {
  // Alter existing target.
  if ($entity_type == 'node' && $bundle == 'article') {
    if (isset($targets['nid'])) {
      $targets['nid']['unique_callbacks'][] = 'my_module_mapper_unique';
      $targets['nid']['optional_unique'] = TRUE;
    }
  }
}
Impacts: 
Module developers