Change record status: 
Project: 
Introduced in branch: 
7.x-3.x
Introduced in version: 
7.x-3.1
Description: 

Removed functions:

bootstrap_hook_theme_complete()
bootstrap_find_theme_includes()

Added functions:

_bootstrap_get_base_themes()
_bootstrap_preprocess_theme_suggestion()
_bootstrap_process_theme_suggestion()
_bootstrap_process_theme_registry()
_bootstrap_process_theme_registry_suggestions()

Added hook implementation:

bootstrap_theme_registry_alter()

What changed?

Sub-themes now inherit base-theme theme registry alters

Sub-themes needed to explicitly implement hook_theme() and invoke bootstrap_hook_theme_complete() in order to get the same "detection" as the base theme. The entire altering process has now moved into the base theme's hook_theme_registry_alter(). Any sub-themes that implement this manual call in their hook_theme() implementation must be removed:

7.x-3.0

/**
 * Implements hook_theme().
 */
function SUB_THEME_theme(&$existing, $type, $theme, $path) {
  $hooks['subtheme_hook'] = array(
    'variables' => array(),
  );
  // Process existing registry.
  bootstrap_hook_theme_complete($existing, $theme, $path . '/theme');
  return $hooks;
}

7.x-3.1

If you implement custom hooks for your sub-theme, ensure the hook implementation doesn't invoke bootstrap_hook_theme_complete(). If no hooks are defined (ie: $hooks = array();) and this hook implementation was created just to allow the base theme to alter the registry for this sub-theme, then the entire hook can be removed.

/**
 * Implements hook_theme().
 */
function SUB_THEME_theme(&$existing, $type, $theme, $path) {
  $hooks['subtheme_hook'] = array(
    'variables' => array(),
  );
  return $hooks;
}

Independent [pre]process functions are invoked for theme hook suggestion

See #2223885: Detect standalone hook_[pre]process_THEME_HOOK__SUGGESTION implementations for examples.

Impacts: 
Site builders, administrators, editors
Module developers
Themers
Updates Done (doc team, etc.)
Online documentation: 
Not done
Theming guide: 
Not done
Module developer documentation: 
Not done
Examples project: 
Not done
Coder Review: 
Not done
Coder Upgrade: 
Not done
Other: 
Other updates done