Flutter 3.27, released in December 2024, introduces several enhancements across the framework, engine, and developer tools, aiming to improve performance, user interface components, and the overall development experience.
Framework Enhancements:
• Cupertino Widget Updates: Significant improvements have been made to Cupertino widgets to better align with iOS design standards:
• CupertinoCheckbox and CupertinoRadio: Enhanced sizes, colors, stroke widths, and behaviors when pressed.
• CupertinoSlidingSegmentedControl: Improved thumb radius, separator height, padding, shadows, and thumb scale alignment; now supports disabling individual segments and proportional layout based on segment content.
• CupertinoNavigationBar and CupertinoSliverNavigationBar: Backgrounds are now transparent until content is scrolled under them.
• CupertinoButton: Introduced CupertinoButtonSize enum for iOS 15+ button styles, CupertinoButton.tinted constructor for translucent backgrounds, new onLongPress handler, and support for keyboard shortcuts.
• CupertinoPicker and CupertinoDatePicker: Now scroll to tapped items.
• CupertinoAlertDialog: Supports the tap-slide gesture.
• Material Theming Normalization: Refactored themes for Card, Dialog, and TabBar to conform to Flutter’s conventions, introducing CardThemeData, DialogThemeData, and TabBarThemeData for more consistent theming.
• CarouselView Enhancements: Introduced CarouselView.weighted, enabling dynamic layouts within carousels using the flexWeights parameter for varied item layouts.
• Additional Features and Fixes:
• SegmentedButton: Added direction property for vertical alignment.
• ButtonStyleButton Classes: Expanded styleFrom method with more icon-related properties for enhanced customization.
• AppBar: Scroll-under behavior now persists when the navigation drawer opens.
• MenuAnchor: Improved focus handling and resolved several DropdownMenu issues.
• Route Transition Flexibility: ModalRoutes now offer more flexibility with different page transitions, allowing exit transition builders for synchronized enter and exit animations.
• Text Selection Improvements:
• SelectionArea: Supports Shift + Click gesture on Linux, macOS, and Windows.
• RenderParagraph: Enhanced text selection behavior after window resizing and when interacting outside the text area.
• Row and Column Spacing: Introduced spacing parameter to Row and Column widgets, simplifying child offset management and reducing code complexity.
Engine Enhancements:
• Impeller on Android: Impeller is now the default rendering engine on modern Android devices, offering improved performance and rendering consistency. Developers can opt out and revert to the Skia renderer if necessary.
• iOS Rendering Improvements: Implemented a new Metal rendering surface for more consistent raster workloads and stable frame times on iOS devices, enhancing performance and reliability.
These updates in Flutter 3.27 reflect the framework’s commitment to delivering a robust and efficient development experience, with a focus on performance optimization, UI component refinement, and developer productivity enhancements.
For a comprehensive overview of all changes and improvements, refer to the official Flutter 3.27.0 release notes.