* 5e54c707e Reland: Enable hybrid composition by default on Android (#20722) (flutter/engine#20864) * 939871799 Roll Skia from db5582b71116 to 44e96bee4b6a (4 revisions) (flutter/engine#20908) * 5f49a9549 Add auto plugin registration to FlutterFragmentActivity as well (flutter/engine#20865) * c4c4f341b Wait for first frame before checking layer tree (flutter/engine#20910) * 0773bf0bd Roll Skia from 44e96bee4b6a to 3913d3e137ed (2 revisions) (flutter/engine#20909) * 8ec8af75a [windows] Add horizontal scroll support (flutter/engine#20668) * 1bd9b8e85 Reset Shell::weak_factory_gpu_ on the raster thread (flutter/engine#20869) * d67923feb Pass text input key events to the EventResponder if they do not yield characters (flutter/engine#20912) * abe10d102 Roll Dart SDK from 84c3eacc7ba0 to 6eab35f49cbb (2 revisions) (flutter/engine#20913) * 101316b76 [web] migrate from e2e to integration_test (flutter/engine#20914) * 1f52ec378 Roll Dart SDK from 6eab35f49cbb to 2a5f37d25453 (1 revision) (flutter/engine#20917) * 80190580d Default C++ wrapper templates to EncodableValue (flutter/engine#20760) * 5f3ec38c2 Roll Fuchsia Mac SDK from sI2DAAmSI... to waj2pOhDh... (flutter/engine#20919) * a65102097 Roll Fuchsia Linux SDK from _SVZn8uN2... to 9tLNFbjA1... (flutter/engine#20920) * 696c2aafe Roll Skia from 3913d3e137ed to 7b46300fe4ff (4 revisions) (flutter/engine#20924) * 95f2b7272 Create root isolate asynchronously (flutter/engine#20142) * 58a620765 Adds fuchsia node roles to accessibility bridge updates. (flutter/engine#20385) * a76214307 Roll Dart SDK from 2a5f37d25453 to e8e0d5a539fb (3 revisions) (flutter/engine#20928) * 49d680532 Ensure all images are closed in FlutterImageView (flutter/engine#20842) * d67bda725 Image.toByteData and Picture.toImage implementations (#3) (flutter/engine#20750) * 96efe3927 Revert "Adds fuchsia node roles to accessibility bridge updates. (#20385)" (flutter/engine#20936) * 5585ed990 Revert "Create root isolate asynchronously (#20142)" (flutter/engine#20937) * f6270c041 Roll Dart SDK from e8e0d5a539fb to b29f228f62e2 (3 revisions) (flutter/engine#20939) * 15bf1bbf6 [Android R] Integrate DisplayCutouts into viewportMetrics (flutter/engine#20921) * 615e66801 Clear the GL context only after submitting the frame (flutter/engine#20931) * ca989b8ae Roll Skia from 7b46300fe4ff to 1338a37a1add (16 revisions) (flutter/engine#20943) * 8f3f71145 Roll Fuchsia Linux SDK from 9tLNFbjA1... to knpSoAoZq... (flutter/engine#20944) * 873c00793 Log exception in addition to the stack trace for unhandled exceptions. (flutter/engine#20935) * d761629cb Roll Skia from 1338a37a1add to 8fa3b4e8cde5 (6 revisions) (flutter/engine#20949) * f6920dae5 Roll Skia from 8fa3b4e8cde5 to e9a9ad908226 (5 revisions) (flutter/engine#20952) * 634e499bc Use hint freed specifically for image disposal (flutter/engine#20754) * c700479db Revert external size changes to Picture (flutter/engine#20950) * 435379757 Roll Skia from e9a9ad908226 to 3d1d636cd839 (6 revisions) (flutter/engine#20955) * 80f4481d2 renaming e2e tests to integration (flutter/engine#20954) * 61e057aa5 Clear GL context before Gr context (flutter/engine#20957) * f43c3d766 Roll Fuchsia Mac SDK from waj2pOhDh... to 0r88gDzUP... (flutter/engine#20958) * 5a2db338e Roll Skia from 3d1d636cd839 to 683beccf6776 (13 revisions) (flutter/engine#20961) * efb339f30 Only clear GL context after changing the thread configuration (flutter/engine#20965) * 58d5132e0 Roll Fuchsia Linux SDK from knpSoAoZq... to odFvFQV9Z... (flutter/engine#20968) * 3729fdb79 Roll Skia from 683beccf6776 to a66a9c31a318 (4 revisions) (flutter/engine#20969) * 40fe7f359 Roll Fuchsia Mac SDK from 0r88gDzUP... to gOI3W1UNU... (flutter/engine#20970) * e979c29a2 Roll Skia from a66a9c31a318 to be72801f29f9 (1 revision) (flutter/engine#20971)
Flutter is Google's SDK for crafting beautiful, fast user experiences for mobile, web, and desktop from a single codebase. Flutter works with existing code, is used by developers and organizations around the world, and is free and open source.
Documentation
For announcements about new releases and breaking changes, follow the flutter-announce@googlegroups.com mailing list.
About Flutter
We think Flutter will help you create beautiful, fast apps, with a productive, extensible and open development model.
Beautiful user experiences
We want to enable designers to deliver their full creative vision without being forced to water it down due to limitations of the underlying framework. Flutter's layered architecture gives you control over every pixel on the screen and its powerful compositing capabilities let you overlay and animate graphics, video, text, and controls without limitation. Flutter includes a full set of widgets that deliver pixel-perfect experiences on both iOS and Android.
Fast results
Flutter is fast. It's powered by the same hardware-accelerated 2D graphics library that underpins Chrome and Android: Skia. We architected Flutter to support glitch-free, jank-free graphics at the native speed of your device. Flutter code is powered by the world-class Dart platform, which enables compilation to 32-bit and 64-bit ARM machine code for iOS and Android, as well as JavaScript for the web and Intel x64 for desktop devices.
Productive development
Flutter offers stateful hot reload, allowing you to make changes to your code and see the results instantly without restarting your app or losing its state.
Extensible and open model
Flutter works with any development tool (or none at all) but includes editor plug-ins for both Visual Studio Code and IntelliJ / Android Studio. Flutter provides thousands of packages to speed your development, regardless of your target platform. And accessing other native code is easy, with support for both FFI and platform-specific APIs.
Flutter is a fully open-source project, and we welcome contributions. Information on how to get started can be found at our contributor guide.



