wp-includes/class-wp-theme-json-schema.php:45Function that migrates a given theme.json structure to the last version.
$theme_jsonarray$originstringoptional'theme'array public static function migrate( $theme_json, $origin = 'theme' ) { if ( ! isset( $theme_json['version'] ) ) { $theme_json = array( 'version' => WP_Theme_JSON::LATEST_SCHEMA, ); } // Migrate each version in order starting with the current version. switch ( $theme_json['version'] ) { case 1: $theme_json = self::migrate_v1_to_v2( $theme_json ); // Deliberate fall through. Once migrated to v2, also migrate to v3. case 2: $theme_json = self::migrate_v2_to_v3( $theme_json, $origin ); } return $theme_json; }Introduced in 5.9.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
src/wp-includes/class-wp-theme-json-schema.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.