$FLUTTER_ROOT/bin/cache/flutter.version.json reemplaza a $FLUTTER_ROOT/version
La salida de archivo de herramienta obsoleta '$FLUTTER_ROOT/version' ha sido reemplazada por '$FLUTTER_ROOT/bin/cache/flutter.version.json', y cualquier script de compilación o referencia a ella también debe actualizarse.
Resumen
#La herramienta flutter ya no
generará el archivo de metadatos $FLUTTER_ROOT/version, y
solo generará $FLUTTER_ROOT/bin/cache/flutter.version.json.
Las herramientas y scripts de compilación que dependen de la presencia de $FLUTTER_ROOT/version
deben actualizarse.
Contexto
#En 2023, se añadió $FLUTTER_ROOT/bin/cache/flutter.version.json
como un formato de archivo más nuevo
que reemplaza a $FLUTTER_ROOT/version.
Así que un archivo que se veía algo así:
3.33.0-1.0.pre-1070
Fue reemplazado por algo como esto:
{
"frameworkVersion": "3.33.0-1.0.pre-1070",
"channel": "master",
"repositoryUrl": "unknown source",
"frameworkRevision": "be9526fbaaaab9474e95d196b70c41297eeda2d0",
"frameworkCommitDate": "2025-07-22 11:34:11 -0700",
"engineRevision": "be9526fbaaaab9474e95d196b70c41297eeda2d0",
"engineCommitDate": "2025-07-22 18:34:11.000Z",
"engineContentHash": "70fb28dde094789120421d4e807a9c37a0131296",
"engineBuildDate": "2025-07-22 11:47:42.829",
"dartSdkVersion": "3.10.0 (build 3.10.0-15.0.dev)",
"devToolsVersion": "2.48.0",
"flutterVersion": "3.33.0-1.0.pre-1070"
}
Generar ambos archivos es una fuente de deuda técnica.
Guía de migración
#La mayoría de los desarrolladores de Flutter no analizan ni usan este archivo, pero las herramientas personalizadas o las configuraciones de CI podrían hacerlo.
Por ejemplo, el propio script de generación de api.flutter.dev del equipo de Flutter:
final File versionFile = File('version');
final String version = versionFile.readAsStringSync();
Se actualizó en 172601 a:
final File versionFile = File(path.join(checkoutPath, 'bin', 'cache', 'flutter.version.json'));
final String version = () {
final Map<String, Object?> json =
jsonDecode(versionFile.readAsStringSync()) as Map<String, Object?>;
return json['flutterVersion']! as String;
}();
Para optar por no participar temporalmente de la exclusión de $FLUTTER_ROOT/version:
flutter config --no-enable-omit-legacy-version-file
Timeline
#Introducido en la versión: 3.33.0-1.0.pre-1416
Lanzamiento estable: Aún no publicado
Una versión estable después de que este cambio se introduzca,
se eliminará --no-enable-omit-legacy-version-file.
Referencias
#Issues relevantes:
- Issue 171900, donde se programó la eliminación de
FLUTTER_ROOT/version
PRs relevantes:
A menos que se indique lo contrario, la documentación de este sitio refleja Flutter 3.44.0. Página actualizada por última vez el 2026-05-11. Ver código fuente oreportar un problema.