Notas de la versión de Flutter 1.7.8
Notas de la versión para Flutter 1.7.8.
La versión 1.7.8 es un seguimiento de la versión estable 1.5.4 de mayo, proporcionando 1289 PR fusionados y cerrando 184 problemas. Los temas principales de esta versión son:
- Soporte para paquetes de 32 bits y 64 bits en Android
- Gran cantidad de funciones y soluciones de iOS, incluyendo edición de texto mejorada y localización
- Soporte para AndroidX para nuevos proyectos a través de la bandera --androidx de 'flutter create'
- Un nuevo widget: el RangeSlider
Como se detalla en nuestra hoja de ruta, también seguimos con el trabajo continuo en el motor (engine) y framework de Flutter para admitir la activación de objetivos de web y escritorio; sin embargo, esto aún no está listo para el uso general.
Soporte para paquetes de Android de 32 bits y 64 bits
#A partir del 1 de agosto de 2019, las aplicaciones Android que usan código nativo y tienen como objetivo Android 9 Pie deberán proporcionar una versión de 64 bits además de la versión de 32 bits al publicarse en Google Play Store. Dado que todas las aplicaciones Flutter incluyen código nativo, este requisito afectará a las nuevas aplicaciones Flutter enviadas a la tienda, así como a las actualizaciones de aplicaciones Flutter existentes. Esto no afecta a las versiones de aplicaciones existentes publicadas en la tienda.
Esta versión incluye soporte para compilar app bundles y APK que admiten binarios tanto de 32 bits como de 64 bits, completando nuestro trabajo en https://github.com/flutter/flutter/issues/31922. Al usar esta versión para compilar una aplicación Android, tu App Bundle o APK ahora admite arquitecturas de CPU tanto de 32 bits como de 64 bits por defecto.
Cambios disruptivos
#La siguiente es la lista de cambios rompedores en esta versión junto con descripciones de cada cambio y cómo manejarlo en tu código de Flutter.
- #29188 Corregir 25807: implementar move en el widget sliver multibox
- #29683 Mostrar/ocultar barra de herramientas y tiradores según el tipo de dispositivo
- #30040 Implementar recorrido de foco para plataformas de escritorio, edición calzador.
- #30579 PointerDownEvent y PointerMoveEvent predeterminan los botones a 1
- #30874 Rehacer "Eliminar la personalización de presión de algunos eventos de puntero"
- #31227 Agregando CupertinoTabController
- #31574 Mejorar la consistencia del comportamiento del callback de RadioListTile
- #32059 corregir problema 14014 campo de texto de solo lectura
- #32842 Permitir que el estado hero "desde" sobreviva a la animación hero en una transición push
- #33148 Colores personalizados en ExpandIcon
- #33164 eliminar Layer.replaceWith debido a falta de uso y pruebas
- #33370 Actualizar FadeInImage para usar nuevas API de Image
- #34051 Widgets integrados de texto, rediseño de TextSpan (#30069)" con compatibilidad hacia atrás mejorada
- #34095 Edición de texto de Cupertino a oltip, rediseñado
- #34501 [Material] Corregir TextDirection y selector elegido para RangeSliderThumbShape y RangeSliderValueIndicatorShape
- #33946 Reaplicar "Widgets integrados de texto, rediseño de TextSpan"
Cambios por fallos severos
#También hemos solucionado varios problemas de fallos en esta versión.
- #31228 Corregir excepción de Global Keys duplicadas en ExpansionPanelList
- #31581 Corregir excepción al eliminar (dispose) TabBarView anidado
- #34460 Devolver la capacidad de anular el motor local en Gradle
iOS
#Seguimos enfocándonos fuertemente en el soporte de iOS en Flutter, incluyendo edición de texto mejorada y localización en esta versión.
- #29809 Corregir barra de herramientas de selección de texto que aparece debajo de obstrucciones
- #29824 Localización de Cupertino paso 8: crear gen_cupertino_localizations y generar una para cupertino inglés y francés
- #29954 Localización de Cupertino paso 9: agregar pruebas
- #30129 Corregir control de actualización en la demo de galería, actualizar comentarios
- #30224 Localización de Cupertino paso 10: actualizar el README de flutter_localizations
- #31039 Corregir bundle id en el lanzamiento de iOS usando flutter run
- #31308 Se agregó negrita a la fuente cuando isDefaultAction es true en CupertinoDialogAction
- #31326 Agregar más iconos de cupertino shuffle
- #31332 Los tiradores de selección de iOS son invisibles
- #31464 Revisión de fidelidad de CupertinoPicker
- #31623 corregir deslizamiento desde el borde y soltado de nuevo en el punto inicial
- #31644 Localización de Cupertino paso 12: enviar traducción para todos los idiomas soportados
- #31687 Centrar el cursor de texto de iOS, eliminar desplazamientos constantes que no escalan
- #31763 Corregir cálculo de thumbExtent de ScrollbarPainter y agregar relleno
- #31852 Los tiradores de selección de texto a veces no son interactivos
- #32013 Traducción al turco de Cupertino
- #32086 Corregir callback onRefresh de CupertinoSliverRefreshControl
- #32469 Permitir que CupertinoNavigationBarBackButton tome un onPressed personalizado
- #32513 Localización de Cupertino paso 12 intento 2: enviar traducción para todos los idiomas soportados
- #32620 Se agregó ScrollController a TextField
- #32823 Agregar enableInteractiveSelection a CupertinoTextField
- #32974 Corregir estilo de CupertinoTextField deshabilitado
- #33450 No devolver null de IosProject.isSwift
- #33624 Corrección de fallo de CupertinoTabScaffold
- #33634 Que haya barras de desplazamiento
- #33653 Incluir consejo sobre dispose en la API de TextEditingController
- #33684 Deshabilitar rutas de entrada y salida de CocoaPods en la fase de compilación de Xcode y adoptar el nuevo sistema de compilación de Xcode
- #33739 corregido textAlign del placeholder de cupertinoTextField
- #33852 Deshabilitar rutas de entrada y salida de CocoaPods en la fase de compilación de Xcode y adoptar el nuevo sistema de compilación de Xcode
- #34293 Cambiar developmentRegion de Xcode a 'en' y CFBundleDevelopmentRegion a DEVELOPMENT_LANGUAGE
- #34964 CupertinoTextField.onTap
Android
#En esta versión, hemos mejorado el soporte para Android con un nuevo soporte para AndroidX por parte de un colaborador externo (¡Gracias, Josh!) y dando soporte a paquetes de APK de 64 bits y 32 bits en cumplimiento con la política actualizada de Google Play Store.
- #31028 Agrega soporte para generar proyectos que usan librerías de soporte de AndroidX
- #31359 Eliminar soporte para compilar parches dinámicos en Android
- #31491 Permitir que adb stdout contenga el número de puerto sin fallar
- #31835 Selección minuciosa (cherry-pick) de la solución ADB CrOS para beta
- #32787 Soporte para 32 y 64 bits
- #33191 Eliminar dos puntos del nombre de la tarea de Gradle ya que está obsoleto
- #33611 Usar el nuevo generador directo ELF de Dart para empaquetar blobs AOT como librerías compartidas en APKs de Android
- #33696 Generar librerías compartidas ELF y permitir librerías multi-abi en APKs y App bundles
- #33901 Responder a eventos de foco de AndroidView.
- #33923 [flutter_tool] Rastrear tiempo de cálculo del sha del APK
- #33951 Agregar a la lista blanca el código de salida de corrupción de heap de adb.exe.
- #34066 Agrega la bandera androidX a la plantilla pubspec.yaml de un módulo para que se configure…
- #34123 Generar librerías compartidas ELF y permitir librerías multi-abi en APKs y App bundles
Material
#Esta versión incluye una serie de mejoras en los componentes de Material existentes, incluyendo el DatePicker, SnackBar y TimePicker, así como un nuevo componente: el RangeSlider.
- #30572 [Material] Constructor de Slider adaptativo
- #30884 [Material] Actualizar TabController para admitir Tabs dinámicos
- #31018 [Material] estilos de etiqueta seleccionados/no seleccionados + temas de icono en BottomNavigationBar
- #31025 se agregó la propiedad scrimColor en el widget Scaffold
- #31275 Actualizar SnackBar para permitir soporte del nuevo estilo de la especificación Material
- #31295 Mejorar la conexión de ThemeData.accentColor con el color secundario
- #31318 Agregar BottomSheetTheme para permitir personalizar el tema del color, elevación y forma de BottomSheet
- #31438 Implementa el manejo de foco y hover para botones Material.
- #31514 Excepciones de diseño de Date picker
- #31566 TimePicker pasa al modo de minutos después de la selección de hora
- #31662 se agregó la propiedad shape a SliverAppBar
- #31681 [Material] Crear un Range Slider personalizable (continuo y discreto)
- #31693 Agrega una nota al onChange de Radio/RadioListTile
- #31902 Docs de primaryColor actualizadas para hacer referencia a las propiedades de colorScheme
- #31938 Actualizar scrimDrawerColor con formato const adecuado
- #32053 Aumentar objetivos táctiles de TimePicker
- #32070 renombrar foreground y background a light y dark #32527 Se agregó la propiedad 'enabled' al PopupMenuButton
- #32726 Material no debería evitar que ScrollNotifications se propaguen hacia arriba
- #32904 Usar reverseDuration en Tooltip e InkWell
- #32911 Destello del tirador de texto al presionar prolongadamente en Material
- #33073 Propiedad shape de SliverAppBar
- #34869 [Material] Llamar adecuadamente a onChangeStart y onChangeEnd en Range Slider
- #32950 Material permite "seleccionar todo" cuando no está contraído
Web
#El trabajo en la funcionalidad web continúa con la fusión del código del repositorio flutter_web en el repositorio principal de flutter, proporcionando una experiencia de desarrollador más simple para esta tecnología en fase preliminar. Ya hemos compilado muchas de las muestras existentes de Flutter para web. ¡Disfrútalo!
- #32360 Permitir que flutter web se me compile con flutter
- #33197 Conectar hot restart y reconstrucciones incrementales para web
- #33406 Agregar indirección segura para web a los getters de Platform.isPlatform
- #33525 Agregar capacidad a flutter test –platform=chrome
- #33533 Reaplicar - Conectar hot restart y reconstrucciones incrementales para web
- #33629 Agregar reinicio más real para web usando el protocolo de inspección de webkit
- #33859 Reaplicar soporte de flutter test en plataforma chrome
- #33892 agregar benchmarks para rastrear el tamaño en web
- #33956 Generar código para un punto de entrada para aplicaciones web de flutter
- #34018 Agregar flutter create para la web
- #34084 hacer increíble la ejecución en la web
- #34112 Separar implementaciones de web e io de imágenes de red (network image)
- #34159 Usar definición de producto para flutter web y eliminar el servidor de activos adicional
- #34589 Eliminar la mayor parte de la lógica objetivo para compilar web, limpiar reglas
- #34856 establecer el nombre del dispositivo en Chrome
- #34885 Reaplicar: renombrar dispositivo web
Escritorio
#El soporte experimental para escritorio en Flutter también continúa, con muchas mejoras en lo básico necesario en escritorio como hover, recorrido de foco, atajos, acciones ¡e incluso mandos de juego! También hemos continuado simplificando la experiencia del desarrollador, sobre lo cual puedes leer aquí. Esto es muy incipiente, pero si estás probando el soporte de escritorio en Flutter, por favor registra los problemas cuando los encuentres.
- #30076 Implementa características de FocusTraversalPolicy y DefaultFocusTraversal.
- #30339 Agregar botones a gestos
- #31329 Agregar script de compilación de Xcode para el objetivo macOS
- #31515 Soporte para motor local y sincronización de activos para macOS
- #31567 Eliminar la necesidad de scripts de build/name en el escritorio Linux
- #31631 Enseñar a Linux a usar el motor local
- #31699 Reaplicar: Agregar soporte para hover en Tooltip
- #31802 Reaplicar "Corregir barra de herramientas de selección de campo de texto bajo Opacity (#31097)"
- #31819 Rehacer: Agregar botones a gestos
- #31873 Agregar verificaciones básicas de escritorio en Linux
- #31935 Rehacer#2: Agregar botones a gestos
- #32025 Hacer que el Listener de Hover respete las transformaciones
- #32142 Corregir RenderPointerListener para que los callbacks no se llamen en el momento equivocado.
- #32335 Enseñar msbuild de flutter para Windows
- #32776 Soporte de foco y hover en campos de texto.
- #32838 Tiradores ocultos por el teclado
- #32914 Hacer que hover y focus no respondan cuando los botones y campos están deshabilitados.
- #33090 [Material] Agregar soporte para color de texto al pasar el mouse (hovered), presionar (pressed) y enfocar (focused) en botones.
- #33277 Implementar soporte para macOS en flutter doctor
- #33279 Corregir un problema en la determinación del primer foco.
- #33298 Agregar acciones y soporte para mapa de atajos de teclado
- #33443 Envolver la invocación de compilación de Windows en un script batch
- #33454 asegurar que desempaquetar declare los artefactos requeridos
- #33477 Corregir la llamada a onExit cuando se retira el mouse.
- #33540 Pasar variables del motor local a la compilación de Windows
- #33608 Reestructurar archivos de proyecto de macOS
- #33632 Actualizar los keycodes desde la fuente
- #33636 Implementar soporte de herramientas de plugin para macOS
- #33695 Agregar sinónimos de pseudo-teclas para teclas como shift, meta, alt y control.
- #33868 Soporte para botones de mando de juegos
- #33872 Agregar soporte 'doctor' para Windows
- #33874 Evitar que el doctor web de windows inicie chrome
- #34050 limitar archivos abiertos en macOS al copiar activos
- #34376 Agregar piezas faltantes para soporte de 'driver' en macOS
- #34755 Agregar implementación de linux doctor
Animación, desplazamiento e imágenes
#En esta versión, seguimos puliendo las animaciones, el desplazamiento y el soporte de imágenes.
- #21896 Desplazamiento de bottom sheet
- #28834 Lista animada sliver #29677 Corregir cálculo de rectTween de hero cuando Navigator no está a pantalla completa
- #32730 Agregar reverseDuration a AnimationController
- #32843 Se agregó un dispose faltante de un AnimationController que filtraba un ticker.
- #31832 Permitir arrastrar DSS cuando sus hijos no llenan la extensión
- #33627 Bandera SliverFillRemaining para diferentes casos de uso
- #32853 Agregar callback onBytesReceived a consolidateHttpClientResponseBytes()
- #32857 Agregar debugNetworkImageHttpClientProvider
- #32936 Agregar claridad a la API del listener de ImageStream
- #33729 Actualizar consolidateHttpClientResponseBytes() para usar compressionState
- #33369 Agregar soporte de carga a Image
Tipografía y accesibilidad
#También continuamos avanzando hacia una excelente tipografía y accesibilidad, incluyendo soporte para acceder a funciones específicas de fuentes OpenType, como se demuestra en esta muestra.
- #31987 Ancho de ajuste de texto
- #33230 Soporte del framework para características de fuentes en estilos de texto
- #33808 corregir que ExpansionPanelList combine la semántica del encabezado cuando no es necesario
- #34368 Corregir semantics_tester
- #34434 Corregidos de semántica
Fundamentos
#Como siempre, seguimos puliendo los fundamentos.
- #30388 Agregar hintStyle en SearchDelegate
- #30406 Agregar argumento de constructor binaryMessenger a canales de plataforma
- #30612 Se agregaron parámetros requeridos a FlexibleSpaceBarSettings
- #30796 Error de ancho de TextField no delimitado
- #30942 rectMoreOrLess es igual, preparación para rects de 64 bits
- #31282 Dejar de almacenar en caché previamente los artefactos para el modo dinámico.
- #31485 Evitar que se lance una excepción en hasScrolledBody
- #31520 No agregar OpacityLayer vacía al motor (engine)
- #31526 reemplazar lector de registro no-op con implementación real
- #31757 Hacer síncronas las fábricas de FlutterProject
- #31807 Hacer const disponible para clases que anulan AssetBundle
- #31825 Corregir sentencias de retorno faltantes en literales de función
- #31861 Agregar relleno horizontal a los cálculos de etiquetas de Chip restringidos
- #31868 Manejar errores de notificación
- #31889 Comenzar a abstraer las compilaciones de lógica de plataforma detrás de una interfaz compartida
- #32126 Incrementar la versión de multicast_dns
- #32192 Transformar PointerEvents al sistema de coordenadas local del receptor de eventos
- #32328 Agregar migas de pan (breadcrumbs) a TextOverflow
- #32434 Soporte para reemplazar el TabController, después de eliminar el antiguo
- #32528 Tocar un modal bottom sheet no debería descartarlo por defecto
- #33152 ModalRoute reanuda el foco anterior en didPopNext
- #33297 Instrumentar flujos de Add to app
- #33458 Medición de Add to app
- #33462 Corregir escalado de texto de estilo strut
- #33473 corregir error de redondeo 23723
- #33474 Corregido fallo de DropdownButton cuando se usaba un estilo que no incluía fontSize
- #33475 Mover declaración de manejadores semánticos de detectores a reconocedores
- #33488 usar toFixedAsString y DoubleProperty en diagnosticProperties
- #33802 El doble toque doble alterna en lugar de error
- #33876 Reaplicar "Soporte del framework para características de fuentes en estilos de texto"
- #33886 Agregar currentSystemFrameTimeStamp a SchedulerBinding
- #33955 Agregar localFocalPoint a ScaleDetector
- #33999 Actualizando MediaQuery con viewPadding
- #34055 Corrección de excepción al alternar barra de herramientas
- #34057 Agregar propiedad endIndent a Divider y VerticalDivider
- #34068 corregir flecha de selección vacía al hacer doble clic en texto de solo lectura vacío…
- #34081 Reportar errores de callback asíncronos que actualmente no se reportan.
- #34175 No mostrar la barra de desplazamiento si no hay suficiente contenido
- #34243 actualizar el evento Flutter.Frame para usar nuevas API del motor (engine)
- #34295 Preparar para cambios rompedores del SDK de Uint8List
- #34298 Preservando SafeArea : Parte 2
- #34355 Alineación vertical de campo de texto
- #34365 repetición de un cambio para usar nuevas API del motor para eventos Flutter.Frame
- #34508 agregar información de ruta a los eventos Flutter.Navigation
- #34512 Asegurar que la semántica del fab quede arriba
- #34515 OutlineInputBorder se ajusta para borderRadius demasiado grande
- #34519 corregir error de redondeo de posición de desplazamiento de página
- #34526 reintentar en HttpException durante la descarga de caché
- #34529 Eliminar rastreo de compilación y código de soporte dinámico
- #34573 Asegura que el jar de flutter se agregue a todos los tipos de compilación en proyectos de plugins
- #34587 No copiar rutas, rects y rrects cuando el desplazamiento de capa sea cero
- #34932 Se agregó la propiedad onChanged a TextFormField
- #35092 Agregar FlutterProjectFactory para que pueda anularse internamente.
- #33272 Agregar mustRunAfter en la tarea mergeAssets para forzar el ordenamiento de tareas
- #33535 Parámetros de altura personalizada para el encabezado y las filas de datos de DataTable
- #33628 Relleno horizontal personalizado de DataTable
Herramientas
#Por último, pero no menos importante, seguimos puliendo y simplificando nuestras herramientas también, incluyendo proporcionar un mensaje de error mucho más claro cuando las herramientas de Flutter se encuentran en un directorio de solo lectura (un problema común para desarrolladores de Flutter que esperamos que esto ayude a abordar).
- #31342 verificar si el proyecto existe antes de regenerar herramientas específicas de plataforma
- #31399 agregar bandera ignorable track-widget-creation a build aot
- #31406 si no hay un subproyecto .ios o ios, no intentar compilar para iOS
- #31446 Permitir filtrar dispositivos solo a aquellos soportados por el proyecto actual
- #31591 asegurarse de salir temprano si falta el archivo Runner.xcodeproj
- #31804 solo compilar activo cuando hay activo declarado en pubspec
- #31812 Corregir #31764: Mostrar mensaje de error adecuado cuando el pubspec.yaml de fuentes no sea iterable
- #32072 no lanzar NPE con pubspec vacío
- #33041 Renombrar flutter packages a flutter pub
- #33488 Usar vswhere para encontrar Visual Studio
- #33472 agregar comando de demonio para enumerar plataformas soportadas
- #33924 Se agregó la opción –dart-flags a flutter run
- #33980 Incrementar la versión del protocolo del demonio para getSupportedPlatforms
- #33990 Agregar categoría de dispositivo para el demonio
- #34181 Reaplicar "Se agregó la opción –dart-flags a flutter run (#33924)"
- #34291 Verificar si FLUTTER_ROOT y FLUTTER_ROOT/bin son escribibles.
- #34353 Refactorizar plugin de Gradle
- #34517 pasar ruta de .packages a la invocación de snapshot
- #34527 No fallar con archivo .packages no válido
- #34606 Eliminar partes del script de Gradle relacionadas con parches dinámicos
- #34616 Detener proceso de compilador cuando la prueba no sale de forma limpia
- #34624 Desglosar validaciones y resultados de flutter doctor
- #34683 agregar bandera de semántica de solo lectura
- #34684 Agregar más estructura a los errores.
- #34685 Cerrar plataforma cuando las pruebas estén completadas (eliminar el compilador y borrar archivos de fuentes)
- #34725 Corregir NPE en herramientas de flutter
- #34736 Eliminar banderas relacionadas con parches dinámicos
- #34785 Ajustar el nombre visible de los emuladores
- #34794 Agregar campo emulatorID a dispositivos en el demonio
- #34802 Preferir dispositivos efímeros desde la ejecución de línea de comandos
- #34859 Corregir regresión de alineación vertical
- #35074 Intento de habilitar repetición de cobertura de herramientas
- #35084 Mover findTargetDevices a DeviceManager
- #33284 asegurarse de compilar objetivos de prueba también
- #33867 Eliminar protecciones de variables de entorno para escritorio y web en línea de comandos
- #33283 Corregir rutas relativas y lógica de snapshot en la herramienta
Lista completa de problemas
#Puedes ver la lista completa de problemas abordados en esta versión aquí.
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-05. Ver código fuente oreportar un problema.