Notas de la versión de Flutter 1.9.1
Notas de la versión de Flutter 1.9.1.
Hola y bienvenidos a otra versión estable de Flutter. En lo que va de año, hemos estado justo en el objetivo con una versión estable en cada trimestre, según nuestro plan (bueno, más que un plan es un objetivo, pero aún así, nos ha estado funcionando bastante bien hasta ahora...). Esta versión es la más grande hasta la fecha, con 620 Pull Requests integradas de 116 colaboradores. Como siempre, los PRs interesantes se enumeran a continuación. Y hay muchas cosas interesantes que discutir en esta versión, incluyendo:
- Una regresión solucionada pero también una añadida
- Algunos cambios importantes en la API
- Algunos problemas graves detectados y solucionados
- Soporte para macOS Catalina e iOS 13
- Una serie de nuevas características
- ¡Y más!
Y para dejarlo claro, cuando digo "nosotros", me refiero a la comunidad de Flutter en su conjunto. El equipo de Flutter no podría seguir escalando como lo hemos hecho sin todos nuestros colaboradores, no importa quién sea tu empleador. ¡Gracias a todos por sus contribuciones!
Regresiones
#En esta versión, solucionamos una regresión (37955 Update shader warm-up for recent Skia changes) y causamos otra (38167 Incremental compiler re-issuing of errors from constant evaluator). La nueva regresión se solucionó después del lanzamiento estable de 1.9.1 (00d14e7 [CFE] Always start constant evaluation error where we are asked to evaluate), por lo que si la ves, puedes elegir una versión más reciente para incorporarla a tus aplicaciones de Flutter.
Cambios de API disruptivos (Breaking Changes)
#Hacemos todo lo posible para no realizar cambios disruptivos, pero tampoco queremos crear APIs poco intuitivas a medida que avanzamos con Flutter hacia nuevos escenarios y nuevas plataformas. Estos son los cambios disruptivos en esta versión. Consulta los anuncios asociados para que puedas actualizar tu código.
33281 (anuncio) Update TextStyle and StrutStyle height docs
34019 (anuncio) Selectable Text
34665 (anuncio) Selection handles position is off
35110 (anuncio) Always test semantics
35136 (anuncio) Update Dark Theme disabledColor to White38
35785 (anuncio) Remove reverseDuration from implicitly animated widgets, since it's ignored.
36030 (anuncio) [Material] Implement TooltipTheme and Tooltip.textStyle, fix Tooltip debugLabel, update Tooltip defaults
36106 (anuncio) Updated ColorScheme.dark() colors to match the Material Dark theme specification
36217 (anuncio) Split Mouse from Listener
36402 (anuncio) Teach render objects to reuse engine layers
36856 (sin anuncio) [Material] Implement TooltipTheme and Tooltip.textStyle, update Tooltip defaults
36964 (anuncio) Constante de tamaño interactivo
37338 (anuncio) Actualizar las API de constructores de TooltipTheme, ToggleButtonsTheme, PopupMenuTheme
37341 (sin anuncio) ocultando hero original después de la transición de hero
37544 (anuncio) Reemplazar el método ButtonBar.bar con ButtonBarTheme
37652 (anuncio) Cambiar RenderObject.getTransformTo para incluir ancestro.
37736 (anuncio) Añadida API de extensión/Driver waitForCondition compaginable
Graves: Correcciones de fallos (crashes), problemas críticos de clientes y rendimiento
#En Flutter, intentamos añadir un poco de calidad a cada versión. En esta ocasión, corregimos varios problemas graves, incluyendo crashes, problemas críticos de clientes y de rendimiento.
34907 Corregido LicensePage para cerrar página antes de que la carga de la licencia cause un error
35223 Corrección en Navigator pushAndRemoveUntil
36097 Corregir que la vista de desplazamiento anidada pueda reconstruirse sin layout
37033 corregir crash en pintura de depuración cuando la dirección del eje está invertida
37254 Limitar la altura máxima del cuerpo de Scaffold cuando extendBody es verdadero
34298 Preservando SafeArea : Parte 2
37718 Añadiendo physicalDepth a MediaQueryData y TestWindow
35297 Corregir la lógica del primer frame en el rastreo y driver
Nuevas características
#Esta versión también trae consigo dos nuevos widgets de Material Design: el widget ToggleButtons (llamado un control segmentado (segmented control) en iOS) y un widget ColorFilter (descrito a continuación en la sección de Texto y Accesibilidad). Para ver estos widgets en acción, echa un vistazo a las breves muestras de ToggleButtons y ColorFilter. Además, el widget SelectableText permite al usuario seleccionar texto de solo lectura.
34599 [Material] ToggleButtons
34019 Texto seleccionable
35207 refactorizar y extraer manejadores de selección
36030 [Material] Implementar TooltipTheme y Tooltip.textStyle, corregir debugLabel de Tooltip, actualizar valores predeterminados de Tooltip
36411 Implementar copyWith, ==, hashCode en InputDecorationTheme
36856 [Material] Implementar TooltipTheme y Tooltip.textStyle, actualizar valores predeterminados de Tooltip
36963 Añadir márgenes a los tooltips
37266 Cambiar el valor de kMaxUnsignedSMI para la Web
37341 ocultando hero original después de la transición de hero
37492 Mejoras en el ancho de arrastre del borde del Drawer
Soporte para macOS Catalina
#Con el lanzamiento de macOS Catalina a la vuelta de la esquina, nos hemos asegurado de que nuestras herramientas sigan funcionando sin problemas a medida que migras a Catalina, iOS 13 y Xcode 11. Cabe señalar que querrás actualizar a la versión estable Flutter 1.9.1 antes de actualizar a Catalina. El otro orden también funciona, pero verás un error cuando lo hagas de esa manera (el error es benigno, pero aun así...).
38325 refactorizar actualización de flutter para ser en 2 partes, con la segunda parte reentrante
cd70b Usar MAP_JIT al hacer mmap para páginas ejecutables (necesario para macOS Catalina).
38662 Cambiar el uso de defaults a plutil para el análisis (parsing) de Plist
2856 Actualizar configuración de rutas en "Primeros pasos" para admitir la shell zsh (soporte para macOS Catalina)
2857 Actualizar la página "Configuración de iOS" para reflejar la actualización de la interfaz de usuario de Xcode 11
37733 Admitir nombres de certificados de firma al estilo de macOS Catalina
10010 Usar simarm_x64 cuando el objetivo sea arm
37407 Eliminar comprobación de multi-arquitectura en builds de iOS
37445 Cambiar gen_snapshot de iOS de binario multi-arquitectura a múltiples binarios
37647 Cambiar prioridad de las rutas de búsqueda de gen_snapshot
iOS
#Con más de 50 PRs en esta versión, el soporte para iOS sigue siendo un gran enfoque para Flutter, incluyendo una implementación de barra de desplazamiento para iOS 13 (que incluye soporte para pulsación larga, arrastrar desde la derecha y retroalimentación de vibración), una actualización para el widget CupertinoSwitch para coincidir con iOS 13 y experimentación continua con bitcode.
35829 Barra de desplazamiento de iOS 13
37724 Vibración de la barra de desplazamiento de iOS 13
36087 Actualizar estilo visual de CupertinoSwitch para coincidir con iOS 13
38587 Mejorar la comprobación de bitcode
36471 Habilitar compilación de bitcode para AOT
36093 Volver a aplicar empaquetado de dependencias de ios
34676 Habilitar selección por defecto para campo de texto de contraseña y exponer api para…
34723 Alineación vertical de CupertinoTextField
34964 CupertinoTextField.onTap
35303 corregir artefactos predeterminados para excluir ios y android
35307 Limpiar ajustes de compilación de Profile de host_app_ephemeral
35731 Mantener viva la conexión LLDB con el dispositivo iOS mientras se ejecuta desde la CLI.
35749 añadir benchmarks de compilación de iOS
35756 Eliminar la opción de compilación de inferencia @objc
35763 UIApplicationLaunchOptionsKey -> UIApplication.LaunchOptionsKey
35833 Deshabilitar rutas de entrada y salida de CocoaPods en la fase de compilación de Xcode para proyectos add-to-app efímeros
36174 [cupertino_icons] Añadir referencias de glifos para el brillo #16102
36194 Mantener viva la conexión LLDB con el dispositivo iOS mientras se ejecuta desde la CLI.
36498 Limpiar ajustes de compilación de Profile de host_app_ephemeral_cocoapods
36793 Distribuir el módulo de Flutter App.framework como un pod local de CocoaPods para ser instalado por una aplicación host
36887 Corregir cálculo del tamaño del indicador (thumb)
37026 Añadir soporte para el locale de Kannada (kn)
37048 usar SizedBox en lugar de Container para construir selección colapsada
37276 Hacer de podhelper.rb una plantilla para evitar pasar el nombre del módulo
37319 resizeToAvoidBottomInset Cupertino sin NavBar
37449 Si el script xcode_backend.sh falla o faltan variables sustitutas, hacer fallar la compilación de Xcode del host
37738 Usar rutas relativas al instalar pods de módulo
37809 Añadir parámetro autofocus a los widgets que usan el widget Focus internamente
37906 Instalar siempre la copia del engine efímero en lugar de obtenerla de las especificaciones de CocoaPods
38593 Corregir factor de escala de texto para componentes que no son de contenido de scaffolds Cupertino
38629 Manejar el caso de un dispositivo iOS conectado y no emparejado
38645 Renombrar arch de iOS para el modo de lanzamiento de macOS (modo de lanzamiento de macOS 2 de 3)
9075 Transformación/recorte de la vista de plataforma (Platform view) de iOS
9464 Añadidos shebangs a los scripts de prueba unitaria de ios.
9478 Ruta de recorte (clip path) de PlatformView de iOS
9491 Purgar cachés cuando hay poca memoria en iOS
9636 Añadidos shebangs a los scripts de prueba unitaria de ios. (#9464)
9667 Opacidad de la vista de plataforma de iOS
9722 Transmite el rasgo (trait) de modo oscuro de iOS al framework de Flutter (#34441).
9819 Permitir la fusión dinámica de hilos en iOS para mutaciones de vistas embebidas
9952 ios: Se corrigió el callback para el primer frame para que no dependa de tener una pantalla de inicio.
10186 Garantizar que las aplicaciones en modo debug estén siempre vinculadas (attached) en iOS.
10381 Corregir rango de composición vacío en iOS
10386 No usar DBC para Hot Reload en iOS.
10645 No usar DBC para Hot Reload en iOS.
10656 corregir crash del teclado en iOS : -[__NSCFString substringWithRange:], range o…
10662 actualizar la versión objetivo de despliegue de iOS en el podspec local de 7.0 a 8.0
10777 Actualizar manualmente Skia para incluir la solución al fallo de compilación en iOS armv7.
10891 Vuelve a aplicar el soporte para el brillo de la plataforma en iOS
10820 Soporte JIT en iOS y mejoras para la aplicación de escenarios
10949 Corregir referencias de iOS a PostPrerollResult
11006 En iOS, reportar los fotogramas por segundo preferidos a las herramientas mediante el protocolo de servicio.
Android
#La mayor adición a Android en esta versión es el soporte para un nuevo comando de flutter: 'flutter build aar'. Este nuevo comando de construcción funciona igual que 'flutter build apk' o 'flutter build appbundle', pero para plugins y proyectos de módulos. Al construir los plugins como AARs, el plugin de Android Gradle puede usar Jetifier para traducir librerías de soporte a librerías de AndroidX para todo el código nativo del plugin, lo que reduce la tasa de errores al usar AndroidX en aplicaciones.
35217 Añadir flutter build aar
36732 Flutter build aar
10778 Compilar JARs que contienen las fuentes de incrustación (embedding) de Android y la biblioteca nativa del engine
34573 Asegura que el jar de flutter se añada a todos los tipos de compilación en proyectos de plugins
36695 Soporte para tipo de entrada de contraseña visible de Android
36805 Permitir flavors y tipos de compilación personalizados en la aplicación host
37194 [flutter_tool] Manejar de forma más elegante el fallo del sdkmanager de Android
37405 Añadir .android/Flutter/flutter.iml a la plantilla del módulo.
37752 Eliminar flag obsoleto gradle-dir en flutter config
9206 Refactorización 31 de la incrustación de Android: Integrar vistas de plataforma con la nueva incrustación y el shim del plugin.
9360 Simplificar la carga de app bundles en Android
9476 corregir NPE cuando se envía un evento táctil a una vista de plataforma de Android desconocida
9501 [android] Las texturas externas deben reescalarse para llenar el lienzo (canvas)
9525 Refactorización de la integración de Android PR36: Añadir soporte para pantalla de inicio.
9895 Integración de Android PR37: Se separaron FlutterActivity y FlutterFragment a través de FlutterActivityAndFragmentDelegate
9999 Añadir soporte para el tipo de entrada de contraseña visible de Android
10250 Refactorización 38 de la incrustación (embedding) de Android: Eliminado AssetManager de DartEntrypoint.
10413 Pasar insets.systemGestureInsets de Android Q a Window
10424 Corregir advertencias de obsolescencia (deprecation) en la incrustación de Android
10481 Refactorización de la integración de Android pr40: añadir caché de motor estática
10771 No usar el demonio de gradle para compilar
11001 Evitar búsquedas dinámicas de los símbolos de la biblioteca del engine en Android
11015 Eliminar el prefijo del directorio de salida del nombre de archivo JAR del engine de Android
Material
#Por supuesto, el lenguaje de diseño Material Design también sigue siendo un enfoque principal para Flutter.
34869 [Material] Llamar correctamente a onChangeStart y onChangeEnd en Range Slider
34872 [Material] Soporte para color de borde al pasar el cursor (hovered), enfocado (focused) y presionado (pressed) en OutlineButtons
34906 Corregir propiedad sin usar [applicationIcon] en [showLicensePage]
34932 Añadida la propiedad onChanged a TextFormField
35075 Permitir la personalización del TextStyle del contenido de SnackBar en su tema
35282 Añadir alternativa (fallback) de Container al método de construcción de Ink
35496 [Material] Correcciones de escala de texto y etiquetas anchas para la forma del indicador de valor de Slider y Range Slider
35499 Añadido MaterialApp.themeMode para controlar qué tema se utiliza.
35560 Soporte para el color de superposición del tema oscuro basado en la elevación en el widget Material
35878 Añadir flag para usar el navegador raíz para showModalBottomSheet
36028 Corregir la altura preferida del slider
36088 Añadir PopupMenuTheme para permitir tematizar el color, la forma, la elevación y el estilo de texto del menú
36409 Añadir searchFieldLabel a SearchDelegate para mostrar una sugerencia (hint) personalizada
36880 [Material] Crear el componente Banner de material
37038 Actualizar SnackBar a las últimas especificaciones de Material.
37259 [Material] Añadir soporte para el color de texto al pasar el cursor, presionado, enfocado y seleccionado en Chips.
37269 [Material] Refactorización de FAB - eliminar IconTheme innecesario
37355 Añadido el método ThemeData.from() para construir un tema a partir de un ColorScheme
37403 añadir ontap a textformfield
37436 Ocultar el control de selección de texto después de ingresar texto
37556 [Material] Hacer RawChip.selected no nulo (non-nullable).
37636 Añadir checkColor a CheckboxListTile
37715 Corregir formato de enlace en markdown
37825 Modo de resaltado de foco automático para FocusManager
37870 eliminar flag Header de los elementos de BottomNavigationBar
37877 Añade el ancestro DefaultTextStyle al Overlay de Tooltip
37882 Añadir propiedad dense a AboutListTile
38467 [Material] Añadir splashColor a FAB y ThemeData de FAB
38621 [Material] Crear tema para Dividers para permitir la personalización del grosor
38636 Añade la opción arrowColor a UserAccountsDrawerHeader (#38608)
Texto y accesibilidad
#El mayor cambio en texto y accesibilidad para esta versión es el nuevo soporte de ColorFilter, que te permite volver a colorear un árbol de widgets completo, por ejemplo, para ajustar tu aplicación para usuarios con daltonismo rojo/verde. Para verlo en acción, echa un vistazo a esta muestra de ColorFilter.
35468 Añadir colorFilterLayer/Widget
9641 Permitir que pushColorFilter acepte todos los tipos de ColorFilters
9668 Refactorizar ColorFilter para tener un envoltorio (wrapper) nativo
9789 corregir la constancia de ColorFilter.matrix
34515 OutlineInputBorder se ajusta para borderRadius que es demasiado grande
35100 Añadir el manejo del mensaje 'TextInput.clearClient' desde la plataforma al framework (#35054).
35219 Casos de mostrar/ocultar menú de selección de texto
35493 No usar la línea base ideográfica para la línea base de RenderParagraph
36974 Error de posición del menú de selección multilínea
37042 Corregir que el menú de selección no se muestre después de limpiar
38573 Limitar scrollOffset para evitar el rebote del campo de texto
35487 Corregir RenderFittedBox cuando child.size.isEmpty
36243 Permitir que las etiquetas de semántica sean más cortas o más largas que el texto sin formato
36303 Añadir casos de benchmark para sync star
37158 Corregir TextFields en el Depurador de Semántica
37828 hacer que android_semantics_testing use adb desde el sdk de android proporcionado por ENV
Web (preview técnica)
#El trabajo continúa añadiendo al preview técnico del soporte de la plataforma Web en Flutter en esta versión, incluyendo una marca para saber si una aplicación se está ejecutando en la web. Para verlo en acción, echa un vistazo a main.dart en la muestra flutter_mazegen. Para obtener más información, consulta Flutter for web.
36135 añadir una constante kIsWeb a foundation
34252 Integrar dwds en flutter tool para soporte web
34896 Permitir compilaciones web multiraíz
35221 Ajustar flag para excluir dev y beta de desktop y web
36297 Añadir flag multilínea a la semántica
36465 Usar FlutterFeatures para configurar dispositivos web y desktop
36548 Corregir las compilaciones web revirtiendo el incremento de versión de build_modules
36549 corregir la codificación de números en los códecs de mensajes para la Web
37515 Soporte web ascendente (upstream) para IterableProperty
37637 no llamar a Platform.operatingSystem en diagnósticos de RenderView
37638 [web][upstream] Corregir debugPrintStack para plataforma web
37658 corregir ruta de windows para compilaciones de dwds/web
37712 [web][upstream] Optimizar la desactivación de InactiveElements
37812 [web][upstream] No registrar exit/saveCompilationTrace para plataforma web ya que no están disponibles
37815 Reestructurar el uso del ejecutador web residente para evitar usuarios de SDK que no admitan dwds
38499 Actualizar compiladores web de build y configurar bibliotecas
Desktop (experimental)
#Seguimos avanzando con el soporte experimental para la plataforma de escritorio (Desktop) en Flutter. Si deseas participar en el experimento, consulta Flutter Desktop shells.
32770 Descartar modal con cualquier pulsación de botón
34660 Añadir soporte --target para Windows y Linux
34712 Corregir FocusTraversalPolicy que causa la pérdida de foco
34752 [linux] Recibe los caracteres sin modificar obtenidos de GLFW
35495 marcar el modo de desarrollo de chrome en windows y macos como inestable (flaky)
36197 Corregir en windows, excluir widgets de otros
36722 Omitir prueba inestable (flaky) en windows
36784 [flutter_tool] Mejorar mensaje de error de flutter clean en Windows
36845 Mejorar mensaje de fallo de compilación en Windows
36987 ¡Flutter assemble para macos, segundo intento!
37211 No habilitar rueda de desplazamiento cuando el desplazamiento está desactivado
37342 Corregir crash en mouse region al usar closures
37344 Corregir doble renderizado en mouse region
37351 corregir errores detectados por la actualización de macOS assemble
37365 solo compilar kernel de macOS en modo debug
37425 Soporte para modo de lanzamiento de macOS (1 de 3)
37509 Usar directorio efímero de macOS para script de entorno de Pod
37664 Reversión parcial de macOS assemble
37891 Depuración de foco
38651 Actualizar la versión de la plataforma en la plantilla Podfile de macOS
9654 Comenzar a separar el engine de macOS del controlador de vista (view controller)
9672 Añadir FLEDartProject para la incrustación de macOS
9745 Corregir prueba de windows no intentando abrir un directorio como archivo.
9799 Actualizar buildroot a c4df4a7b para incluir MSVC 2017 Update 9 en Windows.
9835 [Windows] Implementación de plataforma shell alternativa para Windows
9953 [macos] Añadir respuesta al mensajero binario (binary messenger)
10009 [macos] Revertir comprobación en FlutterCodecs y refactorizar función de mensaje
10189 [macos] Reaplicar refactorización de función
11010 Renombrar clases FLE* de macOS a Flutter*
36546 Reanudar date_picker_test en Windows ya que el problema subyacente 19696 fue corregido.
Framework
#El framework principal de Flutter recibió varias características importantes en esta versión, incluyendo soporte para 24 nuevas configuraciones regionales (locales) adicionales (que van desde afrikáans hasta zulú).
36589 Actualizar Localizaciones: añadidos 24 nuevos locales (reiteración)
33936 Nuevo parámetro para RawGestureDetector para personalizar el mapeo de semántica
34202 Eliminar afirmaciones _debugWillReattachChildren de _TableElement
34626 Lanzar excepción en AsyncSnapshot.data si hay un error o no hay datos
34895 Eliminar soporte de flutter_tools para la creación antigua de snapshots AOT
34919 Eliminar partes de error duplicadas
35132 Reducir asignaciones reutilizando una matriz para transformaciones transitorias en _transformRect
35143 Más correcciones de Uint8List en HttpClientResponse
35149 More HttpClientResponse implements Stream
35232 Nuevo benchmark: Semántica de gestos
35233 Intentar omitir la fragmentación (shard) de cobertura si las herramientas no cambiaron
35245 Más preparación para que HttpClientResponse implemente Uint8List
35246 intento de no omitir la cobertura en post commit
35263 eliminar ..toList() innecesario
35280 benchmarkWidgets.semanticsEnabled por defecto en false.
35288 Aplicar el cálculo de omisión de cobertura correctamente
35408 Eliminar print
35482 Usar los nuevos nombres de mensajes del protocolo de servicio
35491 Incluir etiquetas (tags) en las propiedades de depuración de SemanticsNode
35646 Preparar para que Socket implemente Stream
35725 Actualizar la implementación findAll de annotated region para usar Iterables directamente.
35750 usar estilo de frase (sentence case) en los títulos de mensajes de error
35762 Refactorizar el mapeo de teclas para resident_runner
35828 Limpieza de widgets/sliver_persistent_header.dart con la resolución de dart-lang/sdk#31543
35913 Cambiar el ejemplo de foco para que sea más canónico (y correcto)
35932 Paquetes del framework actualizados con 'flutter update-packages --force-upgrade'.
35979 Optimiza el reconocedor de gestos, corrige #35658
36262 Previene un bucle infinito en Table._computeColumnWidths
36302 Issues/30526 gc
36333 corregir appbar fijada en sliver
36496 Optimizar los métodos transformRect y transformPoint en matrix_utils.
36482 Aceleró el calentamiento de shaders dibujando solo en una superficie de 100x100
36493 Corregido que la lista sliver no hace layout del primer hijo cuando el hijo se reordena
36503 Deshabilitar prueba de humo de Firebase Test Lab para desbloquear autoroller
36698 corrige crashes al seleccionar con el teclado mediante presión fuerte en iPhone
36768 añadir un campo de recuento de errores al evento Flutter.Error
36857 Garantizar que los errores lanzados por el usuario tengan nodos ErrorSummary
36867 Añadir referencia a StrutStyle desde TextStyle
36955 Extraer funcionalidad común de PlatformView: Pintado y Semántica
37187 usar FlutterError en MultiChildRenderObjectWidget
37275 Optimizar los métodos transformRect y transformPoint en matrix_utils…
37479 Eliminar código falso/erróneo en ContainerParentDataMixin.detach
37497 Extraer funcionalidad común de PlatformView: Gestos y PointerEvent
37703 PlatformViewLink, gestionando la creación de PlatformViewSurface y la eliminación (dispose) de PlatformViewController
37790 Doc: Image.memory solo acepta formato comprimido
37880 reducir carga de trabajo en mac
38441 Corregir getOffsetToReveal para growthDirection invertido y AxisDirection hacia abajo o derecha
38463 No construir argumentos para _focusDebug al ejecutar en modos que no son debug
38639 PlatformViewLink: la superficie en caché debe ser de tipo Widget
38686 Renombrar archivo de patente
38704 Añade el conmutador canRequestFocus a FocusNode
38710 PlatformViewLink: Renombrar CreatePlatformViewController a CreatePlatformViewCallback
35335 Usando clase de excepción personalizada para error de carga de red
35574 Corregir semántica para app bar flotante y fijada en sliver
35810 SliverFillRemaining tiene en cuenta el tamaño del hijo cuando hasScrollBody es falso
35941 SliverLayoutBuilder
Motor
#El motor (engine) principal sigue viendo muchas mejoras a nivel general en esta versión.
9041 Propiedad TextStyle.height como un múltiplo del tamaño de la fuente en lugar de un múltiplo de ascent+descent+leading.
9089 Conectar la interoperabilidad del bucle de eventos personalizado para el embedder de GLFW.
9329 Corregida fuga de memoria debido a una retención accidental de self implícito
9403 Eliminar variantes de ParagraphBuilder::AddText que no se usan dentro del engine
9419 Tiene un mensajero binario
9423 No quedarse enganchado a la conexión de entrada de una vista de plataforma después de desecharla (disposed)
9424 Enviar tiempos del primer frame sin procesamiento en lotes (batching)
9431 Generar punteros débiles (weak pointers) solo en el hilo de la plataforma
9436 Añadir la funcionalidad para fusionar y separar MessageLoopTaskQueues
9439 Eliminar importación no utilizada en FlutterView
9452 Convertir RRect.scaleRadii a método público
9456 Asegurarse de que el script run_tests devuelva el código de error correcto.
9459 Eliminar constructor de shell no utilizado/no implementado
9460 Corregido fallo en el filtro logLevel para que el filtro funcione como se espera.
9461 Añade API para retener capas intermedias del engine
9463 Eliminadas importaciones no utilizadas en la nueva incrustación (embedding).
9466 Volver a habilitar el decodificador GIF de Wuffs
9468 Dibujar manualmente la curva restante para decoraciones onduladas
9485 Añadir el interruptor --observatory-host
9486 Reelaborar la gestión de imágenes y texturas para usar colas de mensajes concurrentes.
9489 Manejar la direccionalidad ambigua del espacio en blanco final en texto bidi mixto
9490 Corregir un fallo donde la transformación de la vista de plataforma no se reinicia antes de establecer el frame
9493 Ejecutar benchmarks en trabajos de prueba (try jobs).
9495 Corregir la rotura de compilación en PlatformViews.mm
9498 Notificar al framework para limpiar la conexión de entrada cuando la aplicación pasa a segundo plano (#35054).
9503 Mejorar los límites de almacenamiento en caché para Skia
9506 Sincronizar el hilo principal y el hilo de la GPU para el primer frame de renderizado
9508 Admitir filtro de imagen al pintar
9532 Corregir que FlutterOverlayView no se elimina de la supervista en algunos casos
9556 Integración mínima con el módulo de conformado de texto de Skia
9561 libtxt: corregir el recuento de referencias de SkFontStyleSets mantenidos por proveedores de recursos de fuentes
9585 Corregir una condición de carrera en la prueba unitaria de accesibilidad del embedder
9589 Corrige un error de sobrescritura de plugin en el sistema shim de plugins.
9590 Aplicar parches que se han incorporado a topaz desde que portamos los ejecutores al repositorio del engine
9591 Documentar varias clases en //flutter/shell/common.
9632 Añadido Doxyfile.
9633 Seleccionar parches (cherry-pick) para corregir flutter/flutter#35291
9640 Hacer que EmbeddedViewParams sea un puntero único (unique ptr)
9642 Corregir advertencia sobre la configuración no disponible del argumento GN build_glfw_shell
9651 Mover el manejo de la pila de mutadores a preroll
9652 El pipeline permite continuaciones que pueden producir al frente
9653 El embedder de vistas externas puede determinar si las vistas embebidas se han mutado
9655 Permitir a los embedders añadir callbacks para respuestas a mensajes de plataforma desde el framework.
9660 ExternalViewEmbedder puede ejecutar CancelFrame después de pre-roll
9661 Raster ahora devuelve un enum en lugar de un booleano
9663 Refactorización de la pila de mutadores (Mutators Stack)
9685 corregir la comprobación del tipo de retorno de Picture.toImage y la prueba de conformidad de la api.
9698 Garantizar que los mensajes de plataforma sin manejadores de respuesta se puedan enviar.
9713 Explicar por qué OpacityLayer tiene un campo de desplazamiento (offset)
9717 Corregido fallo en el filtro logLevel para que el filtro funcione como se espera. (#9460)
9721 Añadir comentarios para diferenciar dos rutas de caché
9725 Hacer el script de licencia compatible con las API de flujo de E/S de Dart cambiadas recientemente
9727 Añadir ganchos (hooks) para el bloqueo y desbloqueo de InputConnection
9734 Corregir crash de la tecla retroceso en dispositivos chinos
9737 Usar la variante libc++ de string view y eliminar la variante FML.
9741 Hacer que la vista de FLEViewController sea un detalle interno
9747 Eliminar la obtención del engine (get engine)
9750 Cambios en la API de FLEViewController/Engine
9758 Incluir encabezados de SkParagraph solo cuando el flag enable-skshaper esté activado
9762 Usar como alternativa una ruta completamente cualificada a libapp.so si la biblioteca no se puede cargar por nombre
9767 Anular la obsolescencia (un-deprecated) de binaryMessenger de FlutterViewController.
9769 Documentar //flutter/shell/common/engine.
9772 corregir la generación de objcdoc
9781 SendPlatformMessage permite un valor de mensaje nulo
9797 Eliminar afirmaciones (asserts) disruptivas
9808 Documentar la clase FontFeature
9809 Documentar //flutter/shell/common/rasterizer
9813 Hacer que Picture::toImage ocurra en el hilo de E/S (IO thread) sin necesidad de una superficie en pantalla.
9815 Hacer que el directorio de la caché persistente sea un puntero const.
9816 Solo liberar los datos de la imagen en la prueba unitaria una vez que Skia haya aceptado la propiedad de los mismos.
9825 En un códec de un solo frame, liberar el búfer de imagen codificado después de entregarlo al decodificador
9828 Hacer translúcida la ventana de la pantalla virtual (virtual display)
9847 Comenzó a añadirse el hash del engine al Info.plist de los frameworks.
9849 Preservar el alfa para el contenido de VD configurando un fondo transparente.
9850 Añadir flag multilínea a la semántica
9851 Añadir una macro para prefijar símbolos de embedder.h
9855 Corregir la asignación faltante a _allowHeadlessExecution
9859 Corregir justificación para párrafos RTL.
9867 Corregido error en el xml Info.plist generado.
9873 Añadir versión de clang a Info.plist
9875 Simplificar buildtools
9890 Registrar errores de dlopen solo en modo debug
9893 Se movió la lógica desde FlutterAppDelegate hacia FlutterPluginAppLifeCycleDelegate
9894 Añadir el flag de semántica isMultiline a los valores
9896 Capturar stderr para el comando ninja
9901 Manejar imágenes descomprimidas en InstantiateImageCodec
9905 Respetar la información EXIF al descomprimir imágenes.
9906 Actualizar libcxx y libcxxabi a HEAD en preparación para la actualización del compilador.
9919 Eliminado método no utilizado.
9920 Corregir el almacenamiento en caché de Locale.toString
9922 Separar el protocolo de ciclo de vida
9923 Corregir el fallo de la prueba del gancho (hook) de ventana onReportTimings
9924 No intentar usar la opción assets_dir no configurada
9925 Corregir la prueba de geometría para reflejar que los operadores de comparación de OffsetBase son un ordenamiento parcial
9927 Actualizar versión de Buildroot
9929 Actualizar la excepción lanzada para datos no válidos en la prueba del códec
9931 Corregir el manejo de reentrabilidad en SingleFrameCodec
9932 Salir de flutter_tester con un código de error ante una excepción no controlada
9934 Actualizaciones al script ejecutor de pruebas del engine
9935 Corregir crash de la tecla retroceso en dispositivos chinos (#9734)
9936 Mover development.key desde buildroot
9937 [platform view] no hacer clipToBounds en la vista de recorte y la vista interceptora
9938 Eliminadas sentencias if de PlatformViewsController de TextInputPlugin (#34286).
9939 Añadido hasRenderedFirstFrame() al antiguo FlutterView para Espresso (#36211).
9948 [glfw] Habilita respuestas en mensajero binario en el embedder de glfw
9958 Limpiar un poco el archivo cirrus.yml
9961 Corregir tipo de retorno de la función assert en gradient_test
9977 Corregir flutter/flutter #34791
9987 Actualizar GN a git_revision:152c5144ceed9592c20f0c8fd55769646077569b
10012 Recuperar método no utilizado eliminado previamente
10021 Añadida una API de DartExecutor para consultar la cantidad de callbacks de canal pendientes
10056 Actualizar .cirrus.yml
10063 Rastrear clusters y devolver límites de cluster en getGlyphPositionForCoordinates (corrección de emoji)
10064 Deshabilitar DartLifecycleTest::ShuttingDownTheVMShutsDownAllIsolates en runtime_unittests.
10068 Corregida fuga de memoria con registradores del engine.
10069 Habilitar constantes desde el entorno en DDK para flutter_web
10073 Estructura básica para flutter_jit_runner far
10074 Cambiar ParagraphBuilder para reemplazar las familias de fuentes del estilo padre con las familias de fuentes del estilo hijo
10075 Cambiar objetivo del ejecutador de flutter para LUCI
10078 Una corrección más para luci
10109 Guardar en caché búsquedas de familias de fuentes que no logran obtener una colección de fuentes
10127 Rastrear métricas detalladas de LibTxt
10128 Comenzó la vinculación de los objetivos de prueba contra Flutter.
10151 [fuchsia] corregir nombre para reflejar el archivo cmx
10155 src/third_party/dart a2aec5eb06...86dba81dec
10172 [dart_runner] Renombrar dart a dart runner
10176 Añadir cambios de Java sugeridos del roll de flutter
10178 Eliminada llamada innecesaria para encontrar App.framework.
10179 [dart_runner] dart jit runner y dart jit product runner
10195 Permitir composición de capas de Flutter controlada por el embedder.
10235 Marcar como obsoleta FlutterView#enableTransparentBackground
10242 Eliminar ruta de código de recorte de Scenic obsoleta.
10265 [dart-roll] Actualizar el sdk de dart a 80c4954d4d1d2a257005793d83b601f3ff2997a2
10273 Eliminar una última llamada final a AddPart()
10282 Exportar FFI desde sky_engine.
10295 Corregir desbordamiento de memoria en parche de minikin
10296 corregir CI
10297 Garantizar que SingleFrameCodec permanezca vivo hasta que ImageDecoder invoque su callback
10298 Corregir compilación en rojo de nuevo
10303 Hacer el árbol verde de verdad esta vez, lo prometo.
10414 exponer profundidad máxima en Window
10419 Hacer que el compilador de kernel use el toolchain del host
10423 Corregir cargador gen_snapshot de mac
10430 Añadir herramienta copy_gen_snapshots.py
10477 Añadir comentarios condicionales #else, #endif
10479 Eliminar script create_macos_gen_snapshot.py no utilizado
10485 Eliminar try-jobs semi-redundantes.
10629 Corregir fuga de platformviewscontroller del engine
10637 Documentar el fixture de prueba de hilos.
10644 [flutter_runner] Adaptación: Añadir connectToService, envolviendo fdio_ns_connect.
10652 Permitir a los embedders controlar el ciclo de vida de la VM de Dart al apagar el engine.
10674 Al configurar snapshots AOT desde referencias de símbolos, hacer opcionales los tamaños de búfer.
10675 Mejoras al script GDB de flutter
10773 Eliminar el uso de la API obsoleta AccessibilityNodeInfo boundsInParent
10776 renombrar stub_ui a web_ui
10780 [flutter_runner] Mejorar programación de frames
10781 [flutter] Crear el contexto del compositor en el ejecutor de tareas GPU (GPU task runner).
10782 Actualizar script de licencias para manejar ANGLE
10783 Hacer la prueba de firebase más amigable para LUCI
10786 Eliminar 3 try-jobs semi-redundantes
10787 Cambiar llamada a |AddPart| por |AddChild|
10788 Conectar un SkExecutor respaldado por un bucle de mensajes concurrente para Skia.
10797 Renombrar artefactos para que coincidan con la convención de Maven
10799 Añadir una prueba para crear imágenes a partir de bytes.
10808 Eliminar script de dart flutter_kernel_sdk
10809 [dart:zircon] Adaptación de objetos de espera de manejadores reutilizables de caché
10815 Devolver un mapeo vacío para un recurso de archivo (file asset) vacío
10816 Añadir firstFrameDidRender a FlutterViewController
10823 Exponer isolateId para el motor
10941 Reportar fallos de pruebas en run_tests.py
10952 Cambiar las listas children de SemanticsNode para que no sean nulas
10955 Corregir formato
10956 Aumentar el escaneo del bloque de licencias de 5k a 6k
11002 Eliminar una macro de rastreo con un puntero colgante (dangling pointer)
11004 Rastrear RasterCacheResult::Draw
11005 Eliminar prueba de firebase de Cirrus
11011 Inicializar el engine en estado de ejecución para coincidir con el estado predeterminado del animador
11012 Eliminar la clase ParagraphImpl de la API de texto
11013 Eliminar la capacidad de sobrescribir mac_sdk_path en flutter/tools/gn
11024 Añadir versiones _glfw de las bibliotecas de escritorio de GLFW
11027 Corregir lógica del primer frame
11029 Deshabilitar advertencia de obsolescencia por el uso de un constructor de TaskDescription en plataformas más antiguas
11033 eliminar versión del SO
11034 Mostrar todas las diferencias de licencias
11038 Hacer que JIT funcione en iPhone armv7
11040 Ocultar snapshot verboso de dart durante run_test.py
11041 Agregar un BroadcastStream a FrameTiming
11046 Añadir archivos de configuración ccls a .gitignore
11052 Eliminar argumento dstColorSpace no utilizado en MakeCrossContextFromPixmap
11056 Ordenar los tipos de letra (typefaces) de Skia en un conjunto de estilos de fuentes en un orden consistente
11062 Proporcionar un ID de cola marcador de posición para el ejecutor de tareas del incrustador personalizado.
11067 Actualización menor al arnés de pruebas de Robolectric
11068 Más actualizaciones al arnés de pruebas de Robolectric
11075 [dynamic_thread_merging] Volver a enviar solo en el frame donde ocurre la fusión
Herramientas
#Como siempre, la experiencia de extremo a extremo para Flutter se apoya en gran medida en sus herramientas. Con eso en mente, además de los PRs listados a continuación, que se centran en la herramienta de CLI de flutter, también deberías consultar las siguientes versiones para el plugin de Flutter para IntelliJ/Android Studio, el plugin de Flutter para VSCode y DevTools de Dart:
- Notas de la versión de DevTools 0.1.6 - 5 de sep. de 2019
- Notas de la versión del plugin para IntelliJ M39 - 3 de sep. de 2019
- Plugin de VSCode v3.4 - 3 de sep. de 2019
- Notas de la versión de DevTools 0.1.5 - 5 de ago. de 2019
- Plugin de VSCode v3.3 - 2 de ago. de 2019
- Notas de la versión del plugin de IntelliJ M38 - 2 de ago. de 2019
- Notas de la versión de DevTools 0.1.4 - 19 de jul. de 2019
- Plugin de VSCode v3.2 - 28 de jun. de 2019
Además, esta versión también incluye muchas mejoras internas para brindarte mensajes de error mejores y más procesables. Puedes leer sobre esos detalles en esta publicación del blog del equipo de Experiencia de Usuario de Flutter.
32511 Los errores de renderizado con causas raíz en la capa de widgets deben tener una referencia al widget
28090 Garantizar que los directorios y archivos de caché tengan los permisos adecuados
32816 Añadir implementación inicial de flutter assemble
34624 Desglosar validaciones y resultados de flutter doctor
34785 Ajustar el nombre de visualización de los emuladores
34794 Añadir campo emulatorID a los dispositivos en el demonio (daemon)
35084 Mover findTargetDevices a DeviceManager
35092 Añadir FlutterProjectFactory para que pueda ser sobrescrito internamente.
35186 Hacer la recolección de cobertura de la herramienta resistente a datos de cobertura centinela
35188 asegurar que el isolate de prueba esté pausado antes de recolectar la cobertura
35192 no bloquear ningún presubmit en la cobertura
35231 Corregir recolección de cobertura
35367 Añadir tipo a StreamChannel en código de prueba generado.
35392 Añadir comprobación de temporizador y cliente http de prueba (fake) al banco de pruebas (testbed)
35406 Refactorizar el manejador de señales y línea de comandos desde resident runner
35465 Marcar update-packages como no experimental
35467 Marcar update-packages como no experimental
35480 Actualizar el mensaje de ayuda en el comando precache para evitar confusiones
35681 Deshabilitar compilador incremental en dartdevc
35765 Usar RPC pública _registerService en flutter_tools
35767 establecer objetivos de cero por ciento para codecoverage de herramientas
35839 usar pub run para crear pruebas y eliminar registros [INFO]
35846 mover la gestión de recarga y reinicio a la terminal
36017 Mover archivos de informes a reporting/
36082 Añadir mejor manejo de excepciones JSON-RPC
36084 manejar la versión google3 de pb
36105 [flutter_tool] Capturar un fallo de análisis de yaml durante la creación del proyecto
36109 Capturar excepciones lanzadas por runChecked* cuando sea posible
36122 Asegurarse de que el paquete de compilación add-to-app desde xcodebuild/gradlew externo envíe analíticas
36138 Implementar sistema de flags de características (feature flags) para flutter tools
36199 No intentar flutterExit si el isolate aún está en pausa
36208 [flutter_tool] Permitir analíticas sin una terminal conectada
36213 Usar DeviceManager en lugar de dispositivo para determinar si el dispositivo admite el proyecto.
36218 liberar bloqueo en el contexto de flutter pub
36237 Recomendar el uso de la versión final del soporte CDN para el repositorio de especificaciones trunk.
36240 Reorganizar la implementación de flutter assemble
36288 Lanzar excepción si se instancia IOSDevice en una plataforma que no sea macOS
36289 Mejoras en FakeHttpClientResponse
36318 Incluir flutter_runner en los artefactos de precache.
36327 Corregir invocaciones de ideviceinstaller que no pasan DYLD_LIBRARY_PATH
36331 Correcciones menores al texto de ayuda de precache (intento #2)
36434 Limpiar la detección de dispositivos en flutter driver.
36481 Eliminar código no probado
36490 [flutter_tool] Enviar comando de analítica antes de que el comando se ejecute
36507 Incrementar la versión del engine
36513 Corregir flutter pub -v
36556 Corregir prueba de uso para emplear el uso local
36560 [flutter_tools] Añadir algunos comandos útiles al README.md
36564 Asegurarse de que fx flutter attach pueda encontrar dispositivos
36569 Alguna limpieza menor para flutter_tools
36570 Algunas correcciones menores a la herramienta tool_coverage
36585 Colocar las salidas de compilación bajo dart tool
36598 Exponer funcionalidad para compilar dart a kernel para la VM
36679 añadir line-length a la línea de comandos de flutter format
36727 Añadir configuración faltante a create
36773 Exponer la opción de configuración build-dir
36774 Parametrizar CoverageCollector con un predicado de nombre de biblioteca
36785 [flutter_tool] Limpiar eventos de uso y dimensiones personalizadas
36787 Comprobar si es un directorio en lugar de buscar un separador de ruta
36832 Eliminar comprobación inestable (flaky) del mensaje del analizador.
37036 El número de compilación (parte después de +) está documentado como opcional; usar toda la versión de la aplicación si no está presente
37044 [flutter_tool] Hacer síncronas un par de operaciones de archivo
37186 [flutter_tool] Limpieza y refactorización del uso
37196 [flutter_tool] Capturar ProcessException de 'adb devices'
37198 [flutter_tool] Reintentar el envío del primer informe de crash
37210 no despojar (strip) símbolos al compilar profile
37217 ocultar símbolos de spotlight para App.framework
37331 [flutter_tool] Añadir toString() faltante
37345 [flutter_tool] Incluir la zona horaria local en la marca de tiempo de analítica
37378 Deshabilitar indexación de xcode en CI a través del argumento COMPILER_INDEX_STORE_ENABLE=NO
37422 [flutter_tool] Validación adicional del yaml del manifiesto de flutter
37440 Imprimir mensaje cuando se lanza HttpException después de ejecutar flutter run
37457 Encontrar el app bundle cuando el flavor contiene guiones bajos
37500 Evitar matar el proceso de la herramienta Flutter (#37471)
37512 Habilitar el seguimiento de la creación de widgets en compilaciones debug
37514 [flutter_tool] Eliminar envío no intencionado de pantalla de analítica
37521 hacer que xcodeSelectPath también capture ArgumentError
37595 Cierra #37593 Añadir flutter_export_environment.sh a gitignore
37654 Añadir biblioteca faltante a BUILD.gn de flutter tools
37731 Añadir metadatos para indicar si la aplicación host contiene un módulo de Flutter
37735 Eliminar flag no-build sin usar del comando flutter run
37743 Manejar mapas y rechazos lanzados desde el servidor fe (frontend server)
37792 Deshabilitar la barra de progreso al descargar el Dart SDK a través de Invoke-WebRequest
37863 Exponer los nombres de eventos de la línea de tiempo para que puedan ser usados en otros sistemas de rastreo
37871 Capturar fallo al crear directorio en caché
37900 Escuchar ExtensionEvent en lugar de TimelineEvent
37958 Capturar FormatException causada por una salida errónea de simctl
37966 Eliminar directorios efímeros durante flutter clean
37994 Eliminar no-constant-update-2018, el problema subyacente ha sido resuelto.
38101 Capturar excepción del sistema de archivos desde flutter create
38102 Corregir error de tipo oculto por conversiones implícitas descendentes (implicit downcasts)
38296 usar lista común de emuladores/dispositivos
38339 [flutter_tool] Cambiar los lenguajes predeterminados al crear a Swift y Kotlin
38342 eliminar bsdiff de BUILD.gn
38353 [flutter_tool] Limpieza del manejo de errores de conexión de Observatory
38472 [flutter_tool] Corregir error en la validación del yaml del manifiesto
38486 Capturar errores lanzados a la Zone por json_rpc
38490 Corregir comando publish
38497 manejar salida inesperada del servidor fe (frontend server)
38575 corregir excepción rpc de verdad
38586 No recargar si la compilación tiene errores
38637 [flutter_tool] Lanzar salida de herramienta ante una sobrescritura de URL de almacenamiento mal formada
38652 Eliminar código muerto
36860 Eliminar análisis conciso (terse parsing) de Chain
36874 Ajustar la redacción de las características
36884 Reparar build_runner
Lista completa de PRs
#Puedes ver la lista completa de PRs integradas 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.